ox 0.14.29 → 1.0.0-beta.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 (2486) hide show
  1. package/LICENSE +2 -2
  2. package/dist/core/Abi.d.ts +102 -0
  3. package/dist/core/Abi.d.ts.map +1 -0
  4. package/dist/core/Abi.js +13 -0
  5. package/dist/core/Abi.js.map +1 -0
  6. package/dist/core/AbiConstructor.d.ts +319 -0
  7. package/dist/core/AbiConstructor.d.ts.map +1 -0
  8. package/dist/core/AbiConstructor.js +91 -0
  9. package/dist/core/AbiConstructor.js.map +1 -0
  10. package/dist/core/AbiError.d.ts +507 -0
  11. package/dist/core/AbiError.d.ts.map +1 -0
  12. package/dist/core/AbiError.js +303 -0
  13. package/dist/core/AbiError.js.map +1 -0
  14. package/dist/core/AbiEvent.d.ts +1041 -0
  15. package/dist/core/AbiEvent.d.ts.map +1 -0
  16. package/dist/core/AbiEvent.js +1200 -0
  17. package/dist/core/AbiEvent.js.map +1 -0
  18. package/dist/core/AbiFunction.d.ts +662 -0
  19. package/dist/core/AbiFunction.d.ts.map +1 -0
  20. package/dist/core/AbiFunction.js +290 -0
  21. package/dist/core/AbiFunction.js.map +1 -0
  22. package/dist/core/AbiItem.d.ts +504 -0
  23. package/dist/core/AbiItem.d.ts.map +1 -0
  24. package/dist/core/AbiItem.js +432 -0
  25. package/dist/core/AbiItem.js.map +1 -0
  26. package/dist/core/AbiParameters.d.ts +465 -0
  27. package/dist/core/AbiParameters.d.ts.map +1 -0
  28. package/dist/core/AbiParameters.js +517 -0
  29. package/dist/core/AbiParameters.js.map +1 -0
  30. package/dist/core/AccessList.d.ts +84 -0
  31. package/dist/core/AccessList.d.ts.map +1 -0
  32. package/dist/core/AccessList.js +105 -0
  33. package/dist/core/AccessList.js.map +1 -0
  34. package/dist/core/AccountProof.d.ts +115 -0
  35. package/dist/core/AccountProof.d.ts.map +1 -0
  36. package/dist/core/AccountProof.js +106 -0
  37. package/dist/core/AccountProof.js.map +1 -0
  38. package/dist/core/Address.d.ts +233 -0
  39. package/dist/core/Address.d.ts.map +1 -0
  40. package/dist/core/Address.js +271 -0
  41. package/dist/core/Address.js.map +1 -0
  42. package/dist/core/AesGcm.d.ts.map +1 -0
  43. package/dist/core/AesGcm.js +116 -0
  44. package/dist/core/AesGcm.js.map +1 -0
  45. package/dist/core/Authorization.d.ts +464 -0
  46. package/dist/core/Authorization.d.ts.map +1 -0
  47. package/dist/core/Authorization.js +448 -0
  48. package/dist/core/Authorization.js.map +1 -0
  49. package/dist/core/Base32.d.ts +86 -0
  50. package/dist/core/Base32.d.ts.map +1 -0
  51. package/dist/core/Base32.js +112 -0
  52. package/dist/core/Base32.js.map +1 -0
  53. package/dist/core/Base58.d.ts +122 -0
  54. package/dist/core/Base58.d.ts.map +1 -0
  55. package/dist/core/Base58.js +137 -0
  56. package/dist/core/Base58.js.map +1 -0
  57. package/dist/core/Base64.d.ts +262 -0
  58. package/dist/core/Base64.d.ts.map +1 -0
  59. package/dist/core/Base64.js +318 -0
  60. package/dist/core/Base64.js.map +1 -0
  61. package/dist/core/Bech32m.d.ts +99 -0
  62. package/dist/core/Bech32m.d.ts.map +1 -0
  63. package/dist/core/Bech32m.js +179 -0
  64. package/dist/core/Bech32m.js.map +1 -0
  65. package/dist/core/BinaryStateTree.d.ts +91 -0
  66. package/dist/core/BinaryStateTree.d.ts.map +1 -0
  67. package/dist/core/BinaryStateTree.js +205 -0
  68. package/dist/core/BinaryStateTree.js.map +1 -0
  69. package/dist/core/BlobCells.d.ts +202 -0
  70. package/dist/core/BlobCells.d.ts.map +1 -0
  71. package/dist/core/BlobCells.js +181 -0
  72. package/dist/core/BlobCells.js.map +1 -0
  73. package/dist/core/Blobs.d.ts +436 -0
  74. package/dist/core/Blobs.d.ts.map +1 -0
  75. package/dist/core/Blobs.js +498 -0
  76. package/dist/core/Blobs.js.map +1 -0
  77. package/dist/core/Block.d.ts +195 -0
  78. package/dist/core/Block.d.ts.map +1 -0
  79. package/dist/core/Block.js +158 -0
  80. package/dist/core/Block.js.map +1 -0
  81. package/dist/core/BlockOverrides.d.ts +91 -0
  82. package/dist/core/BlockOverrides.d.ts.map +1 -0
  83. package/dist/core/BlockOverrides.js +103 -0
  84. package/dist/core/BlockOverrides.js.map +1 -0
  85. package/dist/core/Bloom.d.ts +141 -0
  86. package/dist/core/Bloom.d.ts.map +1 -0
  87. package/dist/core/Bloom.js +140 -0
  88. package/dist/core/Bloom.js.map +1 -0
  89. package/dist/core/Bls.d.ts +443 -0
  90. package/dist/core/Bls.d.ts.map +1 -0
  91. package/dist/core/Bls.js +300 -0
  92. package/dist/core/Bls.js.map +1 -0
  93. package/dist/core/BlsPoint.d.ts +212 -0
  94. package/dist/core/BlsPoint.d.ts.map +1 -0
  95. package/dist/core/BlsPoint.js +122 -0
  96. package/dist/core/BlsPoint.js.map +1 -0
  97. package/dist/core/Bytes.d.ts +616 -0
  98. package/dist/core/Bytes.d.ts.map +1 -0
  99. package/dist/core/Bytes.js +638 -0
  100. package/dist/core/Bytes.js.map +1 -0
  101. package/dist/core/Caches.d.ts +13 -0
  102. package/dist/core/Caches.d.ts.map +1 -0
  103. package/dist/core/Caches.js +19 -0
  104. package/dist/core/Caches.js.map +1 -0
  105. package/dist/core/Cbor.d.ts.map +1 -0
  106. package/dist/core/Cbor.js +758 -0
  107. package/dist/core/Cbor.js.map +1 -0
  108. package/dist/core/CompactSize.d.ts +121 -0
  109. package/dist/core/CompactSize.d.ts.map +1 -0
  110. package/dist/core/CompactSize.js +167 -0
  111. package/dist/core/CompactSize.js.map +1 -0
  112. package/dist/core/ContractAddress.d.ts +108 -0
  113. package/dist/core/ContractAddress.d.ts.map +1 -0
  114. package/dist/core/ContractAddress.js +103 -0
  115. package/dist/core/ContractAddress.js.map +1 -0
  116. package/dist/core/CoseKey.d.ts +93 -0
  117. package/dist/core/CoseKey.d.ts.map +1 -0
  118. package/dist/core/CoseKey.js +171 -0
  119. package/dist/core/CoseKey.js.map +1 -0
  120. package/dist/core/Ed25519.d.ts +231 -0
  121. package/dist/core/Ed25519.d.ts.map +1 -0
  122. package/dist/core/Ed25519.js +184 -0
  123. package/dist/core/Ed25519.js.map +1 -0
  124. package/dist/core/Ens.d.ts +88 -0
  125. package/dist/core/Ens.d.ts.map +1 -0
  126. package/dist/core/Ens.js +107 -0
  127. package/dist/core/Ens.js.map +1 -0
  128. package/dist/core/Errors.d.ts.map +1 -0
  129. package/dist/core/Errors.js +95 -0
  130. package/dist/core/Errors.js.map +1 -0
  131. package/dist/core/Fee.d.ts +172 -0
  132. package/dist/core/Fee.d.ts.map +1 -0
  133. package/dist/core/Fee.js +141 -0
  134. package/dist/core/Fee.js.map +1 -0
  135. package/dist/core/Filter.d.ts +103 -0
  136. package/dist/core/Filter.d.ts.map +1 -0
  137. package/dist/core/Filter.js +97 -0
  138. package/dist/core/Filter.js.map +1 -0
  139. package/dist/core/Hash.d.ts +164 -0
  140. package/dist/core/Hash.d.ts.map +1 -0
  141. package/dist/core/Hash.js +164 -0
  142. package/dist/core/Hash.js.map +1 -0
  143. package/dist/core/HdKey.d.ts +138 -0
  144. package/dist/core/HdKey.d.ts.map +1 -0
  145. package/dist/core/HdKey.js +100 -0
  146. package/dist/core/HdKey.js.map +1 -0
  147. package/dist/core/Hex.d.ts +643 -0
  148. package/dist/core/Hex.d.ts.map +1 -0
  149. package/dist/core/Hex.js +718 -0
  150. package/dist/core/Hex.js.map +1 -0
  151. package/dist/core/Json.d.ts +83 -0
  152. package/dist/core/Json.d.ts.map +1 -0
  153. package/dist/core/Json.js +134 -0
  154. package/dist/core/Json.js.map +1 -0
  155. package/dist/core/Keystore.d.ts +332 -0
  156. package/dist/core/Keystore.d.ts.map +1 -0
  157. package/dist/core/Keystore.js +371 -0
  158. package/dist/core/Keystore.js.map +1 -0
  159. package/dist/core/Kzg.d.ts +59 -0
  160. package/dist/core/Kzg.d.ts.map +1 -0
  161. package/dist/core/Kzg.js +30 -0
  162. package/dist/core/Kzg.js.map +1 -0
  163. package/dist/core/Log.d.ts +190 -0
  164. package/dist/core/Log.d.ts.map +1 -0
  165. package/dist/core/Log.js +183 -0
  166. package/dist/core/Log.js.map +1 -0
  167. package/dist/core/Mnemonic.d.ts +163 -0
  168. package/dist/core/Mnemonic.d.ts.map +1 -0
  169. package/dist/core/Mnemonic.js +141 -0
  170. package/dist/core/Mnemonic.js.map +1 -0
  171. package/dist/core/P256.d.ts +271 -0
  172. package/dist/core/P256.d.ts.map +1 -0
  173. package/dist/core/P256.js +185 -0
  174. package/dist/core/P256.js.map +1 -0
  175. package/dist/core/PersonalMessage.d.ts +50 -0
  176. package/dist/core/PersonalMessage.d.ts.map +1 -0
  177. package/dist/core/PersonalMessage.js +58 -0
  178. package/dist/core/PersonalMessage.js.map +1 -0
  179. package/dist/core/Provider.d.ts +402 -0
  180. package/dist/core/Provider.d.ts.map +1 -0
  181. package/dist/core/Provider.js +257 -0
  182. package/dist/core/Provider.js.map +1 -0
  183. package/dist/core/PublicKey.d.ts +323 -0
  184. package/dist/core/PublicKey.d.ts.map +1 -0
  185. package/dist/core/PublicKey.js +393 -0
  186. package/dist/core/PublicKey.js.map +1 -0
  187. package/dist/core/Rlp.d.ts +147 -0
  188. package/dist/core/Rlp.d.ts.map +1 -0
  189. package/dist/core/Rlp.js +485 -0
  190. package/dist/core/Rlp.js.map +1 -0
  191. package/dist/core/RpcRequest.d.ts +152 -0
  192. package/dist/core/RpcRequest.d.ts.map +1 -0
  193. package/dist/core/RpcRequest.js +134 -0
  194. package/dist/core/RpcRequest.js.map +1 -0
  195. package/dist/core/RpcResponse.d.ts +302 -0
  196. package/dist/core/RpcResponse.d.ts.map +1 -0
  197. package/dist/core/RpcResponse.js +348 -0
  198. package/dist/core/RpcResponse.js.map +1 -0
  199. package/dist/core/RpcSchema.d.ts +263 -0
  200. package/dist/core/RpcSchema.d.ts.map +1 -0
  201. package/dist/core/RpcSchema.js +41 -0
  202. package/dist/core/RpcSchema.js.map +1 -0
  203. package/dist/core/RpcTransport.d.ts +66 -0
  204. package/dist/core/RpcTransport.d.ts.map +1 -0
  205. package/dist/core/RpcTransport.js +118 -0
  206. package/dist/core/RpcTransport.js.map +1 -0
  207. package/dist/core/Secp256k1.d.ts +346 -0
  208. package/dist/core/Secp256k1.d.ts.map +1 -0
  209. package/dist/core/Secp256k1.js +238 -0
  210. package/dist/core/Secp256k1.js.map +1 -0
  211. package/dist/core/Signature.d.ts +660 -0
  212. package/dist/core/Signature.d.ts.map +1 -0
  213. package/dist/core/Signature.js +760 -0
  214. package/dist/core/Signature.js.map +1 -0
  215. package/dist/core/Siwe.d.ts +247 -0
  216. package/dist/core/Siwe.d.ts.map +1 -0
  217. package/dist/core/Siwe.js +367 -0
  218. package/dist/core/Siwe.js.map +1 -0
  219. package/dist/core/Solidity.d.ts +142 -0
  220. package/dist/core/Solidity.d.ts.map +1 -0
  221. package/dist/core/Solidity.js +154 -0
  222. package/dist/core/Solidity.js.map +1 -0
  223. package/dist/core/StateOverrides.d.ts +79 -0
  224. package/dist/core/StateOverrides.d.ts.map +1 -0
  225. package/dist/core/StateOverrides.js +78 -0
  226. package/dist/core/StateOverrides.js.map +1 -0
  227. package/dist/core/Transaction.d.ts +230 -0
  228. package/dist/core/Transaction.d.ts.map +1 -0
  229. package/dist/core/Transaction.js +184 -0
  230. package/dist/core/Transaction.js.map +1 -0
  231. package/dist/core/TransactionReceipt.d.ts +265 -0
  232. package/dist/core/TransactionReceipt.d.ts.map +1 -0
  233. package/dist/core/TransactionReceipt.js +223 -0
  234. package/dist/core/TransactionReceipt.js.map +1 -0
  235. package/dist/core/TransactionRequest.d.ts +182 -0
  236. package/dist/core/TransactionRequest.d.ts.map +1 -0
  237. package/dist/core/TransactionRequest.js +338 -0
  238. package/dist/core/TransactionRequest.js.map +1 -0
  239. package/dist/core/TxEnvelope.d.ts +465 -0
  240. package/dist/core/TxEnvelope.d.ts.map +1 -0
  241. package/dist/core/TxEnvelope.js +517 -0
  242. package/dist/core/TxEnvelope.js.map +1 -0
  243. package/dist/core/TxEnvelopeEip1559.d.ts +354 -0
  244. package/dist/core/TxEnvelopeEip1559.d.ts.map +1 -0
  245. package/dist/core/TxEnvelopeEip1559.js +457 -0
  246. package/dist/core/TxEnvelopeEip1559.js.map +1 -0
  247. package/dist/core/TxEnvelopeEip2930.d.ts +349 -0
  248. package/dist/core/TxEnvelopeEip2930.d.ts.map +1 -0
  249. package/dist/core/TxEnvelopeEip2930.js +437 -0
  250. package/dist/core/TxEnvelopeEip2930.js.map +1 -0
  251. package/dist/core/TxEnvelopeEip4844.d.ts +463 -0
  252. package/dist/core/TxEnvelopeEip4844.d.ts.map +1 -0
  253. package/dist/core/TxEnvelopeEip4844.js +623 -0
  254. package/dist/core/TxEnvelopeEip4844.js.map +1 -0
  255. package/dist/core/TxEnvelopeEip7702.d.ts +407 -0
  256. package/dist/core/TxEnvelopeEip7702.d.ts.map +1 -0
  257. package/dist/core/TxEnvelopeEip7702.js +513 -0
  258. package/dist/core/TxEnvelopeEip7702.js.map +1 -0
  259. package/dist/core/TxEnvelopeLegacy.d.ts +345 -0
  260. package/dist/core/TxEnvelopeLegacy.d.ts.map +1 -0
  261. package/dist/core/TxEnvelopeLegacy.js +496 -0
  262. package/dist/core/TxEnvelopeLegacy.js.map +1 -0
  263. package/dist/core/TypedData.d.ts +512 -0
  264. package/dist/core/TypedData.d.ts.map +1 -0
  265. package/dist/core/TypedData.js +690 -0
  266. package/dist/core/TypedData.js.map +1 -0
  267. package/dist/core/ValidatorData.d.ts +62 -0
  268. package/dist/core/ValidatorData.d.ts.map +1 -0
  269. package/dist/core/ValidatorData.js +54 -0
  270. package/dist/core/ValidatorData.js.map +1 -0
  271. package/dist/core/Value.d.ts +158 -0
  272. package/dist/core/Value.d.ts.map +1 -0
  273. package/dist/core/Value.js +230 -0
  274. package/dist/core/Value.js.map +1 -0
  275. package/dist/core/WebAuthnP256.d.ts +336 -0
  276. package/dist/core/WebAuthnP256.d.ts.map +1 -0
  277. package/dist/core/WebAuthnP256.js +298 -0
  278. package/dist/core/WebAuthnP256.js.map +1 -0
  279. package/dist/core/WebCryptoP256.d.ts +226 -0
  280. package/dist/core/WebCryptoP256.d.ts.map +1 -0
  281. package/dist/core/WebCryptoP256.js +215 -0
  282. package/dist/core/WebCryptoP256.js.map +1 -0
  283. package/dist/core/Withdrawal.d.ts +68 -0
  284. package/dist/core/Withdrawal.d.ts.map +1 -0
  285. package/dist/core/Withdrawal.js +66 -0
  286. package/dist/core/Withdrawal.js.map +1 -0
  287. package/dist/core/X25519.d.ts +158 -0
  288. package/dist/core/X25519.d.ts.map +1 -0
  289. package/dist/core/X25519.js +99 -0
  290. package/dist/core/X25519.js.map +1 -0
  291. package/dist/core/internal/abi.d.ts.map +1 -0
  292. package/dist/core/internal/abi.js.map +1 -0
  293. package/dist/core/internal/abiConstructor.d.ts.map +1 -0
  294. package/dist/core/internal/abiConstructor.js.map +1 -0
  295. package/dist/core/internal/abiError.d.ts.map +1 -0
  296. package/dist/core/internal/abiError.js.map +1 -0
  297. package/dist/core/internal/abiEvent.d.ts.map +1 -0
  298. package/dist/core/internal/abiEvent.js.map +1 -0
  299. package/dist/core/internal/abiFunction.d.ts.map +1 -0
  300. package/dist/core/internal/abiFunction.js.map +1 -0
  301. package/dist/core/internal/abiItem.d.ts.map +1 -0
  302. package/dist/core/internal/abiItem.js +142 -0
  303. package/dist/core/internal/abiItem.js.map +1 -0
  304. package/dist/core/internal/abiParameters.d.ts.map +1 -0
  305. package/dist/core/internal/abiParameters.js +473 -0
  306. package/dist/core/internal/abiParameters.js.map +1 -0
  307. package/dist/core/internal/address.d.ts +33 -0
  308. package/dist/core/internal/address.d.ts.map +1 -0
  309. package/dist/core/internal/address.js +80 -0
  310. package/dist/core/internal/address.js.map +1 -0
  311. package/dist/core/internal/base58.d.ts.map +1 -0
  312. package/dist/core/internal/base58.js +86 -0
  313. package/dist/core/internal/base58.js.map +1 -0
  314. package/dist/core/internal/bytes.d.ts +52 -0
  315. package/dist/core/internal/bytes.d.ts.map +1 -0
  316. package/dist/core/internal/bytes.js +78 -0
  317. package/dist/core/internal/bytes.js.map +1 -0
  318. package/dist/core/internal/codec/bech32-base32.d.ts +29 -0
  319. package/dist/core/internal/codec/bech32-base32.d.ts.map +1 -0
  320. package/dist/core/internal/codec/bech32-base32.js +53 -0
  321. package/dist/core/internal/codec/bech32-base32.js.map +1 -0
  322. package/dist/core/internal/codec/errors.d.ts +25 -0
  323. package/dist/core/internal/codec/errors.d.ts.map +1 -0
  324. package/dist/core/internal/codec/errors.js +23 -0
  325. package/dist/core/internal/codec/errors.js.map +1 -0
  326. package/dist/core/internal/codec/hex.d.ts +40 -0
  327. package/dist/core/internal/codec/hex.d.ts.map +1 -0
  328. package/dist/core/internal/codec/hex.js +112 -0
  329. package/dist/core/internal/codec/hex.js.map +1 -0
  330. package/dist/core/internal/codec/int.d.ts +54 -0
  331. package/dist/core/internal/codec/int.d.ts.map +1 -0
  332. package/dist/core/internal/codec/int.js +141 -0
  333. package/dist/core/internal/codec/int.js.map +1 -0
  334. package/dist/core/internal/codec/utf8.d.ts +11 -0
  335. package/dist/core/internal/codec/utf8.d.ts.map +1 -0
  336. package/dist/core/internal/codec/utf8.js +11 -0
  337. package/dist/core/internal/codec/utf8.js.map +1 -0
  338. package/dist/core/internal/cryptoIo.d.ts +37 -0
  339. package/dist/core/internal/cryptoIo.d.ts.map +1 -0
  340. package/dist/core/internal/cryptoIo.js +59 -0
  341. package/dist/core/internal/cryptoIo.js.map +1 -0
  342. package/dist/core/internal/cursor.d.ts +71 -0
  343. package/dist/core/internal/cursor.d.ts.map +1 -0
  344. package/dist/core/internal/cursor.js +193 -0
  345. package/dist/core/internal/cursor.js.map +1 -0
  346. package/dist/core/internal/ens.d.ts +24 -0
  347. package/dist/core/internal/ens.d.ts.map +1 -0
  348. package/dist/core/internal/ens.js +48 -0
  349. package/dist/core/internal/ens.js.map +1 -0
  350. package/dist/core/internal/entropy.d.ts.map +1 -0
  351. package/dist/core/internal/entropy.js.map +1 -0
  352. package/dist/core/internal/errors.d.ts.map +1 -0
  353. package/dist/core/internal/errors.js.map +1 -0
  354. package/dist/core/internal/hdKey.d.ts.map +1 -0
  355. package/dist/core/internal/hdKey.js.map +1 -0
  356. package/dist/core/internal/hex.d.ts +39 -0
  357. package/dist/core/internal/hex.d.ts.map +1 -0
  358. package/dist/core/internal/hex.js +67 -0
  359. package/dist/core/internal/hex.js.map +1 -0
  360. package/dist/core/internal/lru.d.ts +25 -0
  361. package/dist/core/internal/lru.d.ts.map +1 -0
  362. package/dist/core/internal/lru.js +53 -0
  363. package/dist/core/internal/lru.js.map +1 -0
  364. package/dist/core/internal/mnemonic/wordlists.d.ts +11 -0
  365. package/dist/core/internal/mnemonic/wordlists.d.ts.map +1 -0
  366. package/dist/core/internal/mnemonic/wordlists.js +11 -0
  367. package/dist/core/internal/mnemonic/wordlists.js.map +1 -0
  368. package/dist/core/internal/promise.d.ts.map +1 -0
  369. package/dist/core/internal/promise.js +46 -0
  370. package/dist/core/internal/promise.js.map +1 -0
  371. package/dist/core/internal/quantity.d.ts +46 -0
  372. package/dist/core/internal/quantity.d.ts.map +1 -0
  373. package/dist/core/internal/quantity.js +68 -0
  374. package/dist/core/internal/quantity.js.map +1 -0
  375. package/dist/core/internal/register.d.ts.map +1 -0
  376. package/dist/core/internal/register.js.map +1 -0
  377. package/dist/core/internal/rpcSchema.d.ts.map +1 -0
  378. package/dist/core/internal/rpcSchema.js.map +1 -0
  379. package/dist/core/internal/rpcSchemas/eth.d.ts +753 -0
  380. package/dist/core/internal/rpcSchemas/eth.d.ts.map +1 -0
  381. package/dist/core/internal/rpcSchemas/eth.js.map +1 -0
  382. package/dist/core/internal/rpcSchemas/wallet.d.ts +441 -0
  383. package/dist/core/internal/rpcSchemas/wallet.d.ts.map +1 -0
  384. package/dist/core/internal/rpcSchemas/wallet.js.map +1 -0
  385. package/dist/core/internal/rpcTransport.d.ts +35 -0
  386. package/dist/core/internal/rpcTransport.d.ts.map +1 -0
  387. package/dist/core/internal/rpcTransport.js +19 -0
  388. package/dist/core/internal/rpcTransport.js.map +1 -0
  389. package/dist/core/internal/signature.d.ts +2 -0
  390. package/dist/core/internal/signature.d.ts.map +1 -0
  391. package/dist/core/internal/signature.js +5 -0
  392. package/dist/core/internal/signature.js.map +1 -0
  393. package/dist/core/internal/tx.d.ts +103 -0
  394. package/dist/core/internal/tx.d.ts.map +1 -0
  395. package/dist/core/internal/tx.js +167 -0
  396. package/dist/core/internal/tx.js.map +1 -0
  397. package/dist/core/internal/types.d.ts +320 -0
  398. package/dist/core/internal/types.d.ts.map +1 -0
  399. package/dist/core/internal/types.js.map +1 -0
  400. package/dist/core/internal/webauthn.d.ts +26 -0
  401. package/dist/core/internal/webauthn.d.ts.map +1 -0
  402. package/dist/core/internal/webauthn.js +91 -0
  403. package/dist/core/internal/webauthn.js.map +1 -0
  404. package/dist/core/version.d.ts.map +1 -0
  405. package/dist/core/version.js.map +1 -0
  406. package/dist/erc4337/EntryPoint.d.ts.map +1 -0
  407. package/dist/erc4337/EntryPoint.js.map +1 -0
  408. package/dist/erc4337/RpcSchema.d.ts +139 -0
  409. package/dist/erc4337/RpcSchema.d.ts.map +1 -0
  410. package/dist/erc4337/RpcSchema.js.map +1 -0
  411. package/dist/erc4337/UserOperation.d.ts +550 -0
  412. package/dist/erc4337/UserOperation.d.ts.map +1 -0
  413. package/dist/erc4337/UserOperation.js +615 -0
  414. package/dist/erc4337/UserOperation.js.map +1 -0
  415. package/dist/erc4337/UserOperationGas.d.ts +66 -0
  416. package/dist/erc4337/UserOperationGas.d.ts.map +1 -0
  417. package/dist/erc4337/UserOperationGas.js +61 -0
  418. package/dist/erc4337/UserOperationGas.js.map +1 -0
  419. package/dist/erc4337/UserOperationReceipt.d.ts.map +1 -0
  420. package/dist/erc4337/UserOperationReceipt.js.map +1 -0
  421. package/dist/erc4337/index.d.ts +32 -0
  422. package/dist/erc4337/index.d.ts.map +1 -0
  423. package/dist/erc4337/index.js +33 -0
  424. package/dist/erc4337/index.js.map +1 -0
  425. package/dist/erc6492/SignatureErc6492.d.ts +188 -0
  426. package/dist/erc6492/SignatureErc6492.d.ts.map +1 -0
  427. package/dist/erc6492/SignatureErc6492.js +212 -0
  428. package/dist/erc6492/SignatureErc6492.js.map +1 -0
  429. package/dist/erc6492/index.d.ts +27 -0
  430. package/dist/erc6492/index.d.ts.map +1 -0
  431. package/dist/erc6492/index.js +28 -0
  432. package/dist/erc6492/index.js.map +1 -0
  433. package/dist/erc7821/Calls.d.ts +132 -0
  434. package/dist/erc7821/Calls.d.ts.map +1 -0
  435. package/dist/erc7821/Calls.js +112 -0
  436. package/dist/erc7821/Calls.js.map +1 -0
  437. package/dist/erc7821/Execute.d.ts +126 -0
  438. package/dist/erc7821/Execute.d.ts.map +1 -0
  439. package/dist/erc7821/Execute.js +149 -0
  440. package/dist/erc7821/Execute.js.map +1 -0
  441. package/dist/erc7821/index.d.ts +70 -0
  442. package/dist/erc7821/index.d.ts.map +1 -0
  443. package/dist/erc7821/index.js +71 -0
  444. package/dist/erc7821/index.js.map +1 -0
  445. package/dist/erc8010/SignatureErc8010.d.ts +176 -0
  446. package/dist/erc8010/SignatureErc8010.d.ts.map +1 -0
  447. package/dist/erc8010/SignatureErc8010.js +203 -0
  448. package/dist/erc8010/SignatureErc8010.js.map +1 -0
  449. package/dist/erc8010/index.d.ts +50 -0
  450. package/dist/erc8010/index.d.ts.map +1 -0
  451. package/dist/erc8010/index.js +51 -0
  452. package/dist/erc8010/index.js.map +1 -0
  453. package/dist/erc8021/Attribution.d.ts +227 -0
  454. package/dist/erc8021/Attribution.d.ts.map +1 -0
  455. package/dist/erc8021/Attribution.js +330 -0
  456. package/dist/erc8021/Attribution.js.map +1 -0
  457. package/dist/erc8021/index.d.ts +44 -0
  458. package/dist/erc8021/index.d.ts.map +1 -0
  459. package/dist/erc8021/index.js +45 -0
  460. package/dist/erc8021/index.js.map +1 -0
  461. package/dist/index.d.ts +3786 -0
  462. package/dist/index.d.ts.map +1 -0
  463. package/dist/index.docs.d.ts +11 -0
  464. package/dist/index.docs.d.ts.map +1 -0
  465. package/dist/index.docs.js +13 -0
  466. package/dist/index.docs.js.map +1 -0
  467. package/dist/index.js +3786 -0
  468. package/dist/index.js.map +1 -0
  469. package/dist/tempo/AuthorizationTempo.d.ts +745 -0
  470. package/dist/tempo/AuthorizationTempo.d.ts.map +1 -0
  471. package/dist/tempo/AuthorizationTempo.js +728 -0
  472. package/dist/tempo/AuthorizationTempo.js.map +1 -0
  473. package/dist/tempo/Channel.d.ts +184 -0
  474. package/dist/tempo/Channel.d.ts.map +1 -0
  475. package/dist/tempo/Channel.js +165 -0
  476. package/dist/tempo/Channel.js.map +1 -0
  477. package/dist/tempo/KeyAuthorization.d.ts +692 -0
  478. package/dist/tempo/KeyAuthorization.d.ts.map +1 -0
  479. package/dist/tempo/KeyAuthorization.js +790 -0
  480. package/dist/tempo/KeyAuthorization.js.map +1 -0
  481. package/dist/tempo/MultisigConfig.d.ts +294 -0
  482. package/dist/tempo/MultisigConfig.d.ts.map +1 -0
  483. package/dist/tempo/MultisigConfig.js +331 -0
  484. package/dist/tempo/MultisigConfig.js.map +1 -0
  485. package/dist/tempo/Period.d.ts.map +1 -0
  486. package/dist/tempo/Period.js.map +1 -0
  487. package/dist/tempo/PoolId.d.ts +33 -0
  488. package/dist/tempo/PoolId.d.ts.map +1 -0
  489. package/dist/tempo/PoolId.js +31 -0
  490. package/dist/tempo/PoolId.js.map +1 -0
  491. package/dist/tempo/ReceivePolicyReceipt.d.ts +171 -0
  492. package/dist/tempo/ReceivePolicyReceipt.d.ts.map +1 -0
  493. package/dist/tempo/ReceivePolicyReceipt.js +187 -0
  494. package/dist/tempo/ReceivePolicyReceipt.js.map +1 -0
  495. package/dist/tempo/RpcSchemaTempo.d.ts +51 -0
  496. package/dist/tempo/RpcSchemaTempo.d.ts.map +1 -0
  497. package/dist/tempo/RpcSchemaTempo.js.map +1 -0
  498. package/dist/tempo/SignatureEnvelope.d.ts +846 -0
  499. package/dist/tempo/SignatureEnvelope.d.ts.map +1 -0
  500. package/dist/tempo/SignatureEnvelope.js +1155 -0
  501. package/dist/tempo/SignatureEnvelope.js.map +1 -0
  502. package/dist/tempo/Tick.d.ts.map +1 -0
  503. package/dist/tempo/Tick.js +132 -0
  504. package/dist/tempo/Tick.js.map +1 -0
  505. package/dist/tempo/TokenId.d.ts +87 -0
  506. package/dist/tempo/TokenId.d.ts.map +1 -0
  507. package/dist/tempo/TokenId.js +123 -0
  508. package/dist/tempo/TokenId.js.map +1 -0
  509. package/dist/tempo/TokenRole.d.ts.map +1 -0
  510. package/dist/tempo/TokenRole.js.map +1 -0
  511. package/dist/tempo/Transaction.d.ts +210 -0
  512. package/dist/tempo/Transaction.d.ts.map +1 -0
  513. package/dist/tempo/Transaction.js +169 -0
  514. package/dist/tempo/Transaction.js.map +1 -0
  515. package/dist/tempo/TransactionReceipt.d.ts +165 -0
  516. package/dist/tempo/TransactionReceipt.d.ts.map +1 -0
  517. package/dist/tempo/TransactionReceipt.js +138 -0
  518. package/dist/tempo/TransactionReceipt.js.map +1 -0
  519. package/dist/tempo/TransactionRequest.d.ts +164 -0
  520. package/dist/tempo/TransactionRequest.d.ts.map +1 -0
  521. package/dist/tempo/TransactionRequest.js +271 -0
  522. package/dist/tempo/TransactionRequest.js.map +1 -0
  523. package/dist/tempo/TxEnvelopeTempo.d.ts +677 -0
  524. package/dist/tempo/TxEnvelopeTempo.d.ts.map +1 -0
  525. package/dist/tempo/TxEnvelopeTempo.js +760 -0
  526. package/dist/tempo/TxEnvelopeTempo.js.map +1 -0
  527. package/dist/tempo/VirtualAddress.d.ts +128 -0
  528. package/dist/tempo/VirtualAddress.d.ts.map +1 -0
  529. package/dist/tempo/VirtualAddress.js +155 -0
  530. package/dist/tempo/VirtualAddress.js.map +1 -0
  531. package/dist/tempo/VirtualMaster.d.ts +248 -0
  532. package/dist/tempo/VirtualMaster.d.ts.map +1 -0
  533. package/dist/tempo/VirtualMaster.js +508 -0
  534. package/dist/tempo/VirtualMaster.js.map +1 -0
  535. package/dist/tempo/ZoneId.d.ts.map +1 -0
  536. package/dist/tempo/ZoneId.js.map +1 -0
  537. package/dist/tempo/ZoneRpcAuthentication.d.ts +278 -0
  538. package/dist/tempo/ZoneRpcAuthentication.d.ts.map +1 -0
  539. package/dist/tempo/ZoneRpcAuthentication.js +255 -0
  540. package/dist/tempo/ZoneRpcAuthentication.js.map +1 -0
  541. package/dist/tempo/index.d.ts +584 -0
  542. package/dist/tempo/index.d.ts.map +1 -0
  543. package/dist/tempo/index.js +585 -0
  544. package/dist/tempo/index.js.map +1 -0
  545. package/dist/tempo/internal/mine.wasm.d.ts.map +1 -0
  546. package/dist/tempo/internal/mine.wasm.js.map +1 -0
  547. package/dist/tempo/internal/virtualMasterPool.d.ts.map +1 -0
  548. package/dist/tempo/internal/virtualMasterPool.js.map +1 -0
  549. package/dist/trusted-setups/Paths.d.ts.map +1 -0
  550. package/dist/trusted-setups/Paths.js.map +1 -0
  551. package/dist/trusted-setups/index.d.ts.map +1 -0
  552. package/dist/trusted-setups/index.js.map +1 -0
  553. package/dist/trusted-setups/internal/paths.d.ts.map +1 -0
  554. package/dist/trusted-setups/internal/paths.js.map +1 -0
  555. package/dist/webauthn/Authentication.d.ts +339 -0
  556. package/dist/webauthn/Authentication.d.ts.map +1 -0
  557. package/dist/webauthn/Authentication.js +481 -0
  558. package/dist/webauthn/Authentication.js.map +1 -0
  559. package/dist/webauthn/Authenticator.d.ts +188 -0
  560. package/dist/webauthn/Authenticator.d.ts.map +1 -0
  561. package/dist/webauthn/Authenticator.js +217 -0
  562. package/dist/webauthn/Authenticator.js.map +1 -0
  563. package/dist/webauthn/Credential.d.ts +83 -0
  564. package/dist/webauthn/Credential.d.ts.map +1 -0
  565. package/dist/webauthn/Credential.js +105 -0
  566. package/dist/webauthn/Credential.js.map +1 -0
  567. package/dist/webauthn/Registration.d.ts +326 -0
  568. package/dist/webauthn/Registration.d.ts.map +1 -0
  569. package/dist/webauthn/Registration.js +523 -0
  570. package/dist/webauthn/Registration.js.map +1 -0
  571. package/dist/webauthn/Types.d.ts.map +1 -0
  572. package/dist/webauthn/Types.js.map +1 -0
  573. package/dist/webauthn/index.d.ts +32 -0
  574. package/dist/webauthn/index.d.ts.map +1 -0
  575. package/dist/webauthn/index.js +33 -0
  576. package/dist/webauthn/index.js.map +1 -0
  577. package/dist/webauthn/internal/utils.d.ts +61 -0
  578. package/dist/webauthn/internal/utils.d.ts.map +1 -0
  579. package/dist/webauthn/internal/utils.js +105 -0
  580. package/dist/webauthn/internal/utils.js.map +1 -0
  581. package/dist/window/index.d.ts.map +1 -0
  582. package/dist/window/index.js.map +1 -0
  583. package/dist/zod/AccessList.d.ts +16 -0
  584. package/dist/zod/AccessList.d.ts.map +1 -0
  585. package/dist/zod/AccessList.js +16 -0
  586. package/dist/zod/AccessList.js.map +1 -0
  587. package/dist/zod/AccountProof.d.ts +22 -0
  588. package/dist/zod/AccountProof.d.ts.map +1 -0
  589. package/dist/zod/AccountProof.js +23 -0
  590. package/dist/zod/AccountProof.js.map +1 -0
  591. package/dist/zod/Address.d.ts +4 -0
  592. package/dist/zod/Address.d.ts.map +1 -0
  593. package/dist/zod/Address.js +7 -0
  594. package/dist/zod/Address.js.map +1 -0
  595. package/dist/zod/Authorization.d.ts +71 -0
  596. package/dist/zod/Authorization.d.ts.map +1 -0
  597. package/dist/zod/Authorization.js +49 -0
  598. package/dist/zod/Authorization.js.map +1 -0
  599. package/dist/zod/BigInt.d.ts +4 -0
  600. package/dist/zod/BigInt.d.ts.map +1 -0
  601. package/dist/zod/BigInt.js +10 -0
  602. package/dist/zod/BigInt.js.map +1 -0
  603. package/dist/zod/Block.d.ts +456 -0
  604. package/dist/zod/Block.d.ts.map +1 -0
  605. package/dist/zod/Block.js +86 -0
  606. package/dist/zod/Block.js.map +1 -0
  607. package/dist/zod/BlockOverrides.d.ts +18 -0
  608. package/dist/zod/BlockOverrides.d.ts.map +1 -0
  609. package/dist/zod/BlockOverrides.js +17 -0
  610. package/dist/zod/BlockOverrides.js.map +1 -0
  611. package/dist/zod/Bytes.d.ts +8 -0
  612. package/dist/zod/Bytes.d.ts.map +1 -0
  613. package/dist/zod/Bytes.js +38 -0
  614. package/dist/zod/Bytes.js.map +1 -0
  615. package/dist/zod/Fee.d.ts +35 -0
  616. package/dist/zod/Fee.d.ts.map +1 -0
  617. package/dist/zod/Fee.js +32 -0
  618. package/dist/zod/Fee.js.map +1 -0
  619. package/dist/zod/Filter.d.ts +20 -0
  620. package/dist/zod/Filter.d.ts.map +1 -0
  621. package/dist/zod/Filter.js +46 -0
  622. package/dist/zod/Filter.js.map +1 -0
  623. package/dist/zod/Hash.d.ts +3 -0
  624. package/dist/zod/Hash.d.ts.map +1 -0
  625. package/dist/zod/Hash.js +5 -0
  626. package/dist/zod/Hash.js.map +1 -0
  627. package/dist/zod/Hex.d.ts +76 -0
  628. package/dist/zod/Hex.d.ts.map +1 -0
  629. package/dist/zod/Hex.js +82 -0
  630. package/dist/zod/Hex.js.map +1 -0
  631. package/dist/zod/Int.d.ts +68 -0
  632. package/dist/zod/Int.d.ts.map +1 -0
  633. package/dist/zod/Int.js +86 -0
  634. package/dist/zod/Int.js.map +1 -0
  635. package/dist/zod/Log.d.ts +28 -0
  636. package/dist/zod/Log.d.ts.map +1 -0
  637. package/dist/zod/Log.js +34 -0
  638. package/dist/zod/Log.js.map +1 -0
  639. package/dist/zod/Number.d.ts +4 -0
  640. package/dist/zod/Number.d.ts.map +1 -0
  641. package/dist/zod/Number.js +10 -0
  642. package/dist/zod/Number.js.map +1 -0
  643. package/dist/zod/RpcResponse.d.ts +24 -0
  644. package/dist/zod/RpcResponse.d.ts.map +1 -0
  645. package/dist/zod/RpcResponse.js +26 -0
  646. package/dist/zod/RpcResponse.js.map +1 -0
  647. package/dist/zod/RpcSchema.d.ts +3057 -0
  648. package/dist/zod/RpcSchema.d.ts.map +1 -0
  649. package/dist/zod/RpcSchema.js +122 -0
  650. package/dist/zod/RpcSchema.js.map +1 -0
  651. package/dist/zod/Signature.d.ts +22 -0
  652. package/dist/zod/Signature.d.ts.map +1 -0
  653. package/dist/zod/Signature.js +27 -0
  654. package/dist/zod/Signature.js.map +1 -0
  655. package/dist/zod/StateOverrides.d.ts +36 -0
  656. package/dist/zod/StateOverrides.d.ts.map +1 -0
  657. package/dist/zod/StateOverrides.js +29 -0
  658. package/dist/zod/StateOverrides.js.map +1 -0
  659. package/dist/zod/Transaction.d.ts +670 -0
  660. package/dist/zod/Transaction.d.ts.map +1 -0
  661. package/dist/zod/Transaction.js +204 -0
  662. package/dist/zod/Transaction.js.map +1 -0
  663. package/dist/zod/TransactionEnvelope.d.ts +482 -0
  664. package/dist/zod/TransactionEnvelope.d.ts.map +1 -0
  665. package/dist/zod/TransactionEnvelope.js +127 -0
  666. package/dist/zod/TransactionEnvelope.js.map +1 -0
  667. package/dist/zod/TransactionReceipt.d.ts +37 -0
  668. package/dist/zod/TransactionReceipt.d.ts.map +1 -0
  669. package/dist/zod/TransactionReceipt.js +60 -0
  670. package/dist/zod/TransactionReceipt.js.map +1 -0
  671. package/dist/zod/TransactionRequest.d.ts +36 -0
  672. package/dist/zod/TransactionRequest.d.ts.map +1 -0
  673. package/dist/zod/TransactionRequest.js +51 -0
  674. package/dist/zod/TransactionRequest.js.map +1 -0
  675. package/dist/zod/TxEnvelopeEip1559.d.ts +46 -0
  676. package/dist/zod/TxEnvelopeEip1559.d.ts.map +1 -0
  677. package/dist/zod/TxEnvelopeEip1559.js +21 -0
  678. package/dist/zod/TxEnvelopeEip1559.js.map +1 -0
  679. package/dist/zod/TxEnvelopeEip2930.d.ts +44 -0
  680. package/dist/zod/TxEnvelopeEip2930.d.ts.map +1 -0
  681. package/dist/zod/TxEnvelopeEip2930.js +19 -0
  682. package/dist/zod/TxEnvelopeEip2930.js.map +1 -0
  683. package/dist/zod/TxEnvelopeEip4844.d.ts +66 -0
  684. package/dist/zod/TxEnvelopeEip4844.d.ts.map +1 -0
  685. package/dist/zod/TxEnvelopeEip4844.js +34 -0
  686. package/dist/zod/TxEnvelopeEip4844.js.map +1 -0
  687. package/dist/zod/TxEnvelopeEip7702.d.ts +62 -0
  688. package/dist/zod/TxEnvelopeEip7702.d.ts.map +1 -0
  689. package/dist/zod/TxEnvelopeEip7702.js +24 -0
  690. package/dist/zod/TxEnvelopeEip7702.js.map +1 -0
  691. package/dist/zod/TxEnvelopeLegacy.d.ts +36 -0
  692. package/dist/zod/TxEnvelopeLegacy.d.ts.map +1 -0
  693. package/dist/zod/TxEnvelopeLegacy.js +16 -0
  694. package/dist/zod/TxEnvelopeLegacy.js.map +1 -0
  695. package/dist/zod/Uint.d.ts +68 -0
  696. package/dist/zod/Uint.d.ts.map +1 -0
  697. package/dist/zod/Uint.js +86 -0
  698. package/dist/zod/Uint.js.map +1 -0
  699. package/dist/zod/Withdrawal.d.ts +9 -0
  700. package/dist/zod/Withdrawal.d.ts.map +1 -0
  701. package/dist/zod/Withdrawal.js +13 -0
  702. package/dist/zod/Withdrawal.js.map +1 -0
  703. package/dist/zod/index.d.ts +20 -0
  704. package/dist/zod/index.d.ts.map +1 -0
  705. package/dist/zod/index.js +20 -0
  706. package/dist/zod/index.js.map +1 -0
  707. package/dist/zod/internal/Integer.d.ts +10 -0
  708. package/dist/zod/internal/Integer.d.ts.map +1 -0
  709. package/dist/zod/internal/Integer.js +60 -0
  710. package/dist/zod/internal/Integer.js.map +1 -0
  711. package/dist/zod/internal/TransactionEnvelope.d.ts +63 -0
  712. package/dist/zod/internal/TransactionEnvelope.d.ts.map +1 -0
  713. package/dist/zod/internal/TransactionEnvelope.js +49 -0
  714. package/dist/zod/internal/TransactionEnvelope.js.map +1 -0
  715. package/dist/zod/internal/rpcSchemas/Eth.d.ts +2814 -0
  716. package/dist/zod/internal/rpcSchemas/Eth.d.ts.map +1 -0
  717. package/dist/zod/internal/rpcSchemas/Eth.js +279 -0
  718. package/dist/zod/internal/rpcSchemas/Eth.js.map +1 -0
  719. package/dist/zod/internal/rpcSchemas/Wallet.d.ts +224 -0
  720. package/dist/zod/internal/rpcSchemas/Wallet.d.ts.map +1 -0
  721. package/dist/zod/internal/rpcSchemas/Wallet.js +202 -0
  722. package/dist/zod/internal/rpcSchemas/Wallet.js.map +1 -0
  723. package/dist/zod/internal/rpcSchemas/from.d.ts +34 -0
  724. package/dist/zod/internal/rpcSchemas/from.d.ts.map +1 -0
  725. package/dist/zod/internal/rpcSchemas/from.js +28 -0
  726. package/dist/zod/internal/rpcSchemas/from.js.map +1 -0
  727. package/dist/zod/tempo/AuthorizationTempo.d.ts +637 -0
  728. package/dist/zod/tempo/AuthorizationTempo.d.ts.map +1 -0
  729. package/dist/zod/tempo/AuthorizationTempo.js +56 -0
  730. package/dist/zod/tempo/AuthorizationTempo.js.map +1 -0
  731. package/dist/zod/tempo/KeyAuthorization.d.ts +419 -0
  732. package/dist/zod/tempo/KeyAuthorization.d.ts.map +1 -0
  733. package/dist/zod/tempo/KeyAuthorization.js +62 -0
  734. package/dist/zod/tempo/KeyAuthorization.js.map +1 -0
  735. package/dist/zod/tempo/MultisigConfig.d.ts +16 -0
  736. package/dist/zod/tempo/MultisigConfig.d.ts.map +1 -0
  737. package/dist/zod/tempo/MultisigConfig.js +16 -0
  738. package/dist/zod/tempo/MultisigConfig.js.map +1 -0
  739. package/dist/zod/tempo/PoolId.d.ts +3 -0
  740. package/dist/zod/tempo/PoolId.d.ts.map +1 -0
  741. package/dist/zod/tempo/PoolId.js +5 -0
  742. package/dist/zod/tempo/PoolId.js.map +1 -0
  743. package/dist/zod/tempo/RpcSchemaTempo.d.ts +1838 -0
  744. package/dist/zod/tempo/RpcSchemaTempo.d.ts.map +1 -0
  745. package/dist/zod/tempo/RpcSchemaTempo.js +60 -0
  746. package/dist/zod/tempo/RpcSchemaTempo.js.map +1 -0
  747. package/dist/zod/tempo/SignatureEnvelope.d.ts +317 -0
  748. package/dist/zod/tempo/SignatureEnvelope.d.ts.map +1 -0
  749. package/dist/zod/tempo/SignatureEnvelope.js +268 -0
  750. package/dist/zod/tempo/SignatureEnvelope.js.map +1 -0
  751. package/dist/zod/tempo/Tick.d.ts +4 -0
  752. package/dist/zod/tempo/Tick.d.ts.map +1 -0
  753. package/dist/zod/tempo/Tick.js +10 -0
  754. package/dist/zod/tempo/Tick.js.map +1 -0
  755. package/dist/zod/tempo/TokenId.d.ts +6 -0
  756. package/dist/zod/tempo/TokenId.d.ts.map +1 -0
  757. package/dist/zod/tempo/TokenId.js +14 -0
  758. package/dist/zod/tempo/TokenId.js.map +1 -0
  759. package/dist/zod/tempo/TokenRole.d.ts +4 -0
  760. package/dist/zod/tempo/TokenRole.d.ts.map +1 -0
  761. package/dist/zod/tempo/TokenRole.js +6 -0
  762. package/dist/zod/tempo/TokenRole.js.map +1 -0
  763. package/dist/zod/tempo/Transaction.d.ts +1018 -0
  764. package/dist/zod/tempo/Transaction.d.ts.map +1 -0
  765. package/dist/zod/tempo/Transaction.js +74 -0
  766. package/dist/zod/tempo/Transaction.js.map +1 -0
  767. package/dist/zod/tempo/TransactionReceipt.d.ts +39 -0
  768. package/dist/zod/tempo/TransactionReceipt.d.ts.map +1 -0
  769. package/dist/zod/tempo/TransactionReceipt.js +64 -0
  770. package/dist/zod/tempo/TransactionReceipt.js.map +1 -0
  771. package/dist/zod/tempo/TransactionRequest.d.ts +828 -0
  772. package/dist/zod/tempo/TransactionRequest.d.ts.map +1 -0
  773. package/dist/zod/tempo/TransactionRequest.js +242 -0
  774. package/dist/zod/tempo/TransactionRequest.js.map +1 -0
  775. package/dist/zod/tempo/TxEnvelopeTempo.d.ts +646 -0
  776. package/dist/zod/tempo/TxEnvelopeTempo.d.ts.map +1 -0
  777. package/dist/zod/tempo/TxEnvelopeTempo.js +57 -0
  778. package/dist/zod/tempo/TxEnvelopeTempo.js.map +1 -0
  779. package/dist/zod/tempo/VirtualAddress.d.ts +9 -0
  780. package/dist/zod/tempo/VirtualAddress.d.ts.map +1 -0
  781. package/dist/zod/tempo/VirtualAddress.js +13 -0
  782. package/dist/zod/tempo/VirtualAddress.js.map +1 -0
  783. package/dist/zod/tempo/ZoneId.d.ts +6 -0
  784. package/dist/zod/tempo/ZoneId.d.ts.map +1 -0
  785. package/dist/zod/tempo/ZoneId.js +13 -0
  786. package/dist/zod/tempo/ZoneId.js.map +1 -0
  787. package/dist/zod/tempo/ZoneRpcAuthentication.d.ts +210 -0
  788. package/dist/zod/tempo/ZoneRpcAuthentication.d.ts.map +1 -0
  789. package/dist/zod/tempo/ZoneRpcAuthentication.js +37 -0
  790. package/dist/zod/tempo/ZoneRpcAuthentication.js.map +1 -0
  791. package/dist/zod/tempo/z.d.ts +17 -0
  792. package/dist/zod/tempo/z.d.ts.map +1 -0
  793. package/dist/zod/tempo/z.js +18 -0
  794. package/dist/zod/tempo/z.js.map +1 -0
  795. package/dist/zod/z.d.ts +33 -0
  796. package/dist/zod/z.d.ts.map +1 -0
  797. package/dist/zod/z.js +34 -0
  798. package/dist/zod/z.js.map +1 -0
  799. package/package.json +657 -405
  800. package/src/CHANGELOG.md +814 -0
  801. package/src/LICENSE +21 -0
  802. package/src/README.md +92 -0
  803. package/src/core/Abi.ts +126 -0
  804. package/src/core/AbiConstructor.ts +488 -0
  805. package/src/core/AbiError.ts +832 -0
  806. package/src/core/AbiEvent.bench.ts +29 -0
  807. package/src/core/AbiEvent.ts +1976 -0
  808. package/src/core/AbiFunction.bench.ts +54 -0
  809. package/src/core/AbiFunction.ts +1090 -0
  810. package/src/core/AbiItem.bench.ts +40 -0
  811. package/src/core/AbiItem.ts +794 -0
  812. package/src/core/AbiParameters.bench.ts +82 -0
  813. package/src/core/AbiParameters.ts +749 -0
  814. package/src/core/AccessList.ts +126 -0
  815. package/src/core/AccountProof.bench.ts +66 -0
  816. package/src/core/AccountProof.ts +151 -0
  817. package/src/core/Address.bench.ts +92 -0
  818. package/src/core/Address.ts +373 -0
  819. package/src/core/AesGcm.bench.ts +25 -0
  820. package/src/core/AesGcm.ts +208 -0
  821. package/src/core/Authorization.ts +651 -0
  822. package/src/core/Base32.ts +138 -0
  823. package/src/core/Base58.ts +170 -0
  824. package/src/core/Base64.bench.ts +70 -0
  825. package/src/core/Base64.ts +437 -0
  826. package/src/core/Bech32m.ts +242 -0
  827. package/src/core/BinaryStateTree.ts +280 -0
  828. package/src/core/BlobCells.ts +379 -0
  829. package/src/core/Blobs.ts +754 -0
  830. package/src/core/Block.bench.ts +115 -0
  831. package/src/core/Block.ts +306 -0
  832. package/src/core/BlockOverrides.ts +135 -0
  833. package/src/core/Bloom.ts +188 -0
  834. package/src/core/Bls.bench.ts +32 -0
  835. package/src/core/Bls.ts +766 -0
  836. package/src/core/BlsPoint.ts +310 -0
  837. package/src/core/Bls_crypto.bench.ts +23 -0
  838. package/src/core/Bytes.bench.ts +121 -0
  839. package/src/core/Bytes.ts +889 -0
  840. package/src/core/Caches.ts +21 -0
  841. package/src/core/Cbor.bench.ts +58 -0
  842. package/src/core/Cbor.ts +969 -0
  843. package/src/core/CompactSize.ts +203 -0
  844. package/src/core/ContractAddress.ts +171 -0
  845. package/src/core/CoseKey.ts +221 -0
  846. package/src/core/Ed25519.ts +347 -0
  847. package/src/core/Ens.ts +141 -0
  848. package/src/core/Errors.ts +140 -0
  849. package/src/core/Fee.ts +237 -0
  850. package/src/core/Filter.ts +151 -0
  851. package/src/core/Hash.bench.ts +31 -0
  852. package/src/core/Hash.ts +269 -0
  853. package/src/core/HdKey.ts +164 -0
  854. package/src/core/Hex.bench.ts +121 -0
  855. package/src/core/Hex.ts +1002 -0
  856. package/src/core/Json.bench.ts +65 -0
  857. package/src/core/Json.ts +160 -0
  858. package/src/core/Keystore.ts +579 -0
  859. package/src/core/Kzg.ts +80 -0
  860. package/src/core/Log.bench.ts +53 -0
  861. package/src/core/Log.ts +250 -0
  862. package/src/core/Mnemonic.bench.ts +16 -0
  863. package/src/core/Mnemonic.ts +231 -0
  864. package/src/core/P256.ts +415 -0
  865. package/src/core/PersonalMessage.ts +80 -0
  866. package/src/core/Provider.bench.ts +31 -0
  867. package/src/core/Provider.ts +680 -0
  868. package/src/core/PublicKey.ts +567 -0
  869. package/src/core/Rlp.bench.ts +73 -0
  870. package/src/core/Rlp.ts +645 -0
  871. package/src/core/Rlp_tx.bench.ts +97 -0
  872. package/src/core/RpcRequest.bench.ts +41 -0
  873. package/src/core/RpcRequest.ts +207 -0
  874. package/src/core/RpcResponse.bench.ts +65 -0
  875. package/src/core/RpcResponse.ts +640 -0
  876. package/src/core/RpcSchema.ts +306 -0
  877. package/src/core/RpcTransport.bench.ts +42 -0
  878. package/src/core/RpcTransport.ts +222 -0
  879. package/src/core/Secp256k1.ts +510 -0
  880. package/src/core/Signature.bench.ts +56 -0
  881. package/src/core/Signature.ts +1005 -0
  882. package/src/core/Siwe.ts +512 -0
  883. package/src/core/Solidity.ts +166 -0
  884. package/src/core/StateOverrides.ts +134 -0
  885. package/src/core/Transaction.ts +434 -0
  886. package/src/core/TransactionReceipt.ts +333 -0
  887. package/src/core/TransactionRequest.ts +451 -0
  888. package/src/core/TxEnvelope.ts +944 -0
  889. package/src/core/TxEnvelopeEip1559.bench.ts +75 -0
  890. package/src/core/TxEnvelopeEip1559.ts +644 -0
  891. package/src/core/TxEnvelopeEip2930.ts +605 -0
  892. package/src/core/TxEnvelopeEip4844.ts +877 -0
  893. package/src/core/TxEnvelopeEip7702.ts +704 -0
  894. package/src/core/TxEnvelopeLegacy.ts +659 -0
  895. package/src/core/TypedData.ts +1039 -0
  896. package/src/core/ValidatorData.ts +86 -0
  897. package/src/core/Value.ts +278 -0
  898. package/src/core/WebAuthnP256.ts +400 -0
  899. package/src/core/WebCryptoP256.bench.ts +38 -0
  900. package/src/core/WebCryptoP256.ts +388 -0
  901. package/src/core/Withdrawal.ts +87 -0
  902. package/src/core/X25519.ts +204 -0
  903. package/src/core/_test/Abi.test-d.ts +74 -0
  904. package/src/core/_test/Abi.test.ts +124 -0
  905. package/src/core/_test/AbiConstructor.test-d.ts +149 -0
  906. package/src/core/_test/AbiConstructor.test.ts +380 -0
  907. package/src/core/_test/AbiError.test-d.ts +128 -0
  908. package/src/core/_test/AbiError.test.ts +1144 -0
  909. package/src/core/_test/AbiEvent.snap-d.ts +330 -0
  910. package/src/core/_test/AbiEvent.test-d.ts +94 -0
  911. package/src/core/_test/AbiEvent.test.ts +1937 -0
  912. package/src/core/_test/AbiFunction.snap-d.ts +276 -0
  913. package/src/core/_test/AbiFunction.test.ts +1272 -0
  914. package/src/core/_test/AbiItem.snap-d.ts +131 -0
  915. package/src/core/_test/AbiItem.test.ts +2121 -0
  916. package/src/core/_test/AbiParameters.adversarial.fuzz.ts +142 -0
  917. package/src/core/_test/AbiParameters.decode.test.ts +1800 -0
  918. package/src/core/_test/AbiParameters.encode.test.ts +1965 -0
  919. package/src/core/_test/AbiParameters.fuzz.ts +37 -0
  920. package/src/core/_test/AbiParameters.snap-d.ts +66 -0
  921. package/src/core/_test/AbiParameters.test.ts +377 -0
  922. package/src/core/_test/AccessList.test.ts +94 -0
  923. package/src/core/_test/AccountProof.test.ts +116 -0
  924. package/src/core/_test/Address.test.ts +252 -0
  925. package/src/core/_test/AesGcm.test.ts +112 -0
  926. package/src/core/_test/Authorization.test.ts +621 -0
  927. package/src/core/_test/Base.fuzz.ts +43 -0
  928. package/src/core/_test/Base32.test.ts +67 -0
  929. package/src/core/_test/Base58.test.ts +85 -0
  930. package/src/core/_test/Base64.test.ts +106 -0
  931. package/src/core/_test/Bech32m.test.ts +259 -0
  932. package/src/core/_test/BinaryStateTree.test.ts +182 -0
  933. package/src/core/_test/BlobCells.test.ts +276 -0
  934. package/src/core/_test/Blobs.test.ts +924 -0
  935. package/src/core/_test/Block.test.ts +641 -0
  936. package/src/core/_test/BlockOverrides.test.ts +110 -0
  937. package/src/core/_test/Bloom.test.ts +122 -0
  938. package/src/core/_test/Bls.test.ts +350 -0
  939. package/src/core/_test/BlsPoint.test.ts +251 -0
  940. package/src/core/_test/Bytes.test.ts +1659 -0
  941. package/src/core/_test/Caches.test.ts +20 -0
  942. package/src/core/_test/Cbor.fuzz.ts +89 -0
  943. package/src/core/_test/Cbor.test.ts +769 -0
  944. package/src/core/_test/CompactSize.test.ts +176 -0
  945. package/src/core/_test/ContractAddress.test.ts +147 -0
  946. package/src/core/_test/CoseKey.test.ts +107 -0
  947. package/src/core/_test/Ed25519.test-d.ts +155 -0
  948. package/src/core/_test/Ed25519.test.ts +438 -0
  949. package/src/core/_test/Ens.test.ts +212 -0
  950. package/src/core/_test/Errors.test.ts +285 -0
  951. package/src/core/_test/Fee.test.ts +89 -0
  952. package/src/core/_test/Filter.test.ts +149 -0
  953. package/src/core/_test/Hash.test.ts +540 -0
  954. package/src/core/_test/HdKey.test.ts +106 -0
  955. package/src/core/_test/Hex.fuzz.ts +73 -0
  956. package/src/core/_test/Hex.test-d.ts +16 -0
  957. package/src/core/_test/Hex.test.ts +787 -0
  958. package/src/core/_test/Json.test.ts +201 -0
  959. package/src/core/_test/Keystore.test.ts +628 -0
  960. package/src/core/_test/Kzg.test.ts +220 -0
  961. package/src/core/_test/Log.test.ts +223 -0
  962. package/src/core/_test/Mnemonic.test.ts +337 -0
  963. package/src/core/_test/P256.test.ts +612 -0
  964. package/src/core/_test/PersonalMessage.test.ts +56 -0
  965. package/src/core/_test/Provider.test-d.ts +283 -0
  966. package/src/core/_test/Provider.test.ts +914 -0
  967. package/src/core/_test/PublicKey.test-d.ts +52 -0
  968. package/src/core/_test/PublicKey.test.ts +576 -0
  969. package/src/core/_test/Rlp.fuzz.ts +63 -0
  970. package/src/core/_test/Rlp.test-d.ts +21 -0
  971. package/src/core/_test/Rlp.test.ts +339 -0
  972. package/src/core/_test/RpcRequest.test.ts +212 -0
  973. package/src/core/_test/RpcResponse.test.ts +725 -0
  974. package/src/core/_test/RpcSchema.test-d.ts +118 -0
  975. package/src/core/_test/RpcSchema.test.ts +10 -0
  976. package/src/core/_test/RpcTransport.test.ts +255 -0
  977. package/src/core/_test/Secp256k1.snap-d.ts +44 -0
  978. package/src/core/_test/Secp256k1.test.ts +611 -0
  979. package/src/core/_test/Signature.fuzz.ts +66 -0
  980. package/src/core/_test/Signature.snap-d.ts +91 -0
  981. package/src/core/_test/Signature.test.ts +862 -0
  982. package/src/core/_test/Siwe.test.ts +792 -0
  983. package/src/core/_test/Solidity.test.ts +135 -0
  984. package/src/core/_test/StateOverrides.test.ts +104 -0
  985. package/src/core/_test/Transaction.test.ts +1975 -0
  986. package/src/core/_test/TransactionEnvelope.test-d.ts +182 -0
  987. package/src/core/_test/TransactionEnvelope.test.ts +384 -0
  988. package/src/core/_test/TransactionEnvelopeEip1559.test-d.ts +47 -0
  989. package/src/core/_test/TransactionEnvelopeEip1559.test.ts +790 -0
  990. package/src/core/_test/TransactionEnvelopeEip2930.test-d.ts +74 -0
  991. package/src/core/_test/TransactionEnvelopeEip2930.test.ts +592 -0
  992. package/src/core/_test/TransactionEnvelopeEip4844.test-d.ts +92 -0
  993. package/src/core/_test/TransactionEnvelopeEip4844.test.ts +795 -0
  994. package/src/core/_test/TransactionEnvelopeEip7702.test-d.ts +80 -0
  995. package/src/core/_test/TransactionEnvelopeEip7702.test.ts +984 -0
  996. package/src/core/_test/TransactionEnvelopeLegacy.test-d.ts +69 -0
  997. package/src/core/_test/TransactionEnvelopeLegacy.test.ts +949 -0
  998. package/src/core/_test/TransactionReceipt.test.ts +405 -0
  999. package/src/core/_test/TransactionRequest.test-d.ts +125 -0
  1000. package/src/core/_test/TransactionRequest.test.ts +430 -0
  1001. package/src/core/_test/TypedData.test-d.ts +151 -0
  1002. package/src/core/_test/TypedData.test.ts +1595 -0
  1003. package/src/core/_test/ValidatorData.test.ts +79 -0
  1004. package/src/core/_test/Value.test.ts +715 -0
  1005. package/src/core/_test/WebAuthnP256.test.ts +1833 -0
  1006. package/src/core/_test/WebCryptoP256.test.ts +279 -0
  1007. package/src/core/_test/Withdrawal.test.ts +51 -0
  1008. package/src/core/_test/X25519.test-d.ts +132 -0
  1009. package/src/core/_test/X25519.test.ts +361 -0
  1010. package/src/core/_test/_snap/Block.test.ts.snap +3436 -0
  1011. package/src/core/_test/index.test.ts +82 -0
  1012. package/src/core/_test/internal/base58.test.ts +11 -0
  1013. package/src/core/_test/internal/cursor.test.ts +649 -0
  1014. package/src/core/_test/internal/ens.test.ts +76 -0
  1015. package/src/core/_test/internal/lru.test.ts +38 -0
  1016. package/src/core/_test/internal/promise.test.ts +64 -0
  1017. package/src/core/_test/internal/rpcTransport.test.ts +47 -0
  1018. package/src/core/_test/internal/uid.test.ts +7 -0
  1019. package/src/core/_test/internal/webauthn.test.ts +43 -0
  1020. package/src/core/internal/abiConstructor.ts +33 -0
  1021. package/src/core/internal/abiError.ts +31 -0
  1022. package/src/core/internal/abiEvent.ts +155 -0
  1023. package/src/core/internal/abiFunction.ts +33 -0
  1024. package/src/core/internal/abiItem.ts +687 -0
  1025. package/src/core/internal/abiParameters.ts +821 -0
  1026. package/src/core/internal/address.ts +79 -0
  1027. package/src/core/internal/base58.ts +102 -0
  1028. package/src/core/internal/bytes.ts +139 -0
  1029. package/src/core/internal/codec/bech32-base32.ts +64 -0
  1030. package/src/core/internal/codec/errors.ts +30 -0
  1031. package/src/core/internal/codec/hex.ts +145 -0
  1032. package/src/core/internal/codec/int.ts +186 -0
  1033. package/src/core/internal/codec/utf8.ts +11 -0
  1034. package/src/core/internal/cryptoIo.ts +74 -0
  1035. package/src/core/internal/cursor.ts +254 -0
  1036. package/src/core/internal/ens.ts +65 -0
  1037. package/src/core/internal/hex.ts +116 -0
  1038. package/src/core/internal/lru.ts +58 -0
  1039. package/src/core/internal/mnemonic/wordlists.ts +10 -0
  1040. package/src/core/internal/promise.ts +66 -0
  1041. package/src/core/internal/quantity.ts +83 -0
  1042. package/src/core/internal/rpcSchemas/eth.ts +767 -0
  1043. package/src/core/internal/rpcSchemas/wallet.ts +460 -0
  1044. package/src/core/internal/rpcTransport.ts +74 -0
  1045. package/src/core/internal/signature.ts +10 -0
  1046. package/src/core/internal/tx.ts +185 -0
  1047. package/src/core/internal/types.ts +450 -0
  1048. package/src/core/internal/webauthn.ts +105 -0
  1049. package/src/erc4337/RpcSchema.ts +159 -0
  1050. package/src/erc4337/UserOperation.bench.ts +87 -0
  1051. package/src/erc4337/UserOperation.ts +1012 -0
  1052. package/src/erc4337/UserOperationGas.ts +116 -0
  1053. package/src/erc4337/_test/UserOperation.snap-d.ts +56 -0
  1054. package/src/erc4337/_test/UserOperation.test.ts +1502 -0
  1055. package/src/erc4337/_test/UserOperationGas.test.ts +93 -0
  1056. package/src/erc4337/_test/UserOperationReceipt.test.ts +403 -0
  1057. package/src/erc4337/index.ts +37 -0
  1058. package/src/erc6492/SignatureErc6492.bench.ts +21 -0
  1059. package/src/erc6492/SignatureErc6492.ts +290 -0
  1060. package/src/erc6492/_test/SignatureErc6492.test.ts +161 -0
  1061. package/src/erc6492/_test/index.test.ts +10 -0
  1062. package/src/erc6492/index.ts +28 -0
  1063. package/src/erc7821/Calls.bench.ts +36 -0
  1064. package/src/erc7821/Calls.ts +161 -0
  1065. package/src/erc7821/Execute.ts +197 -0
  1066. package/src/erc7821/_test/Calls.test.ts +214 -0
  1067. package/src/erc7821/_test/Execute.test.ts +548 -0
  1068. package/src/erc7821/index.ts +72 -0
  1069. package/src/erc8010/SignatureErc8010.ts +266 -0
  1070. package/src/erc8010/_test/SignatureErc8010.test.ts +211 -0
  1071. package/src/erc8010/_test/index.test.ts +10 -0
  1072. package/src/erc8010/index.ts +51 -0
  1073. package/src/erc8021/Attribution.bench.ts +25 -0
  1074. package/src/erc8021/Attribution.ts +516 -0
  1075. package/src/erc8021/_test/Attribution.test.ts +772 -0
  1076. package/src/erc8021/_test/index.test.ts +10 -0
  1077. package/src/erc8021/index.ts +45 -0
  1078. package/src/index.docs.ts +12 -0
  1079. package/src/index.ts +3829 -0
  1080. package/src/tempo/AuthorizationTempo.test.ts +1378 -0
  1081. package/src/tempo/AuthorizationTempo.ts +946 -0
  1082. package/src/tempo/Channel.test.ts +203 -0
  1083. package/src/tempo/Channel.ts +303 -0
  1084. package/src/tempo/KeyAuthorization.test.ts +2443 -0
  1085. package/src/tempo/KeyAuthorization.ts +1183 -0
  1086. package/src/tempo/MultisigConfig.test.ts +227 -0
  1087. package/src/tempo/MultisigConfig.ts +447 -0
  1088. package/src/tempo/Period.test.ts +44 -0
  1089. package/src/tempo/PoolId.test.ts +58 -0
  1090. package/src/tempo/PoolId.ts +42 -0
  1091. package/src/tempo/ReceivePolicyReceipt.test.ts +198 -0
  1092. package/src/tempo/ReceivePolicyReceipt.ts +274 -0
  1093. package/src/tempo/RpcSchemaTempo.ts +55 -0
  1094. package/src/tempo/SignatureEnvelope.test.ts +2933 -0
  1095. package/src/tempo/SignatureEnvelope.ts +1683 -0
  1096. package/src/tempo/Tick.test.ts +281 -0
  1097. package/src/tempo/TokenId.bench.ts +36 -0
  1098. package/src/tempo/TokenId.test.ts +79 -0
  1099. package/src/tempo/TokenId.ts +141 -0
  1100. package/src/tempo/TokenRole.test.ts +16 -0
  1101. package/src/tempo/Transaction.test.ts +529 -0
  1102. package/src/tempo/Transaction.ts +341 -0
  1103. package/src/tempo/TransactionReceipt.ts +200 -0
  1104. package/src/tempo/TransactionRequest.test-d.ts +118 -0
  1105. package/src/tempo/TransactionRequest.test.ts +324 -0
  1106. package/src/tempo/TransactionRequest.ts +382 -0
  1107. package/src/tempo/TxEnvelopeTempo.test.ts +1643 -0
  1108. package/src/tempo/TxEnvelopeTempo.ts +1167 -0
  1109. package/src/tempo/VirtualAddress.bench.ts +43 -0
  1110. package/src/tempo/VirtualAddress.test.ts +78 -0
  1111. package/src/tempo/VirtualAddress.ts +206 -0
  1112. package/src/tempo/VirtualMaster.bench.ts +42 -0
  1113. package/src/tempo/VirtualMaster.test.ts +194 -0
  1114. package/src/tempo/VirtualMaster.ts +732 -0
  1115. package/src/tempo/ZoneId.test.ts +42 -0
  1116. package/src/tempo/ZoneRpcAuthentication.test.ts +226 -0
  1117. package/src/tempo/ZoneRpcAuthentication.ts +427 -0
  1118. package/src/tempo/e2e.test.ts +3212 -0
  1119. package/src/tempo/index.ts +588 -0
  1120. package/src/trusted-setups/_test/Paths.test.ts +10 -0
  1121. package/src/trusted-setups/_test/index.test.ts +10 -0
  1122. package/src/tsconfig.json +15 -0
  1123. package/src/version.ts +2 -0
  1124. package/src/webauthn/Authentication.bench.ts +94 -0
  1125. package/src/webauthn/Authentication.ts +701 -0
  1126. package/src/webauthn/Authenticator.bench.ts +63 -0
  1127. package/src/webauthn/Authenticator.ts +306 -0
  1128. package/src/webauthn/Credential.ts +165 -0
  1129. package/src/webauthn/Registration.bench.ts +108 -0
  1130. package/src/webauthn/Registration.ts +825 -0
  1131. package/src/webauthn/_test/Authentication.browser.test.ts +755 -0
  1132. package/src/webauthn/_test/Authentication.test.ts +1871 -0
  1133. package/src/webauthn/_test/Authenticator.test.ts +57 -0
  1134. package/src/webauthn/_test/Credential.test.ts +147 -0
  1135. package/src/webauthn/_test/Registration.browser.test.ts +899 -0
  1136. package/src/webauthn/_test/Registration.test.ts +1050 -0
  1137. package/src/webauthn/index.ts +37 -0
  1138. package/src/webauthn/internal/utils.ts +149 -0
  1139. package/src/zod/AccessList.ts +21 -0
  1140. package/src/zod/AccountProof.ts +24 -0
  1141. package/src/zod/Address.ts +9 -0
  1142. package/src/zod/Authorization.ts +70 -0
  1143. package/src/zod/BigInt.ts +10 -0
  1144. package/src/zod/Block.ts +108 -0
  1145. package/src/zod/BlockOverrides.ts +17 -0
  1146. package/src/zod/Bytes.ts +59 -0
  1147. package/src/zod/Fee.ts +36 -0
  1148. package/src/zod/Filter.ts +52 -0
  1149. package/src/zod/Hash.ts +5 -0
  1150. package/src/zod/Hex.ts +89 -0
  1151. package/src/zod/Int.ts +98 -0
  1152. package/src/zod/Log.ts +36 -0
  1153. package/src/zod/Number.ts +10 -0
  1154. package/src/zod/RpcResponse.ts +28 -0
  1155. package/src/zod/RpcSchema.ts +182 -0
  1156. package/src/zod/Signature.ts +38 -0
  1157. package/src/zod/StateOverrides.ts +32 -0
  1158. package/src/zod/Transaction.ts +250 -0
  1159. package/src/zod/TransactionEnvelope.ts +147 -0
  1160. package/src/zod/TransactionReceipt.ts +70 -0
  1161. package/src/zod/TransactionRequest.ts +54 -0
  1162. package/src/zod/TxEnvelopeEip1559.ts +27 -0
  1163. package/src/zod/TxEnvelopeEip2930.ts +25 -0
  1164. package/src/zod/TxEnvelopeEip4844.ts +41 -0
  1165. package/src/zod/TxEnvelopeEip7702.ts +30 -0
  1166. package/src/zod/TxEnvelopeLegacy.ts +22 -0
  1167. package/src/zod/Uint.ts +95 -0
  1168. package/src/zod/Withdrawal.ts +13 -0
  1169. package/src/zod/_test/AccessList.test-d.ts +13 -0
  1170. package/src/zod/_test/AccessList.test.ts +44 -0
  1171. package/src/zod/_test/AccountProof.test-d.ts +19 -0
  1172. package/src/zod/_test/AccountProof.test.ts +102 -0
  1173. package/src/zod/_test/Address.test-d.ts +13 -0
  1174. package/src/zod/_test/Address.test.ts +17 -0
  1175. package/src/zod/_test/Authorization.test-d.ts +40 -0
  1176. package/src/zod/_test/Authorization.test.ts +148 -0
  1177. package/src/zod/_test/BigInt.test-d.ts +9 -0
  1178. package/src/zod/_test/BigInt.test.ts +9 -0
  1179. package/src/zod/_test/Block.test-d.ts +30 -0
  1180. package/src/zod/_test/Block.test.ts +231 -0
  1181. package/src/zod/_test/BlockOverrides.test-d.ts +13 -0
  1182. package/src/zod/_test/BlockOverrides.test.ts +99 -0
  1183. package/src/zod/_test/Bytes.test-d.ts +16 -0
  1184. package/src/zod/_test/Bytes.test.ts +26 -0
  1185. package/src/zod/_test/Fee.test-d.ts +31 -0
  1186. package/src/zod/_test/Fee.test.ts +91 -0
  1187. package/src/zod/_test/Filter.test-d.ts +25 -0
  1188. package/src/zod/_test/Filter.test.ts +89 -0
  1189. package/src/zod/_test/Hash.test-d.ts +9 -0
  1190. package/src/zod/_test/Hash.test.ts +11 -0
  1191. package/src/zod/_test/Hex.test-d.ts +11 -0
  1192. package/src/zod/_test/Hex.test.ts +42 -0
  1193. package/src/zod/_test/Int.test-d.ts +15 -0
  1194. package/src/zod/_test/Int.test.ts +43 -0
  1195. package/src/zod/_test/Log.test-d.ts +15 -0
  1196. package/src/zod/_test/Log.test.ts +132 -0
  1197. package/src/zod/_test/Number.test-d.ts +9 -0
  1198. package/src/zod/_test/Number.test.ts +11 -0
  1199. package/src/zod/_test/RpcResponse.test-d.ts +13 -0
  1200. package/src/zod/_test/RpcResponse.test.ts +88 -0
  1201. package/src/zod/_test/RpcSchema.test-d.ts +50 -0
  1202. package/src/zod/_test/RpcSchema.test.ts +235 -0
  1203. package/src/zod/_test/Signature.test-d.ts +25 -0
  1204. package/src/zod/_test/Signature.test.ts +49 -0
  1205. package/src/zod/_test/StateOverrides.test-d.ts +25 -0
  1206. package/src/zod/_test/StateOverrides.test.ts +80 -0
  1207. package/src/zod/_test/Transaction.test-d.ts +49 -0
  1208. package/src/zod/_test/Transaction.test.ts +200 -0
  1209. package/src/zod/_test/TransactionEnvelope.test-d.ts +35 -0
  1210. package/src/zod/_test/TransactionEnvelope.test.ts +204 -0
  1211. package/src/zod/_test/TransactionReceipt.test-d.ts +25 -0
  1212. package/src/zod/_test/TransactionReceipt.test.ts +215 -0
  1213. package/src/zod/_test/TransactionRequest.test-d.ts +13 -0
  1214. package/src/zod/_test/TransactionRequest.test.ts +191 -0
  1215. package/src/zod/_test/TxEnvelope.test-d.ts +67 -0
  1216. package/src/zod/_test/TxEnvelope.test.ts +177 -0
  1217. package/src/zod/_test/Uint.test-d.ts +15 -0
  1218. package/src/zod/_test/Uint.test.ts +45 -0
  1219. package/src/zod/_test/Withdrawal.test-d.ts +13 -0
  1220. package/src/zod/_test/Withdrawal.test.ts +38 -0
  1221. package/src/zod/_test/z.test-d.ts +67 -0
  1222. package/src/zod/_test/z.test.ts +195 -0
  1223. package/src/zod/index.ts +19 -0
  1224. package/src/zod/internal/Integer.ts +73 -0
  1225. package/src/zod/internal/TransactionEnvelope.ts +64 -0
  1226. package/src/zod/internal/rpcSchemas/Eth.ts +337 -0
  1227. package/src/zod/internal/rpcSchemas/Wallet.ts +250 -0
  1228. package/src/zod/internal/rpcSchemas/from.ts +52 -0
  1229. package/src/zod/tempo/AuthorizationTempo.ts +73 -0
  1230. package/src/zod/tempo/KeyAuthorization.ts +70 -0
  1231. package/src/zod/tempo/MultisigConfig.ts +17 -0
  1232. package/src/zod/tempo/PoolId.ts +5 -0
  1233. package/src/zod/tempo/RpcSchemaTempo.ts +87 -0
  1234. package/src/zod/tempo/SignatureEnvelope.ts +319 -0
  1235. package/src/zod/tempo/Tick.ts +16 -0
  1236. package/src/zod/tempo/TokenId.ts +15 -0
  1237. package/src/zod/tempo/TokenRole.ts +6 -0
  1238. package/src/zod/tempo/Transaction.ts +83 -0
  1239. package/src/zod/tempo/TransactionReceipt.ts +74 -0
  1240. package/src/zod/tempo/TransactionRequest.ts +295 -0
  1241. package/src/zod/tempo/TxEnvelopeTempo.ts +69 -0
  1242. package/src/zod/tempo/VirtualAddress.ts +23 -0
  1243. package/src/zod/tempo/ZoneId.ts +19 -0
  1244. package/src/zod/tempo/ZoneRpcAuthentication.ts +46 -0
  1245. package/src/zod/tempo/_test/AuthorizationTempo.test-d.ts +10 -0
  1246. package/src/zod/tempo/_test/AuthorizationTempo.test.ts +50 -0
  1247. package/src/zod/tempo/_test/KeyAuthorization.test-d.ts +13 -0
  1248. package/src/zod/tempo/_test/KeyAuthorization.test.ts +58 -0
  1249. package/src/zod/tempo/_test/PoolId.test-d.ts +8 -0
  1250. package/src/zod/tempo/_test/PoolId.test.ts +16 -0
  1251. package/src/zod/tempo/_test/RpcSchemaTempo.test-d.ts +22 -0
  1252. package/src/zod/tempo/_test/RpcSchemaTempo.test.ts +56 -0
  1253. package/src/zod/tempo/_test/SignatureEnvelope.test-d.ts +19 -0
  1254. package/src/zod/tempo/_test/SignatureEnvelope.test.ts +60 -0
  1255. package/src/zod/tempo/_test/Tick.test-d.ts +8 -0
  1256. package/src/zod/tempo/_test/Tick.test.ts +20 -0
  1257. package/src/zod/tempo/_test/TokenId.test-d.ts +17 -0
  1258. package/src/zod/tempo/_test/TokenId.test.ts +21 -0
  1259. package/src/zod/tempo/_test/TokenRole.test-d.ts +10 -0
  1260. package/src/zod/tempo/_test/TokenRole.test.ts +18 -0
  1261. package/src/zod/tempo/_test/Transaction.test-d.ts +10 -0
  1262. package/src/zod/tempo/_test/Transaction.test.ts +88 -0
  1263. package/src/zod/tempo/_test/TransactionReceipt.test-d.ts +13 -0
  1264. package/src/zod/tempo/_test/TransactionReceipt.test.ts +54 -0
  1265. package/src/zod/tempo/_test/TransactionRequest.test-d.ts +13 -0
  1266. package/src/zod/tempo/_test/TransactionRequest.test.ts +54 -0
  1267. package/src/zod/tempo/_test/TxEnvelopeTempo.test-d.ts +16 -0
  1268. package/src/zod/tempo/_test/TxEnvelopeTempo.test.ts +79 -0
  1269. package/src/zod/tempo/_test/VirtualAddress.test-d.ts +13 -0
  1270. package/src/zod/tempo/_test/VirtualAddress.test.ts +37 -0
  1271. package/src/zod/tempo/_test/ZoneId.test.ts +17 -0
  1272. package/src/zod/tempo/_test/ZoneRpcAuthentication.test-d.ts +16 -0
  1273. package/src/zod/tempo/_test/ZoneRpcAuthentication.test.ts +47 -0
  1274. package/src/zod/tempo/z.ts +17 -0
  1275. package/src/zod/z.ts +101 -0
  1276. package/Abi/package.json +0 -6
  1277. package/AbiConstructor/package.json +0 -6
  1278. package/AbiError/package.json +0 -6
  1279. package/AbiEvent/package.json +0 -6
  1280. package/AbiFunction/package.json +0 -6
  1281. package/AbiItem/package.json +0 -6
  1282. package/AbiParameters/package.json +0 -6
  1283. package/AccessList/package.json +0 -6
  1284. package/AccountProof/package.json +0 -6
  1285. package/Address/package.json +0 -6
  1286. package/AesGcm/package.json +0 -6
  1287. package/Authorization/package.json +0 -6
  1288. package/Base32/package.json +0 -6
  1289. package/Base58/package.json +0 -6
  1290. package/Base64/package.json +0 -6
  1291. package/Bech32m/package.json +0 -6
  1292. package/BinaryStateTree/package.json +0 -6
  1293. package/Blobs/package.json +0 -6
  1294. package/Block/package.json +0 -6
  1295. package/BlockOverrides/package.json +0 -6
  1296. package/Bloom/package.json +0 -6
  1297. package/Bls/package.json +0 -6
  1298. package/BlsPoint/package.json +0 -6
  1299. package/Bytes/package.json +0 -6
  1300. package/CHANGELOG.md +0 -824
  1301. package/Caches/package.json +0 -6
  1302. package/Cbor/package.json +0 -6
  1303. package/CompactSize/package.json +0 -6
  1304. package/ContractAddress/package.json +0 -6
  1305. package/CoseKey/package.json +0 -6
  1306. package/Ed25519/package.json +0 -6
  1307. package/Ens/package.json +0 -6
  1308. package/Errors/package.json +0 -6
  1309. package/Fee/package.json +0 -6
  1310. package/Filter/package.json +0 -6
  1311. package/Hash/package.json +0 -6
  1312. package/HdKey/package.json +0 -6
  1313. package/Hex/package.json +0 -6
  1314. package/Json/package.json +0 -6
  1315. package/Keystore/package.json +0 -6
  1316. package/Kzg/package.json +0 -6
  1317. package/Log/package.json +0 -6
  1318. package/Mnemonic/package.json +0 -6
  1319. package/P256/package.json +0 -6
  1320. package/PersonalMessage/package.json +0 -6
  1321. package/Provider/package.json +0 -6
  1322. package/PublicKey/package.json +0 -6
  1323. package/README.md +0 -93
  1324. package/Rlp/package.json +0 -6
  1325. package/RpcRequest/package.json +0 -6
  1326. package/RpcResponse/package.json +0 -6
  1327. package/RpcSchema/package.json +0 -6
  1328. package/RpcTransport/package.json +0 -6
  1329. package/Secp256k1/package.json +0 -6
  1330. package/Signature/package.json +0 -6
  1331. package/Siwe/package.json +0 -6
  1332. package/Solidity/package.json +0 -6
  1333. package/StateOverrides/package.json +0 -6
  1334. package/Transaction/package.json +0 -6
  1335. package/TransactionReceipt/package.json +0 -6
  1336. package/TransactionRequest/package.json +0 -6
  1337. package/TxEnvelope/package.json +0 -6
  1338. package/TxEnvelopeEip1559/package.json +0 -6
  1339. package/TxEnvelopeEip2930/package.json +0 -6
  1340. package/TxEnvelopeEip4844/package.json +0 -6
  1341. package/TxEnvelopeEip7702/package.json +0 -6
  1342. package/TxEnvelopeLegacy/package.json +0 -6
  1343. package/TypedData/package.json +0 -6
  1344. package/ValidatorData/package.json +0 -6
  1345. package/Value/package.json +0 -6
  1346. package/WebAuthnP256/package.json +0 -6
  1347. package/WebCryptoP256/package.json +0 -6
  1348. package/Withdrawal/package.json +0 -6
  1349. package/X25519/package.json +0 -6
  1350. package/_cjs/core/Abi.js +0 -15
  1351. package/_cjs/core/Abi.js.map +0 -1
  1352. package/_cjs/core/AbiConstructor.js +0 -51
  1353. package/_cjs/core/AbiConstructor.js.map +0 -1
  1354. package/_cjs/core/AbiError.js +0 -108
  1355. package/_cjs/core/AbiError.js.map +0 -1
  1356. package/_cjs/core/AbiEvent.js +0 -348
  1357. package/_cjs/core/AbiEvent.js.map +0 -1
  1358. package/_cjs/core/AbiFunction.js +0 -107
  1359. package/_cjs/core/AbiFunction.js.map +0 -1
  1360. package/_cjs/core/AbiItem.js +0 -195
  1361. package/_cjs/core/AbiItem.js.map +0 -1
  1362. package/_cjs/core/AbiParameters.js +0 -227
  1363. package/_cjs/core/AbiParameters.js.map +0 -1
  1364. package/_cjs/core/AccessList.js +0 -51
  1365. package/_cjs/core/AccessList.js.map +0 -1
  1366. package/_cjs/core/AccountProof.js +0 -3
  1367. package/_cjs/core/AccountProof.js.map +0 -1
  1368. package/_cjs/core/Address.js +0 -116
  1369. package/_cjs/core/Address.js.map +0 -1
  1370. package/_cjs/core/AesGcm.js +0 -51
  1371. package/_cjs/core/AesGcm.js.map +0 -1
  1372. package/_cjs/core/Authorization.js +0 -96
  1373. package/_cjs/core/Authorization.js.map +0 -1
  1374. package/_cjs/core/Base32.js +0 -73
  1375. package/_cjs/core/Base32.js.map +0 -1
  1376. package/_cjs/core/Base58.js +0 -46
  1377. package/_cjs/core/Base58.js.map +0 -1
  1378. package/_cjs/core/Base64.js +0 -70
  1379. package/_cjs/core/Base64.js.map +0 -1
  1380. package/_cjs/core/Bech32m.js +0 -205
  1381. package/_cjs/core/Bech32m.js.map +0 -1
  1382. package/_cjs/core/BinaryStateTree.js +0 -141
  1383. package/_cjs/core/BinaryStateTree.js.map +0 -1
  1384. package/_cjs/core/Blobs.js +0 -244
  1385. package/_cjs/core/Blobs.js.map +0 -1
  1386. package/_cjs/core/Block.js +0 -85
  1387. package/_cjs/core/Block.js.map +0 -1
  1388. package/_cjs/core/BlockOverrides.js +0 -63
  1389. package/_cjs/core/BlockOverrides.js.map +0 -1
  1390. package/_cjs/core/Bloom.js +0 -21
  1391. package/_cjs/core/Bloom.js.map +0 -1
  1392. package/_cjs/core/Bls.js +0 -86
  1393. package/_cjs/core/Bls.js.map +0 -1
  1394. package/_cjs/core/BlsPoint.js +0 -28
  1395. package/_cjs/core/BlsPoint.js.map +0 -1
  1396. package/_cjs/core/Bytes.js +0 -257
  1397. package/_cjs/core/Bytes.js.map +0 -1
  1398. package/_cjs/core/Caches.js +0 -14
  1399. package/_cjs/core/Caches.js.map +0 -1
  1400. package/_cjs/core/Cbor.js +0 -748
  1401. package/_cjs/core/Cbor.js.map +0 -1
  1402. package/_cjs/core/CompactSize.js +0 -91
  1403. package/_cjs/core/CompactSize.js.map +0 -1
  1404. package/_cjs/core/ContractAddress.js +0 -36
  1405. package/_cjs/core/ContractAddress.js.map +0 -1
  1406. package/_cjs/core/CoseKey.js +0 -41
  1407. package/_cjs/core/CoseKey.js.map +0 -1
  1408. package/_cjs/core/Ed25519.js +0 -71
  1409. package/_cjs/core/Ed25519.js.map +0 -1
  1410. package/_cjs/core/Ens.js +0 -34
  1411. package/_cjs/core/Ens.js.map +0 -1
  1412. package/_cjs/core/Errors.js +0 -139
  1413. package/_cjs/core/Errors.js.map +0 -1
  1414. package/_cjs/core/Fee.js +0 -3
  1415. package/_cjs/core/Fee.js.map +0 -1
  1416. package/_cjs/core/Filter.js +0 -41
  1417. package/_cjs/core/Filter.js.map +0 -1
  1418. package/_cjs/core/Hash.js +0 -45
  1419. package/_cjs/core/Hash.js.map +0 -1
  1420. package/_cjs/core/HdKey.js +0 -26
  1421. package/_cjs/core/HdKey.js.map +0 -1
  1422. package/_cjs/core/Hex.js +0 -301
  1423. package/_cjs/core/Hex.js.map +0 -1
  1424. package/_cjs/core/Json.js +0 -49
  1425. package/_cjs/core/Json.js.map +0 -1
  1426. package/_cjs/core/Keystore.js +0 -183
  1427. package/_cjs/core/Keystore.js.map +0 -1
  1428. package/_cjs/core/Kzg.js +0 -13
  1429. package/_cjs/core/Kzg.js.map +0 -1
  1430. package/_cjs/core/Log.js +0 -33
  1431. package/_cjs/core/Log.js.map +0 -1
  1432. package/_cjs/core/Mnemonic.js +0 -51
  1433. package/_cjs/core/Mnemonic.js.map +0 -1
  1434. package/_cjs/core/P256.js +0 -79
  1435. package/_cjs/core/P256.js.map +0 -1
  1436. package/_cjs/core/PersonalMessage.js +0 -14
  1437. package/_cjs/core/PersonalMessage.js.map +0 -1
  1438. package/_cjs/core/Provider.js +0 -436
  1439. package/_cjs/core/Provider.js.map +0 -1
  1440. package/_cjs/core/PublicKey.js +0 -186
  1441. package/_cjs/core/PublicKey.js.map +0 -1
  1442. package/_cjs/core/Rlp.js +0 -173
  1443. package/_cjs/core/Rlp.js.map +0 -1
  1444. package/_cjs/core/RpcRequest.js +0 -25
  1445. package/_cjs/core/RpcRequest.js.map +0 -1
  1446. package/_cjs/core/RpcResponse.js +0 -444
  1447. package/_cjs/core/RpcResponse.js.map +0 -1
  1448. package/_cjs/core/RpcSchema.js +0 -7
  1449. package/_cjs/core/RpcSchema.js.map +0 -1
  1450. package/_cjs/core/RpcTransport.js +0 -94
  1451. package/_cjs/core/RpcTransport.js.map +0 -1
  1452. package/_cjs/core/Secp256k1.js +0 -80
  1453. package/_cjs/core/Secp256k1.js.map +0 -1
  1454. package/_cjs/core/Signature.js +0 -288
  1455. package/_cjs/core/Signature.js.map +0 -1
  1456. package/_cjs/core/Siwe.js +0 -230
  1457. package/_cjs/core/Siwe.js.map +0 -1
  1458. package/_cjs/core/Solidity.js +0 -104
  1459. package/_cjs/core/Solidity.js.map +0 -1
  1460. package/_cjs/core/StateOverrides.js +0 -48
  1461. package/_cjs/core/StateOverrides.js.map +0 -1
  1462. package/_cjs/core/Transaction.js +0 -114
  1463. package/_cjs/core/Transaction.js.map +0 -1
  1464. package/_cjs/core/TransactionReceipt.js +0 -74
  1465. package/_cjs/core/TransactionReceipt.js.map +0 -1
  1466. package/_cjs/core/TransactionRequest.js +0 -78
  1467. package/_cjs/core/TransactionRequest.js.map +0 -1
  1468. package/_cjs/core/TxEnvelope.js +0 -80
  1469. package/_cjs/core/TxEnvelope.js.map +0 -1
  1470. package/_cjs/core/TxEnvelopeEip1559.js +0 -174
  1471. package/_cjs/core/TxEnvelopeEip1559.js.map +0 -1
  1472. package/_cjs/core/TxEnvelopeEip2930.js +0 -158
  1473. package/_cjs/core/TxEnvelopeEip2930.js.map +0 -1
  1474. package/_cjs/core/TxEnvelopeEip4844.js +0 -216
  1475. package/_cjs/core/TxEnvelopeEip4844.js.map +0 -1
  1476. package/_cjs/core/TxEnvelopeEip7702.js +0 -149
  1477. package/_cjs/core/TxEnvelopeEip7702.js.map +0 -1
  1478. package/_cjs/core/TxEnvelopeLegacy.js +0 -213
  1479. package/_cjs/core/TxEnvelopeLegacy.js.map +0 -1
  1480. package/_cjs/core/TypedData.js +0 -325
  1481. package/_cjs/core/TypedData.js.map +0 -1
  1482. package/_cjs/core/ValidatorData.js +0 -14
  1483. package/_cjs/core/ValidatorData.js.map +0 -1
  1484. package/_cjs/core/Value.js +0 -90
  1485. package/_cjs/core/Value.js.map +0 -1
  1486. package/_cjs/core/WebAuthnP256.js +0 -26
  1487. package/_cjs/core/WebAuthnP256.js.map +0 -1
  1488. package/_cjs/core/WebCryptoP256.js +0 -76
  1489. package/_cjs/core/WebCryptoP256.js.map +0 -1
  1490. package/_cjs/core/Withdrawal.js +0 -22
  1491. package/_cjs/core/Withdrawal.js.map +0 -1
  1492. package/_cjs/core/X25519.js +0 -45
  1493. package/_cjs/core/X25519.js.map +0 -1
  1494. package/_cjs/core/internal/abi.js +0 -11
  1495. package/_cjs/core/internal/abi.js.map +0 -1
  1496. package/_cjs/core/internal/abiConstructor.js +0 -3
  1497. package/_cjs/core/internal/abiConstructor.js.map +0 -1
  1498. package/_cjs/core/internal/abiError.js +0 -3
  1499. package/_cjs/core/internal/abiError.js.map +0 -1
  1500. package/_cjs/core/internal/abiEvent.js +0 -3
  1501. package/_cjs/core/internal/abiEvent.js.map +0 -1
  1502. package/_cjs/core/internal/abiFunction.js +0 -3
  1503. package/_cjs/core/internal/abiFunction.js.map +0 -1
  1504. package/_cjs/core/internal/abiItem.js +0 -110
  1505. package/_cjs/core/internal/abiItem.js.map +0 -1
  1506. package/_cjs/core/internal/abiParameters.js +0 -422
  1507. package/_cjs/core/internal/abiParameters.js.map +0 -1
  1508. package/_cjs/core/internal/base58.js +0 -88
  1509. package/_cjs/core/internal/base58.js.map +0 -1
  1510. package/_cjs/core/internal/bytes.js +0 -88
  1511. package/_cjs/core/internal/bytes.js.map +0 -1
  1512. package/_cjs/core/internal/cursor.js +0 -210
  1513. package/_cjs/core/internal/cursor.js.map +0 -1
  1514. package/_cjs/core/internal/ens.js +0 -43
  1515. package/_cjs/core/internal/ens.js.map +0 -1
  1516. package/_cjs/core/internal/entropy.js +0 -9
  1517. package/_cjs/core/internal/entropy.js.map +0 -1
  1518. package/_cjs/core/internal/errors.js +0 -28
  1519. package/_cjs/core/internal/errors.js.map +0 -1
  1520. package/_cjs/core/internal/hdKey.js +0 -19
  1521. package/_cjs/core/internal/hdKey.js.map +0 -1
  1522. package/_cjs/core/internal/hex.js +0 -68
  1523. package/_cjs/core/internal/hex.js.map +0 -1
  1524. package/_cjs/core/internal/lru.js +0 -34
  1525. package/_cjs/core/internal/lru.js.map +0 -1
  1526. package/_cjs/core/internal/mnemonic/wordlists.js +0 -24
  1527. package/_cjs/core/internal/mnemonic/wordlists.js.map +0 -1
  1528. package/_cjs/core/internal/promise.js +0 -48
  1529. package/_cjs/core/internal/promise.js.map +0 -1
  1530. package/_cjs/core/internal/register.js +0 -3
  1531. package/_cjs/core/internal/register.js.map +0 -1
  1532. package/_cjs/core/internal/rpcSchema.js +0 -3
  1533. package/_cjs/core/internal/rpcSchema.js.map +0 -1
  1534. package/_cjs/core/internal/rpcSchemas/eth.js +0 -3
  1535. package/_cjs/core/internal/rpcSchemas/eth.js.map +0 -1
  1536. package/_cjs/core/internal/rpcSchemas/wallet.js +0 -3
  1537. package/_cjs/core/internal/rpcSchemas/wallet.js.map +0 -1
  1538. package/_cjs/core/internal/rpcTransport.js +0 -18
  1539. package/_cjs/core/internal/rpcTransport.js.map +0 -1
  1540. package/_cjs/core/internal/types.js +0 -3
  1541. package/_cjs/core/internal/types.js.map +0 -1
  1542. package/_cjs/core/internal/uid.js +0 -17
  1543. package/_cjs/core/internal/uid.js.map +0 -1
  1544. package/_cjs/core/internal/webauthn.js +0 -48
  1545. package/_cjs/core/internal/webauthn.js.map +0 -1
  1546. package/_cjs/core/version.js +0 -5
  1547. package/_cjs/core/version.js.map +0 -1
  1548. package/_cjs/erc4337/EntryPoint.js +0 -2011
  1549. package/_cjs/erc4337/EntryPoint.js.map +0 -1
  1550. package/_cjs/erc4337/RpcSchema.js +0 -3
  1551. package/_cjs/erc4337/RpcSchema.js.map +0 -1
  1552. package/_cjs/erc4337/UserOperation.js +0 -265
  1553. package/_cjs/erc4337/UserOperation.js.map +0 -1
  1554. package/_cjs/erc4337/UserOperationGas.js +0 -31
  1555. package/_cjs/erc4337/UserOperationGas.js.map +0 -1
  1556. package/_cjs/erc4337/UserOperationReceipt.js +0 -35
  1557. package/_cjs/erc4337/UserOperationReceipt.js.map +0 -1
  1558. package/_cjs/erc4337/index.js +0 -9
  1559. package/_cjs/erc4337/index.js.map +0 -1
  1560. package/_cjs/erc6492/SignatureErc6492.js +0 -101
  1561. package/_cjs/erc6492/SignatureErc6492.js.map +0 -1
  1562. package/_cjs/erc6492/index.js +0 -5
  1563. package/_cjs/erc6492/index.js.map +0 -1
  1564. package/_cjs/erc7821/Calls.js +0 -39
  1565. package/_cjs/erc7821/Calls.js.map +0 -1
  1566. package/_cjs/erc7821/Execute.js +0 -75
  1567. package/_cjs/erc7821/Execute.js.map +0 -1
  1568. package/_cjs/erc7821/index.js +0 -6
  1569. package/_cjs/erc7821/index.js.map +0 -1
  1570. package/_cjs/erc8010/SignatureErc8010.js +0 -90
  1571. package/_cjs/erc8010/SignatureErc8010.js.map +0 -1
  1572. package/_cjs/erc8010/index.js +0 -5
  1573. package/_cjs/erc8010/index.js.map +0 -1
  1574. package/_cjs/erc8021/Attribution.js +0 -170
  1575. package/_cjs/erc8021/Attribution.js.map +0 -1
  1576. package/_cjs/erc8021/index.js +0 -5
  1577. package/_cjs/erc8021/index.js.map +0 -1
  1578. package/_cjs/index.docs.js +0 -12
  1579. package/_cjs/index.docs.js.map +0 -1
  1580. package/_cjs/index.js +0 -77
  1581. package/_cjs/index.js.map +0 -1
  1582. package/_cjs/package.json +0 -1
  1583. package/_cjs/tempo/AuthorizationTempo.js +0 -106
  1584. package/_cjs/tempo/AuthorizationTempo.js.map +0 -1
  1585. package/_cjs/tempo/Channel.js +0 -71
  1586. package/_cjs/tempo/Channel.js.map +0 -1
  1587. package/_cjs/tempo/KeyAuthorization.js +0 -366
  1588. package/_cjs/tempo/KeyAuthorization.js.map +0 -1
  1589. package/_cjs/tempo/MultisigConfig.js +0 -135
  1590. package/_cjs/tempo/MultisigConfig.js.map +0 -1
  1591. package/_cjs/tempo/Period.js +0 -31
  1592. package/_cjs/tempo/Period.js.map +0 -1
  1593. package/_cjs/tempo/PoolId.js +0 -10
  1594. package/_cjs/tempo/PoolId.js.map +0 -1
  1595. package/_cjs/tempo/ReceivePolicyReceipt.js +0 -80
  1596. package/_cjs/tempo/ReceivePolicyReceipt.js.map +0 -1
  1597. package/_cjs/tempo/RpcSchemaTempo.js +0 -3
  1598. package/_cjs/tempo/RpcSchemaTempo.js.map +0 -1
  1599. package/_cjs/tempo/SignatureEnvelope.js +0 -643
  1600. package/_cjs/tempo/SignatureEnvelope.js.map +0 -1
  1601. package/_cjs/tempo/TempoAddress.js +0 -49
  1602. package/_cjs/tempo/TempoAddress.js.map +0 -1
  1603. package/_cjs/tempo/Tick.js +0 -77
  1604. package/_cjs/tempo/Tick.js.map +0 -1
  1605. package/_cjs/tempo/TokenId.js +0 -41
  1606. package/_cjs/tempo/TokenId.js.map +0 -1
  1607. package/_cjs/tempo/TokenRole.js +0 -26
  1608. package/_cjs/tempo/TokenRole.js.map +0 -1
  1609. package/_cjs/tempo/Transaction.js +0 -80
  1610. package/_cjs/tempo/Transaction.js.map +0 -1
  1611. package/_cjs/tempo/TransactionReceipt.js +0 -26
  1612. package/_cjs/tempo/TransactionReceipt.js.map +0 -1
  1613. package/_cjs/tempo/TransactionRequest.js +0 -96
  1614. package/_cjs/tempo/TransactionRequest.js.map +0 -1
  1615. package/_cjs/tempo/TxEnvelopeTempo.js +0 -315
  1616. package/_cjs/tempo/TxEnvelopeTempo.js.map +0 -1
  1617. package/_cjs/tempo/VirtualAddress.js +0 -70
  1618. package/_cjs/tempo/VirtualAddress.js.map +0 -1
  1619. package/_cjs/tempo/VirtualMaster.js +0 -278
  1620. package/_cjs/tempo/VirtualMaster.js.map +0 -1
  1621. package/_cjs/tempo/ZoneId.js +0 -13
  1622. package/_cjs/tempo/ZoneId.js.map +0 -1
  1623. package/_cjs/tempo/ZoneRpcAuthentication.js +0 -101
  1624. package/_cjs/tempo/ZoneRpcAuthentication.js.map +0 -1
  1625. package/_cjs/tempo/index.js +0 -25
  1626. package/_cjs/tempo/index.js.map +0 -1
  1627. package/_cjs/tempo/internal/mine.wasm.js +0 -6
  1628. package/_cjs/tempo/internal/mine.wasm.js.map +0 -1
  1629. package/_cjs/tempo/internal/virtualMasterPool.js +0 -187
  1630. package/_cjs/tempo/internal/virtualMasterPool.js.map +0 -1
  1631. package/_cjs/trusted-setups/Paths.js +0 -6
  1632. package/_cjs/trusted-setups/Paths.js.map +0 -1
  1633. package/_cjs/trusted-setups/index.js +0 -5
  1634. package/_cjs/trusted-setups/index.js.map +0 -1
  1635. package/_cjs/trusted-setups/internal/paths.js +0 -11
  1636. package/_cjs/trusted-setups/internal/paths.js.map +0 -1
  1637. package/_cjs/version.js +0 -5
  1638. package/_cjs/version.js.map +0 -1
  1639. package/_cjs/webauthn/Authentication.js +0 -257
  1640. package/_cjs/webauthn/Authentication.js.map +0 -1
  1641. package/_cjs/webauthn/Authenticator.js +0 -55
  1642. package/_cjs/webauthn/Authenticator.js.map +0 -1
  1643. package/_cjs/webauthn/Credential.js +0 -66
  1644. package/_cjs/webauthn/Credential.js.map +0 -1
  1645. package/_cjs/webauthn/Registration.js +0 -359
  1646. package/_cjs/webauthn/Registration.js.map +0 -1
  1647. package/_cjs/webauthn/Types.js +0 -3
  1648. package/_cjs/webauthn/Types.js.map +0 -1
  1649. package/_cjs/webauthn/index.js +0 -9
  1650. package/_cjs/webauthn/index.js.map +0 -1
  1651. package/_cjs/webauthn/internal/utils.js +0 -53
  1652. package/_cjs/webauthn/internal/utils.js.map +0 -1
  1653. package/_cjs/window/index.js +0 -3
  1654. package/_cjs/window/index.js.map +0 -1
  1655. package/_esm/core/Abi.js +0 -13
  1656. package/_esm/core/Abi.js.map +0 -1
  1657. package/_esm/core/AbiConstructor.js +0 -49
  1658. package/_esm/core/AbiConstructor.js.map +0 -1
  1659. package/_esm/core/AbiError.js +0 -315
  1660. package/_esm/core/AbiError.js.map +0 -1
  1661. package/_esm/core/AbiEvent.js +0 -852
  1662. package/_esm/core/AbiEvent.js.map +0 -1
  1663. package/_esm/core/AbiFunction.js +0 -332
  1664. package/_esm/core/AbiFunction.js.map +0 -1
  1665. package/_esm/core/AbiItem.js +0 -492
  1666. package/_esm/core/AbiItem.js.map +0 -1
  1667. package/_esm/core/AbiParameters.js +0 -532
  1668. package/_esm/core/AbiParameters.js.map +0 -1
  1669. package/_esm/core/AccessList.js +0 -105
  1670. package/_esm/core/AccessList.js.map +0 -1
  1671. package/_esm/core/AccountProof.js +0 -2
  1672. package/_esm/core/AccountProof.js.map +0 -1
  1673. package/_esm/core/Address.js +0 -255
  1674. package/_esm/core/Address.js.map +0 -1
  1675. package/_esm/core/AesGcm.js +0 -112
  1676. package/_esm/core/AesGcm.js.map +0 -1
  1677. package/_esm/core/Authorization.js +0 -416
  1678. package/_esm/core/Authorization.js.map +0 -1
  1679. package/_esm/core/Base32.js +0 -119
  1680. package/_esm/core/Base32.js.map +0 -1
  1681. package/_esm/core/Base58.js +0 -124
  1682. package/_esm/core/Base58.js.map +0 -1
  1683. package/_esm/core/Base64.js +0 -218
  1684. package/_esm/core/Base64.js.map +0 -1
  1685. package/_esm/core/Bech32m.js +0 -238
  1686. package/_esm/core/Bech32m.js.map +0 -1
  1687. package/_esm/core/BinaryStateTree.js +0 -196
  1688. package/_esm/core/BinaryStateTree.js.map +0 -1
  1689. package/_esm/core/Blobs.js +0 -596
  1690. package/_esm/core/Blobs.js.map +0 -1
  1691. package/_esm/core/Block.js +0 -171
  1692. package/_esm/core/Block.js.map +0 -1
  1693. package/_esm/core/BlockOverrides.js +0 -117
  1694. package/_esm/core/BlockOverrides.js.map +0 -1
  1695. package/_esm/core/Bloom.js +0 -52
  1696. package/_esm/core/Bloom.js.map +0 -1
  1697. package/_esm/core/Bls.js +0 -242
  1698. package/_esm/core/Bls.js.map +0 -1
  1699. package/_esm/core/BlsPoint.js +0 -51
  1700. package/_esm/core/BlsPoint.js.map +0 -1
  1701. package/_esm/core/Bytes.js +0 -666
  1702. package/_esm/core/Bytes.js.map +0 -1
  1703. package/_esm/core/Caches.js +0 -19
  1704. package/_esm/core/Caches.js.map +0 -1
  1705. package/_esm/core/Cbor.js +0 -830
  1706. package/_esm/core/Cbor.js.map +0 -1
  1707. package/_esm/core/CompactSize.js +0 -150
  1708. package/_esm/core/CompactSize.js.map +0 -1
  1709. package/_esm/core/ContractAddress.js +0 -101
  1710. package/_esm/core/ContractAddress.js.map +0 -1
  1711. package/_esm/core/CoseKey.js +0 -74
  1712. package/_esm/core/CoseKey.js.map +0 -1
  1713. package/_esm/core/Ed25519.js +0 -173
  1714. package/_esm/core/Ed25519.js.map +0 -1
  1715. package/_esm/core/Ens.js +0 -75
  1716. package/_esm/core/Ens.js.map +0 -1
  1717. package/_esm/core/Errors.js +0 -145
  1718. package/_esm/core/Errors.js.map +0 -1
  1719. package/_esm/core/Fee.js +0 -2
  1720. package/_esm/core/Fee.js.map +0 -1
  1721. package/_esm/core/Filter.js +0 -94
  1722. package/_esm/core/Filter.js.map +0 -1
  1723. package/_esm/core/Hash.js +0 -154
  1724. package/_esm/core/Hash.js.map +0 -1
  1725. package/_esm/core/HdKey.js +0 -96
  1726. package/_esm/core/HdKey.js.map +0 -1
  1727. package/_esm/core/Hex.js +0 -716
  1728. package/_esm/core/Hex.js.map +0 -1
  1729. package/_esm/core/Json.js +0 -108
  1730. package/_esm/core/Json.js.map +0 -1
  1731. package/_esm/core/Keystore.js +0 -343
  1732. package/_esm/core/Keystore.js.map +0 -1
  1733. package/_esm/core/Kzg.js +0 -28
  1734. package/_esm/core/Kzg.js.map +0 -1
  1735. package/_esm/core/Log.js +0 -175
  1736. package/_esm/core/Log.js.map +0 -1
  1737. package/_esm/core/Mnemonic.js +0 -139
  1738. package/_esm/core/Mnemonic.js.map +0 -1
  1739. package/_esm/core/P256.js +0 -183
  1740. package/_esm/core/P256.js.map +0 -1
  1741. package/_esm/core/PersonalMessage.js +0 -42
  1742. package/_esm/core/PersonalMessage.js.map +0 -1
  1743. package/_esm/core/Provider.js +0 -482
  1744. package/_esm/core/Provider.js.map +0 -1
  1745. package/_esm/core/PublicKey.js +0 -377
  1746. package/_esm/core/PublicKey.js.map +0 -1
  1747. package/_esm/core/Rlp.js +0 -249
  1748. package/_esm/core/Rlp.js.map +0 -1
  1749. package/_esm/core/RpcRequest.js +0 -125
  1750. package/_esm/core/RpcRequest.js.map +0 -1
  1751. package/_esm/core/RpcResponse.js +0 -547
  1752. package/_esm/core/RpcResponse.js.map +0 -1
  1753. package/_esm/core/RpcSchema.js +0 -46
  1754. package/_esm/core/RpcSchema.js.map +0 -1
  1755. package/_esm/core/RpcTransport.js +0 -107
  1756. package/_esm/core/RpcTransport.js.map +0 -1
  1757. package/_esm/core/Secp256k1.js +0 -218
  1758. package/_esm/core/Secp256k1.js.map +0 -1
  1759. package/_esm/core/Signature.js +0 -647
  1760. package/_esm/core/Signature.js.map +0 -1
  1761. package/_esm/core/Siwe.js +0 -371
  1762. package/_esm/core/Siwe.js.map +0 -1
  1763. package/_esm/core/Solidity.js +0 -104
  1764. package/_esm/core/Solidity.js.map +0 -1
  1765. package/_esm/core/StateOverrides.js +0 -78
  1766. package/_esm/core/StateOverrides.js.map +0 -1
  1767. package/_esm/core/Transaction.js +0 -180
  1768. package/_esm/core/Transaction.js.map +0 -1
  1769. package/_esm/core/TransactionReceipt.js +0 -223
  1770. package/_esm/core/TransactionReceipt.js.map +0 -1
  1771. package/_esm/core/TransactionRequest.js +0 -129
  1772. package/_esm/core/TransactionRequest.js.map +0 -1
  1773. package/_esm/core/TxEnvelope.js +0 -139
  1774. package/_esm/core/TxEnvelope.js.map +0 -1
  1775. package/_esm/core/TxEnvelopeEip1559.js +0 -433
  1776. package/_esm/core/TxEnvelopeEip1559.js.map +0 -1
  1777. package/_esm/core/TxEnvelopeEip2930.js +0 -416
  1778. package/_esm/core/TxEnvelopeEip2930.js.map +0 -1
  1779. package/_esm/core/TxEnvelopeEip4844.js +0 -518
  1780. package/_esm/core/TxEnvelopeEip4844.js.map +0 -1
  1781. package/_esm/core/TxEnvelopeEip7702.js +0 -421
  1782. package/_esm/core/TxEnvelopeEip7702.js.map +0 -1
  1783. package/_esm/core/TxEnvelopeLegacy.js +0 -471
  1784. package/_esm/core/TxEnvelopeLegacy.js.map +0 -1
  1785. package/_esm/core/TypedData.js +0 -627
  1786. package/_esm/core/TypedData.js.map +0 -1
  1787. package/_esm/core/ValidatorData.js +0 -48
  1788. package/_esm/core/ValidatorData.js.map +0 -1
  1789. package/_esm/core/Value.js +0 -184
  1790. package/_esm/core/Value.js.map +0 -1
  1791. package/_esm/core/WebAuthnP256.js +0 -282
  1792. package/_esm/core/WebAuthnP256.js.map +0 -1
  1793. package/_esm/core/WebCryptoP256.js +0 -182
  1794. package/_esm/core/WebCryptoP256.js.map +0 -1
  1795. package/_esm/core/Withdrawal.js +0 -66
  1796. package/_esm/core/Withdrawal.js.map +0 -1
  1797. package/_esm/core/X25519.js +0 -97
  1798. package/_esm/core/X25519.js.map +0 -1
  1799. package/_esm/core/internal/abi.js.map +0 -1
  1800. package/_esm/core/internal/abiConstructor.js.map +0 -1
  1801. package/_esm/core/internal/abiError.js.map +0 -1
  1802. package/_esm/core/internal/abiEvent.js.map +0 -1
  1803. package/_esm/core/internal/abiFunction.js.map +0 -1
  1804. package/_esm/core/internal/abiItem.js +0 -122
  1805. package/_esm/core/internal/abiItem.js.map +0 -1
  1806. package/_esm/core/internal/abiParameters.js +0 -465
  1807. package/_esm/core/internal/abiParameters.js.map +0 -1
  1808. package/_esm/core/internal/base58.js +0 -88
  1809. package/_esm/core/internal/base58.js.map +0 -1
  1810. package/_esm/core/internal/bytes.js +0 -86
  1811. package/_esm/core/internal/bytes.js.map +0 -1
  1812. package/_esm/core/internal/cursor.js +0 -207
  1813. package/_esm/core/internal/cursor.js.map +0 -1
  1814. package/_esm/core/internal/ens.js +0 -47
  1815. package/_esm/core/internal/ens.js.map +0 -1
  1816. package/_esm/core/internal/entropy.js.map +0 -1
  1817. package/_esm/core/internal/errors.js.map +0 -1
  1818. package/_esm/core/internal/hdKey.js.map +0 -1
  1819. package/_esm/core/internal/hex.js +0 -66
  1820. package/_esm/core/internal/hex.js.map +0 -1
  1821. package/_esm/core/internal/lru.js +0 -36
  1822. package/_esm/core/internal/lru.js.map +0 -1
  1823. package/_esm/core/internal/mnemonic/wordlists.js +0 -11
  1824. package/_esm/core/internal/mnemonic/wordlists.js.map +0 -1
  1825. package/_esm/core/internal/promise.js +0 -49
  1826. package/_esm/core/internal/promise.js.map +0 -1
  1827. package/_esm/core/internal/register.js.map +0 -1
  1828. package/_esm/core/internal/rpcSchema.js.map +0 -1
  1829. package/_esm/core/internal/rpcSchemas/eth.js.map +0 -1
  1830. package/_esm/core/internal/rpcSchemas/wallet.js.map +0 -1
  1831. package/_esm/core/internal/rpcTransport.js +0 -16
  1832. package/_esm/core/internal/rpcTransport.js.map +0 -1
  1833. package/_esm/core/internal/types.js.map +0 -1
  1834. package/_esm/core/internal/uid.js +0 -15
  1835. package/_esm/core/internal/uid.js.map +0 -1
  1836. package/_esm/core/internal/webauthn.js +0 -62
  1837. package/_esm/core/internal/webauthn.js.map +0 -1
  1838. package/_esm/core/version.js.map +0 -1
  1839. package/_esm/erc4337/EntryPoint.js.map +0 -1
  1840. package/_esm/erc4337/RpcSchema.js.map +0 -1
  1841. package/_esm/erc4337/UserOperation.js +0 -547
  1842. package/_esm/erc4337/UserOperation.js.map +0 -1
  1843. package/_esm/erc4337/UserOperationGas.js +0 -61
  1844. package/_esm/erc4337/UserOperationGas.js.map +0 -1
  1845. package/_esm/erc4337/UserOperationReceipt.js.map +0 -1
  1846. package/_esm/erc4337/index.js +0 -31
  1847. package/_esm/erc4337/index.js.map +0 -1
  1848. package/_esm/erc6492/SignatureErc6492.js +0 -197
  1849. package/_esm/erc6492/SignatureErc6492.js.map +0 -1
  1850. package/_esm/erc6492/index.js +0 -25
  1851. package/_esm/erc6492/index.js.map +0 -1
  1852. package/_esm/erc7821/Calls.js +0 -101
  1853. package/_esm/erc7821/Calls.js.map +0 -1
  1854. package/_esm/erc7821/Execute.js +0 -151
  1855. package/_esm/erc7821/Execute.js.map +0 -1
  1856. package/_esm/erc7821/index.js +0 -69
  1857. package/_esm/erc7821/index.js.map +0 -1
  1858. package/_esm/erc8010/SignatureErc8010.js +0 -180
  1859. package/_esm/erc8010/SignatureErc8010.js.map +0 -1
  1860. package/_esm/erc8010/index.js +0 -40
  1861. package/_esm/erc8010/index.js.map +0 -1
  1862. package/_esm/erc8021/Attribution.js +0 -327
  1863. package/_esm/erc8021/Attribution.js.map +0 -1
  1864. package/_esm/erc8021/index.js +0 -40
  1865. package/_esm/erc8021/index.js.map +0 -1
  1866. package/_esm/index.docs.js +0 -12
  1867. package/_esm/index.docs.js.map +0 -1
  1868. package/_esm/index.js +0 -3649
  1869. package/_esm/index.js.map +0 -1
  1870. package/_esm/package.json +0 -1
  1871. package/_esm/tempo/AuthorizationTempo.js +0 -669
  1872. package/_esm/tempo/AuthorizationTempo.js.map +0 -1
  1873. package/_esm/tempo/Channel.js +0 -158
  1874. package/_esm/tempo/Channel.js.map +0 -1
  1875. package/_esm/tempo/KeyAuthorization.js +0 -756
  1876. package/_esm/tempo/KeyAuthorization.js.map +0 -1
  1877. package/_esm/tempo/MultisigConfig.js +0 -363
  1878. package/_esm/tempo/MultisigConfig.js.map +0 -1
  1879. package/_esm/tempo/Period.js.map +0 -1
  1880. package/_esm/tempo/PoolId.js +0 -28
  1881. package/_esm/tempo/PoolId.js.map +0 -1
  1882. package/_esm/tempo/ReceivePolicyReceipt.js +0 -176
  1883. package/_esm/tempo/ReceivePolicyReceipt.js.map +0 -1
  1884. package/_esm/tempo/RpcSchemaTempo.js.map +0 -1
  1885. package/_esm/tempo/SignatureEnvelope.js +0 -1174
  1886. package/_esm/tempo/SignatureEnvelope.js.map +0 -1
  1887. package/_esm/tempo/TempoAddress.js +0 -112
  1888. package/_esm/tempo/TempoAddress.js.map +0 -1
  1889. package/_esm/tempo/Tick.js +0 -147
  1890. package/_esm/tempo/Tick.js.map +0 -1
  1891. package/_esm/tempo/TokenId.js +0 -103
  1892. package/_esm/tempo/TokenId.js.map +0 -1
  1893. package/_esm/tempo/TokenRole.js.map +0 -1
  1894. package/_esm/tempo/Transaction.js +0 -167
  1895. package/_esm/tempo/Transaction.js.map +0 -1
  1896. package/_esm/tempo/TransactionReceipt.js +0 -138
  1897. package/_esm/tempo/TransactionReceipt.js.map +0 -1
  1898. package/_esm/tempo/TransactionRequest.js +0 -161
  1899. package/_esm/tempo/TransactionRequest.js.map +0 -1
  1900. package/_esm/tempo/TxEnvelopeTempo.js +0 -693
  1901. package/_esm/tempo/TxEnvelopeTempo.js.map +0 -1
  1902. package/_esm/tempo/VirtualAddress.js +0 -154
  1903. package/_esm/tempo/VirtualAddress.js.map +0 -1
  1904. package/_esm/tempo/VirtualMaster.js +0 -483
  1905. package/_esm/tempo/VirtualMaster.js.map +0 -1
  1906. package/_esm/tempo/ZoneId.js.map +0 -1
  1907. package/_esm/tempo/ZoneRpcAuthentication.js +0 -256
  1908. package/_esm/tempo/ZoneRpcAuthentication.js.map +0 -1
  1909. package/_esm/tempo/index.js +0 -550
  1910. package/_esm/tempo/index.js.map +0 -1
  1911. package/_esm/tempo/internal/mine.wasm.js.map +0 -1
  1912. package/_esm/tempo/internal/virtualMasterPool.js.map +0 -1
  1913. package/_esm/trusted-setups/Paths.js.map +0 -1
  1914. package/_esm/trusted-setups/index.js.map +0 -1
  1915. package/_esm/trusted-setups/internal/paths.js.map +0 -1
  1916. package/_esm/version.js +0 -3
  1917. package/_esm/version.js.map +0 -1
  1918. package/_esm/webauthn/Authentication.js +0 -467
  1919. package/_esm/webauthn/Authentication.js.map +0 -1
  1920. package/_esm/webauthn/Authenticator.js +0 -176
  1921. package/_esm/webauthn/Authenticator.js.map +0 -1
  1922. package/_esm/webauthn/Credential.js +0 -114
  1923. package/_esm/webauthn/Credential.js.map +0 -1
  1924. package/_esm/webauthn/Registration.js +0 -525
  1925. package/_esm/webauthn/Registration.js.map +0 -1
  1926. package/_esm/webauthn/Types.js.map +0 -1
  1927. package/_esm/webauthn/index.js +0 -31
  1928. package/_esm/webauthn/index.js.map +0 -1
  1929. package/_esm/webauthn/internal/utils.js +0 -52
  1930. package/_esm/webauthn/internal/utils.js.map +0 -1
  1931. package/_esm/window/index.js.map +0 -1
  1932. package/_types/core/Abi.d.ts +0 -131
  1933. package/_types/core/Abi.d.ts.map +0 -1
  1934. package/_types/core/AbiConstructor.d.ts +0 -329
  1935. package/_types/core/AbiConstructor.d.ts.map +0 -1
  1936. package/_types/core/AbiError.d.ts +0 -517
  1937. package/_types/core/AbiError.d.ts.map +0 -1
  1938. package/_types/core/AbiEvent.d.ts +0 -930
  1939. package/_types/core/AbiEvent.d.ts.map +0 -1
  1940. package/_types/core/AbiFunction.d.ts +0 -669
  1941. package/_types/core/AbiFunction.d.ts.map +0 -1
  1942. package/_types/core/AbiItem.d.ts +0 -562
  1943. package/_types/core/AbiItem.d.ts.map +0 -1
  1944. package/_types/core/AbiParameters.d.ts +0 -465
  1945. package/_types/core/AbiParameters.d.ts.map +0 -1
  1946. package/_types/core/AccessList.d.ts +0 -83
  1947. package/_types/core/AccessList.d.ts.map +0 -1
  1948. package/_types/core/AccountProof.d.ts +0 -32
  1949. package/_types/core/AccountProof.d.ts.map +0 -1
  1950. package/_types/core/Address.d.ts +0 -229
  1951. package/_types/core/Address.d.ts.map +0 -1
  1952. package/_types/core/AesGcm.d.ts.map +0 -1
  1953. package/_types/core/Authorization.d.ts +0 -432
  1954. package/_types/core/Authorization.d.ts.map +0 -1
  1955. package/_types/core/Base32.d.ts +0 -79
  1956. package/_types/core/Base32.d.ts.map +0 -1
  1957. package/_types/core/Base58.d.ts +0 -113
  1958. package/_types/core/Base58.d.ts.map +0 -1
  1959. package/_types/core/Base64.d.ts +0 -226
  1960. package/_types/core/Base64.d.ts.map +0 -1
  1961. package/_types/core/Bech32m.d.ts +0 -93
  1962. package/_types/core/Bech32m.d.ts.map +0 -1
  1963. package/_types/core/BinaryStateTree.d.ts +0 -82
  1964. package/_types/core/BinaryStateTree.d.ts.map +0 -1
  1965. package/_types/core/Blobs.d.ts +0 -523
  1966. package/_types/core/Blobs.d.ts.map +0 -1
  1967. package/_types/core/Block.d.ts +0 -195
  1968. package/_types/core/Block.d.ts.map +0 -1
  1969. package/_types/core/BlockOverrides.d.ts +0 -89
  1970. package/_types/core/BlockOverrides.d.ts.map +0 -1
  1971. package/_types/core/Bloom.d.ts +0 -48
  1972. package/_types/core/Bloom.d.ts.map +0 -1
  1973. package/_types/core/Bls.d.ts +0 -480
  1974. package/_types/core/Bls.d.ts.map +0 -1
  1975. package/_types/core/BlsPoint.d.ts +0 -175
  1976. package/_types/core/BlsPoint.d.ts.map +0 -1
  1977. package/_types/core/Bytes.d.ts +0 -608
  1978. package/_types/core/Bytes.d.ts.map +0 -1
  1979. package/_types/core/Caches.d.ts +0 -13
  1980. package/_types/core/Caches.d.ts.map +0 -1
  1981. package/_types/core/Cbor.d.ts.map +0 -1
  1982. package/_types/core/CompactSize.d.ts +0 -107
  1983. package/_types/core/CompactSize.d.ts.map +0 -1
  1984. package/_types/core/ContractAddress.d.ts +0 -106
  1985. package/_types/core/ContractAddress.d.ts.map +0 -1
  1986. package/_types/core/CoseKey.d.ts +0 -56
  1987. package/_types/core/CoseKey.d.ts.map +0 -1
  1988. package/_types/core/Ed25519.d.ts +0 -220
  1989. package/_types/core/Ed25519.d.ts.map +0 -1
  1990. package/_types/core/Ens.d.ts +0 -63
  1991. package/_types/core/Ens.d.ts.map +0 -1
  1992. package/_types/core/Errors.d.ts.map +0 -1
  1993. package/_types/core/Fee.d.ts +0 -41
  1994. package/_types/core/Fee.d.ts.map +0 -1
  1995. package/_types/core/Filter.d.ts +0 -94
  1996. package/_types/core/Filter.d.ts.map +0 -1
  1997. package/_types/core/Hash.d.ts +0 -160
  1998. package/_types/core/Hash.d.ts.map +0 -1
  1999. package/_types/core/HdKey.d.ts +0 -134
  2000. package/_types/core/HdKey.d.ts.map +0 -1
  2001. package/_types/core/Hex.d.ts +0 -648
  2002. package/_types/core/Hex.d.ts.map +0 -1
  2003. package/_types/core/Json.d.ts +0 -78
  2004. package/_types/core/Json.d.ts.map +0 -1
  2005. package/_types/core/Keystore.d.ts +0 -322
  2006. package/_types/core/Keystore.d.ts.map +0 -1
  2007. package/_types/core/Kzg.d.ts +0 -39
  2008. package/_types/core/Kzg.d.ts.map +0 -1
  2009. package/_types/core/Log.d.ts +0 -188
  2010. package/_types/core/Log.d.ts.map +0 -1
  2011. package/_types/core/Mnemonic.d.ts +0 -161
  2012. package/_types/core/Mnemonic.d.ts.map +0 -1
  2013. package/_types/core/P256.d.ts +0 -225
  2014. package/_types/core/P256.d.ts.map +0 -1
  2015. package/_types/core/PersonalMessage.d.ts +0 -43
  2016. package/_types/core/PersonalMessage.d.ts.map +0 -1
  2017. package/_types/core/Provider.d.ts +0 -399
  2018. package/_types/core/Provider.d.ts.map +0 -1
  2019. package/_types/core/PublicKey.d.ts +0 -309
  2020. package/_types/core/PublicKey.d.ts.map +0 -1
  2021. package/_types/core/Rlp.d.ts +0 -136
  2022. package/_types/core/Rlp.d.ts.map +0 -1
  2023. package/_types/core/RpcRequest.d.ts +0 -140
  2024. package/_types/core/RpcRequest.d.ts.map +0 -1
  2025. package/_types/core/RpcResponse.d.ts +0 -304
  2026. package/_types/core/RpcResponse.d.ts.map +0 -1
  2027. package/_types/core/RpcSchema.d.ts +0 -310
  2028. package/_types/core/RpcSchema.d.ts.map +0 -1
  2029. package/_types/core/RpcTransport.d.ts +0 -62
  2030. package/_types/core/RpcTransport.d.ts.map +0 -1
  2031. package/_types/core/Secp256k1.d.ts +0 -279
  2032. package/_types/core/Secp256k1.d.ts.map +0 -1
  2033. package/_types/core/Signature.d.ts +0 -550
  2034. package/_types/core/Signature.d.ts.map +0 -1
  2035. package/_types/core/Siwe.d.ts +0 -246
  2036. package/_types/core/Siwe.d.ts.map +0 -1
  2037. package/_types/core/Solidity.d.ts +0 -100
  2038. package/_types/core/Solidity.d.ts.map +0 -1
  2039. package/_types/core/StateOverrides.d.ts +0 -79
  2040. package/_types/core/StateOverrides.d.ts.map +0 -1
  2041. package/_types/core/Transaction.d.ts +0 -230
  2042. package/_types/core/Transaction.d.ts.map +0 -1
  2043. package/_types/core/TransactionReceipt.d.ts +0 -265
  2044. package/_types/core/TransactionReceipt.d.ts.map +0 -1
  2045. package/_types/core/TransactionRequest.d.ts +0 -109
  2046. package/_types/core/TransactionRequest.d.ts.map +0 -1
  2047. package/_types/core/TxEnvelope.d.ts +0 -141
  2048. package/_types/core/TxEnvelope.d.ts.map +0 -1
  2049. package/_types/core/TxEnvelopeEip1559.d.ts +0 -343
  2050. package/_types/core/TxEnvelopeEip1559.d.ts.map +0 -1
  2051. package/_types/core/TxEnvelopeEip2930.d.ts +0 -340
  2052. package/_types/core/TxEnvelopeEip2930.d.ts.map +0 -1
  2053. package/_types/core/TxEnvelopeEip4844.d.ts +0 -395
  2054. package/_types/core/TxEnvelopeEip4844.d.ts.map +0 -1
  2055. package/_types/core/TxEnvelopeEip7702.d.ts +0 -354
  2056. package/_types/core/TxEnvelopeEip7702.d.ts.map +0 -1
  2057. package/_types/core/TxEnvelopeLegacy.d.ts +0 -334
  2058. package/_types/core/TxEnvelopeLegacy.d.ts.map +0 -1
  2059. package/_types/core/TypedData.d.ts +0 -473
  2060. package/_types/core/TypedData.d.ts.map +0 -1
  2061. package/_types/core/ValidatorData.d.ts +0 -58
  2062. package/_types/core/ValidatorData.d.ts.map +0 -1
  2063. package/_types/core/Value.d.ts +0 -141
  2064. package/_types/core/Value.d.ts.map +0 -1
  2065. package/_types/core/WebAuthnP256.d.ts +0 -320
  2066. package/_types/core/WebAuthnP256.d.ts.map +0 -1
  2067. package/_types/core/WebCryptoP256.d.ts +0 -187
  2068. package/_types/core/WebCryptoP256.d.ts.map +0 -1
  2069. package/_types/core/Withdrawal.d.ts +0 -68
  2070. package/_types/core/Withdrawal.d.ts.map +0 -1
  2071. package/_types/core/X25519.d.ts +0 -127
  2072. package/_types/core/X25519.d.ts.map +0 -1
  2073. package/_types/core/internal/abi.d.ts.map +0 -1
  2074. package/_types/core/internal/abiConstructor.d.ts.map +0 -1
  2075. package/_types/core/internal/abiError.d.ts.map +0 -1
  2076. package/_types/core/internal/abiEvent.d.ts.map +0 -1
  2077. package/_types/core/internal/abiFunction.d.ts.map +0 -1
  2078. package/_types/core/internal/abiItem.d.ts.map +0 -1
  2079. package/_types/core/internal/abiParameters.d.ts.map +0 -1
  2080. package/_types/core/internal/base58.d.ts.map +0 -1
  2081. package/_types/core/internal/bytes.d.ts +0 -52
  2082. package/_types/core/internal/bytes.d.ts.map +0 -1
  2083. package/_types/core/internal/cursor.d.ts +0 -70
  2084. package/_types/core/internal/cursor.d.ts.map +0 -1
  2085. package/_types/core/internal/ens.d.ts +0 -23
  2086. package/_types/core/internal/ens.d.ts.map +0 -1
  2087. package/_types/core/internal/entropy.d.ts.map +0 -1
  2088. package/_types/core/internal/errors.d.ts.map +0 -1
  2089. package/_types/core/internal/hdKey.d.ts.map +0 -1
  2090. package/_types/core/internal/hex.d.ts +0 -39
  2091. package/_types/core/internal/hex.d.ts.map +0 -1
  2092. package/_types/core/internal/lru.d.ts +0 -13
  2093. package/_types/core/internal/lru.d.ts.map +0 -1
  2094. package/_types/core/internal/mnemonic/wordlists.d.ts +0 -11
  2095. package/_types/core/internal/mnemonic/wordlists.d.ts.map +0 -1
  2096. package/_types/core/internal/promise.d.ts.map +0 -1
  2097. package/_types/core/internal/register.d.ts.map +0 -1
  2098. package/_types/core/internal/rpcSchema.d.ts.map +0 -1
  2099. package/_types/core/internal/rpcSchemas/eth.d.ts +0 -766
  2100. package/_types/core/internal/rpcSchemas/eth.d.ts.map +0 -1
  2101. package/_types/core/internal/rpcSchemas/wallet.d.ts +0 -452
  2102. package/_types/core/internal/rpcSchemas/wallet.d.ts.map +0 -1
  2103. package/_types/core/internal/rpcTransport.d.ts +0 -35
  2104. package/_types/core/internal/rpcTransport.d.ts.map +0 -1
  2105. package/_types/core/internal/types.d.ts +0 -284
  2106. package/_types/core/internal/types.d.ts.map +0 -1
  2107. package/_types/core/internal/uid.d.ts +0 -3
  2108. package/_types/core/internal/uid.d.ts.map +0 -1
  2109. package/_types/core/internal/webauthn.d.ts +0 -26
  2110. package/_types/core/internal/webauthn.d.ts.map +0 -1
  2111. package/_types/core/version.d.ts.map +0 -1
  2112. package/_types/erc4337/EntryPoint.d.ts.map +0 -1
  2113. package/_types/erc4337/RpcSchema.d.ts +0 -159
  2114. package/_types/erc4337/RpcSchema.d.ts.map +0 -1
  2115. package/_types/erc4337/UserOperation.d.ts +0 -524
  2116. package/_types/erc4337/UserOperation.d.ts.map +0 -1
  2117. package/_types/erc4337/UserOperationGas.d.ts +0 -62
  2118. package/_types/erc4337/UserOperationGas.d.ts.map +0 -1
  2119. package/_types/erc4337/UserOperationReceipt.d.ts.map +0 -1
  2120. package/_types/erc4337/index.d.ts +0 -33
  2121. package/_types/erc4337/index.d.ts.map +0 -1
  2122. package/_types/erc6492/SignatureErc6492.d.ts +0 -180
  2123. package/_types/erc6492/SignatureErc6492.d.ts.map +0 -1
  2124. package/_types/erc6492/index.d.ts +0 -27
  2125. package/_types/erc6492/index.d.ts.map +0 -1
  2126. package/_types/erc7821/Calls.d.ts +0 -102
  2127. package/_types/erc7821/Calls.d.ts.map +0 -1
  2128. package/_types/erc7821/Execute.d.ts +0 -126
  2129. package/_types/erc7821/Execute.d.ts.map +0 -1
  2130. package/_types/erc7821/index.d.ts +0 -71
  2131. package/_types/erc7821/index.d.ts.map +0 -1
  2132. package/_types/erc8010/SignatureErc8010.d.ts +0 -170
  2133. package/_types/erc8010/SignatureErc8010.d.ts.map +0 -1
  2134. package/_types/erc8010/index.d.ts +0 -42
  2135. package/_types/erc8010/index.d.ts.map +0 -1
  2136. package/_types/erc8021/Attribution.d.ts +0 -227
  2137. package/_types/erc8021/Attribution.d.ts.map +0 -1
  2138. package/_types/erc8021/index.d.ts +0 -42
  2139. package/_types/erc8021/index.d.ts.map +0 -1
  2140. package/_types/index.d.ts +0 -3652
  2141. package/_types/index.d.ts.map +0 -1
  2142. package/_types/index.docs.d.ts +0 -10
  2143. package/_types/index.docs.d.ts.map +0 -1
  2144. package/_types/tempo/AuthorizationTempo.d.ts +0 -688
  2145. package/_types/tempo/AuthorizationTempo.d.ts.map +0 -1
  2146. package/_types/tempo/Channel.d.ts +0 -175
  2147. package/_types/tempo/Channel.d.ts.map +0 -1
  2148. package/_types/tempo/KeyAuthorization.d.ts +0 -636
  2149. package/_types/tempo/KeyAuthorization.d.ts.map +0 -1
  2150. package/_types/tempo/MultisigConfig.d.ts +0 -326
  2151. package/_types/tempo/MultisigConfig.d.ts.map +0 -1
  2152. package/_types/tempo/Period.d.ts.map +0 -1
  2153. package/_types/tempo/PoolId.d.ts +0 -34
  2154. package/_types/tempo/PoolId.d.ts.map +0 -1
  2155. package/_types/tempo/ReceivePolicyReceipt.d.ts +0 -168
  2156. package/_types/tempo/ReceivePolicyReceipt.d.ts.map +0 -1
  2157. package/_types/tempo/RpcSchemaTempo.d.ts +0 -51
  2158. package/_types/tempo/RpcSchemaTempo.d.ts.map +0 -1
  2159. package/_types/tempo/SignatureEnvelope.d.ts +0 -833
  2160. package/_types/tempo/SignatureEnvelope.d.ts.map +0 -1
  2161. package/_types/tempo/TempoAddress.d.ts +0 -103
  2162. package/_types/tempo/TempoAddress.d.ts.map +0 -1
  2163. package/_types/tempo/Tick.d.ts.map +0 -1
  2164. package/_types/tempo/TokenId.d.ts +0 -86
  2165. package/_types/tempo/TokenId.d.ts.map +0 -1
  2166. package/_types/tempo/TokenRole.d.ts.map +0 -1
  2167. package/_types/tempo/Transaction.d.ts +0 -208
  2168. package/_types/tempo/Transaction.d.ts.map +0 -1
  2169. package/_types/tempo/TransactionReceipt.d.ts +0 -165
  2170. package/_types/tempo/TransactionReceipt.d.ts.map +0 -1
  2171. package/_types/tempo/TransactionRequest.d.ts +0 -116
  2172. package/_types/tempo/TransactionRequest.d.ts.map +0 -1
  2173. package/_types/tempo/TxEnvelopeTempo.d.ts +0 -593
  2174. package/_types/tempo/TxEnvelopeTempo.d.ts.map +0 -1
  2175. package/_types/tempo/VirtualAddress.d.ts +0 -129
  2176. package/_types/tempo/VirtualAddress.d.ts.map +0 -1
  2177. package/_types/tempo/VirtualMaster.d.ts +0 -237
  2178. package/_types/tempo/VirtualMaster.d.ts.map +0 -1
  2179. package/_types/tempo/ZoneId.d.ts.map +0 -1
  2180. package/_types/tempo/ZoneRpcAuthentication.d.ts +0 -268
  2181. package/_types/tempo/ZoneRpcAuthentication.d.ts.map +0 -1
  2182. package/_types/tempo/index.d.ts +0 -552
  2183. package/_types/tempo/index.d.ts.map +0 -1
  2184. package/_types/tempo/internal/mine.wasm.d.ts.map +0 -1
  2185. package/_types/tempo/internal/virtualMasterPool.d.ts.map +0 -1
  2186. package/_types/trusted-setups/Paths.d.ts.map +0 -1
  2187. package/_types/trusted-setups/index.d.ts.map +0 -1
  2188. package/_types/trusted-setups/internal/paths.d.ts.map +0 -1
  2189. package/_types/version.d.ts +0 -3
  2190. package/_types/version.d.ts.map +0 -1
  2191. package/_types/webauthn/Authentication.d.ts +0 -324
  2192. package/_types/webauthn/Authentication.d.ts.map +0 -1
  2193. package/_types/webauthn/Authenticator.d.ts +0 -182
  2194. package/_types/webauthn/Authenticator.d.ts.map +0 -1
  2195. package/_types/webauthn/Credential.d.ts +0 -77
  2196. package/_types/webauthn/Credential.d.ts.map +0 -1
  2197. package/_types/webauthn/Registration.d.ts +0 -308
  2198. package/_types/webauthn/Registration.d.ts.map +0 -1
  2199. package/_types/webauthn/Types.d.ts.map +0 -1
  2200. package/_types/webauthn/index.d.ts +0 -33
  2201. package/_types/webauthn/index.d.ts.map +0 -1
  2202. package/_types/webauthn/internal/utils.d.ts +0 -17
  2203. package/_types/webauthn/internal/utils.d.ts.map +0 -1
  2204. package/_types/window/index.d.ts.map +0 -1
  2205. package/core/Abi.ts +0 -155
  2206. package/core/AbiConstructor.ts +0 -477
  2207. package/core/AbiError.ts +0 -794
  2208. package/core/AbiEvent.ts +0 -1402
  2209. package/core/AbiFunction.ts +0 -1055
  2210. package/core/AbiItem.ts +0 -841
  2211. package/core/AbiParameters.ts +0 -716
  2212. package/core/AccessList.ts +0 -124
  2213. package/core/AccountProof.ts +0 -35
  2214. package/core/Address.ts +0 -341
  2215. package/core/AesGcm.ts +0 -204
  2216. package/core/Authorization.ts +0 -619
  2217. package/core/Base32.ts +0 -134
  2218. package/core/Base58.ts +0 -156
  2219. package/core/Base64.ts +0 -309
  2220. package/core/Bech32m.ts +0 -263
  2221. package/core/BinaryStateTree.ts +0 -271
  2222. package/core/Blobs.ts +0 -943
  2223. package/core/Block.ts +0 -324
  2224. package/core/BlockOverrides.ts +0 -146
  2225. package/core/Bloom.ts +0 -73
  2226. package/core/Bls.ts +0 -635
  2227. package/core/BlsPoint.ts +0 -220
  2228. package/core/Bytes.ts +0 -886
  2229. package/core/Caches.ts +0 -21
  2230. package/core/Cbor.ts +0 -976
  2231. package/core/CompactSize.ts +0 -169
  2232. package/core/ContractAddress.ts +0 -169
  2233. package/core/CoseKey.ts +0 -93
  2234. package/core/Ed25519.ts +0 -339
  2235. package/core/Ens.ts +0 -104
  2236. package/core/Errors.ts +0 -143
  2237. package/core/Fee.ts +0 -57
  2238. package/core/Filter.ts +0 -136
  2239. package/core/Hash.ts +0 -259
  2240. package/core/HdKey.ts +0 -160
  2241. package/core/Hex.ts +0 -970
  2242. package/core/Json.ts +0 -133
  2243. package/core/Keystore.ts +0 -546
  2244. package/core/Kzg.ts +0 -48
  2245. package/core/Log.ts +0 -240
  2246. package/core/Mnemonic.ts +0 -229
  2247. package/core/P256.ts +0 -356
  2248. package/core/PersonalMessage.ts +0 -63
  2249. package/core/Provider.ts +0 -685
  2250. package/core/PublicKey.ts +0 -521
  2251. package/core/Rlp.ts +0 -367
  2252. package/core/RpcRequest.ts +0 -198
  2253. package/core/RpcResponse.ts +0 -626
  2254. package/core/RpcSchema.ts +0 -356
  2255. package/core/RpcTransport.ts +0 -194
  2256. package/core/Secp256k1.ts +0 -425
  2257. package/core/Signature.ts +0 -843
  2258. package/core/Siwe.ts +0 -511
  2259. package/core/Solidity.ts +0 -109
  2260. package/core/StateOverrides.ts +0 -131
  2261. package/core/Transaction.ts +0 -431
  2262. package/core/TransactionReceipt.ts +0 -333
  2263. package/core/TransactionRequest.ts +0 -208
  2264. package/core/TxEnvelope.ts +0 -205
  2265. package/core/TxEnvelopeEip1559.ts +0 -618
  2266. package/core/TxEnvelopeEip2930.ts +0 -583
  2267. package/core/TxEnvelopeEip4844.ts +0 -724
  2268. package/core/TxEnvelopeEip7702.ts +0 -604
  2269. package/core/TxEnvelopeLegacy.ts +0 -634
  2270. package/core/TypedData.ts +0 -911
  2271. package/core/ValidatorData.ts +0 -80
  2272. package/core/Value.ts +0 -224
  2273. package/core/WebAuthnP256.ts +0 -384
  2274. package/core/WebCryptoP256.ts +0 -323
  2275. package/core/Withdrawal.ts +0 -87
  2276. package/core/X25519.ts +0 -202
  2277. package/core/internal/abiConstructor.ts +0 -32
  2278. package/core/internal/abiError.ts +0 -30
  2279. package/core/internal/abiEvent.ts +0 -154
  2280. package/core/internal/abiFunction.ts +0 -32
  2281. package/core/internal/abiItem.ts +0 -593
  2282. package/core/internal/abiParameters.ts +0 -811
  2283. package/core/internal/base58.ts +0 -103
  2284. package/core/internal/bytes.ts +0 -152
  2285. package/core/internal/cursor.ts +0 -252
  2286. package/core/internal/ens.ts +0 -64
  2287. package/core/internal/hex.ts +0 -124
  2288. package/core/internal/lru.ts +0 -34
  2289. package/core/internal/mnemonic/wordlists.ts +0 -10
  2290. package/core/internal/promise.ts +0 -65
  2291. package/core/internal/rpcSchemas/eth.ts +0 -820
  2292. package/core/internal/rpcSchemas/wallet.ts +0 -471
  2293. package/core/internal/rpcTransport.ts +0 -69
  2294. package/core/internal/types.ts +0 -414
  2295. package/core/internal/webauthn.ts +0 -83
  2296. package/erc4337/EntryPoint/package.json +0 -6
  2297. package/erc4337/RpcSchema/package.json +0 -6
  2298. package/erc4337/RpcSchema.ts +0 -179
  2299. package/erc4337/UserOperation/package.json +0 -6
  2300. package/erc4337/UserOperation.ts +0 -943
  2301. package/erc4337/UserOperationGas/package.json +0 -6
  2302. package/erc4337/UserOperationGas.ts +0 -109
  2303. package/erc4337/UserOperationReceipt/package.json +0 -6
  2304. package/erc4337/index.ts +0 -38
  2305. package/erc4337/package.json +0 -6
  2306. package/erc6492/SignatureErc6492/package.json +0 -6
  2307. package/erc6492/SignatureErc6492.ts +0 -263
  2308. package/erc6492/index.ts +0 -28
  2309. package/erc6492/package.json +0 -6
  2310. package/erc7821/Calls/package.json +0 -6
  2311. package/erc7821/Calls.ts +0 -148
  2312. package/erc7821/Execute/package.json +0 -6
  2313. package/erc7821/Execute.ts +0 -197
  2314. package/erc7821/index.ts +0 -73
  2315. package/erc7821/package.json +0 -6
  2316. package/erc8010/SignatureErc8010/package.json +0 -6
  2317. package/erc8010/SignatureErc8010.ts +0 -228
  2318. package/erc8010/index.ts +0 -43
  2319. package/erc8010/package.json +0 -6
  2320. package/erc8021/Attribution/package.json +0 -6
  2321. package/erc8021/Attribution.ts +0 -519
  2322. package/erc8021/index.ts +0 -43
  2323. package/erc8021/package.json +0 -6
  2324. package/index.docs/package.json +0 -6
  2325. package/index.docs.ts +0 -11
  2326. package/index.ts +0 -3694
  2327. package/tempo/AuthorizationTempo/package.json +0 -6
  2328. package/tempo/AuthorizationTempo.test.ts +0 -1306
  2329. package/tempo/AuthorizationTempo.ts +0 -893
  2330. package/tempo/Channel/package.json +0 -6
  2331. package/tempo/Channel.test.ts +0 -203
  2332. package/tempo/Channel.ts +0 -299
  2333. package/tempo/KeyAuthorization/package.json +0 -6
  2334. package/tempo/KeyAuthorization.test.ts +0 -2468
  2335. package/tempo/KeyAuthorization.ts +0 -1155
  2336. package/tempo/MultisigConfig/package.json +0 -6
  2337. package/tempo/MultisigConfig.test.ts +0 -236
  2338. package/tempo/MultisigConfig.ts +0 -501
  2339. package/tempo/Period/package.json +0 -6
  2340. package/tempo/Period.test.ts +0 -44
  2341. package/tempo/PoolId/package.json +0 -6
  2342. package/tempo/PoolId.test.ts +0 -42
  2343. package/tempo/PoolId.ts +0 -43
  2344. package/tempo/ReceivePolicyReceipt/package.json +0 -6
  2345. package/tempo/ReceivePolicyReceipt.test.ts +0 -198
  2346. package/tempo/ReceivePolicyReceipt.ts +0 -263
  2347. package/tempo/RpcSchemaTempo/package.json +0 -6
  2348. package/tempo/RpcSchemaTempo.ts +0 -55
  2349. package/tempo/SignatureEnvelope/package.json +0 -6
  2350. package/tempo/SignatureEnvelope.test.ts +0 -3003
  2351. package/tempo/SignatureEnvelope.ts +0 -1714
  2352. package/tempo/TempoAddress/package.json +0 -6
  2353. package/tempo/TempoAddress.test.ts +0 -89
  2354. package/tempo/TempoAddress.ts +0 -144
  2355. package/tempo/Tick/package.json +0 -6
  2356. package/tempo/Tick.test.ts +0 -281
  2357. package/tempo/TokenId/package.json +0 -6
  2358. package/tempo/TokenId.test.ts +0 -93
  2359. package/tempo/TokenId.ts +0 -128
  2360. package/tempo/TokenRole/package.json +0 -6
  2361. package/tempo/TokenRole.test.ts +0 -16
  2362. package/tempo/Transaction/package.json +0 -6
  2363. package/tempo/Transaction.test.ts +0 -529
  2364. package/tempo/Transaction.ts +0 -339
  2365. package/tempo/TransactionReceipt/package.json +0 -6
  2366. package/tempo/TransactionReceipt.ts +0 -200
  2367. package/tempo/TransactionRequest/package.json +0 -6
  2368. package/tempo/TransactionRequest.test.ts +0 -198
  2369. package/tempo/TransactionRequest.ts +0 -245
  2370. package/tempo/TxEnvelopeTempo/package.json +0 -6
  2371. package/tempo/TxEnvelopeTempo.test.ts +0 -1646
  2372. package/tempo/TxEnvelopeTempo.ts +0 -1100
  2373. package/tempo/VirtualAddress/package.json +0 -6
  2374. package/tempo/VirtualAddress.test.ts +0 -88
  2375. package/tempo/VirtualAddress.ts +0 -201
  2376. package/tempo/VirtualMaster/package.json +0 -6
  2377. package/tempo/VirtualMaster.test.ts +0 -204
  2378. package/tempo/VirtualMaster.ts +0 -711
  2379. package/tempo/ZoneId/package.json +0 -6
  2380. package/tempo/ZoneId.test.ts +0 -42
  2381. package/tempo/ZoneRpcAuthentication/package.json +0 -6
  2382. package/tempo/ZoneRpcAuthentication.test.ts +0 -226
  2383. package/tempo/ZoneRpcAuthentication.ts +0 -423
  2384. package/tempo/e2e.test.ts +0 -3196
  2385. package/tempo/index.ts +0 -556
  2386. package/tempo/package.json +0 -6
  2387. package/trusted-setups/Paths/package.json +0 -6
  2388. package/trusted-setups/package.json +0 -6
  2389. package/version.ts +0 -2
  2390. package/webauthn/Authentication/package.json +0 -6
  2391. package/webauthn/Authentication.ts +0 -683
  2392. package/webauthn/Authenticator/package.json +0 -6
  2393. package/webauthn/Authenticator.ts +0 -259
  2394. package/webauthn/Credential/package.json +0 -6
  2395. package/webauthn/Credential.ts +0 -171
  2396. package/webauthn/Registration/package.json +0 -6
  2397. package/webauthn/Registration.ts +0 -820
  2398. package/webauthn/Types/package.json +0 -6
  2399. package/webauthn/index.ts +0 -38
  2400. package/webauthn/internal/utils.ts +0 -63
  2401. package/webauthn/package.json +0 -6
  2402. package/window/package.json +0 -6
  2403. /package/{_types → dist}/core/AesGcm.d.ts +0 -0
  2404. /package/{_types → dist}/core/Cbor.d.ts +0 -0
  2405. /package/{_types → dist}/core/Errors.d.ts +0 -0
  2406. /package/{_types → dist}/core/internal/abi.d.ts +0 -0
  2407. /package/{_esm → dist}/core/internal/abi.js +0 -0
  2408. /package/{_types → dist}/core/internal/abiConstructor.d.ts +0 -0
  2409. /package/{_esm → dist}/core/internal/abiConstructor.js +0 -0
  2410. /package/{_types → dist}/core/internal/abiError.d.ts +0 -0
  2411. /package/{_esm → dist}/core/internal/abiError.js +0 -0
  2412. /package/{_types → dist}/core/internal/abiEvent.d.ts +0 -0
  2413. /package/{_esm → dist}/core/internal/abiEvent.js +0 -0
  2414. /package/{_types → dist}/core/internal/abiFunction.d.ts +0 -0
  2415. /package/{_esm → dist}/core/internal/abiFunction.js +0 -0
  2416. /package/{_types → dist}/core/internal/abiItem.d.ts +0 -0
  2417. /package/{_types → dist}/core/internal/abiParameters.d.ts +0 -0
  2418. /package/{_types → dist}/core/internal/base58.d.ts +0 -0
  2419. /package/{_types → dist}/core/internal/entropy.d.ts +0 -0
  2420. /package/{_esm → dist}/core/internal/entropy.js +0 -0
  2421. /package/{_types → dist}/core/internal/errors.d.ts +0 -0
  2422. /package/{_esm → dist}/core/internal/errors.js +0 -0
  2423. /package/{_types → dist}/core/internal/hdKey.d.ts +0 -0
  2424. /package/{_esm → dist}/core/internal/hdKey.js +0 -0
  2425. /package/{_types → dist}/core/internal/promise.d.ts +0 -0
  2426. /package/{_types → dist}/core/internal/register.d.ts +0 -0
  2427. /package/{_esm → dist}/core/internal/register.js +0 -0
  2428. /package/{_types → dist}/core/internal/rpcSchema.d.ts +0 -0
  2429. /package/{_esm → dist}/core/internal/rpcSchema.js +0 -0
  2430. /package/{_esm → dist}/core/internal/rpcSchemas/eth.js +0 -0
  2431. /package/{_esm → dist}/core/internal/rpcSchemas/wallet.js +0 -0
  2432. /package/{_esm → dist}/core/internal/types.js +0 -0
  2433. /package/{_types → dist}/core/version.d.ts +0 -0
  2434. /package/{_esm → dist}/core/version.js +0 -0
  2435. /package/{_types → dist}/erc4337/EntryPoint.d.ts +0 -0
  2436. /package/{_esm → dist}/erc4337/EntryPoint.js +0 -0
  2437. /package/{_esm → dist}/erc4337/RpcSchema.js +0 -0
  2438. /package/{_types → dist}/erc4337/UserOperationReceipt.d.ts +0 -0
  2439. /package/{_esm → dist}/erc4337/UserOperationReceipt.js +0 -0
  2440. /package/{_types → dist}/tempo/Period.d.ts +0 -0
  2441. /package/{_esm → dist}/tempo/Period.js +0 -0
  2442. /package/{_esm → dist}/tempo/RpcSchemaTempo.js +0 -0
  2443. /package/{_types → dist}/tempo/Tick.d.ts +0 -0
  2444. /package/{_types → dist}/tempo/TokenRole.d.ts +0 -0
  2445. /package/{_esm → dist}/tempo/TokenRole.js +0 -0
  2446. /package/{_types → dist}/tempo/ZoneId.d.ts +0 -0
  2447. /package/{_esm → dist}/tempo/ZoneId.js +0 -0
  2448. /package/{_types → dist}/tempo/internal/mine.wasm.d.ts +0 -0
  2449. /package/{_esm → dist}/tempo/internal/mine.wasm.js +0 -0
  2450. /package/{_types → dist}/tempo/internal/virtualMasterPool.d.ts +0 -0
  2451. /package/{_esm → dist}/tempo/internal/virtualMasterPool.js +0 -0
  2452. /package/{_types → dist}/trusted-setups/Paths.d.ts +0 -0
  2453. /package/{_esm → dist}/trusted-setups/Paths.js +0 -0
  2454. /package/{_types → dist}/trusted-setups/index.d.ts +0 -0
  2455. /package/{_esm → dist}/trusted-setups/index.js +0 -0
  2456. /package/{_types → dist}/trusted-setups/internal/paths.d.ts +0 -0
  2457. /package/{_esm → dist}/trusted-setups/internal/paths.js +0 -0
  2458. /package/{_types → dist}/webauthn/Types.d.ts +0 -0
  2459. /package/{_esm → dist}/webauthn/Types.js +0 -0
  2460. /package/{_types → dist}/window/index.d.ts +0 -0
  2461. /package/{_esm → dist}/window/index.js +0 -0
  2462. /package/{core → src/core}/internal/abi.ts +0 -0
  2463. /package/{core → src/core}/internal/entropy.ts +0 -0
  2464. /package/{core → src/core}/internal/errors.ts +0 -0
  2465. /package/{core → src/core}/internal/hdKey.ts +0 -0
  2466. /package/{core → src/core}/internal/register.ts +0 -0
  2467. /package/{core → src/core}/internal/rpcSchema.ts +0 -0
  2468. /package/{core → src/core}/internal/uid.ts +0 -0
  2469. /package/{core → src/core}/version.ts +0 -0
  2470. /package/{erc4337 → src/erc4337}/EntryPoint.ts +0 -0
  2471. /package/{erc4337 → src/erc4337}/UserOperationReceipt.ts +0 -0
  2472. /package/{tempo → src/tempo}/Period.ts +0 -0
  2473. /package/{tempo → src/tempo}/Tick.ts +0 -0
  2474. /package/{tempo → src/tempo}/TokenRole.ts +0 -0
  2475. /package/{tempo → src/tempo}/ZoneId.ts +0 -0
  2476. /package/{tempo → src/tempo}/internal/mine.c +0 -0
  2477. /package/{tempo → src/tempo}/internal/mine.wasm.ts +0 -0
  2478. /package/{tempo → src/tempo}/internal/virtualMasterPool.ts +0 -0
  2479. /package/{trusted-setups → src/trusted-setups}/Paths.ts +0 -0
  2480. /package/{trusted-setups → src/trusted-setups}/index.ts +0 -0
  2481. /package/{trusted-setups → src/trusted-setups}/internal/paths.ts +0 -0
  2482. /package/{trusted-setups → src/trusted-setups}/internal/setups/mainnet.json +0 -0
  2483. /package/{trusted-setups → src/trusted-setups}/internal/setups/mainnet.txt +0 -0
  2484. /package/{tsdoc.json → src/tsdoc.json} +0 -0
  2485. /package/{webauthn → src/webauthn}/Types.ts +0 -0
  2486. /package/{window → src/window}/index.ts +0 -0
