ox 0.9.16 → 0.10.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 (216) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +4 -4
  3. package/TxEnvelope/package.json +6 -0
  4. package/TxEnvelopeEip1559/package.json +6 -0
  5. package/TxEnvelopeEip2930/package.json +6 -0
  6. package/TxEnvelopeEip4844/package.json +6 -0
  7. package/TxEnvelopeEip7702/package.json +6 -0
  8. package/TxEnvelopeLegacy/package.json +6 -0
  9. package/_cjs/core/{TransactionEnvelope.js → TxEnvelope.js} +1 -1
  10. package/_cjs/core/TxEnvelope.js.map +1 -0
  11. package/_cjs/core/{TransactionEnvelopeEip1559.js → TxEnvelopeEip1559.js} +2 -2
  12. package/_cjs/core/TxEnvelopeEip1559.js.map +1 -0
  13. package/_cjs/core/{TransactionEnvelopeEip2930.js → TxEnvelopeEip2930.js} +2 -2
  14. package/_cjs/core/TxEnvelopeEip2930.js.map +1 -0
  15. package/_cjs/core/{TransactionEnvelopeEip4844.js → TxEnvelopeEip4844.js} +4 -4
  16. package/_cjs/core/TxEnvelopeEip4844.js.map +1 -0
  17. package/_cjs/core/{TransactionEnvelopeEip7702.js → TxEnvelopeEip7702.js} +4 -4
  18. package/_cjs/core/TxEnvelopeEip7702.js.map +1 -0
  19. package/_cjs/core/{TransactionEnvelopeLegacy.js → TxEnvelopeLegacy.js} +2 -2
  20. package/_cjs/core/TxEnvelopeLegacy.js.map +1 -0
  21. package/_cjs/core/WebAuthnP256.js +1 -1
  22. package/_cjs/core/WebAuthnP256.js.map +1 -1
  23. package/_cjs/erc8021/Attribution.js +36 -6
  24. package/_cjs/erc8021/Attribution.js.map +1 -1
  25. package/_cjs/index.docs.js +1 -0
  26. package/_cjs/index.docs.js.map +1 -1
  27. package/_cjs/index.js +7 -7
  28. package/_cjs/index.js.map +1 -1
  29. package/_cjs/tempo/AuthorizationTempo.js +101 -0
  30. package/_cjs/tempo/AuthorizationTempo.js.map +1 -0
  31. package/_cjs/tempo/KeyAuthorization.js +123 -0
  32. package/_cjs/tempo/KeyAuthorization.js.map +1 -0
  33. package/_cjs/tempo/PoolId.js +10 -0
  34. package/_cjs/tempo/PoolId.js.map +1 -0
  35. package/_cjs/tempo/SignatureEnvelope.js +394 -0
  36. package/_cjs/tempo/SignatureEnvelope.js.map +1 -0
  37. package/_cjs/tempo/Tick.js +77 -0
  38. package/_cjs/tempo/Tick.js.map +1 -0
  39. package/_cjs/tempo/TokenId.js +28 -0
  40. package/_cjs/tempo/TokenId.js.map +1 -0
  41. package/_cjs/tempo/TokenRole.js +26 -0
  42. package/_cjs/tempo/TokenRole.js.map +1 -0
  43. package/_cjs/tempo/Transaction.js +80 -0
  44. package/_cjs/tempo/Transaction.js.map +1 -0
  45. package/_cjs/tempo/TransactionReceipt.js +26 -0
  46. package/_cjs/tempo/TransactionReceipt.js.map +1 -0
  47. package/_cjs/tempo/TransactionRequest.js +53 -0
  48. package/_cjs/tempo/TransactionRequest.js.map +1 -0
  49. package/_cjs/tempo/TxEnvelopeTempo.js +267 -0
  50. package/_cjs/tempo/TxEnvelopeTempo.js.map +1 -0
  51. package/_cjs/tempo/index.js +15 -0
  52. package/_cjs/tempo/index.js.map +1 -0
  53. package/_cjs/version.js +1 -1
  54. package/_esm/core/Blobs.js +8 -8
  55. package/_esm/core/{TransactionEnvelope.js → TxEnvelope.js} +11 -11
  56. package/_esm/core/TxEnvelope.js.map +1 -0
  57. package/_esm/core/{TransactionEnvelopeEip1559.js → TxEnvelopeEip1559.js} +42 -42
  58. package/_esm/core/TxEnvelopeEip1559.js.map +1 -0
  59. package/_esm/core/{TransactionEnvelopeEip2930.js → TxEnvelopeEip2930.js} +43 -43
  60. package/_esm/core/TxEnvelopeEip2930.js.map +1 -0
  61. package/_esm/core/{TransactionEnvelopeEip4844.js → TxEnvelopeEip4844.js} +42 -42
  62. package/_esm/core/TxEnvelopeEip4844.js.map +1 -0
  63. package/_esm/core/{TransactionEnvelopeEip7702.js → TxEnvelopeEip7702.js} +40 -40
  64. package/_esm/core/TxEnvelopeEip7702.js.map +1 -0
  65. package/_esm/core/{TransactionEnvelopeLegacy.js → TxEnvelopeLegacy.js} +42 -42
  66. package/_esm/core/TxEnvelopeLegacy.js.map +1 -0
  67. package/_esm/core/WebAuthnP256.js +1 -1
  68. package/_esm/core/WebAuthnP256.js.map +1 -1
  69. package/_esm/erc8021/Attribution.js +58 -13
  70. package/_esm/erc8021/Attribution.js.map +1 -1
  71. package/_esm/index.docs.js +1 -0
  72. package/_esm/index.docs.js.map +1 -1
  73. package/_esm/index.js +192 -192
  74. package/_esm/index.js.map +1 -1
  75. package/_esm/tempo/AuthorizationTempo.js +664 -0
  76. package/_esm/tempo/AuthorizationTempo.js.map +1 -0
  77. package/_esm/tempo/KeyAuthorization.js +426 -0
  78. package/_esm/tempo/KeyAuthorization.js.map +1 -0
  79. package/_esm/tempo/PoolId.js +28 -0
  80. package/_esm/tempo/PoolId.js.map +1 -0
  81. package/_esm/tempo/SignatureEnvelope.js +660 -0
  82. package/_esm/tempo/SignatureEnvelope.js.map +1 -0
  83. package/_esm/tempo/Tick.js +147 -0
  84. package/_esm/tempo/Tick.js.map +1 -0
  85. package/_esm/tempo/TokenId.js +71 -0
  86. package/_esm/tempo/TokenId.js.map +1 -0
  87. package/_esm/tempo/TokenRole.js +40 -0
  88. package/_esm/tempo/TokenRole.js.map +1 -0
  89. package/_esm/tempo/Transaction.js +167 -0
  90. package/_esm/tempo/Transaction.js.map +1 -0
  91. package/_esm/tempo/TransactionReceipt.js +138 -0
  92. package/_esm/tempo/TransactionReceipt.js.map +1 -0
  93. package/_esm/tempo/TransactionRequest.js +99 -0
  94. package/_esm/tempo/TransactionRequest.js.map +1 -0
  95. package/_esm/tempo/TxEnvelopeTempo.js +607 -0
  96. package/_esm/tempo/TxEnvelopeTempo.js.map +1 -0
  97. package/_esm/tempo/index.js +298 -0
  98. package/_esm/tempo/index.js.map +1 -0
  99. package/_esm/version.js +1 -1
  100. package/_types/core/Blobs.d.ts +8 -8
  101. package/_types/core/{TransactionEnvelope.d.ts → TxEnvelope.d.ts} +11 -11
  102. package/_types/core/TxEnvelope.d.ts.map +1 -0
  103. package/_types/core/{TransactionEnvelopeEip1559.d.ts → TxEnvelopeEip1559.d.ts} +54 -54
  104. package/_types/core/TxEnvelopeEip1559.d.ts.map +1 -0
  105. package/_types/core/{TransactionEnvelopeEip2930.d.ts → TxEnvelopeEip2930.d.ts} +55 -55
  106. package/_types/core/TxEnvelopeEip2930.d.ts.map +1 -0
  107. package/_types/core/{TransactionEnvelopeEip4844.d.ts → TxEnvelopeEip4844.d.ts} +54 -54
  108. package/_types/core/TxEnvelopeEip4844.d.ts.map +1 -0
  109. package/_types/core/{TransactionEnvelopeEip7702.d.ts → TxEnvelopeEip7702.d.ts} +49 -49
  110. package/_types/core/TxEnvelopeEip7702.d.ts.map +1 -0
  111. package/_types/core/{TransactionEnvelopeLegacy.d.ts → TxEnvelopeLegacy.d.ts} +54 -54
  112. package/_types/core/TxEnvelopeLegacy.d.ts.map +1 -0
  113. package/_types/core/WebAuthnP256.d.ts +1 -1
  114. package/_types/core/WebAuthnP256.d.ts.map +1 -1
  115. package/_types/erc8021/Attribution.d.ts +20 -6
  116. package/_types/erc8021/Attribution.d.ts.map +1 -1
  117. package/_types/index.d.ts +192 -192
  118. package/_types/index.d.ts.map +1 -1
  119. package/_types/index.docs.d.ts +1 -0
  120. package/_types/index.docs.d.ts.map +1 -1
  121. package/_types/tempo/AuthorizationTempo.d.ts +688 -0
  122. package/_types/tempo/AuthorizationTempo.d.ts.map +1 -0
  123. package/_types/tempo/KeyAuthorization.d.ts +437 -0
  124. package/_types/tempo/KeyAuthorization.d.ts.map +1 -0
  125. package/_types/tempo/PoolId.d.ts +33 -0
  126. package/_types/tempo/PoolId.d.ts.map +1 -0
  127. package/_types/tempo/SignatureEnvelope.d.ts +438 -0
  128. package/_types/tempo/SignatureEnvelope.d.ts.map +1 -0
  129. package/_types/tempo/Tick.d.ts +120 -0
  130. package/_types/tempo/Tick.d.ts.map +1 -0
  131. package/_types/tempo/TokenId.d.ts +55 -0
  132. package/_types/tempo/TokenId.d.ts.map +1 -0
  133. package/_types/tempo/TokenRole.d.ts +29 -0
  134. package/_types/tempo/TokenRole.d.ts.map +1 -0
  135. package/_types/tempo/Transaction.d.ts +208 -0
  136. package/_types/tempo/Transaction.d.ts.map +1 -0
  137. package/_types/tempo/TransactionReceipt.d.ts +165 -0
  138. package/_types/tempo/TransactionReceipt.d.ts.map +1 -0
  139. package/_types/tempo/TransactionRequest.d.ts +89 -0
  140. package/_types/tempo/TransactionRequest.d.ts.map +1 -0
  141. package/_types/tempo/TxEnvelopeTempo.d.ts +551 -0
  142. package/_types/tempo/TxEnvelopeTempo.d.ts.map +1 -0
  143. package/_types/tempo/index.d.ts +300 -0
  144. package/_types/tempo/index.d.ts.map +1 -0
  145. package/_types/version.d.ts +1 -1
  146. package/core/Blobs.ts +8 -8
  147. package/core/{TransactionEnvelope.ts → TxEnvelope.ts} +10 -10
  148. package/core/{TransactionEnvelopeEip1559.ts → TxEnvelopeEip1559.ts} +60 -69
  149. package/core/{TransactionEnvelopeEip2930.ts → TxEnvelopeEip2930.ts} +61 -72
  150. package/core/{TransactionEnvelopeEip4844.ts → TxEnvelopeEip4844.ts} +62 -71
  151. package/core/{TransactionEnvelopeEip7702.ts → TxEnvelopeEip7702.ts} +58 -67
  152. package/core/{TransactionEnvelopeLegacy.ts → TxEnvelopeLegacy.ts} +59 -68
  153. package/core/WebAuthnP256.ts +3 -1
  154. package/erc8021/Attribution.ts +77 -15
  155. package/index.docs.ts +1 -0
  156. package/index.ts +192 -195
  157. package/package.json +91 -31
  158. package/tempo/AuthorizationTempo/package.json +6 -0
  159. package/tempo/AuthorizationTempo.test.ts +1293 -0
  160. package/tempo/AuthorizationTempo.ts +884 -0
  161. package/tempo/KeyAuthorization/package.json +6 -0
  162. package/tempo/KeyAuthorization.test.ts +1373 -0
  163. package/tempo/KeyAuthorization.ts +622 -0
  164. package/tempo/PoolId/package.json +6 -0
  165. package/tempo/PoolId.test.ts +33 -0
  166. package/tempo/PoolId.ts +42 -0
  167. package/tempo/SignatureEnvelope/package.json +6 -0
  168. package/tempo/SignatureEnvelope.test.ts +1877 -0
  169. package/tempo/SignatureEnvelope.ts +973 -0
  170. package/tempo/Tick/package.json +6 -0
  171. package/tempo/Tick.test.ts +281 -0
  172. package/tempo/Tick.ts +186 -0
  173. package/tempo/TokenId/package.json +6 -0
  174. package/tempo/TokenId.test.ts +40 -0
  175. package/tempo/TokenId.ts +80 -0
  176. package/tempo/TokenRole/package.json +6 -0
  177. package/tempo/TokenRole.test.ts +16 -0
  178. package/tempo/TokenRole.ts +45 -0
  179. package/tempo/Transaction/package.json +6 -0
  180. package/tempo/Transaction.test.ts +523 -0
  181. package/tempo/Transaction.ts +339 -0
  182. package/tempo/TransactionReceipt/package.json +6 -0
  183. package/tempo/TransactionReceipt.ts +200 -0
  184. package/tempo/TransactionRequest/package.json +6 -0
  185. package/tempo/TransactionRequest.ts +160 -0
  186. package/tempo/TxEnvelopeTempo/package.json +6 -0
  187. package/tempo/TxEnvelopeTempo.test.ts +1371 -0
  188. package/tempo/TxEnvelopeTempo.ts +972 -0
  189. package/tempo/e2e.test.ts +1387 -0
  190. package/tempo/index.ts +308 -0
  191. package/tempo/package.json +6 -0
  192. package/version.ts +1 -1
  193. package/TransactionEnvelope/package.json +0 -6
  194. package/TransactionEnvelopeEip1559/package.json +0 -6
  195. package/TransactionEnvelopeEip2930/package.json +0 -6
  196. package/TransactionEnvelopeEip4844/package.json +0 -6
  197. package/TransactionEnvelopeEip7702/package.json +0 -6
  198. package/TransactionEnvelopeLegacy/package.json +0 -6
  199. package/_cjs/core/TransactionEnvelope.js.map +0 -1
  200. package/_cjs/core/TransactionEnvelopeEip1559.js.map +0 -1
  201. package/_cjs/core/TransactionEnvelopeEip2930.js.map +0 -1
  202. package/_cjs/core/TransactionEnvelopeEip4844.js.map +0 -1
  203. package/_cjs/core/TransactionEnvelopeEip7702.js.map +0 -1
  204. package/_cjs/core/TransactionEnvelopeLegacy.js.map +0 -1
  205. package/_esm/core/TransactionEnvelope.js.map +0 -1
  206. package/_esm/core/TransactionEnvelopeEip1559.js.map +0 -1
  207. package/_esm/core/TransactionEnvelopeEip2930.js.map +0 -1
  208. package/_esm/core/TransactionEnvelopeEip4844.js.map +0 -1
  209. package/_esm/core/TransactionEnvelopeEip7702.js.map +0 -1
  210. package/_esm/core/TransactionEnvelopeLegacy.js.map +0 -1
  211. package/_types/core/TransactionEnvelope.d.ts.map +0 -1
  212. package/_types/core/TransactionEnvelopeEip1559.d.ts.map +0 -1
  213. package/_types/core/TransactionEnvelopeEip2930.d.ts.map +0 -1
  214. package/_types/core/TransactionEnvelopeEip4844.d.ts.map +0 -1
  215. package/_types/core/TransactionEnvelopeEip7702.d.ts.map +0 -1
  216. package/_types/core/TransactionEnvelopeLegacy.d.ts.map +0 -1