@@ -1,3003 +0,0 @@
1
- import {
2
- Address,
3
- Hex,
4
- P256,
5
- PublicKey,
6
- Secp256k1,
7
- Signature,
8
- WebAuthnP256,
9
- WebCryptoP256,
10
- } from 'ox'
11
- import { describe, expect, test } from 'vitest'
12
- import * as MultisigConfig from './MultisigConfig.js'
13
- import * as SignatureEnvelope from './SignatureEnvelope.js'
14
-
15
- const publicKey = PublicKey.from({
16
- prefix: 4,
17
- x: 78495282704852028275327922540131762143565388050940484317945369745559774511861n,
18
- y: 8109764566587999957624872393871720746996669263962991155166704261108473113504n,
19
- })
20
-
21
- const p256Signature = Signature.from({
22
- r: 92602584010956101470289867944347135737570451066466093224269890121909314569518n,
23
- s: 54171125190222965779385658110416711469231271457324878825831748147306957269813n,
24
- yParity: 0,
25
- })
26
-
27
- const signature_secp256k1 = Secp256k1.sign({
28
- payload: '0xdeadbeef',
29
- privateKey: Secp256k1.randomPrivateKey(),
30
- })
31
-
32
- const signature_p256 = SignatureEnvelope.from({
33
- signature: p256Signature,
34
- publicKey,
35
- prehash: true,
36
- })
37
-
38
- const signature_webauthn = SignatureEnvelope.from({
39
- signature: p256Signature,
40
- publicKey,
41
- metadata: {
42
- authenticatorData: WebAuthnP256.getAuthenticatorData({ rpId: 'localhost' }),
43
- clientDataJSON: WebAuthnP256.getClientDataJSON({
44
- challenge: '0xdeadbeef',
45
- origin: 'http://localhost',
46
- }),
47
- },
48
- })
49
-
50
- // Keychain signatures with different inner types
51
- const signature_keychain_secp256k1 = SignatureEnvelope.from({
52
- userAddress: '0x1234567890123456789012345678901234567890',
53
- inner: SignatureEnvelope.from(signature_secp256k1),
54
- version: 'v2',
55
- })
56
-
57
- const signature_keychain_p256 = SignatureEnvelope.from({
58
- userAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
59
- inner: signature_p256,
60
- version: 'v2',
61
- })
62
-
63
- const signature_keychain_webauthn = SignatureEnvelope.from({
64
- userAddress: '0xfedcbafedcbafedcbafedcbafedcbafedcbafedc',
65
- inner: signature_webauthn,
66
- version: 'v2',
67
- })
68
-
69
- describe('assert', () => {
70
- describe('secp256k1', () => {
71
- test('behavior: validates valid signature', () => {
72
- expect(() =>
73
- SignatureEnvelope.assert({
74
- signature: signature_secp256k1,
75
- type: 'secp256k1',
76
- }),
77
- ).not.toThrow()
78
- })
79
-
80
- test('behavior: validates signature without explicit type', () => {
81
- expect(() =>
82
- SignatureEnvelope.assert({ signature: signature_secp256k1 }),
83
- ).not.toThrow()
84
- })
85
-
86
- test('error: throws on invalid signature values', () => {
87
- expect(() =>
88
- SignatureEnvelope.assert({
89
- signature: {
90
- r: 0n,
91
- s: 0n,
92
- yParity: 2,
93
- },
94
- type: 'secp256k1',
95
- }),
96
- ).toThrowErrorMatchingInlineSnapshot(
97
- `[Signature.InvalidYParityError: Value \`2\` is an invalid y-parity value. Y-parity must be 0 or 1.]`,
98
- )
99
- })
100
- })
101
-
102
- describe('p256', () => {
103
- test('behavior: validates valid P256 signature', () => {
104
- expect(() => SignatureEnvelope.assert(signature_p256)).not.toThrow()
105
- })
106
-
107
- test('behavior: validates P256 signature without explicit type', () => {
108
- const { type: _, ...signatureWithoutType } = signature_p256
109
- expect(() => SignatureEnvelope.assert(signatureWithoutType)).not.toThrow()
110
- })
111
-
112
- test('error: throws on invalid prehash type', () => {
113
- expect(() =>
114
- SignatureEnvelope.assert({
115
- ...signature_p256,
116
- prehash: 'true' as any,
117
- }),
118
- ).toThrowErrorMatchingInlineSnapshot(
119
- `
120
- [SignatureEnvelope.MissingPropertiesError: Signature envelope of type "p256" is missing required properties: \`prehash\`.
121
-
122
- Provided: {"signature":{"r":"92602584010956101470289867944347135737570451066466093224269890121909314569518#__bigint","s":"54171125190222965779385658110416711469231271457324878825831748147306957269813#__bigint","yParity":0},"publicKey":{"prefix":4,"x":"78495282704852028275327922540131762143565388050940484317945369745559774511861#__bigint","y":"8109764566587999957624872393871720746996669263962991155166704261108473113504#__bigint"},"prehash":"true","type":"p256"}]
123
- `,
124
- )
125
- })
126
-
127
- test('error: throws on missing publicKey', () => {
128
- const { publicKey: _, ...withoutPublicKey } = signature_p256
129
- expect(() =>
130
- SignatureEnvelope.assert(withoutPublicKey as any),
131
- ).toThrowErrorMatchingInlineSnapshot(
132
- `
133
- [SignatureEnvelope.MissingPropertiesError: Signature envelope of type "p256" is missing required properties: \`publicKey\`.
134
-
135
- Provided: {"signature":{"r":"92602584010956101470289867944347135737570451066466093224269890121909314569518#__bigint","s":"54171125190222965779385658110416711469231271457324878825831748147306957269813#__bigint","yParity":0},"prehash":true,"type":"p256"}]
136
- `,
137
- )
138
- })
139
-
140
- test('error: throws on missing signature.r', () => {
141
- const invalid = {
142
- signature: { s: 1n } as any,
143
- publicKey,
144
- prehash: true,
145
- type: 'p256' as const,
146
- }
147
- expect(() =>
148
- SignatureEnvelope.assert(invalid),
149
- ).toThrowErrorMatchingInlineSnapshot(
150
- `
151
- [SignatureEnvelope.MissingPropertiesError: Signature envelope of type "p256" is missing required properties: \`signature.r\`.
152
-
153
- Provided: {"signature":{"s":"1#__bigint"},"publicKey":{"prefix":4,"x":"78495282704852028275327922540131762143565388050940484317945369745559774511861#__bigint","y":"8109764566587999957624872393871720746996669263962991155166704261108473113504#__bigint"},"prehash":true,"type":"p256"}]
154
- `,
155
- )
156
- })
157
-
158
- test('error: throws on missing signature.s', () => {
159
- const invalid = {
160
- signature: { r: 1n } as any,
161
- publicKey,
162
- prehash: true,
163
- type: 'p256' as const,
164
- }
165
- expect(() =>
166
- SignatureEnvelope.assert(invalid),
167
- ).toThrowErrorMatchingInlineSnapshot(
168
- `
169
- [SignatureEnvelope.MissingPropertiesError: Signature envelope of type "p256" is missing required properties: \`signature.s\`.
170
-
171
- Provided: {"signature":{"r":"1#__bigint"},"publicKey":{"prefix":4,"x":"78495282704852028275327922540131762143565388050940484317945369745559774511861#__bigint","y":"8109764566587999957624872393871720746996669263962991155166704261108473113504#__bigint"},"prehash":true,"type":"p256"}]
172
- `,
173
- )
174
- })
175
-
176
- test('error: throws on missing publicKey.x', () => {
177
- const invalid = {
178
- signature: p256Signature,
179
- publicKey: { y: 1n } as any,
180
- prehash: true,
181
- type: 'p256' as const,
182
- }
183
- expect(() =>
184
- SignatureEnvelope.assert(invalid),
185
- ).toThrowErrorMatchingInlineSnapshot(
186
- `
187
- [SignatureEnvelope.MissingPropertiesError: Signature envelope of type "p256" is missing required properties: \`publicKey.x\`.
188
-
189
- Provided: {"signature":{"r":"92602584010956101470289867944347135737570451066466093224269890121909314569518#__bigint","s":"54171125190222965779385658110416711469231271457324878825831748147306957269813#__bigint","yParity":0},"publicKey":{"y":"1#__bigint"},"prehash":true,"type":"p256"}]
190
- `,
191
- )
192
- })
193
-
194
- test('error: throws on missing publicKey.y', () => {
195
- const invalid = {
196
- signature: p256Signature,
197
- publicKey: { x: 1n } as any,
198
- prehash: true,
199
- type: 'p256' as const,
200
- }
201
- expect(() =>
202
- SignatureEnvelope.assert(invalid),
203
- ).toThrowErrorMatchingInlineSnapshot(
204
- `
205
- [SignatureEnvelope.MissingPropertiesError: Signature envelope of type "p256" is missing required properties: \`publicKey.y\`.
206
-
207
- Provided: {"signature":{"r":"92602584010956101470289867944347135737570451066466093224269890121909314569518#__bigint","s":"54171125190222965779385658110416711469231271457324878825831748147306957269813#__bigint","yParity":0},"publicKey":{"x":"1#__bigint"},"prehash":true,"type":"p256"}]
208
- `,
209
- )
210
- })
211
-
212
- test('error: throws with all missing properties listed', () => {
213
- const invalid = {
214
- signature: {} as any,
215
- type: 'p256' as const,
216
- }
217
- expect(() =>
218
- SignatureEnvelope.assert(invalid),
219
- ).toThrowErrorMatchingInlineSnapshot(
220
- `
221
- [SignatureEnvelope.MissingPropertiesError: Signature envelope of type "p256" is missing required properties: \`signature.r\`, \`signature.s\`, \`prehash\`, \`publicKey\`.
222
-
223
- Provided: {"signature":{},"type":"p256"}]
224
- `,
225
- )
226
- })
227
- })
228
-
229
- describe('webAuthn', () => {
230
- test('behavior: validates valid WebAuthn signature', () => {
231
- expect(() => SignatureEnvelope.assert(signature_webauthn)).not.toThrow()
232
- })
233
-
234
- test('behavior: validates WebAuthn signature without explicit type', () => {
235
- const { type: _, ...signatureWithoutType } = signature_webauthn
236
- expect(() => SignatureEnvelope.assert(signatureWithoutType)).not.toThrow()
237
- })
238
-
239
- test('error: throws on missing metadata', () => {
240
- const { metadata: _, ...withoutMetadata } = signature_webauthn
241
- expect(() =>
242
- SignatureEnvelope.assert(withoutMetadata as any),
243
- ).toThrowErrorMatchingInlineSnapshot(
244
- `
245
- [SignatureEnvelope.MissingPropertiesError: Signature envelope of type "webAuthn" is missing required properties: \`metadata\`.
246
-
247
- Provided: {"signature":{"r":"92602584010956101470289867944347135737570451066466093224269890121909314569518#__bigint","s":"54171125190222965779385658110416711469231271457324878825831748147306957269813#__bigint","yParity":0},"publicKey":{"prefix":4,"x":"78495282704852028275327922540131762143565388050940484317945369745559774511861#__bigint","y":"8109764566587999957624872393871720746996669263962991155166704261108473113504#__bigint"},"type":"webAuthn"}]
248
- `,
249
- )
250
- })
251
-
252
- test('error: throws on missing publicKey', () => {
253
- const { publicKey: _, ...withoutPublicKey } = signature_webauthn
254
- expect(() =>
255
- SignatureEnvelope.assert(withoutPublicKey as any),
256
- ).toThrowErrorMatchingInlineSnapshot(
257
- `
258
- [SignatureEnvelope.MissingPropertiesError: Signature envelope of type "webAuthn" is missing required properties: \`publicKey\`.
259
-
260
- Provided: {"signature":{"r":"92602584010956101470289867944347135737570451066466093224269890121909314569518#__bigint","s":"54171125190222965779385658110416711469231271457324878825831748147306957269813#__bigint","yParity":0},"metadata":{"authenticatorData":"0x49960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97630500000000","clientDataJSON":"{\\"type\\":\\"webauthn.get\\",\\"challenge\\":\\"3q2-7w\\",\\"origin\\":\\"http://localhost\\",\\"crossOrigin\\":false}"},"type":"webAuthn"}]
261
- `,
262
- )
263
- })
264
-
265
- test('error: throws on missing signature.r', () => {
266
- const invalid = {
267
- signature: { s: 1n } as any,
268
- publicKey,
269
- metadata: {
270
- authenticatorData: WebAuthnP256.getAuthenticatorData({
271
- rpId: 'localhost',
272
- }),
273
- clientDataJSON: WebAuthnP256.getClientDataJSON({
274
- challenge: '0xdeadbeef',
275
- origin: 'http://localhost',
276
- }),
277
- },
278
- type: 'webAuthn' as const,
279
- }
280
- expect(() =>
281
- SignatureEnvelope.assert(invalid),
282
- ).toThrowErrorMatchingInlineSnapshot(
283
- `
284
- [SignatureEnvelope.MissingPropertiesError: Signature envelope of type "webAuthn" is missing required properties: \`signature.r\`.
285
-
286
- Provided: {"signature":{"s":"1#__bigint"},"publicKey":{"prefix":4,"x":"78495282704852028275327922540131762143565388050940484317945369745559774511861#__bigint","y":"8109764566587999957624872393871720746996669263962991155166704261108473113504#__bigint"},"metadata":{"authenticatorData":"0x49960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97630500000000","clientDataJSON":"{\\"type\\":\\"webauthn.get\\",\\"challenge\\":\\"3q2-7w\\",\\"origin\\":\\"http://localhost\\",\\"crossOrigin\\":false}"},"type":"webAuthn"}]
287
- `,
288
- )
289
- })
290
-
291
- test('error: throws on missing signature.s', () => {
292
- const invalid = {
293
- signature: { r: 1n } as any,
294
- publicKey,
295
- metadata: {
296
- authenticatorData: WebAuthnP256.getAuthenticatorData({
297
- rpId: 'localhost',
298
- }),
299
- clientDataJSON: WebAuthnP256.getClientDataJSON({
300
- challenge: '0xdeadbeef',
301
- origin: 'http://localhost',
302
- }),
303
- },
304
- type: 'webAuthn' as const,
305
- }
306
- expect(() =>
307
- SignatureEnvelope.assert(invalid),
308
- ).toThrowErrorMatchingInlineSnapshot(
309
- `
310
- [SignatureEnvelope.MissingPropertiesError: Signature envelope of type "webAuthn" is missing required properties: \`signature.s\`.
311
-
312
- Provided: {"signature":{"r":"1#__bigint"},"publicKey":{"prefix":4,"x":"78495282704852028275327922540131762143565388050940484317945369745559774511861#__bigint","y":"8109764566587999957624872393871720746996669263962991155166704261108473113504#__bigint"},"metadata":{"authenticatorData":"0x49960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97630500000000","clientDataJSON":"{\\"type\\":\\"webauthn.get\\",\\"challenge\\":\\"3q2-7w\\",\\"origin\\":\\"http://localhost\\",\\"crossOrigin\\":false}"},"type":"webAuthn"}]
313
- `,
314
- )
315
- })
316
-
317
- test('error: throws on missing metadata.authenticatorData', () => {
318
- const invalid = {
319
- signature: p256Signature,
320
- publicKey,
321
- metadata: {
322
- clientDataJSON: WebAuthnP256.getClientDataJSON({
323
- challenge: '0xdeadbeef',
324
- origin: 'http://localhost',
325
- }),
326
- } as any,
327
- type: 'webAuthn' as const,
328
- }
329
- expect(() =>
330
- SignatureEnvelope.assert(invalid),
331
- ).toThrowErrorMatchingInlineSnapshot(
332
- `
333
- [SignatureEnvelope.MissingPropertiesError: Signature envelope of type "webAuthn" is missing required properties: \`metadata.authenticatorData\`.
334
-
335
- Provided: {"signature":{"r":"92602584010956101470289867944347135737570451066466093224269890121909314569518#__bigint","s":"54171125190222965779385658110416711469231271457324878825831748147306957269813#__bigint","yParity":0},"publicKey":{"prefix":4,"x":"78495282704852028275327922540131762143565388050940484317945369745559774511861#__bigint","y":"8109764566587999957624872393871720746996669263962991155166704261108473113504#__bigint"},"metadata":{"clientDataJSON":"{\\"type\\":\\"webauthn.get\\",\\"challenge\\":\\"3q2-7w\\",\\"origin\\":\\"http://localhost\\",\\"crossOrigin\\":false}"},"type":"webAuthn"}]
336
- `,
337
- )
338
- })
339
-
340
- test('error: throws on missing metadata.clientDataJSON', () => {
341
- const invalid = {
342
- signature: p256Signature,
343
- publicKey,
344
- metadata: {
345
- authenticatorData: WebAuthnP256.getAuthenticatorData({
346
- rpId: 'localhost',
347
- }),
348
- } as any,
349
- type: 'webAuthn' as const,
350
- }
351
- expect(() =>
352
- SignatureEnvelope.assert(invalid),
353
- ).toThrowErrorMatchingInlineSnapshot(
354
- `
355
- [SignatureEnvelope.MissingPropertiesError: Signature envelope of type "webAuthn" is missing required properties: \`metadata.clientDataJSON\`.
356
-
357
- Provided: {"signature":{"r":"92602584010956101470289867944347135737570451066466093224269890121909314569518#__bigint","s":"54171125190222965779385658110416711469231271457324878825831748147306957269813#__bigint","yParity":0},"publicKey":{"prefix":4,"x":"78495282704852028275327922540131762143565388050940484317945369745559774511861#__bigint","y":"8109764566587999957624872393871720746996669263962991155166704261108473113504#__bigint"},"metadata":{"authenticatorData":"0x49960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97630500000000"},"type":"webAuthn"}]
358
- `,
359
- )
360
- })
361
-
362
- test('error: throws on missing publicKey.x', () => {
363
- const invalid = {
364
- signature: p256Signature,
365
- publicKey: { y: 1n } as any,
366
- metadata: {
367
- authenticatorData: WebAuthnP256.getAuthenticatorData({
368
- rpId: 'localhost',
369
- }),
370
- clientDataJSON: WebAuthnP256.getClientDataJSON({
371
- challenge: '0xdeadbeef',
372
- origin: 'http://localhost',
373
- }),
374
- },
375
- type: 'webAuthn' as const,
376
- }
377
- expect(() =>
378
- SignatureEnvelope.assert(invalid),
379
- ).toThrowErrorMatchingInlineSnapshot(
380
- `
381
- [SignatureEnvelope.MissingPropertiesError: Signature envelope of type "webAuthn" is missing required properties: \`publicKey.x\`.
382
-
383
- Provided: {"signature":{"r":"92602584010956101470289867944347135737570451066466093224269890121909314569518#__bigint","s":"54171125190222965779385658110416711469231271457324878825831748147306957269813#__bigint","yParity":0},"publicKey":{"y":"1#__bigint"},"metadata":{"authenticatorData":"0x49960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97630500000000","clientDataJSON":"{\\"type\\":\\"webauthn.get\\",\\"challenge\\":\\"3q2-7w\\",\\"origin\\":\\"http://localhost\\",\\"crossOrigin\\":false}"},"type":"webAuthn"}]
384
- `,
385
- )
386
- })
387
-
388
- test('error: throws on missing publicKey.y', () => {
389
- const invalid = {
390
- signature: p256Signature,
391
- publicKey: { x: 1n } as any,
392
- metadata: {
393
- authenticatorData: WebAuthnP256.getAuthenticatorData({
394
- rpId: 'localhost',
395
- }),
396
- clientDataJSON: WebAuthnP256.getClientDataJSON({
397
- challenge: '0xdeadbeef',
398
- origin: 'http://localhost',
399
- }),
400
- },
401
- type: 'webAuthn' as const,
402
- }
403
- expect(() =>
404
- SignatureEnvelope.assert(invalid),
405
- ).toThrowErrorMatchingInlineSnapshot(
406
- `
407
- [SignatureEnvelope.MissingPropertiesError: Signature envelope of type "webAuthn" is missing required properties: \`publicKey.y\`.
408
-
409
- Provided: {"signature":{"r":"92602584010956101470289867944347135737570451066466093224269890121909314569518#__bigint","s":"54171125190222965779385658110416711469231271457324878825831748147306957269813#__bigint","yParity":0},"publicKey":{"x":"1#__bigint"},"metadata":{"authenticatorData":"0x49960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97630500000000","clientDataJSON":"{\\"type\\":\\"webauthn.get\\",\\"challenge\\":\\"3q2-7w\\",\\"origin\\":\\"http://localhost\\",\\"crossOrigin\\":false}"},"type":"webAuthn"}]
410
- `,
411
- )
412
- })
413
- })
414
-
415
- describe('keychain', () => {
416
- test('behavior: validates valid keychain with secp256k1 inner', () => {
417
- expect(() =>
418
- SignatureEnvelope.assert(signature_keychain_secp256k1),
419
- ).not.toThrow()
420
- })
421
-
422
- test('behavior: validates valid keychain with p256 inner', () => {
423
- expect(() =>
424
- SignatureEnvelope.assert(signature_keychain_p256),
425
- ).not.toThrow()
426
- })
427
-
428
- test('behavior: validates valid keychain with webAuthn inner', () => {
429
- expect(() =>
430
- SignatureEnvelope.assert(signature_keychain_webauthn),
431
- ).not.toThrow()
432
- })
433
-
434
- test('behavior: validates keychain without explicit type', () => {
435
- const { type: _, ...signatureWithoutType } = signature_keychain_secp256k1
436
- expect(() => SignatureEnvelope.assert(signatureWithoutType)).not.toThrow()
437
- })
438
-
439
- test('error: throws on invalid inner signature', () => {
440
- expect(() =>
441
- SignatureEnvelope.assert({
442
- userAddress: '0x1234567890123456789012345678901234567890',
443
- inner: SignatureEnvelope.from({
444
- r: 0n,
445
- s: 0n,
446
- yParity: 2,
447
- }),
448
- type: 'keychain',
449
- } as any),
450
- ).toThrowErrorMatchingInlineSnapshot(
451
- `[Signature.InvalidYParityError: Value \`2\` is an invalid y-parity value. Y-parity must be 0 or 1.]`,
452
- )
453
- })
454
- })
455
-
456
- test('error: throws on invalid envelope', () => {
457
- expect(() =>
458
- SignatureEnvelope.assert({} as any),
459
- ).toThrowErrorMatchingInlineSnapshot(
460
- `[SignatureEnvelope.CoercionError: Unable to coerce value (\`{}\`) to a valid signature envelope.]`,
461
- )
462
- })
463
-
464
- test('error: throws on incomplete signature', () => {
465
- expect(() =>
466
- SignatureEnvelope.assert({
467
- r: 0n,
468
- s: 0n,
469
- } as any),
470
- ).toThrowErrorMatchingInlineSnapshot(
471
- `[SignatureEnvelope.CoercionError: Unable to coerce value (\`{"r":"0#__bigint","s":"0#__bigint"}\`) to a valid signature envelope.]`,
472
- )
473
- })
474
- })
475
-
476
- describe('deserialize', () => {
477
- describe('secp256k1', () => {
478
- test('behavior: deserializes valid signature', () => {
479
- const serialized = Signature.toHex(signature_secp256k1)
480
-
481
- const envelope = SignatureEnvelope.deserialize(serialized)
482
-
483
- expect(envelope).toMatchObject({
484
- signature: {
485
- r: signature_secp256k1.r,
486
- s: signature_secp256k1.s,
487
- yParity: signature_secp256k1.yParity,
488
- },
489
- type: 'secp256k1',
490
- })
491
- })
492
-
493
- test('behavior: deserializes signature with magic identifier', () => {
494
- const serialized = SignatureEnvelope.serialize(
495
- { signature: signature_secp256k1, type: 'secp256k1' },
496
- { magic: true },
497
- )
498
-
499
- const envelope = SignatureEnvelope.deserialize(serialized)
500
-
501
- expect(envelope).toMatchObject({
502
- signature: {
503
- r: signature_secp256k1.r,
504
- s: signature_secp256k1.s,
505
- yParity: signature_secp256k1.yParity,
506
- },
507
- type: 'secp256k1',
508
- })
509
- })
510
-
511
- test('error: throws on invalid size', () => {
512
- expect(() =>
513
- SignatureEnvelope.deserialize('0xdeadbeef'),
514
- ).toThrowErrorMatchingInlineSnapshot(
515
- `
516
- [SignatureEnvelope.InvalidSerializedError: Unable to deserialize signature envelope: Unknown signature type identifier: 0xde. Expected 0x01 (P256), 0x02 (WebAuthn), 0x03 (Keychain V1), 0x04 (Keychain V2), or 0x05 (Multisig)
517
-
518
- Serialized: 0xdeadbeef]
519
- `,
520
- )
521
- })
522
-
523
- test('error: throws on invalid yParity', () => {
524
- // Signature with invalid yParity (must be 0 or 1)
525
- const invalidSig =
526
- '0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000102'
527
- expect(() =>
528
- SignatureEnvelope.deserialize(invalidSig),
529
- ).toThrowErrorMatchingInlineSnapshot(
530
- `[Signature.InvalidYParityError: Value \`2\` is an invalid y-parity value. Y-parity must be 0 or 1.]`,
531
- )
532
- })
533
- })
534
-
535
- describe('p256', () => {
536
- test('behavior: deserializes P256 signature', () => {
537
- const serialized = SignatureEnvelope.serialize(signature_p256)
538
- const deserialized = SignatureEnvelope.deserialize(serialized)
539
-
540
- expect(deserialized).toMatchObject({
541
- signature: {
542
- r: signature_p256.signature.r,
543
- s: signature_p256.signature.s,
544
- },
545
- publicKey: {
546
- x: signature_p256.publicKey.x,
547
- y: signature_p256.publicKey.y,
548
- },
549
- prehash: signature_p256.prehash,
550
- type: 'p256',
551
- })
552
- })
553
-
554
- test('behavior: deserializes P256 signature with magic identifier', () => {
555
- const serialized = SignatureEnvelope.serialize(signature_p256, {
556
- magic: true,
557
- })
558
- const deserialized = SignatureEnvelope.deserialize(serialized)
559
-
560
- expect(deserialized).toMatchObject({
561
- signature: {
562
- r: signature_p256.signature.r,
563
- s: signature_p256.signature.s,
564
- },
565
- publicKey: {
566
- x: signature_p256.publicKey.x,
567
- y: signature_p256.publicKey.y,
568
- },
569
- prehash: signature_p256.prehash,
570
- type: 'p256',
571
- })
572
- })
573
-
574
- test('error: throws on invalid P256 signature length', () => {
575
- // P256 signature with wrong length (should be 130 bytes total, but only 100)
576
- const invalidSig = `0x01${'00'.repeat(100)}` as `0x${string}`
577
- expect(() =>
578
- SignatureEnvelope.deserialize(invalidSig),
579
- ).toThrowErrorMatchingInlineSnapshot(
580
- `
581
- [SignatureEnvelope.InvalidSerializedError: Unable to deserialize signature envelope: Invalid P256 signature envelope size: expected 129 bytes, got 100 bytes
582
-
583
- Serialized: 0x0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000]
584
- `,
585
- )
586
- })
587
- })
588
-
589
- describe('webAuthn', () => {
590
- test('behavior: deserializes WebAuthn signature', () => {
591
- const serialized = SignatureEnvelope.serialize(signature_webauthn)
592
- const deserialized = SignatureEnvelope.deserialize(serialized)
593
-
594
- expect(deserialized).toMatchObject({
595
- signature: {
596
- r: signature_webauthn.signature.r,
597
- s: signature_webauthn.signature.s,
598
- },
599
- publicKey: {
600
- x: signature_webauthn.publicKey.x,
601
- y: signature_webauthn.publicKey.y,
602
- },
603
- metadata: {
604
- authenticatorData: signature_webauthn.metadata.authenticatorData,
605
- clientDataJSON: signature_webauthn.metadata.clientDataJSON,
606
- },
607
- type: 'webAuthn',
608
- })
609
- })
610
-
611
- test('behavior: deserializes WebAuthn signature with magic identifier', () => {
612
- const serialized = SignatureEnvelope.serialize(signature_webauthn, {
613
- magic: true,
614
- })
615
- const deserialized = SignatureEnvelope.deserialize(serialized)
616
-
617
- expect(deserialized).toMatchObject({
618
- signature: {
619
- r: signature_webauthn.signature.r,
620
- s: signature_webauthn.signature.s,
621
- },
622
- publicKey: {
623
- x: signature_webauthn.publicKey.x,
624
- y: signature_webauthn.publicKey.y,
625
- },
626
- metadata: {
627
- authenticatorData: signature_webauthn.metadata.authenticatorData,
628
- clientDataJSON: signature_webauthn.metadata.clientDataJSON,
629
- },
630
- type: 'webAuthn',
631
- })
632
- })
633
-
634
- test('error: throws on invalid WebAuthn signature length', () => {
635
- // WebAuthn signature too short (must be at least 129 bytes: 1 type + 128 signature data)
636
- const invalidSig = `0x02${'00'.repeat(100)}` as const
637
- expect(() =>
638
- SignatureEnvelope.deserialize(invalidSig),
639
- ).toThrowErrorMatchingInlineSnapshot(
640
- `
641
- [SignatureEnvelope.InvalidSerializedError: Unable to deserialize signature envelope: Invalid WebAuthn signature envelope size: expected at least 128 bytes, got 100 bytes
642
-
643
- Serialized: 0x0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000]
644
- `,
645
- )
646
- })
647
-
648
- test('error: throws on invalid clientDataJSON', () => {
649
- // Create a signature with invalid JSON (not properly formatted)
650
- const invalidMetadata = {
651
- authenticatorData: `0x${'00'.repeat(37)}` as const,
652
- clientDataJSON: 'not-valid-json',
653
- }
654
- const serialized = SignatureEnvelope.serialize({
655
- ...signature_webauthn,
656
- metadata: invalidMetadata,
657
- })
658
-
659
- expect(() =>
660
- SignatureEnvelope.deserialize(serialized),
661
- ).toThrowErrorMatchingInlineSnapshot(
662
- `
663
- [SignatureEnvelope.InvalidSerializedError: Unable to deserialize signature envelope: Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON
664
-
665
- Serialized: 0x02000000000000000000000000000000000000000000000000000000000000000000000000006e6f742d76616c69642d6a736f6eccbb3485d4726235f13cb15ef394fb7158179fb7b1925eccec0147671090c52e77c3c53373cc1e3b05e7c23f609deb17cea8fe097300c45411237e9fe4166b35ad8ac16e167d6992c3e120d7f17d2376bc1cbcf30c46ba6dd00ce07303e742f511edf6ce1c32de66846f56afa7be1cbd729bc35750b6d0cdcf3ec9d75461aba0]
666
- `,
667
- )
668
- })
669
-
670
- test('error: throws on unknown type identifier', () => {
671
- const unknownType = `0xff${'00'.repeat(129)}` as const
672
- expect(() =>
673
- SignatureEnvelope.deserialize(unknownType),
674
- ).toThrowErrorMatchingInlineSnapshot(
675
- `
676
- [SignatureEnvelope.InvalidSerializedError: Unable to deserialize signature envelope: Unknown signature type identifier: 0xff. Expected 0x01 (P256), 0x02 (WebAuthn), 0x03 (Keychain V1), 0x04 (Keychain V2), or 0x05 (Multisig)
677
-
678
- Serialized: 0xff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000]
679
- `,
680
- )
681
- })
682
- })
683
-
684
- describe('keychain', () => {
685
- test('behavior: deserializes keychain signature with secp256k1 inner', () => {
686
- const serialized = SignatureEnvelope.serialize(
687
- signature_keychain_secp256k1,
688
- )
689
- const deserialized = SignatureEnvelope.deserialize(serialized)
690
-
691
- expect(deserialized).toMatchObject({
692
- userAddress: signature_keychain_secp256k1.userAddress,
693
- inner: SignatureEnvelope.from(signature_secp256k1),
694
- type: 'keychain',
695
- })
696
- })
697
-
698
- test('behavior: deserializes keychain signature with p256 inner', () => {
699
- const serialized = SignatureEnvelope.serialize(signature_keychain_p256)
700
- const deserialized = SignatureEnvelope.deserialize(serialized)
701
-
702
- expect(deserialized).toMatchInlineSnapshot(`
703
- {
704
- "inner": {
705
- "prehash": true,
706
- "publicKey": {
707
- "prefix": 4,
708
- "x": 78495282704852028275327922540131762143565388050940484317945369745559774511861n,
709
- "y": 8109764566587999957624872393871720746996669263962991155166704261108473113504n,
710
- },
711
- "signature": {
712
- "r": 92602584010956101470289867944347135737570451066466093224269890121909314569518n,
713
- "s": 54171125190222965779385658110416711469231271457324878825831748147306957269813n,
714
- },
715
- "type": "p256",
716
- },
717
- "type": "keychain",
718
- "userAddress": "0xabcdefabcdefabcdefabcdefabcdefabcdefabcd",
719
- "version": "v2",
720
- }
721
- `)
722
- })
723
-
724
- test('behavior: deserializes keychain signature with webAuthn inner', () => {
725
- const serialized = SignatureEnvelope.serialize(
726
- signature_keychain_webauthn,
727
- )
728
- const deserialized = SignatureEnvelope.deserialize(serialized)
729
-
730
- expect(deserialized).toMatchInlineSnapshot(`
731
- {
732
- "inner": {
733
- "metadata": {
734
- "authenticatorData": "0x49960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97630500000000",
735
- "clientDataJSON": "{"type":"webauthn.get","challenge":"3q2-7w","origin":"http://localhost","crossOrigin":false}",
736
- },
737
- "publicKey": {
738
- "prefix": 4,
739
- "x": 78495282704852028275327922540131762143565388050940484317945369745559774511861n,
740
- "y": 8109764566587999957624872393871720746996669263962991155166704261108473113504n,
741
- },
742
- "signature": {
743
- "r": 92602584010956101470289867944347135737570451066466093224269890121909314569518n,
744
- "s": 54171125190222965779385658110416711469231271457324878825831748147306957269813n,
745
- },
746
- "type": "webAuthn",
747
- },
748
- "type": "keychain",
749
- "userAddress": "0xfedcbafedcbafedcbafedcbafedcbafedcbafedc",
750
- "version": "v2",
751
- }
752
- `)
753
- })
754
-
755
- test('behavior: deserializes keychain signature with magic identifier', () => {
756
- const serialized = SignatureEnvelope.serialize(
757
- signature_keychain_secp256k1,
758
- { magic: true },
759
- )
760
- const deserialized = SignatureEnvelope.deserialize(serialized)
761
-
762
- expect(deserialized).toMatchObject({
763
- userAddress: signature_keychain_secp256k1.userAddress,
764
- inner: SignatureEnvelope.from(signature_secp256k1),
765
- type: 'keychain',
766
- })
767
- })
768
-
769
- test('error: throws on invalid keychain signature length', () => {
770
- // Keychain signature too short (must be at least 21 bytes: 1 type + 20 address)
771
- const invalidSig = `0x03${'00'.repeat(10)}` as const
772
- expect(() =>
773
- SignatureEnvelope.deserialize(invalidSig),
774
- ).toThrowErrorMatchingInlineSnapshot(
775
- `[Hex.SliceOffsetOutOfBoundsError: Slice starting at offset \`20\` is out-of-bounds (size: \`10\`).]`,
776
- )
777
- })
778
- })
779
- })
780
-
781
- describe('extractAddress', () => {
782
- describe('secp256k1', () => {
783
- test('default', () => {
784
- const privateKey = Secp256k1.randomPrivateKey()
785
- const address = Address.fromPublicKey(
786
- Secp256k1.getPublicKey({ privateKey }),
787
- )
788
- const payload = '0xdeadbeef' as const
789
-
790
- const signature = Secp256k1.sign({ payload, privateKey })
791
- const envelope = SignatureEnvelope.from(signature)
792
-
793
- expect(
794
- SignatureEnvelope.extractAddress({ payload, signature: envelope }),
795
- ).toBe(address)
796
- })
797
- })
798
-
799
- describe('p256', () => {
800
- test('default', () => {
801
- const privateKey = P256.randomPrivateKey()
802
- const pk = P256.getPublicKey({ privateKey })
803
- const address = Address.fromPublicKey(pk)
804
- const payload = '0xdeadbeef' as const
805
-
806
- const signature = P256.sign({ payload, privateKey })
807
- const envelope = SignatureEnvelope.from({
808
- prehash: false,
809
- publicKey: pk,
810
- signature,
811
- })
812
-
813
- expect(
814
- SignatureEnvelope.extractAddress({ payload, signature: envelope }),
815
- ).toBe(address)
816
- })
817
- })
818
-
819
- describe('webAuthn', () => {
820
- test('default', () => {
821
- const address = Address.fromPublicKey(publicKey)
822
-
823
- expect(
824
- SignatureEnvelope.extractAddress({
825
- payload: '0xdeadbeef',
826
- signature: signature_webauthn,
827
- }),
828
- ).toBe(address)
829
- })
830
- })
831
-
832
- describe('keychain', () => {
833
- test('default', () => {
834
- const privateKey = Secp256k1.randomPrivateKey()
835
- const address = Address.fromPublicKey(
836
- Secp256k1.getPublicKey({ privateKey }),
837
- )
838
- const payload = '0xdeadbeef' as const
839
-
840
- const signature = Secp256k1.sign({ payload, privateKey })
841
- const envelope = SignatureEnvelope.from({
842
- userAddress: '0x1234567890123456789012345678901234567890',
843
- inner: SignatureEnvelope.from(signature),
844
- })
845
-
846
- expect(
847
- SignatureEnvelope.extractAddress({ payload, signature: envelope }),
848
- ).toBe(address)
849
- })
850
-
851
- test('behavior: root = true returns userAddress', () => {
852
- expect(
853
- SignatureEnvelope.extractAddress({
854
- payload: '0xdeadbeef',
855
- signature: signature_keychain_secp256k1,
856
- root: true,
857
- }),
858
- ).toBe('0x1234567890123456789012345678901234567890')
859
- })
860
- })
861
- })
862
-
863
- describe('extractPublicKey', () => {
864
- describe('secp256k1', () => {
865
- test('default', () => {
866
- const privateKey = Secp256k1.randomPrivateKey()
867
- const pk = Secp256k1.getPublicKey({ privateKey })
868
- const payload = '0xdeadbeef' as const
869
-
870
- const signature = Secp256k1.sign({ payload, privateKey })
871
- const envelope = SignatureEnvelope.from(signature)
872
-
873
- expect(
874
- SignatureEnvelope.extractPublicKey({ payload, signature: envelope }),
875
- ).toEqual(pk)
876
- })
877
- })
878
-
879
- describe('p256', () => {
880
- test('default', () => {
881
- const privateKey = P256.randomPrivateKey()
882
- const pk = P256.getPublicKey({ privateKey })
883
- const payload = '0xdeadbeef' as const
884
-
885
- const signature = P256.sign({ payload, privateKey })
886
- const envelope = SignatureEnvelope.from({
887
- prehash: false,
888
- publicKey: pk,
889
- signature,
890
- })
891
-
892
- expect(
893
- SignatureEnvelope.extractPublicKey({ payload, signature: envelope }),
894
- ).toEqual(pk)
895
- })
896
- })
897
-
898
- describe('webAuthn', () => {
899
- test('default', () => {
900
- expect(
901
- SignatureEnvelope.extractPublicKey({
902
- payload: '0xdeadbeef',
903
- signature: signature_webauthn,
904
- }),
905
- ).toEqual(publicKey)
906
- })
907
- })
908
-
909
- describe('keychain', () => {
910
- test('default', () => {
911
- const privateKey = Secp256k1.randomPrivateKey()
912
- const pk = Secp256k1.getPublicKey({ privateKey })
913
- const payload = '0xdeadbeef' as const
914
-
915
- const signature = Secp256k1.sign({ payload, privateKey })
916
- const envelope = SignatureEnvelope.from({
917
- userAddress: '0x1234567890123456789012345678901234567890',
918
- inner: SignatureEnvelope.from(signature),
919
- })
920
-
921
- expect(
922
- SignatureEnvelope.extractPublicKey({ payload, signature: envelope }),
923
- ).toEqual(pk)
924
- })
925
- })
926
- })
927
-
928
- describe('from', () => {
929
- describe('secp256k1', () => {
930
- test('behavior: coerces from hex string', () => {
931
- const serialized = Signature.toHex(signature_secp256k1)
932
-
933
- const envelope = SignatureEnvelope.from(serialized)
934
-
935
- expect(envelope).toMatchObject({
936
- signature: {
937
- r: signature_secp256k1.r,
938
- s: signature_secp256k1.s,
939
- yParity: signature_secp256k1.yParity,
940
- },
941
- type: 'secp256k1',
942
- })
943
- })
944
-
945
- test('behavior: returns object as-is', () => {
946
- const envelope: SignatureEnvelope.SignatureEnvelope = {
947
- signature: signature_secp256k1,
948
- type: 'secp256k1',
949
- }
950
-
951
- const result = SignatureEnvelope.from(envelope)
952
-
953
- expect(result).toEqual(envelope)
954
- })
955
-
956
- test('behavior: coerces from flat signature', () => {
957
- const result = SignatureEnvelope.from(signature_secp256k1)
958
-
959
- expect(result).toMatchObject({
960
- signature: {
961
- r: signature_secp256k1.r,
962
- s: signature_secp256k1.s,
963
- yParity: signature_secp256k1.yParity,
964
- },
965
- type: 'secp256k1',
966
- })
967
- })
968
- })
969
-
970
- describe('p256', () => {
971
- test('behavior: coerces from hex string', () => {
972
- const serialized = SignatureEnvelope.serialize(signature_p256)
973
- const envelope = SignatureEnvelope.from(serialized)
974
-
975
- expect(envelope).toMatchObject({
976
- signature: {
977
- r: signature_p256.signature.r,
978
- s: signature_p256.signature.s,
979
- },
980
- type: 'p256',
981
- })
982
- })
983
-
984
- test('behavior: adds type to object', () => {
985
- const { type: _, ...withoutType } = signature_p256
986
- const envelope = SignatureEnvelope.from(withoutType)
987
-
988
- expect(envelope.type).toBe('p256')
989
- })
990
- })
991
-
992
- describe('webAuthn', () => {
993
- test('behavior: coerces from hex string', () => {
994
- const serialized = SignatureEnvelope.serialize(signature_webauthn)
995
- const envelope = SignatureEnvelope.from(serialized)
996
-
997
- expect(envelope).toMatchObject({
998
- signature: {
999
- r: signature_webauthn.signature.r,
1000
- s: signature_webauthn.signature.s,
1001
- },
1002
- type: 'webAuthn',
1003
- })
1004
- })
1005
-
1006
- test('behavior: adds type to object', () => {
1007
- const { type: _, ...withoutType } = signature_webauthn
1008
- const envelope = SignatureEnvelope.from(withoutType)
1009
-
1010
- expect(envelope.type).toBe('webAuthn')
1011
- })
1012
- })
1013
-
1014
- describe('keychain', () => {
1015
- test('behavior: coerces from hex string with secp256k1 inner', () => {
1016
- const serialized = SignatureEnvelope.serialize(
1017
- signature_keychain_secp256k1,
1018
- )
1019
- const envelope = SignatureEnvelope.from(serialized)
1020
-
1021
- expect(envelope).toMatchObject({
1022
- userAddress: signature_keychain_secp256k1.userAddress,
1023
- inner: SignatureEnvelope.from(signature_secp256k1),
1024
- type: 'keychain',
1025
- })
1026
- })
1027
-
1028
- test('behavior: coerces from hex string with p256 inner', () => {
1029
- const serialized = SignatureEnvelope.serialize(signature_keychain_p256)
1030
- const envelope = SignatureEnvelope.from(serialized)
1031
-
1032
- expect(envelope).toMatchObject({
1033
- userAddress: signature_keychain_p256.userAddress,
1034
- type: 'keychain',
1035
- })
1036
- })
1037
-
1038
- test('behavior: adds type to object', () => {
1039
- const { type: _, ...withoutType } = signature_keychain_secp256k1
1040
- const envelope = SignatureEnvelope.from(withoutType)
1041
-
1042
- expect(envelope.type).toBe('keychain')
1043
- })
1044
-
1045
- test('behavior: computes keyId from p256 inner publicKey', () => {
1046
- const envelope = SignatureEnvelope.from({
1047
- userAddress: '0x1234567890123456789012345678901234567890',
1048
- inner: signature_p256,
1049
- })
1050
-
1051
- expect(envelope.keyId).toBe(Address.fromPublicKey(publicKey))
1052
- })
1053
-
1054
- test('behavior: computes keyId from webAuthn inner publicKey', () => {
1055
- const envelope = SignatureEnvelope.from({
1056
- userAddress: '0x1234567890123456789012345678901234567890',
1057
- inner: signature_webauthn,
1058
- })
1059
-
1060
- expect(envelope.keyId).toBe(Address.fromPublicKey(publicKey))
1061
- })
1062
-
1063
- test('behavior: computes keyId from secp256k1 inner with payload', () => {
1064
- const privateKey = Secp256k1.randomPrivateKey()
1065
- const accessKeyPublicKey = Secp256k1.getPublicKey({ privateKey })
1066
- const payload = '0xdeadbeef'
1067
- const sig = Secp256k1.sign({ payload, privateKey })
1068
-
1069
- const envelope = SignatureEnvelope.from(
1070
- {
1071
- userAddress: '0x1234567890123456789012345678901234567890',
1072
- inner: SignatureEnvelope.from(sig),
1073
- },
1074
- { payload },
1075
- )
1076
-
1077
- expect(envelope.keyId).toBe(Address.fromPublicKey(accessKeyPublicKey))
1078
- })
1079
-
1080
- test('behavior: does not compute keyId for secp256k1 without payload', () => {
1081
- const envelope = SignatureEnvelope.from({
1082
- userAddress: '0x1234567890123456789012345678901234567890',
1083
- inner: SignatureEnvelope.from(signature_secp256k1),
1084
- })
1085
-
1086
- expect(envelope.keyId).toBeUndefined()
1087
- })
1088
-
1089
- test('behavior: preserves explicit keyId', () => {
1090
- const explicitKeyId = '0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
1091
- const envelope = SignatureEnvelope.from({
1092
- userAddress: '0x1234567890123456789012345678901234567890',
1093
- inner: signature_p256,
1094
- keyId: explicitKeyId,
1095
- })
1096
-
1097
- expect(envelope.keyId).toBe(explicitKeyId)
1098
- })
1099
- })
1100
-
1101
- describe('multisig', () => {
1102
- const genesisConfig = MultisigConfig.from({
1103
- threshold: 1,
1104
- owners: [
1105
- {
1106
- owner: '0x1111111111111111111111111111111111111111',
1107
- weight: 1,
1108
- },
1109
- ],
1110
- })
1111
-
1112
- test('behavior: derives `account`/`genesisConfigId` from `genesisConfig`', () => {
1113
- const envelope = SignatureEnvelope.from({
1114
- genesisConfig,
1115
- signatures: [SignatureEnvelope.from(signature_secp256k1)],
1116
- })
1117
-
1118
- expect(envelope).toMatchObject({
1119
- type: 'multisig',
1120
- account: MultisigConfig.getAddress(genesisConfig),
1121
- genesisConfigId: MultisigConfig.toId(genesisConfig),
1122
- })
1123
- expect('genesisConfig' in envelope).toBe(false)
1124
- expect((envelope as SignatureEnvelope.Multisig).init).toBeUndefined()
1125
- })
1126
-
1127
- test('behavior: `init: true` opts into bootstrap (uses `genesisConfig` as `init`)', () => {
1128
- const envelope = SignatureEnvelope.from({
1129
- genesisConfig,
1130
- signatures: [SignatureEnvelope.from(signature_secp256k1)],
1131
- init: true,
1132
- })
1133
-
1134
- expect((envelope as SignatureEnvelope.Multisig).init).toEqual(
1135
- genesisConfig,
1136
- )
1137
- })
1138
-
1139
- test('behavior: `init` accepts an explicit config', () => {
1140
- const otherConfig = MultisigConfig.from({
1141
- threshold: 1,
1142
- owners: [
1143
- {
1144
- owner: '0x2222222222222222222222222222222222222222',
1145
- weight: 1,
1146
- },
1147
- ],
1148
- })
1149
- const envelope = SignatureEnvelope.from({
1150
- genesisConfig,
1151
- signatures: [SignatureEnvelope.from(signature_secp256k1)],
1152
- init: otherConfig,
1153
- })
1154
-
1155
- expect((envelope as SignatureEnvelope.Multisig).init).toEqual(otherConfig)
1156
- })
1157
-
1158
- test('behavior: `{account, genesisConfigId}` form still works', () => {
1159
- const account = MultisigConfig.getAddress(genesisConfig)
1160
- const genesisConfigId = MultisigConfig.toId(genesisConfig)
1161
- const envelope = SignatureEnvelope.from({
1162
- account,
1163
- genesisConfigId,
1164
- signatures: [SignatureEnvelope.from(signature_secp256k1)],
1165
- })
1166
-
1167
- expect(envelope).toMatchObject({
1168
- type: 'multisig',
1169
- account,
1170
- genesisConfigId,
1171
- })
1172
- })
1173
- })
1174
- })
1175
-
1176
- describe('getType', () => {
1177
- describe('secp256k1', () => {
1178
- test('behavior: returns explicit type', () => {
1179
- const envelope: SignatureEnvelope.SignatureEnvelope = {
1180
- signature: { r: 0n, s: 0n, yParity: 0 },
1181
- type: 'secp256k1',
1182
- }
1183
-
1184
- expect(SignatureEnvelope.getType(envelope)).toBe('secp256k1')
1185
- })
1186
-
1187
- test('behavior: infers type from properties', () => {
1188
- expect(
1189
- SignatureEnvelope.getType({ signature: signature_secp256k1 }),
1190
- ).toBe('secp256k1')
1191
- })
1192
-
1193
- test('behavior: infers type from flat signature', () => {
1194
- const signature = { r: 0n, s: 0n, yParity: 0 }
1195
- expect(SignatureEnvelope.getType(signature)).toBe('secp256k1')
1196
- })
1197
- })
1198
-
1199
- describe('p256', () => {
1200
- test('behavior: returns explicit type', () => {
1201
- expect(SignatureEnvelope.getType(signature_p256)).toBe('p256')
1202
- })
1203
-
1204
- test('behavior: infers type from properties', () => {
1205
- const { type: _, ...signatureWithoutType } = signature_p256
1206
- expect(SignatureEnvelope.getType(signatureWithoutType)).toBe('p256')
1207
- })
1208
- })
1209
-
1210
- describe('webAuthn', () => {
1211
- test('behavior: returns explicit type', () => {
1212
- expect(SignatureEnvelope.getType(signature_webauthn)).toBe('webAuthn')
1213
- })
1214
-
1215
- test('behavior: infers type from properties', () => {
1216
- const { type: _, ...signatureWithoutType } = signature_webauthn
1217
- expect(SignatureEnvelope.getType(signatureWithoutType)).toBe('webAuthn')
1218
- })
1219
- })
1220
-
1221
- describe('keychain', () => {
1222
- test('behavior: returns explicit type', () => {
1223
- expect(SignatureEnvelope.getType(signature_keychain_secp256k1)).toBe(
1224
- 'keychain',
1225
- )
1226
- })
1227
-
1228
- test('behavior: infers type from properties', () => {
1229
- const { type: _, ...signatureWithoutType } = signature_keychain_secp256k1
1230
- expect(SignatureEnvelope.getType(signatureWithoutType)).toBe('keychain')
1231
- })
1232
-
1233
- test('behavior: infers type for keychain with p256 inner', () => {
1234
- const { type: _, ...signatureWithoutType } = signature_keychain_p256
1235
- expect(SignatureEnvelope.getType(signatureWithoutType)).toBe('keychain')
1236
- })
1237
-
1238
- test('behavior: infers type for keychain with webAuthn inner', () => {
1239
- const { type: _, ...signatureWithoutType } = signature_keychain_webauthn
1240
- expect(SignatureEnvelope.getType(signatureWithoutType)).toBe('keychain')
1241
- })
1242
- })
1243
-
1244
- test('error: throws on invalid envelope', () => {
1245
- expect(() =>
1246
- SignatureEnvelope.getType({} as any),
1247
- ).toThrowErrorMatchingInlineSnapshot(
1248
- `[SignatureEnvelope.CoercionError: Unable to coerce value (\`{}\`) to a valid signature envelope.]`,
1249
- )
1250
- })
1251
-
1252
- test('error: throws on incomplete signature', () => {
1253
- expect(() =>
1254
- SignatureEnvelope.getType({
1255
- r: 0n,
1256
- s: 0n,
1257
- } as any),
1258
- ).toThrowErrorMatchingInlineSnapshot(
1259
- `[SignatureEnvelope.CoercionError: Unable to coerce value (\`{"r":"0#__bigint","s":"0#__bigint"}\`) to a valid signature envelope.]`,
1260
- )
1261
- })
1262
- })
1263
-
1264
- describe('serialize', () => {
1265
- describe('secp256k1', () => {
1266
- test('behavior: serializes with explicit type', () => {
1267
- const envelope: SignatureEnvelope.SignatureEnvelope = {
1268
- signature: signature_secp256k1,
1269
- type: 'secp256k1',
1270
- }
1271
-
1272
- const serialized = SignatureEnvelope.serialize(envelope)
1273
-
1274
- expect(serialized).toBe(Signature.toHex(signature_secp256k1))
1275
- })
1276
-
1277
- test('behavior: serializes without explicit type', () => {
1278
- const serialized = SignatureEnvelope.serialize({
1279
- signature: signature_secp256k1,
1280
- type: 'secp256k1',
1281
- })
1282
-
1283
- expect(serialized).toBe(Signature.toHex(signature_secp256k1))
1284
- })
1285
-
1286
- test('behavior: serializes with magic identifier', () => {
1287
- const envelope: SignatureEnvelope.SignatureEnvelope = {
1288
- signature: signature_secp256k1,
1289
- type: 'secp256k1',
1290
- }
1291
-
1292
- const serialized = SignatureEnvelope.serialize(envelope, { magic: true })
1293
-
1294
- expect(serialized.endsWith(SignatureEnvelope.magicBytes.slice(2))).toBe(
1295
- true,
1296
- )
1297
- expect(Hex.size(serialized)).toBe(65 + 32) // signature + magic identifier
1298
- })
1299
- })
1300
-
1301
- describe('p256', () => {
1302
- test('behavior: serializes P256 signature with type identifier', () => {
1303
- const serialized = SignatureEnvelope.serialize(signature_p256)
1304
-
1305
- // Should be 130 bytes: 1 (type) + 32 (r) + 32 (s) + 32 (pubKeyX) + 32 (pubKeyY) + 1 (prehash)
1306
- expect(serialized.length).toBe(2 + 130 * 2) // 2 for '0x' prefix + 130 bytes * 2 hex chars
1307
-
1308
- // First byte should be P256 type identifier (0x01)
1309
- expect(serialized.slice(0, 4)).toBe('0x01')
1310
- })
1311
-
1312
- test('behavior: serializes prehash flag correctly', () => {
1313
- const withPreHashFalse = { ...signature_p256, prehash: false }
1314
- const serialized = SignatureEnvelope.serialize(withPreHashFalse)
1315
-
1316
- // Last byte should be 0x00 for false
1317
- expect(serialized.slice(-2)).toBe('00')
1318
- })
1319
-
1320
- test('behavior: serializes with magic identifier', () => {
1321
- const serialized = SignatureEnvelope.serialize(signature_p256, {
1322
- magic: true,
1323
- })
1324
-
1325
- expect(serialized.endsWith(SignatureEnvelope.magicBytes.slice(2))).toBe(
1326
- true,
1327
- )
1328
- expect(Hex.size(serialized)).toBe(130 + 32) // signature + magic identifier
1329
- })
1330
- })
1331
-
1332
- describe('webAuthn', () => {
1333
- test('behavior: serializes WebAuthn signature with type identifier', () => {
1334
- const serialized = SignatureEnvelope.serialize(signature_webauthn)
1335
-
1336
- // Should be: 1 (type) + authenticatorData.length + clientDataJSON.length + 128 (signature components)
1337
- const authDataLength =
1338
- (signature_webauthn.metadata.authenticatorData.length - 2) / 2
1339
- const clientDataLength = signature_webauthn.metadata.clientDataJSON.length
1340
- const expectedLength =
1341
- 2 + (1 + authDataLength + clientDataLength + 128) * 2
1342
-
1343
- expect(serialized.length).toBe(expectedLength)
1344
-
1345
- // First byte should be WebAuthn type identifier (0x02)
1346
- expect(serialized.slice(0, 4)).toBe('0x02')
1347
- })
1348
-
1349
- test('behavior: preserves metadata', () => {
1350
- const serialized = SignatureEnvelope.serialize(signature_webauthn)
1351
- const deserialized = SignatureEnvelope.deserialize(serialized)
1352
-
1353
- expect(deserialized.metadata?.authenticatorData).toBe(
1354
- signature_webauthn.metadata.authenticatorData,
1355
- )
1356
- expect(deserialized.metadata?.clientDataJSON).toBe(
1357
- signature_webauthn.metadata.clientDataJSON,
1358
- )
1359
- })
1360
-
1361
- test('behavior: serializes with magic identifier', () => {
1362
- const serialized = SignatureEnvelope.serialize(signature_webauthn, {
1363
- magic: true,
1364
- })
1365
-
1366
- expect(serialized.endsWith(SignatureEnvelope.magicBytes.slice(2))).toBe(
1367
- true,
1368
- )
1369
-
1370
- const authDataLength =
1371
- (signature_webauthn.metadata.authenticatorData.length - 2) / 2
1372
- const clientDataLength = signature_webauthn.metadata.clientDataJSON.length
1373
- const expectedSize = 1 + authDataLength + clientDataLength + 128 + 32 // type + data + signature components + magic
1374
-
1375
- expect(Hex.size(serialized)).toBe(expectedSize)
1376
- })
1377
- })
1378
-
1379
- describe('keychain', () => {
1380
- test('behavior: serializes keychain signature with secp256k1 inner and type identifier', () => {
1381
- const serialized = SignatureEnvelope.serialize(
1382
- signature_keychain_secp256k1,
1383
- )
1384
-
1385
- // Should be: 1 (type) + 20 (address) + 65 (secp256k1 signature)
1386
- expect(Hex.size(serialized)).toBe(1 + 20 + 65)
1387
-
1388
- // First byte should be Keychain V2 type identifier (0x04)
1389
- expect(Hex.slice(serialized, 0, 1)).toBe('0x04')
1390
-
1391
- // Next 20 bytes should be the user address (without '0x')
1392
- expect(Hex.slice(serialized, 1, 21)).toBe(
1393
- signature_keychain_secp256k1.userAddress,
1394
- )
1395
- })
1396
-
1397
- test('behavior: serializes keychain signature with p256 inner', () => {
1398
- const serialized = SignatureEnvelope.serialize(signature_keychain_p256)
1399
-
1400
- // Should be: 1 (type) + 20 (address) + 130 (p256 signature with type)
1401
- expect(Hex.size(serialized)).toBe(1 + 20 + 130)
1402
-
1403
- // First byte should be Keychain V2 type identifier (0x04)
1404
- expect(Hex.slice(serialized, 0, 1)).toBe('0x04')
1405
-
1406
- // Next 20 bytes should be the user address (without '0x')
1407
- expect(Hex.slice(serialized, 1, 21)).toBe(
1408
- signature_keychain_p256.userAddress,
1409
- )
1410
-
1411
- // Next 130 bytes should be the p256 signature
1412
- expect(Hex.slice(serialized, 21, 151)).toBe(
1413
- SignatureEnvelope.serialize(signature_p256),
1414
- )
1415
- })
1416
-
1417
- test('behavior: serializes keychain signature with webAuthn inner', () => {
1418
- const serialized = SignatureEnvelope.serialize(
1419
- signature_keychain_webauthn,
1420
- )
1421
-
1422
- // First byte should be Keychain V2 type identifier (0x04)
1423
- expect(Hex.slice(serialized, 0, 1)).toBe('0x04')
1424
-
1425
- // Should contain the user address
1426
- expect(Hex.slice(serialized, 1, 21)).toBe(
1427
- signature_keychain_webauthn.userAddress,
1428
- )
1429
-
1430
- // Next N bytes should be the webAuthn signature
1431
- expect(Hex.slice(serialized, 21)).toBe(
1432
- SignatureEnvelope.serialize(signature_webauthn),
1433
- )
1434
- })
1435
-
1436
- test('behavior: preserves userAddress and inner signature', () => {
1437
- const serialized = SignatureEnvelope.serialize(
1438
- signature_keychain_secp256k1,
1439
- )
1440
- const deserialized = SignatureEnvelope.deserialize(serialized)
1441
-
1442
- expect(deserialized.userAddress).toBe(
1443
- signature_keychain_secp256k1.userAddress,
1444
- )
1445
- expect(deserialized.inner).toMatchObject({
1446
- type: 'secp256k1',
1447
- signature: {
1448
- r: signature_secp256k1.r,
1449
- s: signature_secp256k1.s,
1450
- yParity: signature_secp256k1.yParity,
1451
- },
1452
- })
1453
- })
1454
-
1455
- test('behavior: serializes with magic identifier', () => {
1456
- const serialized = SignatureEnvelope.serialize(
1457
- signature_keychain_secp256k1,
1458
- { magic: true },
1459
- )
1460
-
1461
- expect(serialized.endsWith(SignatureEnvelope.magicBytes.slice(2))).toBe(
1462
- true,
1463
- )
1464
- expect(Hex.size(serialized)).toBe(1 + 20 + 65 + 32) // type + address + secp256k1 + magic
1465
- })
1466
- })
1467
-
1468
- describe('roundtrip', () => {
1469
- describe('secp256k1', () => {
1470
- test('behavior: roundtrips serialize -> deserialize', () => {
1471
- const envelope: SignatureEnvelope.Secp256k1 = {
1472
- signature: signature_secp256k1,
1473
- type: 'secp256k1',
1474
- }
1475
-
1476
- const serialized = SignatureEnvelope.serialize(envelope)
1477
- const deserialized = SignatureEnvelope.deserialize(serialized)
1478
-
1479
- expect(deserialized).toMatchObject({
1480
- signature: {
1481
- r: signature_secp256k1.r,
1482
- s: signature_secp256k1.s,
1483
- yParity: signature_secp256k1.yParity,
1484
- },
1485
- type: 'secp256k1',
1486
- })
1487
- })
1488
-
1489
- test('behavior: roundtrips serialize with magic -> deserialize', () => {
1490
- const envelope: SignatureEnvelope.Secp256k1 = {
1491
- signature: signature_secp256k1,
1492
- type: 'secp256k1',
1493
- }
1494
-
1495
- const serialized = SignatureEnvelope.serialize(envelope, {
1496
- magic: true,
1497
- })
1498
- const deserialized = SignatureEnvelope.deserialize(serialized)
1499
-
1500
- expect(deserialized).toMatchObject({
1501
- signature: {
1502
- r: signature_secp256k1.r,
1503
- s: signature_secp256k1.s,
1504
- yParity: signature_secp256k1.yParity,
1505
- },
1506
- type: 'secp256k1',
1507
- })
1508
- })
1509
- })
1510
-
1511
- describe('p256', () => {
1512
- test('behavior: roundtrips serialize -> deserialize', () => {
1513
- const serialized = SignatureEnvelope.serialize(signature_p256)
1514
- const deserialized = SignatureEnvelope.deserialize(serialized)
1515
-
1516
- expect(deserialized).toMatchObject({
1517
- signature: {
1518
- r: signature_p256.signature.r,
1519
- s: signature_p256.signature.s,
1520
- },
1521
- publicKey: {
1522
- x: signature_p256.publicKey.x,
1523
- y: signature_p256.publicKey.y,
1524
- },
1525
- prehash: signature_p256.prehash,
1526
- type: 'p256',
1527
- })
1528
- })
1529
-
1530
- test('behavior: handles prehash=false', () => {
1531
- const signature = { ...signature_p256, prehash: false }
1532
- const serialized = SignatureEnvelope.serialize(signature)
1533
- const deserialized = SignatureEnvelope.deserialize(serialized)
1534
-
1535
- expect(deserialized.prehash).toBe(false)
1536
- })
1537
-
1538
- test('behavior: roundtrips serialize with magic -> deserialize', () => {
1539
- const serialized = SignatureEnvelope.serialize(signature_p256, {
1540
- magic: true,
1541
- })
1542
- const deserialized = SignatureEnvelope.deserialize(serialized)
1543
-
1544
- expect(deserialized).toMatchObject({
1545
- signature: {
1546
- r: signature_p256.signature.r,
1547
- s: signature_p256.signature.s,
1548
- },
1549
- publicKey: {
1550
- x: signature_p256.publicKey.x,
1551
- y: signature_p256.publicKey.y,
1552
- },
1553
- prehash: signature_p256.prehash,
1554
- type: 'p256',
1555
- })
1556
- })
1557
- })
1558
-
1559
- describe('webAuthn', () => {
1560
- test('behavior: roundtrips serialize -> deserialize', () => {
1561
- const serialized = SignatureEnvelope.serialize(signature_webauthn)
1562
- const deserialized = SignatureEnvelope.deserialize(serialized)
1563
-
1564
- expect(deserialized).toMatchObject({
1565
- signature: {
1566
- r: signature_webauthn.signature.r,
1567
- s: signature_webauthn.signature.s,
1568
- },
1569
- publicKey: {
1570
- x: signature_webauthn.publicKey.x,
1571
- y: signature_webauthn.publicKey.y,
1572
- },
1573
- metadata: {
1574
- authenticatorData: signature_webauthn.metadata.authenticatorData,
1575
- clientDataJSON: signature_webauthn.metadata.clientDataJSON,
1576
- },
1577
- type: 'webAuthn',
1578
- })
1579
- })
1580
-
1581
- test('behavior: handles variable-length clientDataJSON', () => {
1582
- const longClientData = JSON.stringify({
1583
- type: 'webAuthn.get',
1584
- challenge: 'a'.repeat(100),
1585
- origin: 'https://example.com',
1586
- })
1587
-
1588
- const signatureWithLongData = {
1589
- ...signature_webauthn,
1590
- metadata: {
1591
- ...signature_webauthn.metadata,
1592
- clientDataJSON: longClientData,
1593
- },
1594
- }
1595
-
1596
- const serialized = SignatureEnvelope.serialize(signatureWithLongData)
1597
- const deserialized = SignatureEnvelope.deserialize(serialized)
1598
-
1599
- expect(deserialized.metadata?.clientDataJSON).toBe(longClientData)
1600
- })
1601
-
1602
- test('behavior: roundtrips serialize with magic -> deserialize', () => {
1603
- const serialized = SignatureEnvelope.serialize(signature_webauthn, {
1604
- magic: true,
1605
- })
1606
- const deserialized = SignatureEnvelope.deserialize(serialized)
1607
-
1608
- expect(deserialized).toMatchObject({
1609
- signature: {
1610
- r: signature_webauthn.signature.r,
1611
- s: signature_webauthn.signature.s,
1612
- },
1613
- publicKey: {
1614
- x: signature_webauthn.publicKey.x,
1615
- y: signature_webauthn.publicKey.y,
1616
- },
1617
- metadata: {
1618
- authenticatorData: signature_webauthn.metadata.authenticatorData,
1619
- clientDataJSON: signature_webauthn.metadata.clientDataJSON,
1620
- },
1621
- type: 'webAuthn',
1622
- })
1623
- })
1624
- })
1625
-
1626
- describe('keychain', () => {
1627
- test('behavior: roundtrips serialize -> deserialize with secp256k1 inner', () => {
1628
- const serialized = SignatureEnvelope.serialize(
1629
- signature_keychain_secp256k1,
1630
- )
1631
- const deserialized = SignatureEnvelope.deserialize(serialized)
1632
-
1633
- expect(deserialized).toMatchObject(signature_keychain_secp256k1)
1634
- })
1635
-
1636
- test('behavior: roundtrips serialize -> deserialize with p256 inner', () => {
1637
- const serialized = SignatureEnvelope.serialize(signature_keychain_p256)
1638
- const deserialized = SignatureEnvelope.deserialize(serialized)
1639
-
1640
- expect(deserialized).toMatchInlineSnapshot(`
1641
- {
1642
- "inner": {
1643
- "prehash": true,
1644
- "publicKey": {
1645
- "prefix": 4,
1646
- "x": 78495282704852028275327922540131762143565388050940484317945369745559774511861n,
1647
- "y": 8109764566587999957624872393871720746996669263962991155166704261108473113504n,
1648
- },
1649
- "signature": {
1650
- "r": 92602584010956101470289867944347135737570451066466093224269890121909314569518n,
1651
- "s": 54171125190222965779385658110416711469231271457324878825831748147306957269813n,
1652
- },
1653
- "type": "p256",
1654
- },
1655
- "type": "keychain",
1656
- "userAddress": "0xabcdefabcdefabcdefabcdefabcdefabcdefabcd",
1657
- "version": "v2",
1658
- }
1659
- `)
1660
- })
1661
-
1662
- test('behavior: roundtrips serialize -> deserialize with webAuthn inner', () => {
1663
- const serialized = SignatureEnvelope.serialize(
1664
- signature_keychain_webauthn,
1665
- )
1666
- const deserialized = SignatureEnvelope.deserialize(serialized)
1667
-
1668
- expect(deserialized).toMatchInlineSnapshot(`
1669
- {
1670
- "inner": {
1671
- "metadata": {
1672
- "authenticatorData": "0x49960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97630500000000",
1673
- "clientDataJSON": "{"type":"webauthn.get","challenge":"3q2-7w","origin":"http://localhost","crossOrigin":false}",
1674
- },
1675
- "publicKey": {
1676
- "prefix": 4,
1677
- "x": 78495282704852028275327922540131762143565388050940484317945369745559774511861n,
1678
- "y": 8109764566587999957624872393871720746996669263962991155166704261108473113504n,
1679
- },
1680
- "signature": {
1681
- "r": 92602584010956101470289867944347135737570451066466093224269890121909314569518n,
1682
- "s": 54171125190222965779385658110416711469231271457324878825831748147306957269813n,
1683
- },
1684
- "type": "webAuthn",
1685
- },
1686
- "type": "keychain",
1687
- "userAddress": "0xfedcbafedcbafedcbafedcbafedcbafedcbafedc",
1688
- "version": "v2",
1689
- }
1690
- `)
1691
- })
1692
-
1693
- test('behavior: roundtrips serialize with magic -> deserialize with secp256k1 inner', () => {
1694
- const serialized = SignatureEnvelope.serialize(
1695
- signature_keychain_secp256k1,
1696
- { magic: true },
1697
- )
1698
- const deserialized = SignatureEnvelope.deserialize(serialized)
1699
-
1700
- expect(deserialized).toMatchObject(signature_keychain_secp256k1)
1701
- })
1702
-
1703
- test('behavior: roundtrips serialize with magic -> deserialize with p256 inner', () => {
1704
- const serialized = SignatureEnvelope.serialize(
1705
- signature_keychain_p256,
1706
- { magic: true },
1707
- )
1708
- const deserialized = SignatureEnvelope.deserialize(serialized)
1709
-
1710
- expect(deserialized).toMatchObject({
1711
- type: 'keychain',
1712
- userAddress: signature_keychain_p256.userAddress,
1713
- inner: {
1714
- type: 'p256',
1715
- prehash: signature_p256.prehash,
1716
- publicKey: {
1717
- x: signature_p256.publicKey.x,
1718
- y: signature_p256.publicKey.y,
1719
- },
1720
- signature: {
1721
- r: signature_p256.signature.r,
1722
- s: signature_p256.signature.s,
1723
- },
1724
- },
1725
- })
1726
- })
1727
-
1728
- test('behavior: roundtrips serialize with magic -> deserialize with webAuthn inner', () => {
1729
- const serialized = SignatureEnvelope.serialize(
1730
- signature_keychain_webauthn,
1731
- { magic: true },
1732
- )
1733
- const deserialized = SignatureEnvelope.deserialize(serialized)
1734
-
1735
- expect(deserialized).toMatchObject({
1736
- type: 'keychain',
1737
- userAddress: signature_keychain_webauthn.userAddress,
1738
- inner: {
1739
- type: 'webAuthn',
1740
- metadata: {
1741
- authenticatorData: signature_webauthn.metadata.authenticatorData,
1742
- clientDataJSON: signature_webauthn.metadata.clientDataJSON,
1743
- },
1744
- publicKey: {
1745
- x: signature_webauthn.publicKey.x,
1746
- y: signature_webauthn.publicKey.y,
1747
- },
1748
- signature: {
1749
- r: signature_webauthn.signature.r,
1750
- s: signature_webauthn.signature.s,
1751
- },
1752
- },
1753
- })
1754
- })
1755
- })
1756
- })
1757
-
1758
- test('error: throws on invalid envelope', () => {
1759
- const error = (() => {
1760
- try {
1761
- SignatureEnvelope.serialize({} as any)
1762
- return
1763
- } catch (e) {
1764
- return e
1765
- }
1766
- })() as SignatureEnvelope.CoercionError
1767
- expect(error).toBeInstanceOf(SignatureEnvelope.CoercionError)
1768
- expect(error.message).toMatchInlineSnapshot(
1769
- `"Unable to coerce value (\`{}\`) to a valid signature envelope."`,
1770
- )
1771
- })
1772
- })
1773
-
1774
- describe('sortMultisigApprovals', () => {
1775
- // Build owner key pairs first so we can construct a real genesis config
1776
- // whose owner set matches the keys that produce the approvals below.
1777
- const ownerKeys = Array.from({ length: 3 }, () => {
1778
- const privateKey = Secp256k1.randomPrivateKey()
1779
- const address = Address.fromPublicKey(
1780
- Secp256k1.getPublicKey({ privateKey }),
1781
- )
1782
- return { address, privateKey } as const
1783
- })
1784
- const ascendingOwners = [...ownerKeys].sort((a, b) =>
1785
- Hex.toBigInt(a.address) < Hex.toBigInt(b.address) ? -1 : 1,
1786
- )
1787
-
1788
- const genesisConfig = MultisigConfig.from({
1789
- threshold: 2,
1790
- owners: ascendingOwners.map((o) => ({ owner: o.address, weight: 1 })),
1791
- })
1792
- const payload = `0x${'42'.repeat(32)}` as const
1793
- const digest = MultisigConfig.getSignPayload({ payload, genesisConfig })
1794
-
1795
- const owners = ownerKeys.map((owner) => ({
1796
- address: owner.address,
1797
- signature: SignatureEnvelope.from(
1798
- Secp256k1.sign({ payload: digest, privateKey: owner.privateKey }),
1799
- ),
1800
- }))
1801
- const ascending = ascendingOwners.map((o) => ({
1802
- address: o.address,
1803
- signature: owners.find((x) => x.address === o.address)!.signature,
1804
- }))
1805
-
1806
- test('behavior: orders approvals ascending by recovered owner address', () => {
1807
- const ordered = SignatureEnvelope.sortMultisigApprovals({
1808
- genesisConfig,
1809
- payload,
1810
- // Provide approvals in reverse of the canonical order.
1811
- signatures: [...ascending].reverse().map((owner) => owner.signature),
1812
- })
1813
- expect(ordered).toEqual(ascending.map((owner) => owner.signature))
1814
- })
1815
-
1816
- test('behavior: already-sorted input is unchanged', () => {
1817
- const signatures = ascending.map((owner) => owner.signature)
1818
- expect(
1819
- SignatureEnvelope.sortMultisigApprovals({
1820
- genesisConfig,
1821
- payload,
1822
- signatures,
1823
- }),
1824
- ).toEqual(signatures)
1825
- })
1826
-
1827
- test('behavior: recovered order matches the config owner order', () => {
1828
- const ordered = SignatureEnvelope.sortMultisigApprovals({
1829
- genesisConfig,
1830
- payload,
1831
- signatures: owners.map((owner) => owner.signature),
1832
- })
1833
- const recovered = ordered.map((signature) =>
1834
- SignatureEnvelope.extractAddress({ payload: digest, signature }),
1835
- )
1836
- expect(recovered).toEqual(ascending.map((owner) => owner.address))
1837
- })
1838
-
1839
- test('behavior: `genesisConfig` and `{account, genesisConfigId}` produce identical ordering', () => {
1840
- const account = MultisigConfig.getAddress(genesisConfig)
1841
- const genesisConfigId = MultisigConfig.toId(genesisConfig)
1842
- const signatures = owners.map((owner) => owner.signature)
1843
-
1844
- const fromConfig = SignatureEnvelope.sortMultisigApprovals({
1845
- genesisConfig,
1846
- payload,
1847
- signatures,
1848
- })
1849
- const fromIds = SignatureEnvelope.sortMultisigApprovals({
1850
- account,
1851
- genesisConfigId,
1852
- payload,
1853
- signatures,
1854
- })
1855
- expect(fromConfig).toEqual(fromIds)
1856
- })
1857
- })
1858
-
1859
- describe('validate', () => {
1860
- describe('secp256k1', () => {
1861
- test('behavior: returns true for valid signature', () => {
1862
- expect(
1863
- SignatureEnvelope.validate({
1864
- signature: signature_secp256k1,
1865
- type: 'secp256k1',
1866
- }),
1867
- ).toBe(true)
1868
- })
1869
-
1870
- test('behavior: returns true for signature without explicit type', () => {
1871
- expect(
1872
- SignatureEnvelope.validate({ signature: signature_secp256k1 }),
1873
- ).toBe(true)
1874
- })
1875
-
1876
- test('behavior: returns false for invalid signature values', () => {
1877
- expect(
1878
- SignatureEnvelope.validate({
1879
- signature: {
1880
- r: 0n,
1881
- s: 0n,
1882
- yParity: 2,
1883
- },
1884
- type: 'secp256k1',
1885
- }),
1886
- ).toBe(false)
1887
- })
1888
- })
1889
-
1890
- describe('p256', () => {
1891
- test('behavior: returns true for valid P256 signature', () => {
1892
- expect(SignatureEnvelope.validate(signature_p256)).toBe(true)
1893
- })
1894
-
1895
- test('behavior: returns false for invalid P256 signature', () => {
1896
- expect(
1897
- SignatureEnvelope.validate({
1898
- ...signature_p256,
1899
- prehash: 'invalid' as any,
1900
- }),
1901
- ).toBe(false)
1902
- })
1903
- })
1904
-
1905
- describe('webAuthn', () => {
1906
- test('behavior: returns true for valid WebAuthn signature', () => {
1907
- expect(SignatureEnvelope.validate(signature_webauthn)).toBe(true)
1908
- })
1909
-
1910
- test('behavior: returns false for invalid WebAuthn signature', () => {
1911
- const { metadata: _, ...withoutMetadata } = signature_webauthn
1912
- expect(SignatureEnvelope.validate(withoutMetadata as any)).toBe(false)
1913
- })
1914
- })
1915
-
1916
- describe('keychain', () => {
1917
- test('behavior: returns true for valid keychain with secp256k1 inner', () => {
1918
- expect(SignatureEnvelope.validate(signature_keychain_secp256k1)).toBe(
1919
- true,
1920
- )
1921
- })
1922
-
1923
- test('behavior: returns true for valid keychain with p256 inner', () => {
1924
- expect(SignatureEnvelope.validate(signature_keychain_p256)).toBe(true)
1925
- })
1926
-
1927
- test('behavior: returns true for valid keychain with webAuthn inner', () => {
1928
- expect(SignatureEnvelope.validate(signature_keychain_webauthn)).toBe(true)
1929
- })
1930
-
1931
- test('behavior: returns false for invalid keychain signature', () => {
1932
- expect(
1933
- SignatureEnvelope.validate({
1934
- userAddress: '0x1234567890123456789012345678901234567890',
1935
- inner: {
1936
- signature: {
1937
- r: 0n,
1938
- s: 0n,
1939
- yParity: 2,
1940
- },
1941
- type: 'secp256k1',
1942
- },
1943
- type: 'keychain',
1944
- } as any),
1945
- ).toBe(false)
1946
- })
1947
- })
1948
-
1949
- test('behavior: returns false for invalid envelope', () => {
1950
- expect(SignatureEnvelope.validate({} as any)).toBe(false)
1951
- })
1952
-
1953
- test('behavior: returns false for incomplete signature', () => {
1954
- expect(
1955
- SignatureEnvelope.validate({
1956
- r: 0n,
1957
- s: 0n,
1958
- } as any),
1959
- ).toBe(false)
1960
- })
1961
- })
1962
-
1963
- describe('verify', () => {
1964
- describe('secp256k1', () => {
1965
- test('behavior: verifies valid signature with publicKey', () => {
1966
- const privateKey = Secp256k1.randomPrivateKey()
1967
- const publicKey = Secp256k1.getPublicKey({ privateKey })
1968
- const payload = '0xdeadbeef' as const
1969
-
1970
- const signature = Secp256k1.sign({ payload, privateKey })
1971
- const envelope = SignatureEnvelope.from(signature)
1972
-
1973
- expect(
1974
- SignatureEnvelope.verify(envelope, {
1975
- payload,
1976
- publicKey,
1977
- }),
1978
- ).toBe(true)
1979
- })
1980
-
1981
- test('behavior: verifies valid signature with address', () => {
1982
- const privateKey = Secp256k1.randomPrivateKey()
1983
- const publicKey = Secp256k1.getPublicKey({ privateKey })
1984
- const address = Address.fromPublicKey(publicKey)
1985
- const payload = '0xdeadbeef' as const
1986
-
1987
- const signature = Secp256k1.sign({ payload, privateKey })
1988
- const envelope = SignatureEnvelope.from(signature)
1989
-
1990
- expect(
1991
- SignatureEnvelope.verify(envelope, {
1992
- payload,
1993
- address,
1994
- }),
1995
- ).toBe(true)
1996
- })
1997
-
1998
- test('behavior: returns false for wrong publicKey', () => {
1999
- const privateKey = Secp256k1.randomPrivateKey()
2000
- const wrongPrivateKey = Secp256k1.randomPrivateKey()
2001
- const wrongPublicKey = Secp256k1.getPublicKey({
2002
- privateKey: wrongPrivateKey,
2003
- })
2004
- const payload = '0xdeadbeef' as const
2005
-
2006
- const signature = Secp256k1.sign({ payload, privateKey })
2007
- const envelope = SignatureEnvelope.from(signature)
2008
-
2009
- expect(
2010
- SignatureEnvelope.verify(envelope, {
2011
- payload,
2012
- publicKey: wrongPublicKey,
2013
- }),
2014
- ).toBe(false)
2015
- })
2016
-
2017
- test('behavior: returns false for wrong payload', () => {
2018
- const privateKey = Secp256k1.randomPrivateKey()
2019
- const publicKey = Secp256k1.getPublicKey({ privateKey })
2020
- const payload = '0xdeadbeef' as const
2021
-
2022
- const signature = Secp256k1.sign({ payload, privateKey })
2023
- const envelope = SignatureEnvelope.from(signature)
2024
-
2025
- expect(
2026
- SignatureEnvelope.verify(envelope, {
2027
- payload: '0xcafebabe',
2028
- publicKey,
2029
- }),
2030
- ).toBe(false)
2031
- })
2032
- })
2033
-
2034
- describe('p256', () => {
2035
- test('behavior: verifies valid signature with publicKey', () => {
2036
- const privateKey = P256.randomPrivateKey()
2037
- const publicKey = P256.getPublicKey({ privateKey })
2038
- const payload = '0xdeadbeef' as const
2039
-
2040
- const signature = P256.sign({ payload, privateKey })
2041
- const envelope = SignatureEnvelope.from({
2042
- prehash: false,
2043
- publicKey,
2044
- signature,
2045
- })
2046
-
2047
- expect(
2048
- SignatureEnvelope.verify(envelope, {
2049
- payload,
2050
- publicKey,
2051
- }),
2052
- ).toBe(true)
2053
- })
2054
-
2055
- test('behavior: verifies valid signature with address', () => {
2056
- const privateKey = P256.randomPrivateKey()
2057
- const publicKey = P256.getPublicKey({ privateKey })
2058
- const address = Address.fromPublicKey(publicKey)
2059
- const payload = '0xdeadbeef' as const
2060
-
2061
- const signature = P256.sign({ payload, privateKey })
2062
- const envelope = SignatureEnvelope.from({
2063
- prehash: false,
2064
- publicKey,
2065
- signature,
2066
- })
2067
-
2068
- expect(
2069
- SignatureEnvelope.verify(envelope, {
2070
- payload,
2071
- address,
2072
- }),
2073
- ).toBe(true)
2074
- })
2075
-
2076
- test('behavior: returns false for mismatched publicKey', () => {
2077
- const privateKey = P256.randomPrivateKey()
2078
- const publicKey = P256.getPublicKey({ privateKey })
2079
- const wrongPrivateKey = P256.randomPrivateKey()
2080
- const wrongPublicKey = P256.getPublicKey({ privateKey: wrongPrivateKey })
2081
- const payload = '0xdeadbeef' as const
2082
-
2083
- const signature = P256.sign({ payload, privateKey })
2084
- const envelope = SignatureEnvelope.from({
2085
- prehash: false,
2086
- publicKey,
2087
- signature,
2088
- })
2089
-
2090
- expect(
2091
- SignatureEnvelope.verify(envelope, {
2092
- payload,
2093
- publicKey: wrongPublicKey,
2094
- }),
2095
- ).toBe(false)
2096
- })
2097
-
2098
- test('behavior: returns false for wrong payload', () => {
2099
- const privateKey = P256.randomPrivateKey()
2100
- const publicKey = P256.getPublicKey({ privateKey })
2101
- const payload = '0xdeadbeef' as const
2102
-
2103
- const signature = P256.sign({ payload, privateKey })
2104
- const envelope = SignatureEnvelope.from({
2105
- prehash: false,
2106
- publicKey,
2107
- signature,
2108
- })
2109
-
2110
- expect(
2111
- SignatureEnvelope.verify(envelope, {
2112
- payload: '0xcafebabe',
2113
- publicKey,
2114
- }),
2115
- ).toBe(false)
2116
- })
2117
- })
2118
-
2119
- describe('webCryptoP256', () => {
2120
- test('behavior: verifies valid signature with publicKey', async () => {
2121
- const { privateKey, publicKey } = await WebCryptoP256.createKeyPair()
2122
- const payload = '0xdeadbeef' as const
2123
-
2124
- const signature = await WebCryptoP256.sign({ payload, privateKey })
2125
- const envelope = SignatureEnvelope.from({
2126
- prehash: true,
2127
- publicKey,
2128
- signature,
2129
- })
2130
-
2131
- expect(
2132
- SignatureEnvelope.verify(envelope, {
2133
- payload,
2134
- publicKey,
2135
- }),
2136
- ).toBe(true)
2137
- })
2138
-
2139
- test('behavior: verifies valid signature with address', async () => {
2140
- const { privateKey, publicKey } = await WebCryptoP256.createKeyPair()
2141
- const address = Address.fromPublicKey(publicKey)
2142
- const payload = '0xdeadbeef' as const
2143
-
2144
- const signature = await WebCryptoP256.sign({ payload, privateKey })
2145
- const envelope = SignatureEnvelope.from({
2146
- prehash: true,
2147
- publicKey,
2148
- signature,
2149
- })
2150
-
2151
- expect(
2152
- SignatureEnvelope.verify(envelope, {
2153
- payload,
2154
- address,
2155
- }),
2156
- ).toBe(true)
2157
- })
2158
-
2159
- test('behavior: returns false for mismatched publicKey', async () => {
2160
- const { privateKey, publicKey } = await WebCryptoP256.createKeyPair()
2161
- const { publicKey: wrongPublicKey } = await WebCryptoP256.createKeyPair()
2162
- const payload = '0xdeadbeef' as const
2163
-
2164
- const signature = await WebCryptoP256.sign({ payload, privateKey })
2165
- const envelope = SignatureEnvelope.from({
2166
- prehash: true,
2167
- publicKey,
2168
- signature,
2169
- })
2170
-
2171
- expect(
2172
- SignatureEnvelope.verify(envelope, {
2173
- payload,
2174
- publicKey: wrongPublicKey,
2175
- }),
2176
- ).toBe(false)
2177
- })
2178
-
2179
- test('behavior: returns false for wrong payload', async () => {
2180
- const { privateKey, publicKey } = await WebCryptoP256.createKeyPair()
2181
- const payload = '0xdeadbeef' as const
2182
-
2183
- const signature = await WebCryptoP256.sign({ payload, privateKey })
2184
- const envelope = SignatureEnvelope.from({
2185
- prehash: true,
2186
- publicKey,
2187
- signature,
2188
- })
2189
-
2190
- expect(
2191
- SignatureEnvelope.verify(envelope, {
2192
- payload: '0xcafebabe',
2193
- publicKey,
2194
- }),
2195
- ).toBe(false)
2196
- })
2197
- })
2198
-
2199
- describe('webAuthn', () => {
2200
- test('behavior: returns false for mismatched publicKey', () => {
2201
- const wrongPrivateKey = P256.randomPrivateKey()
2202
- const wrongPublicKey = P256.getPublicKey({ privateKey: wrongPrivateKey })
2203
- const payload = '0xdeadbeef' as const
2204
-
2205
- expect(
2206
- SignatureEnvelope.verify(signature_webauthn, {
2207
- payload,
2208
- publicKey: wrongPublicKey,
2209
- }),
2210
- ).toBe(false)
2211
- })
2212
-
2213
- test('behavior: returns false for mismatched address', () => {
2214
- const wrongPrivateKey = P256.randomPrivateKey()
2215
- const wrongPublicKey = P256.getPublicKey({ privateKey: wrongPrivateKey })
2216
- const wrongAddress = Address.fromPublicKey(wrongPublicKey)
2217
- const payload = '0xdeadbeef' as const
2218
-
2219
- expect(
2220
- SignatureEnvelope.verify(signature_webauthn, {
2221
- payload,
2222
- address: wrongAddress,
2223
- }),
2224
- ).toBe(false)
2225
- })
2226
- })
2227
-
2228
- describe('keychain', () => {
2229
- test('error: throws for keychain signatures', () => {
2230
- const privateKey = Secp256k1.randomPrivateKey()
2231
- const secp256k1PublicKey = Secp256k1.getPublicKey({ privateKey })
2232
- const payload = '0xdeadbeef' as const
2233
-
2234
- const signature = Secp256k1.sign({ payload, privateKey })
2235
- const innerEnvelope = SignatureEnvelope.from(signature)
2236
- const envelope = SignatureEnvelope.from({
2237
- userAddress: '0x1234567890123456789012345678901234567890',
2238
- inner: innerEnvelope,
2239
- })
2240
-
2241
- expect(() =>
2242
- SignatureEnvelope.verify(envelope, {
2243
- payload,
2244
- publicKey: secp256k1PublicKey,
2245
- }),
2246
- ).toThrowErrorMatchingInlineSnapshot(
2247
- `[SignatureEnvelope.VerificationError: Unable to verify signature envelope of type "keychain".]`,
2248
- )
2249
- })
2250
- })
2251
- })
2252
-
2253
- describe('fromRpc', () => {
2254
- describe('secp256k1', () => {
2255
- test('behavior: converts RPC secp256k1 signature', () => {
2256
- const rpc: SignatureEnvelope.Secp256k1Rpc = {
2257
- r: Signature.toRpc(signature_secp256k1).r,
2258
- s: Signature.toRpc(signature_secp256k1).s,
2259
- yParity: Signature.toRpc(signature_secp256k1).yParity,
2260
- type: 'secp256k1',
2261
- }
2262
-
2263
- const envelope = SignatureEnvelope.fromRpc(rpc)
2264
-
2265
- expect(envelope).toMatchObject({
2266
- signature: {
2267
- r: signature_secp256k1.r,
2268
- s: signature_secp256k1.s,
2269
- yParity: signature_secp256k1.yParity,
2270
- },
2271
- type: 'secp256k1',
2272
- })
2273
- })
2274
- })
2275
-
2276
- describe('p256', () => {
2277
- test('behavior: converts RPC P256 signature', () => {
2278
- const rpc: SignatureEnvelope.P256Rpc = {
2279
- preHash: true,
2280
- pubKeyX: Hex.fromNumber(publicKey.x, { size: 32 }),
2281
- pubKeyY: Hex.fromNumber(publicKey.y, { size: 32 }),
2282
- r: Hex.fromNumber(p256Signature.r, { size: 32 }),
2283
- s: Hex.fromNumber(p256Signature.s, { size: 32 }),
2284
- type: 'p256',
2285
- }
2286
-
2287
- const envelope = SignatureEnvelope.fromRpc(rpc)
2288
-
2289
- expect(envelope).toMatchObject({
2290
- prehash: true,
2291
- publicKey: {
2292
- x: publicKey.x,
2293
- y: publicKey.y,
2294
- },
2295
- signature: {
2296
- r: p256Signature.r,
2297
- s: p256Signature.s,
2298
- },
2299
- type: 'p256',
2300
- })
2301
- })
2302
- })
2303
-
2304
- describe('webAuthn', () => {
2305
- test('behavior: converts RPC WebAuthn signature', () => {
2306
- const webauthnData = WebAuthnP256.getAuthenticatorData({
2307
- rpId: 'localhost',
2308
- })
2309
- const clientDataJSON = WebAuthnP256.getClientDataJSON({
2310
- challenge: '0xdeadbeef',
2311
- origin: 'http://localhost',
2312
- })
2313
-
2314
- const rpc: SignatureEnvelope.WebAuthnRpc = {
2315
- pubKeyX: Hex.fromNumber(publicKey.x, { size: 32 }),
2316
- pubKeyY: Hex.fromNumber(publicKey.y, { size: 32 }),
2317
- r: Hex.fromNumber(p256Signature.r, { size: 32 }),
2318
- s: Hex.fromNumber(p256Signature.s, { size: 32 }),
2319
- type: 'webAuthn',
2320
- webauthnData: Hex.concat(webauthnData, Hex.fromString(clientDataJSON)),
2321
- }
2322
-
2323
- const envelope = SignatureEnvelope.fromRpc(rpc)
2324
-
2325
- expect(envelope).toMatchObject({
2326
- metadata: {
2327
- authenticatorData: webauthnData,
2328
- clientDataJSON,
2329
- },
2330
- publicKey: {
2331
- x: publicKey.x,
2332
- y: publicKey.y,
2333
- },
2334
- signature: {
2335
- r: p256Signature.r,
2336
- s: p256Signature.s,
2337
- },
2338
- type: 'webAuthn',
2339
- })
2340
- })
2341
- })
2342
-
2343
- describe('keychain', () => {
2344
- test('behavior: converts RPC keychain signature with secp256k1 inner', () => {
2345
- const rpc: SignatureEnvelope.KeychainRpc = {
2346
- type: 'keychain',
2347
- userAddress: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',
2348
- signature: {
2349
- type: 'secp256k1',
2350
- r: '0xa2bb71146c20ce932456c043ebb2973ed205e07cd32c35a60bdefca1285fd132',
2351
- s: '0x7cba10692bccdbfba9a215418443c2903dbee6fe5cb55c91172e47efc607840e',
2352
- yParity: '0x1',
2353
- },
2354
- }
2355
-
2356
- const envelope = SignatureEnvelope.fromRpc(rpc)
2357
-
2358
- expect(envelope).toMatchObject({
2359
- type: 'keychain',
2360
- userAddress: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',
2361
- inner: {
2362
- type: 'secp256k1',
2363
- signature: {
2364
- r: 0xa2bb71146c20ce932456c043ebb2973ed205e07cd32c35a60bdefca1285fd132n,
2365
- s: 0x7cba10692bccdbfba9a215418443c2903dbee6fe5cb55c91172e47efc607840en,
2366
- yParity: 1,
2367
- },
2368
- },
2369
- })
2370
- })
2371
-
2372
- test('behavior: converts RPC keychain signature with p256 inner', () => {
2373
- const rpc: SignatureEnvelope.KeychainRpc = {
2374
- type: 'keychain',
2375
- userAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
2376
- signature: {
2377
- preHash: true,
2378
- pubKeyX: Hex.fromNumber(publicKey.x, { size: 32 }),
2379
- pubKeyY: Hex.fromNumber(publicKey.y, { size: 32 }),
2380
- r: Hex.fromNumber(p256Signature.r, { size: 32 }),
2381
- s: Hex.fromNumber(p256Signature.s, { size: 32 }),
2382
- type: 'p256',
2383
- },
2384
- }
2385
-
2386
- const envelope = SignatureEnvelope.fromRpc(rpc)
2387
-
2388
- expect(envelope).toMatchObject({
2389
- type: 'keychain',
2390
- userAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
2391
- inner: {
2392
- type: 'p256',
2393
- prehash: true,
2394
- publicKey: {
2395
- x: publicKey.x,
2396
- y: publicKey.y,
2397
- },
2398
- signature: {
2399
- r: p256Signature.r,
2400
- s: p256Signature.s,
2401
- },
2402
- },
2403
- })
2404
- })
2405
-
2406
- test('behavior: converts RPC keychain signature with webAuthn inner', () => {
2407
- const webauthnData = WebAuthnP256.getAuthenticatorData({
2408
- rpId: 'localhost',
2409
- })
2410
- const clientDataJSON = WebAuthnP256.getClientDataJSON({
2411
- challenge: '0xdeadbeef',
2412
- origin: 'http://localhost',
2413
- })
2414
-
2415
- const rpc: SignatureEnvelope.KeychainRpc = {
2416
- type: 'keychain',
2417
- userAddress: '0xfedcbafedcbafedcbafedcbafedcbafedcbafedc',
2418
- signature: {
2419
- pubKeyX: Hex.fromNumber(publicKey.x, { size: 32 }),
2420
- pubKeyY: Hex.fromNumber(publicKey.y, { size: 32 }),
2421
- r: Hex.fromNumber(p256Signature.r, { size: 32 }),
2422
- s: Hex.fromNumber(p256Signature.s, { size: 32 }),
2423
- type: 'webAuthn',
2424
- webauthnData: Hex.concat(
2425
- webauthnData,
2426
- Hex.fromString(clientDataJSON),
2427
- ),
2428
- },
2429
- }
2430
-
2431
- const envelope = SignatureEnvelope.fromRpc(rpc)
2432
-
2433
- expect(envelope).toMatchObject({
2434
- type: 'keychain',
2435
- userAddress: '0xfedcbafedcbafedcbafedcbafedcbafedcbafedc',
2436
- inner: {
2437
- type: 'webAuthn',
2438
- metadata: {
2439
- authenticatorData: webauthnData,
2440
- clientDataJSON,
2441
- },
2442
- publicKey: {
2443
- x: publicKey.x,
2444
- y: publicKey.y,
2445
- },
2446
- signature: {
2447
- r: p256Signature.r,
2448
- s: p256Signature.s,
2449
- },
2450
- },
2451
- })
2452
- })
2453
-
2454
- test('behavior: preserves keyId from RPC', () => {
2455
- const rpc: SignatureEnvelope.KeychainRpc = {
2456
- type: 'keychain',
2457
- userAddress: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',
2458
- keyId: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
2459
- signature: {
2460
- type: 'secp256k1',
2461
- r: '0xa2bb71146c20ce932456c043ebb2973ed205e07cd32c35a60bdefca1285fd132',
2462
- s: '0x7cba10692bccdbfba9a215418443c2903dbee6fe5cb55c91172e47efc607840e',
2463
- yParity: '0x1',
2464
- },
2465
- }
2466
-
2467
- const envelope = SignatureEnvelope.fromRpc(rpc)
2468
-
2469
- expect(envelope.keyId).toBe('0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c')
2470
- })
2471
- })
2472
- })
2473
-
2474
- describe('toRpc', () => {
2475
- describe('secp256k1', () => {
2476
- test('behavior: converts secp256k1 signature to RPC', () => {
2477
- const envelope: SignatureEnvelope.Secp256k1 = {
2478
- signature: signature_secp256k1,
2479
- type: 'secp256k1',
2480
- }
2481
-
2482
- const rpc = SignatureEnvelope.toRpc(envelope)
2483
-
2484
- expect(rpc).toMatchObject({
2485
- r: Signature.toRpc(signature_secp256k1).r,
2486
- s: Signature.toRpc(signature_secp256k1).s,
2487
- yParity: Signature.toRpc(signature_secp256k1).yParity,
2488
- type: 'secp256k1',
2489
- })
2490
- })
2491
- })
2492
-
2493
- describe('p256', () => {
2494
- test('behavior: converts P256 signature to RPC', () => {
2495
- const rpc = SignatureEnvelope.toRpc(signature_p256)
2496
-
2497
- expect(rpc.type).toBe('p256')
2498
- expect(rpc.preHash).toBe(true)
2499
- expect(typeof rpc.pubKeyX).toBe('string')
2500
- expect(typeof rpc.pubKeyY).toBe('string')
2501
- expect(typeof rpc.r).toBe('string')
2502
- expect(typeof rpc.s).toBe('string')
2503
- })
2504
-
2505
- test('behavior: converts prehash=false correctly', () => {
2506
- const withPrehashFalse = { ...signature_p256, prehash: false }
2507
- const rpc = SignatureEnvelope.toRpc(withPrehashFalse)
2508
-
2509
- expect(rpc.preHash).toBe(false)
2510
- })
2511
- })
2512
-
2513
- describe('webAuthn', () => {
2514
- test('behavior: converts WebAuthn signature to RPC', () => {
2515
- const rpc = SignatureEnvelope.toRpc(
2516
- signature_webauthn,
2517
- ) as SignatureEnvelope.WebAuthnRpc
2518
-
2519
- expect(rpc.type).toBe('webAuthn')
2520
- expect(typeof rpc.pubKeyX).toBe('string')
2521
- expect(typeof rpc.pubKeyY).toBe('string')
2522
- expect(typeof rpc.r).toBe('string')
2523
- expect(typeof rpc.s).toBe('string')
2524
- expect(typeof rpc.webauthnData).toBe('string')
2525
- expect(rpc.webauthnData.startsWith('0x')).toBe(true)
2526
- })
2527
-
2528
- test('behavior: webauthnData contains authenticatorData and clientDataJSON', () => {
2529
- const rpc = SignatureEnvelope.toRpc(
2530
- signature_webauthn,
2531
- ) as SignatureEnvelope.WebAuthnRpc
2532
-
2533
- // webauthnData should contain the concatenation of authenticatorData and clientDataJSON (as hex)
2534
- expect(rpc.webauthnData).toContain(
2535
- signature_webauthn.metadata.authenticatorData.slice(2),
2536
- )
2537
- })
2538
- })
2539
-
2540
- describe('keychain', () => {
2541
- test('behavior: converts keychain signature with secp256k1 inner to RPC', () => {
2542
- const envelope: SignatureEnvelope.Keychain = {
2543
- type: 'keychain',
2544
- userAddress: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',
2545
- inner: {
2546
- signature: signature_secp256k1,
2547
- type: 'secp256k1',
2548
- },
2549
- }
2550
-
2551
- const rpc = SignatureEnvelope.toRpc(
2552
- envelope,
2553
- ) as SignatureEnvelope.KeychainRpc
2554
-
2555
- expect(rpc.type).toBe('keychain')
2556
- expect(rpc.userAddress).toBe('0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266')
2557
- expect(rpc.signature).toMatchObject({
2558
- r: Signature.toRpc(signature_secp256k1).r,
2559
- s: Signature.toRpc(signature_secp256k1).s,
2560
- yParity: Signature.toRpc(signature_secp256k1).yParity,
2561
- type: 'secp256k1',
2562
- })
2563
- })
2564
-
2565
- test('behavior: converts keychain signature with p256 inner to RPC', () => {
2566
- const rpc = SignatureEnvelope.toRpc(
2567
- signature_keychain_p256,
2568
- ) as SignatureEnvelope.KeychainRpc
2569
-
2570
- expect(rpc.type).toBe('keychain')
2571
- expect(rpc.userAddress).toBe(signature_keychain_p256.userAddress)
2572
- expect(rpc.signature.type).toBe('p256')
2573
- expect(typeof rpc.signature.pubKeyX).toBe('string')
2574
- expect(typeof rpc.signature.pubKeyY).toBe('string')
2575
- })
2576
-
2577
- test('behavior: converts keychain signature with webAuthn inner to RPC', () => {
2578
- const rpc = SignatureEnvelope.toRpc(
2579
- signature_keychain_webauthn,
2580
- ) as SignatureEnvelope.KeychainRpc
2581
-
2582
- expect(rpc.type).toBe('keychain')
2583
- expect(rpc.userAddress).toBe(signature_keychain_webauthn.userAddress)
2584
- expect(rpc.signature.type).toBe('webAuthn')
2585
- expect(typeof rpc.signature.pubKeyX).toBe('string')
2586
- expect(typeof rpc.signature.webauthnData).toBe('string')
2587
- })
2588
-
2589
- test('behavior: preserves keyId in toRpc', () => {
2590
- const envelope: SignatureEnvelope.Keychain = {
2591
- type: 'keychain',
2592
- userAddress: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',
2593
- keyId: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
2594
- inner: {
2595
- signature: signature_secp256k1,
2596
- type: 'secp256k1',
2597
- },
2598
- }
2599
-
2600
- const rpc = SignatureEnvelope.toRpc(
2601
- envelope,
2602
- ) as SignatureEnvelope.KeychainRpc
2603
-
2604
- expect(rpc.keyId).toBe('0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c')
2605
- })
2606
-
2607
- test('behavior: omits keyId in toRpc when not set', () => {
2608
- const envelope: SignatureEnvelope.Keychain = {
2609
- type: 'keychain',
2610
- userAddress: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',
2611
- inner: {
2612
- signature: signature_secp256k1,
2613
- type: 'secp256k1',
2614
- },
2615
- }
2616
-
2617
- const rpc = SignatureEnvelope.toRpc(
2618
- envelope,
2619
- ) as SignatureEnvelope.KeychainRpc
2620
-
2621
- expect(rpc.keyId).toBeUndefined()
2622
- })
2623
- })
2624
- })
2625
-
2626
- describe('roundtrip: toRpc <-> fromRpc', () => {
2627
- describe('secp256k1', () => {
2628
- test('behavior: roundtrips toRpc -> fromRpc', () => {
2629
- const envelope: SignatureEnvelope.Secp256k1 = {
2630
- signature: signature_secp256k1,
2631
- type: 'secp256k1',
2632
- }
2633
-
2634
- const rpc = SignatureEnvelope.toRpc(envelope)
2635
- const roundtripped = SignatureEnvelope.fromRpc(rpc)
2636
-
2637
- expect(roundtripped).toMatchObject({
2638
- signature: {
2639
- r: signature_secp256k1.r,
2640
- s: signature_secp256k1.s,
2641
- yParity: signature_secp256k1.yParity,
2642
- },
2643
- type: 'secp256k1',
2644
- })
2645
- })
2646
-
2647
- test('behavior: roundtrips fromRpc -> toRpc', () => {
2648
- const rpc: SignatureEnvelope.Secp256k1Rpc = {
2649
- r: Signature.toRpc(signature_secp256k1).r,
2650
- s: Signature.toRpc(signature_secp256k1).s,
2651
- yParity: Signature.toRpc(signature_secp256k1).yParity,
2652
- type: 'secp256k1',
2653
- }
2654
-
2655
- const envelope = SignatureEnvelope.fromRpc(rpc)
2656
- const roundtripped = SignatureEnvelope.toRpc(envelope)
2657
-
2658
- expect(roundtripped).toMatchObject(rpc)
2659
- })
2660
- })
2661
-
2662
- describe('p256', () => {
2663
- test('behavior: roundtrips toRpc -> fromRpc', () => {
2664
- const rpc = SignatureEnvelope.toRpc(signature_p256)
2665
- const roundtripped = SignatureEnvelope.fromRpc(rpc)
2666
-
2667
- expect(roundtripped).toMatchObject({
2668
- prehash: signature_p256.prehash,
2669
- publicKey: {
2670
- x: signature_p256.publicKey.x,
2671
- y: signature_p256.publicKey.y,
2672
- },
2673
- signature: {
2674
- r: signature_p256.signature.r,
2675
- s: signature_p256.signature.s,
2676
- },
2677
- type: 'p256',
2678
- })
2679
- })
2680
-
2681
- test('behavior: handles prehash=false in roundtrip', () => {
2682
- const withPrehashFalse = { ...signature_p256, prehash: false }
2683
- const rpc = SignatureEnvelope.toRpc(withPrehashFalse)
2684
- const roundtripped = SignatureEnvelope.fromRpc(rpc)
2685
-
2686
- expect(roundtripped.prehash).toBe(false)
2687
- })
2688
- })
2689
-
2690
- describe('webAuthn', () => {
2691
- test('behavior: roundtrips toRpc -> fromRpc', () => {
2692
- const rpc = SignatureEnvelope.toRpc(signature_webauthn)
2693
- const roundtripped = SignatureEnvelope.fromRpc(rpc)
2694
-
2695
- expect(roundtripped).toMatchObject({
2696
- metadata: {
2697
- authenticatorData: signature_webauthn.metadata.authenticatorData,
2698
- clientDataJSON: signature_webauthn.metadata.clientDataJSON,
2699
- },
2700
- publicKey: {
2701
- x: signature_webauthn.publicKey.x,
2702
- y: signature_webauthn.publicKey.y,
2703
- },
2704
- signature: {
2705
- r: signature_webauthn.signature.r,
2706
- s: signature_webauthn.signature.s,
2707
- },
2708
- type: 'webAuthn',
2709
- })
2710
- })
2711
-
2712
- test('behavior: handles variable-length clientDataJSON in roundtrip', () => {
2713
- const longClientData = JSON.stringify({
2714
- type: 'webAuthn.get',
2715
- challenge: 'a'.repeat(100),
2716
- origin: 'https://example.com',
2717
- crossOrigin: false,
2718
- })
2719
-
2720
- const signatureWithLongData = {
2721
- ...signature_webauthn,
2722
- metadata: {
2723
- ...signature_webauthn.metadata,
2724
- clientDataJSON: longClientData,
2725
- },
2726
- }
2727
-
2728
- const rpc = SignatureEnvelope.toRpc(signatureWithLongData)
2729
- const roundtripped = SignatureEnvelope.fromRpc(rpc)
2730
-
2731
- expect(roundtripped.metadata?.clientDataJSON).toBe(longClientData)
2732
- })
2733
- })
2734
-
2735
- describe('keychain', () => {
2736
- test('behavior: roundtrips toRpc -> fromRpc with secp256k1 inner', () => {
2737
- const envelope: SignatureEnvelope.Keychain = {
2738
- type: 'keychain',
2739
- userAddress: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',
2740
- inner: {
2741
- signature: signature_secp256k1,
2742
- type: 'secp256k1',
2743
- },
2744
- }
2745
-
2746
- const rpc = SignatureEnvelope.toRpc(envelope)
2747
- const roundtripped = SignatureEnvelope.fromRpc(rpc)
2748
-
2749
- expect(roundtripped).toMatchObject({
2750
- type: 'keychain',
2751
- userAddress: envelope.userAddress,
2752
- inner: {
2753
- type: 'secp256k1',
2754
- signature: {
2755
- r: signature_secp256k1.r,
2756
- s: signature_secp256k1.s,
2757
- yParity: signature_secp256k1.yParity,
2758
- },
2759
- },
2760
- })
2761
- })
2762
-
2763
- test('behavior: roundtrips toRpc -> fromRpc with p256 inner', () => {
2764
- const rpc = SignatureEnvelope.toRpc(signature_keychain_p256)
2765
- const roundtripped = SignatureEnvelope.fromRpc(rpc)
2766
-
2767
- expect(roundtripped).toMatchObject({
2768
- type: 'keychain',
2769
- userAddress: signature_keychain_p256.userAddress,
2770
- inner: {
2771
- type: 'p256',
2772
- prehash: signature_p256.prehash,
2773
- publicKey: {
2774
- x: signature_p256.publicKey.x,
2775
- y: signature_p256.publicKey.y,
2776
- },
2777
- signature: {
2778
- r: signature_p256.signature.r,
2779
- s: signature_p256.signature.s,
2780
- },
2781
- },
2782
- })
2783
- })
2784
-
2785
- test('behavior: roundtrips toRpc -> fromRpc with webAuthn inner', () => {
2786
- const rpc = SignatureEnvelope.toRpc(signature_keychain_webauthn)
2787
- const roundtripped = SignatureEnvelope.fromRpc(rpc)
2788
-
2789
- expect(roundtripped).toMatchObject({
2790
- type: 'keychain',
2791
- userAddress: signature_keychain_webauthn.userAddress,
2792
- inner: {
2793
- type: 'webAuthn',
2794
- metadata: {
2795
- authenticatorData: signature_webauthn.metadata.authenticatorData,
2796
- clientDataJSON: signature_webauthn.metadata.clientDataJSON,
2797
- },
2798
- publicKey: {
2799
- x: signature_webauthn.publicKey.x,
2800
- y: signature_webauthn.publicKey.y,
2801
- },
2802
- signature: {
2803
- r: signature_webauthn.signature.r,
2804
- s: signature_webauthn.signature.s,
2805
- },
2806
- },
2807
- })
2808
- })
2809
-
2810
- test('behavior: roundtrips fromRpc -> toRpc with secp256k1 inner', () => {
2811
- const rpc: SignatureEnvelope.KeychainRpc = {
2812
- type: 'keychain',
2813
- userAddress: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',
2814
- signature: {
2815
- type: 'secp256k1',
2816
- r: '0xa2bb71146c20ce932456c043ebb2973ed205e07cd32c35a60bdefca1285fd132',
2817
- s: '0x7cba10692bccdbfba9a215418443c2903dbee6fe5cb55c91172e47efc607840e',
2818
- yParity: '0x1',
2819
- },
2820
- }
2821
-
2822
- const envelope = SignatureEnvelope.fromRpc(rpc)
2823
- const roundtripped = SignatureEnvelope.toRpc(envelope)
2824
-
2825
- expect(roundtripped).toMatchObject(rpc)
2826
- })
2827
- })
2828
- })
2829
-
2830
- describe('types', () => {
2831
- test('behavior: contains all signature types', () => {
2832
- expect(SignatureEnvelope.types).toEqual(['secp256k1', 'p256', 'webAuthn'])
2833
- })
2834
- })
2835
-
2836
- describe('CoercionError', () => {
2837
- test('behavior: formats error message with hex string', () => {
2838
- const error = new SignatureEnvelope.CoercionError({
2839
- envelope: '0xdeadbeef',
2840
- })
2841
- expect(error).toMatchInlineSnapshot(
2842
- `[SignatureEnvelope.CoercionError: Unable to coerce value (\`"0xdeadbeef"\`) to a valid signature envelope.]`,
2843
- )
2844
- })
2845
-
2846
- test('behavior: formats error message with object', () => {
2847
- const error = new SignatureEnvelope.CoercionError({
2848
- envelope: { r: 0n, s: 0n, yParity: 0 },
2849
- })
2850
- expect(error).toMatchInlineSnapshot(
2851
- `[SignatureEnvelope.CoercionError: Unable to coerce value (\`{"r":"0#__bigint","s":"0#__bigint","yParity":0}\`) to a valid signature envelope.]`,
2852
- )
2853
- })
2854
- })
2855
-
2856
- describe('multisig', () => {
2857
- const account = '0x8ba6d26ff5c4e82ba0c8caf8c8ca794e1489a7ae'
2858
- const genesisConfigId =
2859
- '0x01781fe551182476f2422c759e82d81c92e3263737afbbad57def6e8b69d21f5'
2860
-
2861
- // P256 signatures do not carry `yParity` in the wire format, so use a clean
2862
- // inner signature for round-trip equality checks.
2863
- const innerP256 = SignatureEnvelope.from({
2864
- signature: { r: p256Signature.r, s: p256Signature.s },
2865
- publicKey,
2866
- prehash: true,
2867
- })
2868
-
2869
- const envelope = SignatureEnvelope.from({
2870
- type: 'multisig',
2871
- account,
2872
- genesisConfigId,
2873
- signatures: [SignatureEnvelope.from(signature_secp256k1), innerP256],
2874
- })
2875
-
2876
- test('serialize: type byte 0x05 prefix', () => {
2877
- const serialized = SignatureEnvelope.serialize(envelope)
2878
- expect(serialized.startsWith('0x05')).toBe(true)
2879
- })
2880
-
2881
- test('serialize/deserialize round-trip', () => {
2882
- const serialized = SignatureEnvelope.serialize(envelope)
2883
- expect(SignatureEnvelope.deserialize(serialized)).toEqual(envelope)
2884
- })
2885
-
2886
- test('getType', () => {
2887
- expect(SignatureEnvelope.getType(envelope)).toBe('multisig')
2888
- })
2889
-
2890
- test('extractAddress returns the multisig account', () => {
2891
- expect(
2892
- SignatureEnvelope.extractAddress({
2893
- payload: '0xdeadbeef',
2894
- signature: envelope,
2895
- }),
2896
- ).toBe(account)
2897
- })
2898
-
2899
- test('toRpc/fromRpc round-trip', () => {
2900
- const rpc = SignatureEnvelope.toRpc(envelope)
2901
- expect(rpc.type).toBe('multisig')
2902
- expect(SignatureEnvelope.fromRpc(rpc)).toEqual(envelope)
2903
- })
2904
-
2905
- test('assert: missing properties', () => {
2906
- expect(() =>
2907
- SignatureEnvelope.assert({ type: 'multisig', account } as never),
2908
- ).toThrowError()
2909
- })
2910
-
2911
- describe('init (bootstrap)', () => {
2912
- const init = {
2913
- salt: `0x${'00'.repeat(32)}` as const,
2914
- threshold: 1,
2915
- owners: [
2916
- {
2917
- owner: '0x1111111111111111111111111111111111111111' as const,
2918
- weight: 1,
2919
- },
2920
- ],
2921
- }
2922
-
2923
- const bootstrapEnvelope = SignatureEnvelope.from({
2924
- type: 'multisig',
2925
- account,
2926
- genesisConfigId,
2927
- signatures: [SignatureEnvelope.from(signature_secp256k1), innerP256],
2928
- init,
2929
- })
2930
-
2931
- test('serialize/deserialize round-trip with init', () => {
2932
- const serialized = SignatureEnvelope.serialize(bootstrapEnvelope)
2933
- expect(SignatureEnvelope.deserialize(serialized)).toEqual(
2934
- bootstrapEnvelope,
2935
- )
2936
- })
2937
-
2938
- test('serialize/deserialize round-trip preserves non-zero salt', () => {
2939
- const salted = SignatureEnvelope.from({
2940
- type: 'multisig',
2941
- account,
2942
- genesisConfigId,
2943
- signatures: [SignatureEnvelope.from(signature_secp256k1), innerP256],
2944
- init: { ...init, salt: `0x${'42'.repeat(32)}` },
2945
- })
2946
- const serialized = SignatureEnvelope.serialize(salted)
2947
- const deserialized = SignatureEnvelope.deserialize(
2948
- serialized,
2949
- ) as SignatureEnvelope.Multisig
2950
- expect(deserialized.init?.salt).toBe(`0x${'42'.repeat(32)}`)
2951
- expect(deserialized).toEqual(salted)
2952
- })
2953
-
2954
- test('absent init has no `init` key after deserialize', () => {
2955
- const serialized = SignatureEnvelope.serialize(envelope)
2956
- const deserialized = SignatureEnvelope.deserialize(serialized)
2957
- expect('init' in deserialized).toBe(false)
2958
- })
2959
-
2960
- test('init absent vs present produce different serializations', () => {
2961
- expect(SignatureEnvelope.serialize(envelope)).not.toBe(
2962
- SignatureEnvelope.serialize(bootstrapEnvelope),
2963
- )
2964
- })
2965
-
2966
- test('toRpc/fromRpc round-trip with init', () => {
2967
- const rpc = SignatureEnvelope.toRpc(bootstrapEnvelope)
2968
- expect(rpc.init).toEqual(init)
2969
- expect(SignatureEnvelope.fromRpc(rpc)).toEqual(bootstrapEnvelope)
2970
- })
2971
-
2972
- test('toRpc encodes owner approvals as serialized hex (node `Vec<Bytes>`)', () => {
2973
- const multisig = bootstrapEnvelope as SignatureEnvelope.Multisig
2974
- const rpc = SignatureEnvelope.toRpc(
2975
- multisig,
2976
- ) as SignatureEnvelope.MultisigRpc
2977
- expect(rpc.signatures).toEqual(
2978
- multisig.signatures.map((s) => SignatureEnvelope.serialize(s)),
2979
- )
2980
- })
2981
-
2982
- test('fromRpc detects multisig by shape (no `type` field)', () => {
2983
- const rpc = SignatureEnvelope.toRpc(bootstrapEnvelope)
2984
- // The node omits the `type` discriminant; detection is shape-based.
2985
- const { type: _type, ...untyped } = rpc
2986
- expect(SignatureEnvelope.fromRpc(untyped as never)).toEqual(
2987
- bootstrapEnvelope,
2988
- )
2989
- })
2990
-
2991
- test('assert: invalid init config throws', () => {
2992
- expect(() =>
2993
- SignatureEnvelope.assert({
2994
- type: 'multisig',
2995
- account,
2996
- genesisConfigId,
2997
- signatures: [],
2998
- init: { threshold: 1, owners: [] },
2999
- } as never),
3000
- ).toThrowError()
3001
- })
3002
- })
3003
- })