package/_esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkHG;AACH,OAAO,KAAK,GAAG,MAAM,eAAe,CAAA;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AACH,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAA;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AACH,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgHG;AACH,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2FG;AACH,OAAO,KAAK,WAAW,MAAM,uBAAuB,CAAA;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2EG;AACH,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAA;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqGG;AACH,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAA;AAExD;;;;GAIG;AACH,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAA;AAElD;;;;GAIG;AACH,OAAO,KAAK,YAAY,MAAM,wBAAwB,CAAA;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAA;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAA;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEG;AACH,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAA;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAA;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAA;AAE1C;;;;GAIG;AACH,OAAO,KAAK,eAAe,MAAM,2BAA2B,CAAA;AAE5D;;;;GAIG;AACH,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAA;AAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAA;AAExC;;;;GAIG;AACH,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAA;AAE1D;;;;GAIG;AACH,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAA;AAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiHG;AACH,OAAO,KAAK,GAAG,MAAM,eAAe,CAAA;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6HG;AACH,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAA;AAExC,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAA;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,OAAO,KAAK,eAAe,MAAM,2BAA2B,CAAA;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAA;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,KAAK,GAAG,MAAM,eAAe,CAAA;AAEpC,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAA;AAC1C;;GAEG;AACH,OAAO,KAAK,GAAG,MAAM,eAAe,CAAA;AACpC;;;;GAIG;AACH,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAA;AAC1C;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAA;AACtC;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAA;AACxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgHG;AACH,OAAO,KAAK,GAAG,MAAM,eAAe,CAAA;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAA;AACtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AAC9C;;;;;;GAMG;AACH,OAAO,KAAK,GAAG,MAAM,eAAe,CAAA;AACpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,OAAO,KAAK,GAAG,MAAM,eAAe,CAAA;AACpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AAC9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAA;AACtC;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,eAAe,MAAM,2BAA2B,CAAA;AAC5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkFG;AACH,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AAC9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,KAAK,SAAS,MAAM,qBAAqB,CAAA;AAChD;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,GAAG,MAAM,eAAe,CAAA;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAA;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgFG;AACH,OAAO,KAAK,WAAW,MAAM,uBAAuB,CAAA;AACpD;;;;GAIG;AACH,OAAO,KAAK,SAAS,MAAM,qBAAqB,CAAA;AAChD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,KAAK,YAAY,MAAM,wBAAwB,CAAA;AACtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH,OAAO,KAAK,SAAS,MAAM,qBAAqB,CAAA;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,KAAK,SAAS,MAAM,qBAAqB,CAAA;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkGG;AACH,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAEtC,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AAE9C;;;;GAIG;AACH,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAA;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,OAAO,KAAK,WAAW,MAAM,uBAAuB,CAAA;AACpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,OAAO,KAAK,kBAAkB,MAAM,8BAA8B,CAAA;AAClE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,kBAAkB,MAAM,8BAA8B,CAAA;AAClE;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,mBAAmB,MAAM,sBAAsB,CAAA;AAC3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoKG;AACH,OAAO,KAAK,iBAAiB,MAAM,6BAA6B,CAAA;AAChE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4JG;AACH,OAAO,KAAK,iBAAiB,MAAM,6BAA6B,CAAA;AAChE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqLG;AACH,OAAO,KAAK,iBAAiB,MAAM,6BAA6B,CAAA;AAChE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkIG;AACH,OAAO,KAAK,iBAAiB,MAAM,6BAA6B,CAAA;AAChE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwJG;AACH,OAAO,KAAK,gBAAgB,MAAM,4BAA4B,CAAA;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,OAAO,KAAK,SAAS,MAAM,qBAAqB,CAAA;AAEhD;;;;GAIG;AACH,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAA;AAExD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAA;AAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+EG;AACH,OAAO,KAAK,YAAY,MAAM,wBAAwB,CAAA;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AACH,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAA;AAExD;;;;GAIG;AACH,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAA;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,664 @@
1
+ import * as Hash from '../core/Hash.js';
2
+ import * as Hex from '../core/Hex.js';
3
+ import * as Rlp from '../core/Rlp.js';
4
+ import * as SignatureEnvelope from './SignatureEnvelope.js';
5
+ /**
6
+ * Converts an EIP-7702 Authorization object into a typed {@link ox#AuthorizationTempo.AuthorizationTempo}.
7
+ *
8
+ * Tempo extends EIP-7702 to support secp256k1, P256, and WebAuthn signature types.
9
+ *
10
+ * [Tempo Authorization Specification](https://docs.tempo.xyz/protocol/transactions/spec-tempo-transaction#tempo-authorization-list)
11
+ *
12
+ * @example
13
+ * An Authorization can be instantiated from an EIP-7702 Authorization tuple in object format.
14
+ *
15
+ * ```ts twoslash
16
+ * import { AuthorizationTempo } from 'ox/tempo'
17
+ *
18
+ * const authorization = AuthorizationTempo.from({
19
+ * address: '0x1234567890abcdef1234567890abcdef12345678',
20
+ * chainId: 1,
21
+ * nonce: 69n,
22
+ * })
23
+ * ```
24
+ *
25
+ * @example
26
+ * ### Attaching Signatures (Secp256k1)
27
+ *
28
+ * Standard Ethereum ECDSA signature using the secp256k1 curve.
29
+ *
30
+ * ```ts twoslash
31
+ * import { Secp256k1 } from 'ox'
32
+ * import { AuthorizationTempo } from 'ox/tempo'
33
+ *
34
+ * const privateKey = Secp256k1.randomPrivateKey()
35
+ *
36
+ * const authorization = AuthorizationTempo.from({
37
+ * address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
38
+ * chainId: 1,
39
+ * nonce: 40n,
40
+ * })
41
+ *
42
+ * const signature = Secp256k1.sign({
43
+ * payload: AuthorizationTempo.getSignPayload(authorization),
44
+ * privateKey,
45
+ * })
46
+ *
47
+ * const authorization_signed = AuthorizationTempo.from(
48
+ * authorization,
49
+ * { signature }, // [!code focus]
50
+ * )
51
+ * ```
52
+ *
53
+ * @example
54
+ * ### Attaching Signatures (P256)
55
+ *
56
+ * ECDSA signature using the P-256 (secp256r1) curve. Requires embedding the
57
+ * public key and a `prehash` flag indicating whether the payload was hashed
58
+ * before signing.
59
+ *
60
+ * ```ts twoslash
61
+ * import { P256 } from 'ox'
62
+ * import { AuthorizationTempo, SignatureEnvelope } from 'ox/tempo'
63
+ *
64
+ * const { privateKey, publicKey } = P256.createKeyPair()
65
+ *
66
+ * const authorization = AuthorizationTempo.from({
67
+ * address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
68
+ * chainId: 1,
69
+ * nonce: 40n,
70
+ * })
71
+ *
72
+ * const signature = P256.sign({
73
+ * payload: AuthorizationTempo.getSignPayload(authorization),
74
+ * privateKey,
75
+ * })
76
+ * const signatureEnvelope = SignatureEnvelope.from({
77
+ * signature,
78
+ * publicKey,
79
+ * prehash: false,
80
+ * })
81
+ *
82
+ * const authorization_signed = AuthorizationTempo.from(
83
+ * authorization,
84
+ * { signature: signatureEnvelope }, // [!code focus]
85
+ * )
86
+ * ```
87
+ *
88
+ * @example
89
+ * ### Attaching Signatures (P256 WebCrypto)
90
+ *
91
+ * When using WebCrypto keys, `prehash` must be `true` since WebCrypto always
92
+ * hashes the payload internally before signing.
93
+ *
94
+ * ```ts twoslash
95
+ * // @noErrors
96
+ * import { WebCryptoP256 } from 'ox'
97
+ * import { AuthorizationTempo, SignatureEnvelope } from 'ox/tempo'
98
+ *
99
+ * const { privateKey, publicKey } = await WebCryptoP256.createKeyPair()
100
+ *
101
+ * const authorization = AuthorizationTempo.from({
102
+ * address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
103
+ * chainId: 1,
104
+ * nonce: 40n,
105
+ * })
106
+ *
107
+ * const signature = await WebCryptoP256.sign({
108
+ * payload: AuthorizationTempo.getSignPayload(authorization),
109
+ * privateKey,
110
+ * })
111
+ * const signatureEnvelope = SignatureEnvelope.from({
112
+ * signature,
113
+ * publicKey,
114
+ * prehash: true,
115
+ * })
116
+ *
117
+ * const authorization_signed = AuthorizationTempo.from(
118
+ * authorization,
119
+ * { signature: signatureEnvelope }, // [!code focus]
120
+ * )
121
+ * ```
122
+ *
123
+ * @example
124
+ * ### Attaching Signatures (WebAuthn)
125
+ *
126
+ * Passkey-based signature using WebAuthn. Includes authenticator metadata
127
+ * (authenticatorData and clientDataJSON) along with the P-256 signature and
128
+ * public key.
129
+ *
130
+ * ```ts twoslash
131
+ * // @noErrors
132
+ * import { WebAuthnP256 } from 'ox'
133
+ * import { AuthorizationTempo, SignatureEnvelope } from 'ox/tempo'
134
+ *
135
+ * const credential = await WebAuthnP256.createCredential({ name: 'Example' })
136
+ *
137
+ * const authorization = AuthorizationTempo.from({
138
+ * address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
139
+ * chainId: 1,
140
+ * nonce: 40n,
141
+ * })
142
+ *
143
+ * const { metadata, signature } = await WebAuthnP256.sign({
144
+ * challenge: AuthorizationTempo.getSignPayload(authorization),
145
+ * credentialId: credential.id,
146
+ * })
147
+ * const signatureEnvelope = SignatureEnvelope.from({
148
+ * signature,
149
+ * publicKey: credential.publicKey,
150
+ * metadata,
151
+ * })
152
+ *
153
+ * const authorization_signed = AuthorizationTempo.from(
154
+ * authorization,
155
+ * { signature: signatureEnvelope }, // [!code focus]
156
+ * )
157
+ * ```
158
+ *
159
+ * @param authorization - An [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) AA Authorization tuple in object format.
160
+ * @param options - AA Authorization options.
161
+ * @returns The {@link ox#AuthorizationTempo.AuthorizationTempo}.
162
+ */
163
+ export function from(authorization, options = {}) {
164
+ if (typeof authorization.chainId === 'string')
165
+ return fromRpc(authorization);
166
+ if (options.signature) {
167
+ return { ...authorization, signature: options.signature };
168
+ }
169
+ return authorization;
170
+ }
171
+ /**
172
+ * Converts an {@link ox#AuthorizationTempo.Rpc} to an {@link ox#AuthorizationTempo.AuthorizationTempo}.
173
+ *
174
+ * @example
175
+ * ```ts twoslash
176
+ * import { AuthorizationTempo } from 'ox/tempo'
177
+ *
178
+ * const authorization = AuthorizationTempo.fromRpc({
179
+ * address: '0x0000000000000000000000000000000000000000',
180
+ * chainId: '0x1',
181
+ * nonce: '0x1',
182
+ * signature: {
183
+ * type: 'secp256k1',
184
+ * r: '0x635dc2033e60185bb36709c29c75d64ea51dfbd91c32ef4be198e4ceb169fb4d',
185
+ * s: '0x50c2667ac4c771072746acfdcf1f1483336dcca8bd2df47cd83175dbe60f0540',
186
+ * yParity: '0x0',
187
+ * },
188
+ * })
189
+ * ```
190
+ *
191
+ * @param authorization - The RPC-formatted AA Authorization.
192
+ * @returns A signed {@link ox#AuthorizationTempo.AuthorizationTempo}.
193
+ */
194
+ export function fromRpc(authorization) {
195
+ const { address, chainId, nonce } = authorization;
196
+ const signature = SignatureEnvelope.fromRpc(authorization.signature);
197
+ return {
198
+ address,
199
+ chainId: Number(chainId),
200
+ nonce: BigInt(nonce),
201
+ signature,
202
+ };
203
+ }
204
+ /**
205
+ * Converts an {@link ox#AuthorizationTempo.ListRpc} to an {@link ox#AuthorizationTempo.List}.
206
+ *
207
+ * @example
208
+ * ```ts twoslash
209
+ * import { AuthorizationTempo } from 'ox/tempo'
210
+ *
211
+ * const authorizationList = AuthorizationTempo.fromRpcList([{
212
+ * address: '0x0000000000000000000000000000000000000000',
213
+ * chainId: '0x1',
214
+ * nonce: '0x1',
215
+ * signature: {
216
+ * type: 'secp256k1',
217
+ * r: '0x635dc2033e60185bb36709c29c75d64ea51dfbd91c32ef4be198e4ceb169fb4d',
218
+ * s: '0x50c2667ac4c771072746acfdcf1f1483336dcca8bd2df47cd83175dbe60f0540',
219
+ * yParity: '0x0',
220
+ * },
221
+ * }])
222
+ * ```
223
+ *
224
+ * @param authorizationList - The RPC-formatted AA Authorization list.
225
+ * @returns A signed {@link ox#AuthorizationTempo.List}.
226
+ */
227
+ export function fromRpcList(authorizationList) {
228
+ return authorizationList.map((x) => fromRpc(x));
229
+ }
230
+ /**
231
+ * Converts an {@link ox#AuthorizationTempo.Tuple} to an {@link ox#AuthorizationTempo.AuthorizationTempo}.
232
+ *
233
+ * @example
234
+ * ```ts twoslash
235
+ * import { AuthorizationTempo } from 'ox/tempo'
236
+ *
237
+ * const authorization = AuthorizationTempo.fromTuple([
238
+ * '0x1',
239
+ * '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
240
+ * '0x3'
241
+ * ])
242
+ * // @log: {
243
+ * // @log: address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
244
+ * // @log: chainId: 1,
245
+ * // @log: nonce: 3n
246
+ * // @log: }
247
+ * ```
248
+ *
249
+ * @example
250
+ * It is also possible to append a serialized SignatureEnvelope to the end of an AA Authorization tuple.
251
+ *
252
+ * ```ts twoslash
253
+ * import { AuthorizationTempo } from 'ox/tempo'
254
+ *
255
+ * const authorization = AuthorizationTempo.fromTuple([
256
+ * '0x1',
257
+ * '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
258
+ * '0x3',
259
+ * '0x01a068a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b907e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064',
260
+ * ])
261
+ * // @log: {
262
+ * // @log: address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
263
+ * // @log: chainId: 1,
264
+ * // @log: nonce: 3n
265
+ * // @log: signature: {
266
+ * // @log: r: BigInt('0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90'),
267
+ * // @log: s: BigInt('0x7e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064'),
268
+ * // @log: yParity: 0,
269
+ * // @log: },
270
+ * // @log: }
271
+ * ```
272
+ *
273
+ * @param tuple - The [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) AA Authorization tuple.
274
+ * @returns The {@link ox#AuthorizationTempo.AuthorizationTempo}.
275
+ */
276
+ export function fromTuple(tuple) {
277
+ const [chainId, address, nonce, signatureSerialized] = tuple;
278
+ const args = {
279
+ address,
280
+ chainId: chainId === '0x' ? 0 : Number(chainId),
281
+ nonce: nonce === '0x' ? 0n : BigInt(nonce),
282
+ };
283
+ if (signatureSerialized)
284
+ args.signature = SignatureEnvelope.deserialize(signatureSerialized);
285
+ return from(args);
286
+ }
287
+ /**
288
+ * Converts an {@link ox#AuthorizationTempo.TupleList} to an {@link ox#AuthorizationTempo.List}.
289
+ *
290
+ * @example
291
+ * ```ts twoslash
292
+ * import { AuthorizationTempo } from 'ox/tempo'
293
+ *
294
+ * const authorizationList = AuthorizationTempo.fromTupleList([
295
+ * ['0x1', '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c', '0x3'],
296
+ * ['0x3', '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c', '0x14'],
297
+ * ])
298
+ * // @log: [
299
+ * // @log: {
300
+ * // @log: address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
301
+ * // @log: chainId: 1,
302
+ * // @log: nonce: 3n,
303
+ * // @log: },
304
+ * // @log: {
305
+ * // @log: address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
306
+ * // @log: chainId: 3,
307
+ * // @log: nonce: 20n,
308
+ * // @log: },
309
+ * // @log: ]
310
+ * ```
311
+ *
312
+ * @example
313
+ * It is also possible to append a serialized SignatureEnvelope to the end of an AA Authorization tuple.
314
+ *
315
+ * ```ts twoslash
316
+ * import { AuthorizationTempo } from 'ox/tempo'
317
+ *
318
+ * const authorizationList = AuthorizationTempo.fromTupleList([
319
+ * ['0x1', '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c', '0x3', '0x01a068a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b907e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064'],
320
+ * ['0x3', '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c', '0x14', '0x01a068a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b907e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064'],
321
+ * ])
322
+ * // @log: [
323
+ * // @log: {
324
+ * // @log: address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
325
+ * // @log: chainId: 1,
326
+ * // @log: nonce: 3n,
327
+ * // @log: signature: {
328
+ * // @log: r: BigInt('0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90'),
329
+ * // @log: s: BigInt('0x7e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064'),
330
+ * // @log: yParity: 0,
331
+ * // @log: },
332
+ * // @log: },
333
+ * // @log: {
334
+ * // @log: address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
335
+ * // @log: chainId: 3,
336
+ * // @log: nonce: 20n,
337
+ * // @log: signature: {
338
+ * // @log: r: BigInt('0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90'),
339
+ * // @log: s: BigInt('0x7e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064'),
340
+ * // @log: yParity: 0,
341
+ * // @log: },
342
+ * // @log: },
343
+ * // @log: ]
344
+ * ```
345
+ *
346
+ * @param tupleList - The [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) AA Authorization tuple list.
347
+ * @returns An {@link ox#AuthorizationTempo.List}.
348
+ */
349
+ export function fromTupleList(tupleList) {
350
+ const list = [];
351
+ for (const tuple of tupleList)
352
+ list.push(fromTuple(tuple));
353
+ return list;
354
+ }
355
+ /**
356
+ * Computes the sign payload for an {@link ox#AuthorizationTempo.AuthorizationTempo} in [EIP-7702 format](https://eips.ethereum.org/EIPS/eip-7702): `keccak256('0x05' || rlp([chain_id, address, nonce]))`.
357
+ *
358
+ * @example
359
+ * ### Secp256k1
360
+ *
361
+ * Standard Ethereum ECDSA signature using the secp256k1 curve.
362
+ *
363
+ * ```ts twoslash
364
+ * import { Secp256k1 } from 'ox'
365
+ * import { AuthorizationTempo } from 'ox/tempo'
366
+ *
367
+ * const privateKey = Secp256k1.randomPrivateKey()
368
+ *
369
+ * const authorization = AuthorizationTempo.from({
370
+ * address: '0x1234567890abcdef1234567890abcdef12345678',
371
+ * chainId: 1,
372
+ * nonce: 69n,
373
+ * })
374
+ *
375
+ * const payload = AuthorizationTempo.getSignPayload(authorization) // [!code focus]
376
+ *
377
+ * const signature = Secp256k1.sign({ payload, privateKey })
378
+ * const authorization_signed = AuthorizationTempo.from(
379
+ * authorization,
380
+ * { signature }
381
+ * )
382
+ * ```
383
+ *
384
+ * @example
385
+ * ### P256
386
+ *
387
+ * ECDSA signature using the P-256 (secp256r1) curve. Requires embedding the
388
+ * public key and a `prehash` flag indicating whether the payload was hashed
389
+ * before signing.
390
+ *
391
+ * ```ts twoslash
392
+ * import { P256 } from 'ox'
393
+ * import { AuthorizationTempo, SignatureEnvelope } from 'ox/tempo'
394
+ *
395
+ * const { privateKey, publicKey } = P256.createKeyPair()
396
+ *
397
+ * const authorization = AuthorizationTempo.from({
398
+ * address: '0x1234567890abcdef1234567890abcdef12345678',
399
+ * chainId: 1,
400
+ * nonce: 69n,
401
+ * })
402
+ *
403
+ * const payload = AuthorizationTempo.getSignPayload(authorization) // [!code focus]
404
+ *
405
+ * const signature = P256.sign({ payload, privateKey })
406
+ * const signatureEnvelope = SignatureEnvelope.from({
407
+ * prehash: false,
408
+ * publicKey,
409
+ * signature,
410
+ * })
411
+ * const authorization_signed = AuthorizationTempo.from(
412
+ * authorization,
413
+ * { signature: signatureEnvelope }
414
+ * )
415
+ * ```
416
+ *
417
+ * @example
418
+ * ### P256 (WebCrypto)
419
+ *
420
+ * When using WebCrypto keys, `prehash` must be `true` since WebCrypto always
421
+ * hashes the payload internally before signing.
422
+ *
423
+ * ```ts twoslash
424
+ * // @noErrors
425
+ * import { WebCryptoP256 } from 'ox'
426
+ * import { AuthorizationTempo, SignatureEnvelope } from 'ox/tempo'
427
+ *
428
+ * const { privateKey, publicKey } = await WebCryptoP256.createKeyPair()
429
+ *
430
+ * const authorization = AuthorizationTempo.from({
431
+ * address: '0x1234567890abcdef1234567890abcdef12345678',
432
+ * chainId: 1,
433
+ * nonce: 69n,
434
+ * })
435
+ *
436
+ * const payload = AuthorizationTempo.getSignPayload(authorization) // [!code focus]
437
+ *
438
+ * const signature = await WebCryptoP256.sign({ payload, privateKey })
439
+ * const signatureEnvelope = SignatureEnvelope.from({
440
+ * prehash: true,
441
+ * publicKey,
442
+ * signature,
443
+ * })
444
+ * const authorization_signed = AuthorizationTempo.from(
445
+ * authorization,
446
+ * { signature: signatureEnvelope }
447
+ * )
448
+ * ```
449
+ *
450
+ * @example
451
+ * ### WebAuthn
452
+ *
453
+ * Passkey-based signature using WebAuthn. Includes authenticator metadata
454
+ * (authenticatorData and clientDataJSON) along with the P-256 signature and
455
+ * public key.
456
+ *
457
+ * ```ts twoslash
458
+ * // @noErrors
459
+ * import { WebAuthnP256 } from 'ox'
460
+ * import { AuthorizationTempo, SignatureEnvelope } from 'ox/tempo'
461
+ *
462
+ * const credential = await WebAuthnP256.createCredential({ name: 'Example' })
463
+ *
464
+ * const authorization = AuthorizationTempo.from({
465
+ * address: '0x1234567890abcdef1234567890abcdef12345678',
466
+ * chainId: 1,
467
+ * nonce: 69n,
468
+ * })
469
+ *
470
+ * const challenge = AuthorizationTempo.getSignPayload(authorization) // [!code focus]
471
+ *
472
+ * const { metadata, signature } = await WebAuthnP256.sign({
473
+ * challenge,
474
+ * credentialId: credential.id,
475
+ * })
476
+ * const signatureEnvelope = SignatureEnvelope.from({
477
+ * signature,
478
+ * publicKey: credential.publicKey,
479
+ * metadata,
480
+ * })
481
+ * const authorization_signed = AuthorizationTempo.from(
482
+ * authorization,
483
+ * { signature: signatureEnvelope }
484
+ * )
485
+ * ```
486
+ *
487
+ * @param authorization - The {@link ox#AuthorizationTempo.AuthorizationTempo}.
488
+ * @returns The sign payload.
489
+ */
490
+ export function getSignPayload(authorization) {
491
+ return hash(authorization, { presign: true });
492
+ }
493
+ /**
494
+ * Computes the hash for an {@link ox#AuthorizationTempo.AuthorizationTempo} in [EIP-7702 format](https://eips.ethereum.org/EIPS/eip-7702): `keccak256('0x05' || rlp([chain_id, address, nonce]))`.
495
+ *
496
+ * @example
497
+ * ```ts twoslash
498
+ * import { AuthorizationTempo } from 'ox/tempo'
499
+ *
500
+ * const authorization = AuthorizationTempo.from({
501
+ * address: '0x1234567890abcdef1234567890abcdef12345678',
502
+ * chainId: 1,
503
+ * nonce: 69n,
504
+ * })
505
+ *
506
+ * const hash = AuthorizationTempo.hash(authorization) // [!code focus]
507
+ * ```
508
+ *
509
+ * @param authorization - The {@link ox#AuthorizationTempo.AuthorizationTempo}.
510
+ * @returns The hash.
511
+ */
512
+ export function hash(authorization, options = {}) {
513
+ const { presign } = options;
514
+ return Hash.keccak256(Hex.concat('0x05', Rlp.fromHex(toTuple(presign
515
+ ? {
516
+ address: authorization.address,
517
+ chainId: authorization.chainId,
518
+ nonce: authorization.nonce,
519
+ }
520
+ : authorization))));
521
+ }
522
+ /**
523
+ * Converts an {@link ox#AuthorizationTempo.AuthorizationTempo} to an {@link ox#AuthorizationTempo.Rpc}.
524
+ *
525
+ * @example
526
+ * ```ts twoslash
527
+ * import { AuthorizationTempo } from 'ox/tempo'
528
+ *
529
+ * const authorization = AuthorizationTempo.toRpc({
530
+ * address: '0x0000000000000000000000000000000000000000',
531
+ * chainId: 1,
532
+ * nonce: 1n,
533
+ * signature: {
534
+ * type: 'secp256k1',
535
+ * signature: {
536
+ * r: 44944627813007772897391531230081695102703289123332187696115181104739239197517n,
537
+ * s: 36528503505192438307355164441104001310566505351980369085208178712678799181120n,
538
+ * yParity: 0,
539
+ * },
540
+ * },
541
+ * })
542
+ * ```
543
+ *
544
+ * @param authorization - An AA Authorization.
545
+ * @returns An RPC-formatted AA Authorization.
546
+ */
547
+ export function toRpc(authorization) {
548
+ const { address, chainId, nonce, signature } = authorization;
549
+ return {
550
+ address,
551
+ chainId: Hex.fromNumber(chainId),
552
+ nonce: Hex.fromNumber(nonce),
553
+ signature: SignatureEnvelope.toRpc(signature),
554
+ };
555
+ }
556
+ /**
557
+ * Converts an {@link ox#AuthorizationTempo.List} to an {@link ox#AuthorizationTempo.ListRpc}.
558
+ *
559
+ * @example
560
+ * ```ts twoslash
561
+ * import { AuthorizationTempo } from 'ox/tempo'
562
+ *
563
+ * const authorization = AuthorizationTempo.toRpcList([{
564
+ * address: '0x0000000000000000000000000000000000000000',
565
+ * chainId: 1,
566
+ * nonce: 1n,
567
+ * signature: {
568
+ * type: 'secp256k1',
569
+ * signature: {
570
+ * r: 44944627813007772897391531230081695102703289123332187696115181104739239197517n,
571
+ * s: 36528503505192438307355164441104001310566505351980369085208178712678799181120n,
572
+ * yParity: 0,
573
+ * },
574
+ * },
575
+ * }])
576
+ * ```
577
+ *
578
+ * @param authorizationList - An AA Authorization List.
579
+ * @returns An RPC-formatted AA Authorization List.
580
+ */
581
+ export function toRpcList(authorizationList) {
582
+ return authorizationList.map((x) => toRpc(x));
583
+ }
584
+ /**
585
+ * Converts an {@link ox#AuthorizationTempo.AuthorizationTempo} to an {@link ox#AuthorizationTempo.Tuple}.
586
+ *
587
+ * @example
588
+ * ```ts twoslash
589
+ * import { AuthorizationTempo } from 'ox/tempo'
590
+ *
591
+ * const authorization = AuthorizationTempo.from({
592
+ * address: '0x1234567890abcdef1234567890abcdef12345678',
593
+ * chainId: 1,
594
+ * nonce: 69n,
595
+ * })
596
+ *
597
+ * const tuple = AuthorizationTempo.toTuple(authorization) // [!code focus]
598
+ * // @log: [
599
+ * // @log: address: '0x1234567890abcdef1234567890abcdef12345678',
600
+ * // @log: chainId: 1,
601
+ * // @log: nonce: 69n,
602
+ * // @log: ]
603
+ * ```
604
+ *
605
+ * @param authorization - The {@link ox#AuthorizationTempo.AuthorizationTempo}.
606
+ * @returns An [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) AA Authorization tuple.
607
+ */
608
+ export function toTuple(authorization) {
609
+ const { address, chainId, nonce } = authorization;
610
+ const signature = authorization.signature
611
+ ? SignatureEnvelope.serialize(authorization.signature)
612
+ : undefined;
613
+ return [
614
+ chainId ? Hex.fromNumber(chainId) : '0x',
615
+ address,
616
+ nonce ? Hex.fromNumber(nonce) : '0x',
617
+ ...(signature ? [signature] : []),
618
+ ];
619
+ }
620
+ /**
621
+ * Converts an {@link ox#AuthorizationTempo.List} to an {@link ox#AuthorizationTempo.TupleList}.
622
+ *
623
+ * @example
624
+ * ```ts twoslash
625
+ * import { AuthorizationTempo } from 'ox/tempo'
626
+ *
627
+ * const authorization_1 = AuthorizationTempo.from({
628
+ * address: '0x1234567890abcdef1234567890abcdef12345678',
629
+ * chainId: 1,
630
+ * nonce: 69n,
631
+ * })
632
+ * const authorization_2 = AuthorizationTempo.from({
633
+ * address: '0x1234567890abcdef1234567890abcdef12345678',
634
+ * chainId: 3,
635
+ * nonce: 20n,
636
+ * })
637
+ *
638
+ * const tuple = AuthorizationTempo.toTupleList([authorization_1, authorization_2]) // [!code focus]
639
+ * // @log: [
640
+ * // @log: [
641
+ * // @log: address: '0x1234567890abcdef1234567890abcdef12345678',
642
+ * // @log: chainId: 1,
643
+ * // @log: nonce: 69n,
644
+ * // @log: ],
645
+ * // @log: [
646
+ * // @log: address: '0x1234567890abcdef1234567890abcdef12345678',
647
+ * // @log: chainId: 3,
648
+ * // @log: nonce: 20n,
649
+ * // @log: ],
650
+ * // @log: ]
651
+ * ```
652
+ *
653
+ * @param list - An {@link ox#AuthorizationTempo.List}.
654
+ * @returns An [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) AA Authorization tuple list.
655
+ */
656
+ export function toTupleList(list) {
657
+ if (!list || list.length === 0)
658
+ return [];
659
+ const tupleList = [];
660
+ for (const authorization of list)
661
+ tupleList.push(toTuple(authorization));
662
+ return tupleList;
663
+ }
664
+ //# sourceMappingURL=AuthorizationTempo.js.map