mppx 0.8.15 → 0.8.18

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 (966) hide show
  1. package/CHANGELOG.md +91 -0
  2. package/README.md +15 -0
  3. package/dist/Challenge.js +61 -39
  4. package/dist/Constants.d.ts +17 -17
  5. package/dist/Errors.d.ts +3 -3
  6. package/dist/Method.d.ts +35 -5
  7. package/dist/Method.js +7 -22
  8. package/dist/Store.d.ts +19 -0
  9. package/dist/Store.js +43 -0
  10. package/dist/attestation/Client.d.ts +17 -0
  11. package/dist/attestation/Client.js +28 -0
  12. package/dist/attestation/Constants.d.ts +15 -0
  13. package/dist/attestation/Constants.js +15 -0
  14. package/dist/attestation/Server.d.ts +4 -0
  15. package/dist/attestation/Server.js +8 -0
  16. package/dist/attestation/Types.d.ts +76 -0
  17. package/dist/attestation/Types.js +2 -0
  18. package/dist/attestation/index.d.ts +6 -0
  19. package/dist/attestation/index.js +6 -0
  20. package/dist/attestation/internal/HttpMessageSignature.d.ts +73 -0
  21. package/dist/attestation/internal/HttpMessageSignature.js +320 -0
  22. package/dist/attestation/internal/SigningContext.d.ts +4 -0
  23. package/dist/attestation/internal/SigningContext.js +11 -0
  24. package/dist/bin.js +3 -3
  25. package/dist/cli/THIRD-PARTY-LICENSES.txt +328 -0
  26. package/dist/cli/account.d.ts +14 -14
  27. package/dist/cli/cli.d.ts +6 -6
  28. package/dist/cli/cli.js +253 -1504
  29. package/dist/cli/plugins/index.js +19 -5
  30. package/dist/cli/plugins/tempo.js +7 -3
  31. package/dist/cli/sessions/Manager.js +7 -4
  32. package/dist/cli/sessions/commands.d.ts +4 -4
  33. package/dist/cli/sessions/request.d.ts +2 -0
  34. package/dist/cli/sessions/request.js +18 -0
  35. package/dist/cli/sessions/store.js +28 -14
  36. package/dist/cli/utils.d.ts +1 -1
  37. package/dist/cli/validate/index.d.ts +3 -3
  38. package/dist/client/Mppx.d.ts +3 -0
  39. package/dist/client/Mppx.js +13 -5
  40. package/dist/client/Transport.d.ts +3 -5
  41. package/dist/client/Transport.js +1 -17
  42. package/dist/client/internal/Fetch.js +2 -6
  43. package/dist/discovery/Discovery.js +2 -1
  44. package/dist/discovery/OpenApi.d.ts +3 -5
  45. package/dist/discovery/OpenApi.js +13 -34
  46. package/dist/discovery/internal/Metadata.d.ts +20 -0
  47. package/dist/discovery/internal/Metadata.js +36 -0
  48. package/dist/evm/Methods.d.ts +11 -11
  49. package/dist/evm/Types.d.ts +17 -17
  50. package/dist/evm/client/Charge.d.ts +11 -11
  51. package/dist/evm/client/Charge.js +8 -0
  52. package/dist/evm/client/Methods.d.ts +11 -11
  53. package/dist/evm/server/Charge.d.ts +1 -1
  54. package/dist/evm/server/Charge.js +2 -0
  55. package/dist/evm/server/Methods.d.ts +11 -11
  56. package/dist/internal/HeaderCodec.d.ts +2 -2
  57. package/dist/internal/types.d.ts +6 -0
  58. package/dist/proxy/Proxy.d.ts +2 -0
  59. package/dist/proxy/Proxy.js +117 -9
  60. package/dist/proxy/Service.d.ts +36 -1
  61. package/dist/proxy/Service.js +9 -8
  62. package/dist/proxy/services/anthropic.js +1 -0
  63. package/dist/proxy/services/openai.js +1 -0
  64. package/dist/proxy/services/stripe.js +1 -0
  65. package/dist/server/Mppx.d.ts +75 -13
  66. package/dist/server/Mppx.js +201 -23
  67. package/dist/server/core.d.ts +9 -0
  68. package/dist/server/core.js +9 -0
  69. package/dist/server/internal/html/config.d.ts +9 -9
  70. package/dist/server/internal/html/constants.d.ts +17 -17
  71. package/dist/stripe/Methods.d.ts +10 -10
  72. package/dist/stripe/client/Charge.d.ts +10 -10
  73. package/dist/stripe/client/Methods.d.ts +10 -10
  74. package/dist/stripe/internal/constants.d.ts +1 -1
  75. package/dist/stripe/internal/constants.js +1 -1
  76. package/dist/stripe/internal/types.d.ts +1 -0
  77. package/dist/stripe/server/Charge.d.ts +11 -11
  78. package/dist/stripe/server/Charge.js +51 -5
  79. package/dist/stripe/server/Methods.d.ts +137 -48
  80. package/dist/stripe/server/Methods.js +265 -4
  81. package/dist/stripe/server/internal/deposit-address.d.ts +13 -0
  82. package/dist/stripe/server/internal/deposit-address.js +28 -0
  83. package/dist/stripe/server/internal/html.gen.d.ts +1 -1
  84. package/dist/stripe/server/internal/html.gen.js +1 -1
  85. package/dist/stripe/server/internal/record-payment.d.ts +15 -0
  86. package/dist/stripe/server/internal/record-payment.js +42 -0
  87. package/dist/stripe/server/internal/request.d.ts +25 -0
  88. package/dist/stripe/server/internal/request.js +29 -0
  89. package/dist/stripe/server/spt.d.ts +8 -0
  90. package/dist/stripe/server/spt.js +8 -0
  91. package/dist/tap/Constants.d.ts +28 -0
  92. package/dist/tap/Constants.js +32 -0
  93. package/dist/tap/Types.d.ts +11 -0
  94. package/dist/tap/Types.js +2 -0
  95. package/dist/tap/client/index.d.ts +26 -0
  96. package/dist/tap/client/index.js +33 -0
  97. package/dist/tap/index.d.ts +5 -0
  98. package/dist/tap/index.js +5 -0
  99. package/dist/tap/server/index.d.ts +20 -0
  100. package/dist/tap/server/index.js +36 -0
  101. package/dist/tempo/Attribution.d.ts +1 -1
  102. package/dist/tempo/Methods.d.ts +73 -60
  103. package/dist/tempo/Methods.js +14 -3
  104. package/dist/tempo/Proof.d.ts +16 -16
  105. package/dist/tempo/client/Charge.d.ts +22 -19
  106. package/dist/tempo/client/Charge.js +32 -16
  107. package/dist/tempo/client/Methods.d.ts +51 -38
  108. package/dist/tempo/client/Subscription.d.ts +23 -23
  109. package/dist/tempo/internal/address.d.ts +2 -1
  110. package/dist/tempo/internal/address.js +3 -1
  111. package/dist/tempo/internal/auto-swap.js +4 -19
  112. package/dist/tempo/internal/defaults.d.ts +17 -6
  113. package/dist/tempo/internal/defaults.js +11 -0
  114. package/dist/tempo/internal/fee-payer.d.ts +12 -12
  115. package/dist/tempo/internal/machine-token-charge.d.ts +51 -0
  116. package/dist/tempo/internal/machine-token-charge.js +113 -0
  117. package/dist/tempo/internal/machine-token-session.d.ts +88 -0
  118. package/dist/tempo/internal/machine-token-session.js +173 -0
  119. package/dist/tempo/internal/proof.d.ts +17 -17
  120. package/dist/tempo/internal/signature-envelope.d.ts +14 -0
  121. package/dist/tempo/internal/signature-envelope.js +28 -0
  122. package/dist/tempo/legacy/client/ChannelOps.d.ts +2 -2
  123. package/dist/tempo/legacy/client/ChannelOps.js +11 -5
  124. package/dist/tempo/legacy/client/Session.d.ts +33 -21
  125. package/dist/tempo/legacy/client/Session.js +3 -3
  126. package/dist/tempo/legacy/client/SessionManager.d.ts +3 -1
  127. package/dist/tempo/legacy/client/SessionManager.js +2 -0
  128. package/dist/tempo/legacy/index.d.ts +1 -3
  129. package/dist/tempo/legacy/index.js +1 -3
  130. package/dist/tempo/legacy/session/escrow.abi.d.ts +374 -374
  131. package/dist/tempo/server/Charge.d.ts +28 -11
  132. package/dist/tempo/server/Charge.js +101 -55
  133. package/dist/tempo/server/Methods.d.ts +58 -56
  134. package/dist/tempo/server/Methods.js +8 -18
  135. package/dist/tempo/server/Relay.d.ts +1 -1
  136. package/dist/tempo/server/Relay.js +2 -2
  137. package/dist/tempo/server/Subscription.d.ts +25 -25
  138. package/dist/tempo/server/Subscription.js +2 -0
  139. package/dist/tempo/server/index.d.ts +1 -1
  140. package/dist/tempo/server/index.js +1 -1
  141. package/dist/tempo/server/internal/html.gen.d.ts +1 -1
  142. package/dist/tempo/server/internal/html.gen.js +1 -1
  143. package/dist/tempo/server/internal/transport.d.ts +2 -0
  144. package/dist/tempo/server/internal/transport.js +9 -2
  145. package/dist/tempo/session/client/ChannelOps.d.ts +18 -3
  146. package/dist/tempo/session/client/ChannelOps.js +35 -6
  147. package/dist/tempo/session/client/ChannelStore.d.ts +0 -5
  148. package/dist/tempo/session/client/ChannelStore.js +2 -2
  149. package/dist/tempo/session/client/CredentialState.d.ts +18 -3
  150. package/dist/tempo/session/client/CredentialState.js +77 -76
  151. package/dist/tempo/session/client/Runtime.d.ts +4 -2
  152. package/dist/tempo/session/client/Runtime.js +21 -5
  153. package/dist/tempo/session/client/Session.d.ts +34 -22
  154. package/dist/tempo/session/client/Session.js +186 -63
  155. package/dist/tempo/session/client/SessionManager.d.ts +3 -1
  156. package/dist/tempo/session/client/SessionManager.js +35 -11
  157. package/dist/tempo/session/client/Transports.d.ts +2 -0
  158. package/dist/tempo/session/client/Transports.js +12 -2
  159. package/dist/tempo/session/precompile/Chain.d.ts +37 -2
  160. package/dist/tempo/session/precompile/Chain.js +116 -15
  161. package/dist/tempo/session/precompile/Protocol.d.ts +15 -0
  162. package/dist/tempo/session/precompile/Protocol.js +7 -0
  163. package/dist/tempo/session/precompile/Voucher.d.ts +7 -5
  164. package/dist/tempo/session/precompile/Voucher.js +6 -12
  165. package/dist/tempo/session/precompile/escrow.abi.d.ts +306 -306
  166. package/dist/tempo/session/server/ChannelStore.d.ts +15 -0
  167. package/dist/tempo/session/server/ChannelStore.js +27 -12
  168. package/dist/tempo/session/server/CredentialVerification.d.ts +39 -20
  169. package/dist/tempo/session/server/CredentialVerification.js +359 -89
  170. package/dist/tempo/session/server/MeteredStream.d.ts +4 -1
  171. package/dist/tempo/session/server/MeteredStream.js +8 -5
  172. package/dist/tempo/session/server/RequestState.d.ts +19 -0
  173. package/dist/tempo/session/server/RequestState.js +61 -15
  174. package/dist/tempo/session/server/Session.d.ts +46 -23
  175. package/dist/tempo/session/server/Session.js +150 -56
  176. package/dist/tempo/session/server/Settlement.d.ts +11 -4
  177. package/dist/tempo/session/server/Settlement.js +53 -21
  178. package/dist/tempo/session/server/Sse.d.ts +3 -1
  179. package/dist/tempo/session/server/Sse.js +2 -1
  180. package/dist/tempo/session/server/Transports.d.ts +1 -1
  181. package/dist/tempo/session/server/Transports.js +1 -0
  182. package/dist/tempo/session/server/Ws.d.ts +6 -1
  183. package/dist/tempo/session/server/Ws.js +1 -0
  184. package/dist/tempo/subscription/KeyAuthorization.d.ts +39 -39
  185. package/dist/web-bot-auth/Constants.d.ts +20 -0
  186. package/dist/web-bot-auth/Constants.js +24 -0
  187. package/dist/web-bot-auth/Types.d.ts +10 -0
  188. package/dist/web-bot-auth/Types.js +2 -0
  189. package/dist/web-bot-auth/client/index.d.ts +29 -0
  190. package/dist/web-bot-auth/client/index.js +64 -0
  191. package/dist/web-bot-auth/index.d.ts +7 -0
  192. package/dist/web-bot-auth/index.js +7 -0
  193. package/dist/web-bot-auth/internal/JwkThumbprint.d.ts +5 -0
  194. package/dist/web-bot-auth/internal/JwkThumbprint.js +20 -0
  195. package/dist/web-bot-auth/internal/SignatureAgent.d.ts +3 -0
  196. package/dist/web-bot-auth/internal/SignatureAgent.js +18 -0
  197. package/dist/web-bot-auth/server/index.d.ts +35 -0
  198. package/dist/web-bot-auth/server/index.js +88 -0
  199. package/dist/x402/Types.d.ts +6 -6
  200. package/dist/x402/client/Exact.d.ts +8 -0
  201. package/dist/x402/client/Exact.js +40 -10
  202. package/dist/x402/server/EvmCharge.d.ts +22 -0
  203. package/dist/x402/server/EvmCharge.js +54 -20
  204. package/package.json +28 -34
  205. package/dist/BodyDigest.d.ts.map +0 -1
  206. package/dist/BodyDigest.js.map +0 -1
  207. package/dist/Challenge.d.ts.map +0 -1
  208. package/dist/Challenge.js.map +0 -1
  209. package/dist/Constants.d.ts.map +0 -1
  210. package/dist/Constants.js.map +0 -1
  211. package/dist/Credential.d.ts.map +0 -1
  212. package/dist/Credential.js.map +0 -1
  213. package/dist/Errors.d.ts.map +0 -1
  214. package/dist/Errors.js.map +0 -1
  215. package/dist/Expires.d.ts.map +0 -1
  216. package/dist/Expires.js.map +0 -1
  217. package/dist/Html.d.ts.map +0 -1
  218. package/dist/Html.js.map +0 -1
  219. package/dist/Mcp.d.ts.map +0 -1
  220. package/dist/Mcp.js.map +0 -1
  221. package/dist/Method.d.ts.map +0 -1
  222. package/dist/Method.js.map +0 -1
  223. package/dist/PaymentRequest.d.ts.map +0 -1
  224. package/dist/PaymentRequest.js.map +0 -1
  225. package/dist/Receipt.d.ts.map +0 -1
  226. package/dist/Receipt.js.map +0 -1
  227. package/dist/Store.d.ts.map +0 -1
  228. package/dist/Store.js.map +0 -1
  229. package/dist/bin.d.ts.map +0 -1
  230. package/dist/bin.js.map +0 -1
  231. package/dist/cli/account.d.ts.map +0 -1
  232. package/dist/cli/account.js.map +0 -1
  233. package/dist/cli/cli.d.ts.map +0 -1
  234. package/dist/cli/cli.js.map +0 -1
  235. package/dist/cli/config.d.ts.map +0 -1
  236. package/dist/cli/config.js.map +0 -1
  237. package/dist/cli/internal.d.ts.map +0 -1
  238. package/dist/cli/internal.js.map +0 -1
  239. package/dist/cli/plugins/evm.d.ts.map +0 -1
  240. package/dist/cli/plugins/evm.js.map +0 -1
  241. package/dist/cli/plugins/index.d.ts.map +0 -1
  242. package/dist/cli/plugins/index.js.map +0 -1
  243. package/dist/cli/plugins/plugin.d.ts.map +0 -1
  244. package/dist/cli/plugins/plugin.js.map +0 -1
  245. package/dist/cli/plugins/stripe.d.ts.map +0 -1
  246. package/dist/cli/plugins/stripe.js.map +0 -1
  247. package/dist/cli/plugins/tempo.d.ts.map +0 -1
  248. package/dist/cli/plugins/tempo.js.map +0 -1
  249. package/dist/cli/sessions/Manager.d.ts.map +0 -1
  250. package/dist/cli/sessions/Manager.js.map +0 -1
  251. package/dist/cli/sessions/commands.d.ts.map +0 -1
  252. package/dist/cli/sessions/commands.js.map +0 -1
  253. package/dist/cli/sessions/request.d.ts.map +0 -1
  254. package/dist/cli/sessions/request.js.map +0 -1
  255. package/dist/cli/sessions/store.d.ts.map +0 -1
  256. package/dist/cli/sessions/store.js.map +0 -1
  257. package/dist/cli/utils.d.ts.map +0 -1
  258. package/dist/cli/utils.js.map +0 -1
  259. package/dist/cli/validate/challenge.d.ts.map +0 -1
  260. package/dist/cli/validate/challenge.js.map +0 -1
  261. package/dist/cli/validate/discovery.d.ts.map +0 -1
  262. package/dist/cli/validate/discovery.js.map +0 -1
  263. package/dist/cli/validate/helpers.d.ts.map +0 -1
  264. package/dist/cli/validate/helpers.js.map +0 -1
  265. package/dist/cli/validate/index.d.ts.map +0 -1
  266. package/dist/cli/validate/index.js.map +0 -1
  267. package/dist/cli/validate/messages.d.ts.map +0 -1
  268. package/dist/cli/validate/messages.js.map +0 -1
  269. package/dist/cli/validate/payment.d.ts.map +0 -1
  270. package/dist/cli/validate/payment.js.map +0 -1
  271. package/dist/client/Methods.d.ts.map +0 -1
  272. package/dist/client/Methods.js.map +0 -1
  273. package/dist/client/Mppx.d.ts.map +0 -1
  274. package/dist/client/Mppx.js.map +0 -1
  275. package/dist/client/Transport.d.ts.map +0 -1
  276. package/dist/client/Transport.js.map +0 -1
  277. package/dist/client/index.d.ts.map +0 -1
  278. package/dist/client/index.js.map +0 -1
  279. package/dist/client/internal/Fetch.d.ts.map +0 -1
  280. package/dist/client/internal/Fetch.js.map +0 -1
  281. package/dist/client/internal/MethodChallenge.d.ts.map +0 -1
  282. package/dist/client/internal/MethodChallenge.js.map +0 -1
  283. package/dist/client/internal/MethodResponse.d.ts.map +0 -1
  284. package/dist/client/internal/MethodResponse.js.map +0 -1
  285. package/dist/client/internal/protocols/Mcp.d.ts.map +0 -1
  286. package/dist/client/internal/protocols/Mcp.js.map +0 -1
  287. package/dist/client/internal/protocols/Mpp.d.ts.map +0 -1
  288. package/dist/client/internal/protocols/Mpp.js.map +0 -1
  289. package/dist/client/internal/protocols/Protocol.d.ts.map +0 -1
  290. package/dist/client/internal/protocols/Protocol.js.map +0 -1
  291. package/dist/client/internal/protocols/Shared.d.ts.map +0 -1
  292. package/dist/client/internal/protocols/Shared.js.map +0 -1
  293. package/dist/client/internal/protocols/X402.d.ts.map +0 -1
  294. package/dist/client/internal/protocols/X402.js.map +0 -1
  295. package/dist/client/node.d.ts.map +0 -1
  296. package/dist/client/node.js.map +0 -1
  297. package/dist/discovery/Discovery.d.ts.map +0 -1
  298. package/dist/discovery/Discovery.js.map +0 -1
  299. package/dist/discovery/OpenApi.d.ts.map +0 -1
  300. package/dist/discovery/OpenApi.js.map +0 -1
  301. package/dist/discovery/Validate.d.ts.map +0 -1
  302. package/dist/discovery/Validate.js.map +0 -1
  303. package/dist/discovery/index.d.ts.map +0 -1
  304. package/dist/discovery/index.js.map +0 -1
  305. package/dist/evm/Assets.d.ts.map +0 -1
  306. package/dist/evm/Assets.js.map +0 -1
  307. package/dist/evm/Chains.d.ts.map +0 -1
  308. package/dist/evm/Chains.js.map +0 -1
  309. package/dist/evm/Methods.d.ts.map +0 -1
  310. package/dist/evm/Methods.js.map +0 -1
  311. package/dist/evm/Types.d.ts.map +0 -1
  312. package/dist/evm/Types.js.map +0 -1
  313. package/dist/evm/client/Charge.d.ts.map +0 -1
  314. package/dist/evm/client/Charge.js.map +0 -1
  315. package/dist/evm/client/Methods.d.ts.map +0 -1
  316. package/dist/evm/client/Methods.js.map +0 -1
  317. package/dist/evm/client/index.d.ts.map +0 -1
  318. package/dist/evm/client/index.js.map +0 -1
  319. package/dist/evm/index.d.ts.map +0 -1
  320. package/dist/evm/index.js.map +0 -1
  321. package/dist/evm/server/Charge.d.ts.map +0 -1
  322. package/dist/evm/server/Charge.js.map +0 -1
  323. package/dist/evm/server/Methods.d.ts.map +0 -1
  324. package/dist/evm/server/Methods.js.map +0 -1
  325. package/dist/evm/server/index.d.ts.map +0 -1
  326. package/dist/evm/server/index.js.map +0 -1
  327. package/dist/index.d.ts.map +0 -1
  328. package/dist/index.js.map +0 -1
  329. package/dist/internal/AcceptPayment.d.ts.map +0 -1
  330. package/dist/internal/AcceptPayment.js.map +0 -1
  331. package/dist/internal/HeaderCodec.d.ts.map +0 -1
  332. package/dist/internal/HeaderCodec.js.map +0 -1
  333. package/dist/internal/constantTimeEqual.d.ts.map +0 -1
  334. package/dist/internal/constantTimeEqual.js.map +0 -1
  335. package/dist/internal/env.d.ts.map +0 -1
  336. package/dist/internal/env.js.map +0 -1
  337. package/dist/internal/types.d.ts.map +0 -1
  338. package/dist/internal/types.js.map +0 -1
  339. package/dist/mcp/client/McpClient.d.ts.map +0 -1
  340. package/dist/mcp/client/McpClient.js.map +0 -1
  341. package/dist/mcp/client/index.d.ts.map +0 -1
  342. package/dist/mcp/client/index.js.map +0 -1
  343. package/dist/mcp/server/Transport.d.ts.map +0 -1
  344. package/dist/mcp/server/Transport.js.map +0 -1
  345. package/dist/mcp/server/index.d.ts.map +0 -1
  346. package/dist/mcp/server/index.js.map +0 -1
  347. package/dist/middlewares/elysia.d.ts.map +0 -1
  348. package/dist/middlewares/elysia.js.map +0 -1
  349. package/dist/middlewares/express.d.ts.map +0 -1
  350. package/dist/middlewares/express.js.map +0 -1
  351. package/dist/middlewares/hono.d.ts.map +0 -1
  352. package/dist/middlewares/hono.js.map +0 -1
  353. package/dist/middlewares/internal/mppx.d.ts.map +0 -1
  354. package/dist/middlewares/internal/mppx.js.map +0 -1
  355. package/dist/middlewares/nextjs.d.ts.map +0 -1
  356. package/dist/middlewares/nextjs.js.map +0 -1
  357. package/dist/proxy/Proxy.d.ts.map +0 -1
  358. package/dist/proxy/Proxy.js.map +0 -1
  359. package/dist/proxy/Service.d.ts.map +0 -1
  360. package/dist/proxy/Service.js.map +0 -1
  361. package/dist/proxy/index.d.ts.map +0 -1
  362. package/dist/proxy/index.js.map +0 -1
  363. package/dist/proxy/internal/Headers.d.ts.map +0 -1
  364. package/dist/proxy/internal/Headers.js.map +0 -1
  365. package/dist/proxy/internal/Route.d.ts.map +0 -1
  366. package/dist/proxy/internal/Route.js.map +0 -1
  367. package/dist/proxy/services/anthropic.d.ts.map +0 -1
  368. package/dist/proxy/services/anthropic.js.map +0 -1
  369. package/dist/proxy/services/openai.d.ts.map +0 -1
  370. package/dist/proxy/services/openai.js.map +0 -1
  371. package/dist/proxy/services/stripe.d.ts.map +0 -1
  372. package/dist/proxy/services/stripe.js.map +0 -1
  373. package/dist/server/Methods.d.ts.map +0 -1
  374. package/dist/server/Methods.js.map +0 -1
  375. package/dist/server/Mppx.d.ts.map +0 -1
  376. package/dist/server/Mppx.js.map +0 -1
  377. package/dist/server/NodeListener.d.ts.map +0 -1
  378. package/dist/server/NodeListener.js.map +0 -1
  379. package/dist/server/Request.d.ts.map +0 -1
  380. package/dist/server/Request.js.map +0 -1
  381. package/dist/server/Response.d.ts.map +0 -1
  382. package/dist/server/Response.js.map +0 -1
  383. package/dist/server/Transport.d.ts.map +0 -1
  384. package/dist/server/Transport.js.map +0 -1
  385. package/dist/server/index.d.ts.map +0 -1
  386. package/dist/server/index.js.map +0 -1
  387. package/dist/server/internal/html/compose.main.gen.d.ts.map +0 -1
  388. package/dist/server/internal/html/compose.main.gen.js.map +0 -1
  389. package/dist/server/internal/html/config.d.ts.map +0 -1
  390. package/dist/server/internal/html/config.js.map +0 -1
  391. package/dist/server/internal/html/constants.d.ts.map +0 -1
  392. package/dist/server/internal/html/constants.js.map +0 -1
  393. package/dist/server/internal/html/serviceWorker.client.d.ts.map +0 -1
  394. package/dist/server/internal/html/serviceWorker.client.js.map +0 -1
  395. package/dist/server/internal/html/serviceWorker.gen.d.ts.map +0 -1
  396. package/dist/server/internal/html/serviceWorker.gen.js.map +0 -1
  397. package/dist/server/internal/scope.d.ts.map +0 -1
  398. package/dist/server/internal/scope.js.map +0 -1
  399. package/dist/stripe/Methods.d.ts.map +0 -1
  400. package/dist/stripe/Methods.js.map +0 -1
  401. package/dist/stripe/client/Charge.d.ts.map +0 -1
  402. package/dist/stripe/client/Charge.js.map +0 -1
  403. package/dist/stripe/client/Methods.d.ts.map +0 -1
  404. package/dist/stripe/client/Methods.js.map +0 -1
  405. package/dist/stripe/client/index.d.ts.map +0 -1
  406. package/dist/stripe/client/index.js.map +0 -1
  407. package/dist/stripe/index.d.ts.map +0 -1
  408. package/dist/stripe/index.js.map +0 -1
  409. package/dist/stripe/internal/constants.d.ts.map +0 -1
  410. package/dist/stripe/internal/constants.js.map +0 -1
  411. package/dist/stripe/internal/types.d.ts.map +0 -1
  412. package/dist/stripe/internal/types.js.map +0 -1
  413. package/dist/stripe/server/Charge.d.ts.map +0 -1
  414. package/dist/stripe/server/Charge.js.map +0 -1
  415. package/dist/stripe/server/Methods.d.ts.map +0 -1
  416. package/dist/stripe/server/Methods.js.map +0 -1
  417. package/dist/stripe/server/index.d.ts.map +0 -1
  418. package/dist/stripe/server/index.js.map +0 -1
  419. package/dist/stripe/server/internal/html/types.d.ts.map +0 -1
  420. package/dist/stripe/server/internal/html/types.js.map +0 -1
  421. package/dist/stripe/server/internal/html.gen.d.ts.map +0 -1
  422. package/dist/stripe/server/internal/html.gen.js.map +0 -1
  423. package/dist/tempo/Attribution.d.ts.map +0 -1
  424. package/dist/tempo/Attribution.js.map +0 -1
  425. package/dist/tempo/Methods.d.ts.map +0 -1
  426. package/dist/tempo/Methods.js.map +0 -1
  427. package/dist/tempo/Proof.d.ts.map +0 -1
  428. package/dist/tempo/Proof.js.map +0 -1
  429. package/dist/tempo/client/Charge.d.ts.map +0 -1
  430. package/dist/tempo/client/Charge.js.map +0 -1
  431. package/dist/tempo/client/Methods.d.ts.map +0 -1
  432. package/dist/tempo/client/Methods.js.map +0 -1
  433. package/dist/tempo/client/ResolveAccount.d.ts.map +0 -1
  434. package/dist/tempo/client/ResolveAccount.js.map +0 -1
  435. package/dist/tempo/client/Subscription.d.ts.map +0 -1
  436. package/dist/tempo/client/Subscription.js.map +0 -1
  437. package/dist/tempo/client/index.d.ts.map +0 -1
  438. package/dist/tempo/client/index.js.map +0 -1
  439. package/dist/tempo/index.d.ts.map +0 -1
  440. package/dist/tempo/index.js.map +0 -1
  441. package/dist/tempo/internal/account.d.ts.map +0 -1
  442. package/dist/tempo/internal/account.js.map +0 -1
  443. package/dist/tempo/internal/address.d.ts.map +0 -1
  444. package/dist/tempo/internal/address.js.map +0 -1
  445. package/dist/tempo/internal/auto-swap.d.ts.map +0 -1
  446. package/dist/tempo/internal/auto-swap.js.map +0 -1
  447. package/dist/tempo/internal/charge.d.ts.map +0 -1
  448. package/dist/tempo/internal/charge.js.map +0 -1
  449. package/dist/tempo/internal/defaults.d.ts.map +0 -1
  450. package/dist/tempo/internal/defaults.js.map +0 -1
  451. package/dist/tempo/internal/fee-payer.d.ts.map +0 -1
  452. package/dist/tempo/internal/fee-payer.js.map +0 -1
  453. package/dist/tempo/internal/fee-token.d.ts.map +0 -1
  454. package/dist/tempo/internal/fee-token.js.map +0 -1
  455. package/dist/tempo/internal/proof.d.ts.map +0 -1
  456. package/dist/tempo/internal/proof.js.map +0 -1
  457. package/dist/tempo/internal/selectors.d.ts.map +0 -1
  458. package/dist/tempo/internal/selectors.js.map +0 -1
  459. package/dist/tempo/internal/types.d.ts.map +0 -1
  460. package/dist/tempo/internal/types.js.map +0 -1
  461. package/dist/tempo/legacy/client/ChannelOps.d.ts.map +0 -1
  462. package/dist/tempo/legacy/client/ChannelOps.js.map +0 -1
  463. package/dist/tempo/legacy/client/Session.d.ts.map +0 -1
  464. package/dist/tempo/legacy/client/Session.js.map +0 -1
  465. package/dist/tempo/legacy/client/SessionManager.d.ts.map +0 -1
  466. package/dist/tempo/legacy/client/SessionManager.js.map +0 -1
  467. package/dist/tempo/legacy/client/index.d.ts.map +0 -1
  468. package/dist/tempo/legacy/client/index.js.map +0 -1
  469. package/dist/tempo/legacy/index.d.ts.map +0 -1
  470. package/dist/tempo/legacy/index.js.map +0 -1
  471. package/dist/tempo/legacy/server/Session.d.ts +0 -208
  472. package/dist/tempo/legacy/server/Session.d.ts.map +0 -1
  473. package/dist/tempo/legacy/server/Session.js +0 -698
  474. package/dist/tempo/legacy/server/Session.js.map +0 -1
  475. package/dist/tempo/legacy/server/index.d.ts +0 -5
  476. package/dist/tempo/legacy/server/index.d.ts.map +0 -1
  477. package/dist/tempo/legacy/server/index.js +0 -5
  478. package/dist/tempo/legacy/server/index.js.map +0 -1
  479. package/dist/tempo/legacy/session/Chain.d.ts.map +0 -1
  480. package/dist/tempo/legacy/session/Chain.js.map +0 -1
  481. package/dist/tempo/legacy/session/Channel.d.ts.map +0 -1
  482. package/dist/tempo/legacy/session/Channel.js.map +0 -1
  483. package/dist/tempo/legacy/session/ChannelStore.d.ts +0 -22
  484. package/dist/tempo/legacy/session/ChannelStore.d.ts.map +0 -1
  485. package/dist/tempo/legacy/session/ChannelStore.js +0 -6
  486. package/dist/tempo/legacy/session/ChannelStore.js.map +0 -1
  487. package/dist/tempo/legacy/session/Types.d.ts.map +0 -1
  488. package/dist/tempo/legacy/session/Types.js.map +0 -1
  489. package/dist/tempo/legacy/session/Voucher.d.ts.map +0 -1
  490. package/dist/tempo/legacy/session/Voucher.js.map +0 -1
  491. package/dist/tempo/legacy/session/escrow.abi.d.ts.map +0 -1
  492. package/dist/tempo/legacy/session/escrow.abi.js.map +0 -1
  493. package/dist/tempo/legacy/session/index.d.ts.map +0 -1
  494. package/dist/tempo/legacy/session/index.js.map +0 -1
  495. package/dist/tempo/server/Charge.d.ts.map +0 -1
  496. package/dist/tempo/server/Charge.js.map +0 -1
  497. package/dist/tempo/server/Methods.d.ts.map +0 -1
  498. package/dist/tempo/server/Methods.js.map +0 -1
  499. package/dist/tempo/server/Relay.d.ts.map +0 -1
  500. package/dist/tempo/server/Relay.js.map +0 -1
  501. package/dist/tempo/server/SponsorBudget.d.ts.map +0 -1
  502. package/dist/tempo/server/SponsorBudget.js.map +0 -1
  503. package/dist/tempo/server/Subscription.d.ts.map +0 -1
  504. package/dist/tempo/server/Subscription.js.map +0 -1
  505. package/dist/tempo/server/index.d.ts.map +0 -1
  506. package/dist/tempo/server/index.js.map +0 -1
  507. package/dist/tempo/server/internal/html.gen.d.ts.map +0 -1
  508. package/dist/tempo/server/internal/html.gen.js.map +0 -1
  509. package/dist/tempo/server/internal/request-body.d.ts.map +0 -1
  510. package/dist/tempo/server/internal/request-body.js.map +0 -1
  511. package/dist/tempo/server/internal/transport.d.ts.map +0 -1
  512. package/dist/tempo/server/internal/transport.js.map +0 -1
  513. package/dist/tempo/session/Snapshot.d.ts.map +0 -1
  514. package/dist/tempo/session/Snapshot.js.map +0 -1
  515. package/dist/tempo/session/client/ChannelOps.d.ts.map +0 -1
  516. package/dist/tempo/session/client/ChannelOps.js.map +0 -1
  517. package/dist/tempo/session/client/ChannelStore.d.ts.map +0 -1
  518. package/dist/tempo/session/client/ChannelStore.js.map +0 -1
  519. package/dist/tempo/session/client/CredentialState.d.ts.map +0 -1
  520. package/dist/tempo/session/client/CredentialState.js.map +0 -1
  521. package/dist/tempo/session/client/ReceiptCoordinator.d.ts.map +0 -1
  522. package/dist/tempo/session/client/ReceiptCoordinator.js.map +0 -1
  523. package/dist/tempo/session/client/Runtime.d.ts.map +0 -1
  524. package/dist/tempo/session/client/Runtime.js.map +0 -1
  525. package/dist/tempo/session/client/Session.d.ts.map +0 -1
  526. package/dist/tempo/session/client/Session.js.map +0 -1
  527. package/dist/tempo/session/client/SessionManager.d.ts.map +0 -1
  528. package/dist/tempo/session/client/SessionManager.js.map +0 -1
  529. package/dist/tempo/session/client/Transports.d.ts.map +0 -1
  530. package/dist/tempo/session/client/Transports.js.map +0 -1
  531. package/dist/tempo/session/client/index.d.ts.map +0 -1
  532. package/dist/tempo/session/client/index.js.map +0 -1
  533. package/dist/tempo/session/client/internal/SessionManager.d.ts.map +0 -1
  534. package/dist/tempo/session/client/internal/SessionManager.js.map +0 -1
  535. package/dist/tempo/session/index.d.ts.map +0 -1
  536. package/dist/tempo/session/index.js.map +0 -1
  537. package/dist/tempo/session/precompile/Chain.d.ts.map +0 -1
  538. package/dist/tempo/session/precompile/Chain.js.map +0 -1
  539. package/dist/tempo/session/precompile/Channel.d.ts.map +0 -1
  540. package/dist/tempo/session/precompile/Channel.js.map +0 -1
  541. package/dist/tempo/session/precompile/Protocol.d.ts.map +0 -1
  542. package/dist/tempo/session/precompile/Protocol.js.map +0 -1
  543. package/dist/tempo/session/precompile/Voucher.d.ts.map +0 -1
  544. package/dist/tempo/session/precompile/Voucher.js.map +0 -1
  545. package/dist/tempo/session/precompile/escrow.abi.d.ts.map +0 -1
  546. package/dist/tempo/session/precompile/escrow.abi.js.map +0 -1
  547. package/dist/tempo/session/precompile/index.d.ts.map +0 -1
  548. package/dist/tempo/session/precompile/index.js.map +0 -1
  549. package/dist/tempo/session/server/ChannelOps.d.ts.map +0 -1
  550. package/dist/tempo/session/server/ChannelOps.js.map +0 -1
  551. package/dist/tempo/session/server/ChannelStore.d.ts.map +0 -1
  552. package/dist/tempo/session/server/ChannelStore.js.map +0 -1
  553. package/dist/tempo/session/server/CredentialVerification.d.ts.map +0 -1
  554. package/dist/tempo/session/server/CredentialVerification.js.map +0 -1
  555. package/dist/tempo/session/server/MeteredStream.d.ts.map +0 -1
  556. package/dist/tempo/session/server/MeteredStream.js.map +0 -1
  557. package/dist/tempo/session/server/RequestState.d.ts.map +0 -1
  558. package/dist/tempo/session/server/RequestState.js.map +0 -1
  559. package/dist/tempo/session/server/Session.d.ts.map +0 -1
  560. package/dist/tempo/session/server/Session.js.map +0 -1
  561. package/dist/tempo/session/server/Settlement.d.ts.map +0 -1
  562. package/dist/tempo/session/server/Settlement.js.map +0 -1
  563. package/dist/tempo/session/server/Sse.d.ts.map +0 -1
  564. package/dist/tempo/session/server/Sse.js.map +0 -1
  565. package/dist/tempo/session/server/Transports.d.ts.map +0 -1
  566. package/dist/tempo/session/server/Transports.js.map +0 -1
  567. package/dist/tempo/session/server/Ws.d.ts.map +0 -1
  568. package/dist/tempo/session/server/Ws.js.map +0 -1
  569. package/dist/tempo/session/server/index.d.ts.map +0 -1
  570. package/dist/tempo/session/server/index.js.map +0 -1
  571. package/dist/tempo/subscription/KeyAuthorization.d.ts.map +0 -1
  572. package/dist/tempo/subscription/KeyAuthorization.js.map +0 -1
  573. package/dist/tempo/subscription/Receipt.d.ts.map +0 -1
  574. package/dist/tempo/subscription/Receipt.js.map +0 -1
  575. package/dist/tempo/subscription/Store.d.ts.map +0 -1
  576. package/dist/tempo/subscription/Store.js.map +0 -1
  577. package/dist/tempo/subscription/Types.d.ts.map +0 -1
  578. package/dist/tempo/subscription/Types.js.map +0 -1
  579. package/dist/tempo/subscription/index.d.ts.map +0 -1
  580. package/dist/tempo/subscription/index.js.map +0 -1
  581. package/dist/validation/core.d.ts.map +0 -1
  582. package/dist/validation/core.js.map +0 -1
  583. package/dist/validation/index.d.ts.map +0 -1
  584. package/dist/validation/index.js.map +0 -1
  585. package/dist/viem/Account.d.ts.map +0 -1
  586. package/dist/viem/Account.js.map +0 -1
  587. package/dist/viem/Client.d.ts.map +0 -1
  588. package/dist/viem/Client.js.map +0 -1
  589. package/dist/x402/Assets.d.ts.map +0 -1
  590. package/dist/x402/Assets.js.map +0 -1
  591. package/dist/x402/Header.d.ts.map +0 -1
  592. package/dist/x402/Header.js.map +0 -1
  593. package/dist/x402/Types.d.ts.map +0 -1
  594. package/dist/x402/Types.js.map +0 -1
  595. package/dist/x402/client/Exact.d.ts.map +0 -1
  596. package/dist/x402/client/Exact.js.map +0 -1
  597. package/dist/x402/index.d.ts.map +0 -1
  598. package/dist/x402/index.js.map +0 -1
  599. package/dist/x402/internal/ChallengeBrand.d.ts.map +0 -1
  600. package/dist/x402/internal/ChallengeBrand.js.map +0 -1
  601. package/dist/x402/internal/RouteBinding.d.ts.map +0 -1
  602. package/dist/x402/internal/RouteBinding.js.map +0 -1
  603. package/dist/x402/server/EvmCharge.d.ts.map +0 -1
  604. package/dist/x402/server/EvmCharge.js.map +0 -1
  605. package/dist/x402/server/Facilitator.d.ts.map +0 -1
  606. package/dist/x402/server/Facilitator.js.map +0 -1
  607. package/dist/zod.d.ts.map +0 -1
  608. package/dist/zod.js.map +0 -1
  609. package/src/BodyDigest.test.ts +0 -43
  610. package/src/BodyDigest.ts +0 -55
  611. package/src/Challenge.fuzz.test.ts +0 -121
  612. package/src/Challenge.test-d.ts +0 -82
  613. package/src/Challenge.test.ts +0 -995
  614. package/src/Challenge.ts +0 -683
  615. package/src/Constants.ts +0 -58
  616. package/src/Credential.fuzz.test.ts +0 -62
  617. package/src/Credential.test.ts +0 -378
  618. package/src/Credential.ts +0 -217
  619. package/src/Errors.test.ts +0 -520
  620. package/src/Errors.ts +0 -448
  621. package/src/Expires.test.ts +0 -112
  622. package/src/Expires.ts +0 -59
  623. package/src/Html.ts +0 -67
  624. package/src/Mcp.ts +0 -85
  625. package/src/Method.test.ts +0 -177
  626. package/src/Method.ts +0 -617
  627. package/src/PaymentRequest.test.ts +0 -147
  628. package/src/PaymentRequest.ts +0 -108
  629. package/src/Receipt.test.ts +0 -151
  630. package/src/Receipt.ts +0 -146
  631. package/src/Store.test-d.ts +0 -195
  632. package/src/Store.test.ts +0 -357
  633. package/src/Store.ts +0 -329
  634. package/src/bin.ts +0 -4
  635. package/src/cli/account.ts +0 -269
  636. package/src/cli/cli.test.ts +0 -2221
  637. package/src/cli/cli.ts +0 -1649
  638. package/src/cli/config.test.ts +0 -89
  639. package/src/cli/config.ts +0 -50
  640. package/src/cli/internal.ts +0 -114
  641. package/src/cli/mcp.test.ts +0 -262
  642. package/src/cli/plugins/evm.ts +0 -55
  643. package/src/cli/plugins/index.ts +0 -4
  644. package/src/cli/plugins/plugin.ts +0 -84
  645. package/src/cli/plugins/stripe.ts +0 -174
  646. package/src/cli/plugins/tempo.ts +0 -1102
  647. package/src/cli/sessions/Manager.test.ts +0 -249
  648. package/src/cli/sessions/Manager.ts +0 -93
  649. package/src/cli/sessions/commands.ts +0 -444
  650. package/src/cli/sessions/request.test.ts +0 -51
  651. package/src/cli/sessions/request.ts +0 -353
  652. package/src/cli/sessions/store.test.ts +0 -581
  653. package/src/cli/sessions/store.ts +0 -940
  654. package/src/cli/utils.test.ts +0 -156
  655. package/src/cli/utils.ts +0 -394
  656. package/src/cli/validate/challenge.ts +0 -565
  657. package/src/cli/validate/discovery.test.ts +0 -435
  658. package/src/cli/validate/discovery.ts +0 -221
  659. package/src/cli/validate/helpers.ts +0 -166
  660. package/src/cli/validate/index.ts +0 -229
  661. package/src/cli/validate/messages.ts +0 -7
  662. package/src/cli/validate/payment.ts +0 -774
  663. package/src/cli/validate.test.ts +0 -843
  664. package/src/client/Methods.ts +0 -8
  665. package/src/client/Mppx.test-d.ts +0 -270
  666. package/src/client/Mppx.test.ts +0 -1065
  667. package/src/client/Mppx.ts +0 -466
  668. package/src/client/Transport.test.ts +0 -619
  669. package/src/client/Transport.ts +0 -191
  670. package/src/client/index.ts +0 -29
  671. package/src/client/internal/Fetch.browser.test.ts +0 -197
  672. package/src/client/internal/Fetch.test-d.ts +0 -109
  673. package/src/client/internal/Fetch.test.ts +0 -2336
  674. package/src/client/internal/Fetch.ts +0 -1079
  675. package/src/client/internal/MethodChallenge.ts +0 -35
  676. package/src/client/internal/MethodResponse.ts +0 -67
  677. package/src/client/internal/protocols/Mcp.test.ts +0 -220
  678. package/src/client/internal/protocols/Mcp.ts +0 -186
  679. package/src/client/internal/protocols/Mpp.ts +0 -21
  680. package/src/client/internal/protocols/Protocol.ts +0 -10
  681. package/src/client/internal/protocols/Shared.ts +0 -25
  682. package/src/client/internal/protocols/X402.ts +0 -46
  683. package/src/client/node.test.ts +0 -115
  684. package/src/client/node.ts +0 -247
  685. package/src/discovery/Discovery.test.ts +0 -214
  686. package/src/discovery/Discovery.ts +0 -105
  687. package/src/discovery/OpenApi.test.ts +0 -453
  688. package/src/discovery/OpenApi.ts +0 -224
  689. package/src/discovery/Validate.test.ts +0 -305
  690. package/src/discovery/Validate.ts +0 -77
  691. package/src/discovery/index.ts +0 -3
  692. package/src/env.d.ts +0 -12
  693. package/src/evm/Assets.ts +0 -1
  694. package/src/evm/Chains.ts +0 -11
  695. package/src/evm/Methods.ts +0 -44
  696. package/src/evm/PublicInterface.test-d.ts +0 -134
  697. package/src/evm/Types.ts +0 -140
  698. package/src/evm/client/Charge.test.ts +0 -347
  699. package/src/evm/client/Charge.ts +0 -187
  700. package/src/evm/client/Methods.ts +0 -19
  701. package/src/evm/client/index.ts +0 -6
  702. package/src/evm/index.ts +0 -16
  703. package/src/evm/server/Charge.test.ts +0 -339
  704. package/src/evm/server/Charge.ts +0 -290
  705. package/src/evm/server/Methods.ts +0 -22
  706. package/src/evm/server/index.ts +0 -6
  707. package/src/index.ts +0 -14
  708. package/src/internal/AcceptPayment.test.ts +0 -343
  709. package/src/internal/AcceptPayment.ts +0 -366
  710. package/src/internal/HeaderCodec.ts +0 -36
  711. package/src/internal/changeset.test.ts +0 -106
  712. package/src/internal/constantTimeEqual.test.ts +0 -47
  713. package/src/internal/constantTimeEqual.ts +0 -10
  714. package/src/internal/env.test.ts +0 -42
  715. package/src/internal/env.ts +0 -49
  716. package/src/internal/types.test-d.ts +0 -21
  717. package/src/internal/types.ts +0 -470
  718. package/src/mcp/client/McpClient.integration.test.ts +0 -652
  719. package/src/mcp/client/McpClient.test-d.ts +0 -144
  720. package/src/mcp/client/McpClient.test.ts +0 -463
  721. package/src/mcp/client/McpClient.ts +0 -307
  722. package/src/mcp/client/McpClient.unit.test.ts +0 -135
  723. package/src/mcp/client/index.ts +0 -2
  724. package/src/mcp/server/Transport.test.ts +0 -191
  725. package/src/mcp/server/Transport.ts +0 -111
  726. package/src/mcp/server/index.ts +0 -1
  727. package/src/middlewares/elysia.test.ts +0 -295
  728. package/src/middlewares/elysia.ts +0 -116
  729. package/src/middlewares/express.test.ts +0 -371
  730. package/src/middlewares/express.ts +0 -140
  731. package/src/middlewares/hono.test.ts +0 -476
  732. package/src/middlewares/hono.ts +0 -153
  733. package/src/middlewares/internal/mppx.test.ts +0 -177
  734. package/src/middlewares/internal/mppx.ts +0 -67
  735. package/src/middlewares/nextjs.test.ts +0 -369
  736. package/src/middlewares/nextjs.ts +0 -107
  737. package/src/proxy/Proxy.test.ts +0 -1031
  738. package/src/proxy/Proxy.ts +0 -345
  739. package/src/proxy/Service.test.ts +0 -182
  740. package/src/proxy/Service.ts +0 -253
  741. package/src/proxy/index.ts +0 -6
  742. package/src/proxy/internal/Headers.test.ts +0 -139
  743. package/src/proxy/internal/Headers.ts +0 -66
  744. package/src/proxy/internal/Route.test.ts +0 -217
  745. package/src/proxy/internal/Route.ts +0 -64
  746. package/src/proxy/services/anthropic.test.ts +0 -132
  747. package/src/proxy/services/anthropic.ts +0 -52
  748. package/src/proxy/services/openai.test.ts +0 -157
  749. package/src/proxy/services/openai.ts +0 -59
  750. package/src/proxy/services/stripe.test.ts +0 -175
  751. package/src/proxy/services/stripe.ts +0 -58
  752. package/src/server/Methods.ts +0 -3
  753. package/src/server/Mppx.authorize.test.ts +0 -210
  754. package/src/server/Mppx.test-d.ts +0 -360
  755. package/src/server/Mppx.test.ts +0 -5813
  756. package/src/server/Mppx.ts +0 -2623
  757. package/src/server/NodeListener.test.ts +0 -293
  758. package/src/server/NodeListener.ts +0 -45
  759. package/src/server/Request.test.ts +0 -255
  760. package/src/server/Request.ts +0 -155
  761. package/src/server/Response.test.ts +0 -32
  762. package/src/server/Response.ts +0 -45
  763. package/src/server/Transport.test.ts +0 -598
  764. package/src/server/Transport.ts +0 -320
  765. package/src/server/index.ts +0 -9
  766. package/src/server/internal/html/compose.main.gen.ts +0 -2
  767. package/src/server/internal/html/compose.main.ts +0 -88
  768. package/src/server/internal/html/config.ts +0 -672
  769. package/src/server/internal/html/constants.ts +0 -28
  770. package/src/server/internal/html/serviceWorker.client.ts +0 -28
  771. package/src/server/internal/html/serviceWorker.gen.ts +0 -2
  772. package/src/server/internal/html/serviceWorker.ts +0 -27
  773. package/src/server/internal/html/tsconfig.compose.json +0 -8
  774. package/src/server/internal/html/tsconfig.worker.client.json +0 -8
  775. package/src/server/internal/html/tsconfig.worker.json +0 -8
  776. package/src/server/internal/scope.ts +0 -43
  777. package/src/stripe/Charge.integration.test.ts +0 -329
  778. package/src/stripe/Methods.test.ts +0 -62
  779. package/src/stripe/Methods.ts +0 -44
  780. package/src/stripe/client/Charge.test.ts +0 -205
  781. package/src/stripe/client/Charge.ts +0 -132
  782. package/src/stripe/client/Methods.ts +0 -37
  783. package/src/stripe/client/index.ts +0 -2
  784. package/src/stripe/index.ts +0 -1
  785. package/src/stripe/internal/constants.ts +0 -7
  786. package/src/stripe/internal/types.ts +0 -46
  787. package/src/stripe/server/Charge.test-d.ts +0 -66
  788. package/src/stripe/server/Charge.test.ts +0 -621
  789. package/src/stripe/server/Charge.ts +0 -434
  790. package/src/stripe/server/Methods.ts +0 -24
  791. package/src/stripe/server/index.ts +0 -2
  792. package/src/stripe/server/internal/html/main.ts +0 -165
  793. package/src/stripe/server/internal/html/node_modules/.bin/mppx +0 -22
  794. package/src/stripe/server/internal/html/node_modules/.bin/mppx.src +0 -22
  795. package/src/stripe/server/internal/html/package.json +0 -9
  796. package/src/stripe/server/internal/html/stripe-js-pure.d.ts +0 -7
  797. package/src/stripe/server/internal/html/tsconfig.json +0 -8
  798. package/src/stripe/server/internal/html/types.ts +0 -5
  799. package/src/stripe/server/internal/html.gen.ts +0 -2
  800. package/src/tempo/AccessKeyAuthorization.test.ts +0 -141
  801. package/src/tempo/Attribution.test.ts +0 -294
  802. package/src/tempo/Attribution.ts +0 -185
  803. package/src/tempo/Methods.test.ts +0 -425
  804. package/src/tempo/Methods.ts +0 -367
  805. package/src/tempo/Proof.conformance.test.ts +0 -146
  806. package/src/tempo/Proof.test-d.ts +0 -32
  807. package/src/tempo/Proof.test.ts +0 -40
  808. package/src/tempo/Proof.ts +0 -69
  809. package/src/tempo/PublicExports.test-d.ts +0 -130
  810. package/src/tempo/Subscription.integration.test.ts +0 -591
  811. package/src/tempo/client/Charge.test.ts +0 -501
  812. package/src/tempo/client/Charge.ts +0 -289
  813. package/src/tempo/client/Methods.ts +0 -45
  814. package/src/tempo/client/ResolveAccount.ts +0 -46
  815. package/src/tempo/client/Subscription.test.ts +0 -180
  816. package/src/tempo/client/Subscription.ts +0 -156
  817. package/src/tempo/client/index.ts +0 -17
  818. package/src/tempo/index.ts +0 -5
  819. package/src/tempo/internal/account.ts +0 -56
  820. package/src/tempo/internal/address.ts +0 -6
  821. package/src/tempo/internal/auto-swap.test.ts +0 -198
  822. package/src/tempo/internal/auto-swap.ts +0 -188
  823. package/src/tempo/internal/charge.test.ts +0 -66
  824. package/src/tempo/internal/charge.ts +0 -43
  825. package/src/tempo/internal/defaults.test.ts +0 -95
  826. package/src/tempo/internal/defaults.ts +0 -53
  827. package/src/tempo/internal/fee-payer.test.ts +0 -1177
  828. package/src/tempo/internal/fee-payer.ts +0 -808
  829. package/src/tempo/internal/fee-token.test.ts +0 -165
  830. package/src/tempo/internal/fee-token.ts +0 -72
  831. package/src/tempo/internal/proof.test.ts +0 -97
  832. package/src/tempo/internal/proof.ts +0 -87
  833. package/src/tempo/internal/selectors.ts +0 -10
  834. package/src/tempo/internal/types.ts +0 -19
  835. package/src/tempo/legacy/AccessKeyAuthorization.test.ts +0 -162
  836. package/src/tempo/legacy/README.md +0 -9
  837. package/src/tempo/legacy/client/ChannelOps.test.ts +0 -379
  838. package/src/tempo/legacy/client/ChannelOps.ts +0 -271
  839. package/src/tempo/legacy/client/Session.test.ts +0 -800
  840. package/src/tempo/legacy/client/Session.ts +0 -397
  841. package/src/tempo/legacy/client/SessionManager.test.ts +0 -468
  842. package/src/tempo/legacy/client/SessionManager.ts +0 -909
  843. package/src/tempo/legacy/client/index.ts +0 -6
  844. package/src/tempo/legacy/index.ts +0 -6
  845. package/src/tempo/legacy/server/Defaults.test-d.ts +0 -9
  846. package/src/tempo/legacy/server/Session.test.ts +0 -6370
  847. package/src/tempo/legacy/server/Session.ts +0 -1024
  848. package/src/tempo/legacy/server/index.ts +0 -4
  849. package/src/tempo/legacy/session/Chain.test.ts +0 -1349
  850. package/src/tempo/legacy/session/Chain.ts +0 -830
  851. package/src/tempo/legacy/session/Channel.test.ts +0 -109
  852. package/src/tempo/legacy/session/Channel.ts +0 -51
  853. package/src/tempo/legacy/session/ChannelStore.test.ts +0 -58
  854. package/src/tempo/legacy/session/ChannelStore.ts +0 -39
  855. package/src/tempo/legacy/session/Types.ts +0 -91
  856. package/src/tempo/legacy/session/Voucher.test.ts +0 -410
  857. package/src/tempo/legacy/session/Voucher.ts +0 -183
  858. package/src/tempo/legacy/session/escrow.abi.ts +0 -760
  859. package/src/tempo/legacy/session/index.ts +0 -8
  860. package/src/tempo/server/AtomicStore.test-d.ts +0 -50
  861. package/src/tempo/server/Charge.test.ts +0 -6121
  862. package/src/tempo/server/Charge.ts +0 -1351
  863. package/src/tempo/server/Methods.ts +0 -106
  864. package/src/tempo/server/Relay.test.ts +0 -677
  865. package/src/tempo/server/Relay.ts +0 -297
  866. package/src/tempo/server/SponsorBudget.test.ts +0 -154
  867. package/src/tempo/server/SponsorBudget.ts +0 -219
  868. package/src/tempo/server/Sse.test.ts +0 -321
  869. package/src/tempo/server/Subscription.test.ts +0 -1944
  870. package/src/tempo/server/Subscription.ts +0 -1333
  871. package/src/tempo/server/index.ts +0 -12
  872. package/src/tempo/server/internal/html/main.ts +0 -115
  873. package/src/tempo/server/internal/html/node_modules/.bin/mppx +0 -22
  874. package/src/tempo/server/internal/html/node_modules/.bin/mppx.src +0 -22
  875. package/src/tempo/server/internal/html/package.json +0 -10
  876. package/src/tempo/server/internal/html/tsconfig.json +0 -8
  877. package/src/tempo/server/internal/html.gen.ts +0 -2
  878. package/src/tempo/server/internal/request-body.test.ts +0 -210
  879. package/src/tempo/server/internal/request-body.ts +0 -61
  880. package/src/tempo/server/internal/transport.test.ts +0 -903
  881. package/src/tempo/server/internal/transport.ts +0 -310
  882. package/src/tempo/session/README.md +0 -208
  883. package/src/tempo/session/Snapshot.test.ts +0 -41
  884. package/src/tempo/session/Snapshot.ts +0 -95
  885. package/src/tempo/session/client/ChannelOps.test.ts +0 -218
  886. package/src/tempo/session/client/ChannelOps.ts +0 -348
  887. package/src/tempo/session/client/ChannelStore.ts +0 -111
  888. package/src/tempo/session/client/CredentialState.test.ts +0 -789
  889. package/src/tempo/session/client/CredentialState.ts +0 -942
  890. package/src/tempo/session/client/ReceiptCoordinator.ts +0 -95
  891. package/src/tempo/session/client/Runtime.test.ts +0 -1104
  892. package/src/tempo/session/client/Runtime.ts +0 -1008
  893. package/src/tempo/session/client/Session.test.ts +0 -1355
  894. package/src/tempo/session/client/Session.ts +0 -420
  895. package/src/tempo/session/client/SessionManager.test.ts +0 -1899
  896. package/src/tempo/session/client/SessionManager.ts +0 -996
  897. package/src/tempo/session/client/Transports.test.ts +0 -1141
  898. package/src/tempo/session/client/Transports.ts +0 -1534
  899. package/src/tempo/session/client/index.ts +0 -40
  900. package/src/tempo/session/client/internal/SessionManager.ts +0 -36
  901. package/src/tempo/session/index.ts +0 -7
  902. package/src/tempo/session/precompile/Chain.integration.test.ts +0 -339
  903. package/src/tempo/session/precompile/Chain.test.ts +0 -1641
  904. package/src/tempo/session/precompile/Chain.ts +0 -1149
  905. package/src/tempo/session/precompile/Channel.test.ts +0 -147
  906. package/src/tempo/session/precompile/Channel.ts +0 -108
  907. package/src/tempo/session/precompile/Protocol.test.ts +0 -358
  908. package/src/tempo/session/precompile/Protocol.ts +0 -520
  909. package/src/tempo/session/precompile/Voucher.test.ts +0 -354
  910. package/src/tempo/session/precompile/Voucher.ts +0 -162
  911. package/src/tempo/session/precompile/escrow.abi.ts +0 -226
  912. package/src/tempo/session/precompile/index.ts +0 -33
  913. package/src/tempo/session/server/ChannelOps.test.ts +0 -129
  914. package/src/tempo/session/server/ChannelOps.ts +0 -157
  915. package/src/tempo/session/server/ChannelStore.test.ts +0 -1093
  916. package/src/tempo/session/server/ChannelStore.ts +0 -835
  917. package/src/tempo/session/server/CredentialVerification.test.ts +0 -299
  918. package/src/tempo/session/server/CredentialVerification.ts +0 -775
  919. package/src/tempo/session/server/MeteredStream.ts +0 -95
  920. package/src/tempo/session/server/RequestState.test.ts +0 -574
  921. package/src/tempo/session/server/RequestState.ts +0 -507
  922. package/src/tempo/session/server/Session.integration.test.ts +0 -449
  923. package/src/tempo/session/server/Session.test.ts +0 -3862
  924. package/src/tempo/session/server/Session.ts +0 -570
  925. package/src/tempo/session/server/Settlement.test.ts +0 -345
  926. package/src/tempo/session/server/Settlement.ts +0 -527
  927. package/src/tempo/session/server/Sse.fuzz.test.ts +0 -138
  928. package/src/tempo/session/server/Sse.test.ts +0 -557
  929. package/src/tempo/session/server/Sse.ts +0 -254
  930. package/src/tempo/session/server/Transports.test.ts +0 -346
  931. package/src/tempo/session/server/Transports.ts +0 -255
  932. package/src/tempo/session/server/Ws.test.ts +0 -594
  933. package/src/tempo/session/server/Ws.ts +0 -385
  934. package/src/tempo/session/server/index.ts +0 -12
  935. package/src/tempo/subscription/KeyAuthorization.test.ts +0 -282
  936. package/src/tempo/subscription/KeyAuthorization.ts +0 -396
  937. package/src/tempo/subscription/Receipt.ts +0 -28
  938. package/src/tempo/subscription/Store.test.ts +0 -609
  939. package/src/tempo/subscription/Store.ts +0 -449
  940. package/src/tempo/subscription/Types.ts +0 -68
  941. package/src/tempo/subscription/index.ts +0 -23
  942. package/src/tsconfig.json +0 -10
  943. package/src/validation/core.ts +0 -386
  944. package/src/validation/index.ts +0 -11
  945. package/src/viem/Account.test.ts +0 -72
  946. package/src/viem/Account.ts +0 -30
  947. package/src/viem/Client.test.ts +0 -366
  948. package/src/viem/Client.ts +0 -93
  949. package/src/x402/Assets.test.ts +0 -253
  950. package/src/x402/Assets.ts +0 -221
  951. package/src/x402/Exact.e2e.test.ts +0 -448
  952. package/src/x402/Exact.localnet.test.ts +0 -475
  953. package/src/x402/Header.test.ts +0 -73
  954. package/src/x402/Header.ts +0 -79
  955. package/src/x402/PublicInterface.test-d.ts +0 -39
  956. package/src/x402/Types.ts +0 -248
  957. package/src/x402/client/Exact.test.ts +0 -309
  958. package/src/x402/client/Exact.ts +0 -186
  959. package/src/x402/index.ts +0 -6
  960. package/src/x402/internal/ChallengeBrand.ts +0 -14
  961. package/src/x402/internal/RouteBinding.ts +0 -18
  962. package/src/x402/server/EvmCharge.ts +0 -394
  963. package/src/x402/server/Facilitator.test.ts +0 -111
  964. package/src/x402/server/Facilitator.ts +0 -56
  965. package/src/zod.test.ts +0 -169
  966. package/src/zod.ts +0 -71
@@ -1,2 +1,2 @@
1
- export declare const html = "<script>(function(){var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),c=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},l=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},u=(n,r,a)=>(a=n==null?{}:e(i(n)),l(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));function d(e,t){let{name:n,...r}=e;return Object.defineProperty(t,\"name\",{value:n,configurable:!0}),Object.assign(t,r)}let f=()=>`IntersectionObserver`in window&&`IntersectionObserverEntry`in window&&`intersectionRatio`in IntersectionObserverEntry.prototype&&`isVisible`in IntersectionObserverEntry.prototype;function p(e){return e}function m(e,t={}){let{targetOrigin:n}=t,r=new Map;return p({destroy(){for(let t of r.values())e.removeEventListener(`message`,t);r.clear()},on(t,i,a){function o(e){e.data.topic===t&&(a&&e.data.id!==a||n&&e.origin!==n||i(e.data.payload,e))}return e.addEventListener(`message`,o),r.set(t,o),()=>{e.removeEventListener(`message`,o),r.delete(t)}},async send(t,r,i){let a=crypto.randomUUID();return e.postMessage(_({id:a,payload:r,topic:t}),i??n??`*`),{id:a,payload:r,topic:t}}})}function h(e){let{from:t,to:n,waitForReady:r=!1}=e,i=!1,a=g();t.on(`ready`,e=>a.resolve(e??{}));let o=p({destroy(){t.destroy(),n.destroy(),i&&a.reject()},on(e,n,r){return t.on(e,n,r)},async send(e,t){return i=!0,r&&await a.promise.finally(()=>i=!1),n.send(e,t)}});return{...o,ready(e){o.send(`ready`,e??{})},waitForReady(){return a.promise}}}function g(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),reject:t,resolve:e}}function _(e){if(Array.isArray(e))return e.map(_);if(typeof e==`function`)return;if(typeof e!=`object`||!e)return e;if(Object.getPrototypeOf(e)!==Object.prototype)try{return structuredClone(e)}catch{return}let t={};for(let[n,r]of Object.entries(e))t[n]=_(r);return t}function v(e,t,n){return n&&y(t,n)?!0:e.some(e=>e.startsWith(`*.`)?t.endsWith(e.slice(1))&&t.length>e.length-1:e===t)}function y(e,t){return b(e)===b(t)}function b(e){let t=e.split(`:`)[0].toLowerCase(),n=t.split(`.`);return n.length<=2?t:n.slice(-2).join(`.`)}function x(e,t){t&&(t.accent&&e.searchParams.set(`accent`,t.accent),t.radius&&e.searchParams.set(`radius`,t.radius),t.scheme&&e.searchParams.set(`scheme`,t.scheme))}let S={height:600,width:404};function C(e,t){let{name:n,...r}=e;return Object.defineProperty(t,\"name\",{value:n,configurable:!0}),Object.assign(t,r)}function w(){return typeof window>`u`?!1:window.location.protocol===`http:`||!window.isSecureContext}function T(){if(typeof navigator>`u`)return!1;let e=navigator.userAgent.toLowerCase();return e.includes(`safari`)&&!e.includes(`chrome`)}let ee;function te(){return typeof window>`u`?re():C({name:`iframe`},e=>{let{host:t}=e;if(ee&&ee.host===t)return ee.refs.store=e.store,ee.refs.fallback.destroy(),ee.refs.fallback=ne()(e),ee.instance.syncTheme(e.theme),ee.instance;ee?.instance.destroy();let n={fallback:ne()(e),store:e.store},r=!1,i=ae(),a=new URL(t);a.searchParams.set(`chainId`,String(n.store.getState().chainId)),a.searchParams.set(`mode`,`iframe`),i.icon&&(typeof i.icon==`string`?a.searchParams.set(`icon`,i.icon):(a.searchParams.set(`icon`,i.icon.light),a.searchParams.set(`iconDark`,i.icon.dark))),x(a,e.theme);let o=document.createElement(`dialog`);o.dataset.tempoWallet=``,o.setAttribute(`role`,`dialog`),o.setAttribute(`aria-closed`,`true`),o.setAttribute(`aria-label`,`Tempo Wallet`),o.setAttribute(`hidden`,`until-found`),Object.assign(o.style,{background:`transparent`,border:`0`,outline:`0`,padding:`0`,position:`fixed`});let s=document.createElement(`iframe`);s.dataset.testid=`tempo-wallet`,s.setAttribute(`allow`,[`publickey-credentials-get ${a.origin}`,`publickey-credentials-create ${a.origin}`,`clipboard-write`,`payment`].join(`; `)),s.setAttribute(`allowtransparency`,`true`),s.setAttribute(`tabindex`,`0`),s.setAttribute(`title`,`Tempo Wallet`),s.src=a.toString(),Object.assign(s.style,{backgroundColor:`transparent`,border:`0`,colorScheme:e.theme?.scheme??`light dark`,height:`100%`,left:`0`,position:`fixed`,top:`0`,width:`100%`});let c=document.createElement(`style`);c.innerHTML=`\n dialog[data-tempo-wallet]::backdrop {\n background: transparent!important;\n }\n `,o.appendChild(c),o.appendChild(s);let l,u,d=[],p=!1;function g(){e.onReject(d.map(e=>e.request.id))}function _(){l=void 0;let t=h({from:m(window,{targetOrigin:a.origin}),to:m(s.contentWindow,{targetOrigin:a.origin}),waitForReady:!0});return t.on(`rpc-response`,t=>e.onResponse(t)),t.waitForReady().then(e=>{l=e,e.colorScheme&&(s.style.colorScheme=e.colorScheme),ie(t,n.store)}),t.on(`sync`,({valid:e})=>{e===!1&&n.store.disconnect()}),t.on(`switch-mode`,()=>{le(),re(),r=!1,p=!0,u&&d.length>0&&n.fallback.syncRequests(u)}),t}document.body.appendChild(o);let y=_();new MutationObserver(e=>{for(let t of e)for(let e of t.removedNodes)if(e===o){document.body.appendChild(o),y.destroy(),y=_();return}}).observe(document.body,{childList:!0});let b=``,S=null,C=()=>g(),w=new MutationObserver(e=>{for(let t of e)t.type===`attributes`&&t.attributeName===`inert`&&o.removeAttribute(`inert`)});w.observe(o,{attributeOldValue:!0,attributes:!0});let te=!1,re=()=>{te&&(te=!1,o.removeEventListener(`cancel`,C),o.removeEventListener(`click`,C),o.style.pointerEvents=`none`,S?.focus(),S=null,document.body.style.overflow=b)},oe=()=>{te||(te=!0,o.addEventListener(`cancel`,C),o.addEventListener(`click`,C),s.focus(),o.style.pointerEvents=`auto`,b=document.body.style.overflow,document.body.style.overflow=`hidden`)},se=!1,ce=()=>{se||(se=!0,document.activeElement instanceof HTMLElement&&(S=document.activeElement),o.removeAttribute(`hidden`),o.removeAttribute(`aria-closed`),o.showModal())},le=()=>{if(se){se=!1,o.setAttribute(`hidden`,`true`),o.setAttribute(`aria-closed`,`true`),o.close();for(let e of o.parentNode?Array.from(o.parentNode.children):[])e!==o&&e.hasAttribute(`inert`)&&e.removeAttribute(`inert`)}},ue={close(){n.fallback.close(),r=!1,le(),re()},destroy(){ee?.instance===ue&&(ee=void 0),n.fallback.close(),r=!1,re(),le(),n.fallback.destroy(),y.destroy(),o.remove(),w.disconnect()},open(){r||(r=!0,ce(),oe())},async syncRequests(e){let{requests:t}=e;if(u=e,d=t,p){n.fallback.syncRequests(e);return}let{trustedHosts:i}=l??await y.waitForReady();if(T()&&t.some(e=>[`wallet_connect`,`eth_requestAccounts`].includes(e.request.method))){n.fallback.syncRequests(e);return}let o=f(),s=window.location.hostname.replace(/^www\\./,``),c=!!(i&&v(i,s,a.hostname));if(!(o||c))console.warn([`[accounts] Browser does not support IntersectionObserver v2 and \"${window.location.hostname}\" is not a trusted host.`,`Falling back to popup dialog.`,``,`To enable the iframe dialog, add your hostname to the trusted hosts list.`].join(`\n`)),n.fallback.syncRequests(e);else{let n=t.some(e=>e.status===`pending`);!r&&n&&this.open(),y.send(`rpc-requests`,{account:e.account,chainId:e.chainId,requests:t})}},syncTheme(e){s.style.colorScheme=e?.scheme??`light dark`,y.send(`theme`,e??{})}};return ee={host:t,instance:ue,refs:n},ue})}function ne(e={}){if(typeof window>`u`)return re();let{size:t=S}=e;return C({name:`popup`},e=>{let{host:n,store:r}=e,i=null,a=[];function o(){e.onReject(a.map(e=>e.request.id))}let s=(()=>{let e=setInterval(()=>{i?.closed&&o()},100);return()=>clearInterval(e)})(),c,l=document.createElement(`div`);Object.assign(l.style,{alignItems:`center`,background:`rgba(0, 0, 0, 0.5)`,color:`white`,display:`none`,flexDirection:`column`,fontFamily:`system-ui, sans-serif`,fontSize:`16px`,gap:`12px`,inset:`0`,justifyContent:`center`,position:`fixed`,zIndex:`2147483647`});let u=document.createElement(`p`);Object.assign(u.style,{margin:`0`}),u.textContent=`Continue in the popup window`;let d=document.createElement(`button`);return Object.assign(d.style,{background:`none`,border:`none`,color:`white`,cursor:`pointer`,font:`inherit`,padding:`0`,textDecoration:`underline`}),d.textContent=`Close`,d.addEventListener(`click`,()=>o()),l.appendChild(u),l.appendChild(d),document.body.appendChild(l),{close(){l.style.display=`none`,i&&=(i.close(),null)},destroy(){this.close(),c?.destroy(),s(),l.remove()},open(){c?.destroy(),i?.close();let a=ae(),o=new URL(n);o.searchParams.set(`chainId`,String(r.getState().chainId)),o.searchParams.set(`mode`,`popup`),a.icon&&(typeof a.icon==`string`?o.searchParams.set(`icon`,a.icon):(o.searchParams.set(`icon`,a.icon.light),o.searchParams.set(`iconDark`,a.icon.dark))),x(o,e.theme);let s=(window.innerWidth-t.width)/2+window.screenX,u=(window.innerHeight-t.height)/2+window.screenY;if(i=window.open(o.toString(),`_blank`,`width=${t.width},height=${t.height},left=${s},top=${u}`),!i)throw Error(`Failed to open popup`);c=h({from:m(window,{targetOrigin:o.origin}),to:m(i,{targetOrigin:o.origin}),waitForReady:!0}),c.on(`rpc-response`,t=>e.onResponse(t)),l.style.display=`flex`},async syncRequests(e){let{requests:t}=e;a=t,t.some(e=>e.status===`pending`)&&(!i||i.closed?this.open():i.focus()),c?.send(`rpc-requests`,{account:e.account,chainId:e.chainId,requests:t})},syncTheme(){}}})}function re(){return C({name:`noop`},()=>({open(){},close(){},destroy(){},async syncRequests(){},syncTheme(){}}))}function ie(e,t){let{accounts:n}=t.getState();n.length!==0&&e.send(`sync`,{addresses:n.map(e=>e.address)})}function ae(){return{icon:(()=>{let e=document.querySelector(`link[rel~=\"icon\"][media=\"(prefers-color-scheme: dark)\"]`),t=document.querySelector(`link[rel~=\"icon\"][media=\"(prefers-color-scheme: light)\"]`)??document.querySelector(`link[rel~=\"icon\"]`);return e?.href&&t?.href&&e.href!==t.href?{dark:e.href,light:t.href}:(window.matchMedia(`(prefers-color-scheme: dark)`).matches?e?.href:t?.href)??t?.href})(),title:document.title}}var oe,se=o((()=>{oe=`1.2.3`})),ce,le=o((()=>{se(),ce=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...i?[`Docs: https://abitype.dev${i}`]:[],...r?[`Details: ${r}`]:[],`Version: abitype@${oe}`].join(`\n`);super(a),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsPath\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"metaMessages\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"shortMessage\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiTypeError`}),n.cause&&(this.cause=n.cause),this.details=r,this.docsPath=i,this.metaMessages=n.metaMessages,this.shortMessage=t}}}));function ue(e,t){return e.exec(t)?.groups}var de,fe,pe,me=o((()=>{de=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,fe=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,pe=/^\\(.+?\\).*?$/}));function he(e){let t=e.type;if(ge.test(e.type)&&`components`in e){t=`(`;let n=e.components.length;for(let r=0;r<n;r++){let i=e.components[r];t+=he(i),r<n-1&&(t+=`, `)}let r=ue(ge,e.type);return t+=`)${r?.array||``}`,he({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}var ge,_e=o((()=>{me(),ge=/^tuple(?<array>(\\[(\\d*)\\])*)$/}));function ve(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=he(i),r!==n-1&&(t+=`, `)}return t}var ye=o((()=>{_e()}));function be(e){return e.type===`function`?`function ${e.name}(${ve(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${ve(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${ve(e.inputs)})`:e.type===`error`?`error ${e.name}(${ve(e.inputs)})`:e.type===`constructor`?`constructor(${ve(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}var xe=o((()=>{ye()}));function Se(e){return Fe.test(e)}function Ce(e){return ue(Fe,e)}function we(e){return Ie.test(e)}function Te(e){return ue(Ie,e)}function Ee(e){return Le.test(e)}function De(e){return ue(Le,e)}function Oe(e){return Re.test(e)}function ke(e){return ue(Re,e)}function Ae(e){return ze.test(e)}function je(e){return ue(ze,e)}function Me(e){return Be.test(e)}function Ne(e){return ue(Be,e)}function Pe(e){return Ve.test(e)}var Fe,Ie,Le,Re,ze,Be,Ve,He,Ue,We=o((()=>{me(),Fe=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Ie=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Le=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\\s?\\((?<returns>.*?)\\))?$/,Re=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/,ze=/^constructor\\((?<parameters>.*?)\\)(?:\\s(?<stateMutability>payable{1}))?$/,Be=/^fallback\\(\\) external(?:\\s(?<stateMutability>payable{1}))?$/,Ve=/^receive\\(\\) external payable$/,He=new Set([`indexed`]),Ue=new Set([`calldata`,`memory`,`storage`])})),Ge,Ke,qe=o((()=>{le(),Ge=class extends ce{constructor({type:e}){super(`Unknown type.`,{metaMessages:[`Type \"${e}\" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownTypeError`})}},Ke=class extends ce{constructor({type:e}){super(`Unknown type.`,{metaMessages:[`Type \"${e}\" is not a valid ABI type.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownSolidityTypeError`})}}})),Je,Ye,Xe,Ze,Qe,$e=o((()=>{le(),Je=class extends ce{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},Ye=class extends ce{constructor({param:e,name:t}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`\"${t}\" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SolidityProtectedKeywordError`})}},Xe=class extends ce{constructor({param:e,type:t,modifier:n}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`Modifier \"${n}\" not allowed${t?` in \"${t}\" type`:``}.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidModifierError`})}},Ze=class extends ce{constructor({param:e,type:t,modifier:n}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`Modifier \"${n}\" not allowed${t?` in \"${t}\" type`:``}.`,`Data location can only be specified for array, struct, or mapping types, but \"${n}\" was given.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidFunctionModifierError`})}},Qe=class extends ce{constructor({abiParameter:e}){super(`Invalid ABI parameter.`,{details:JSON.stringify(e,null,2),metaMessages:[`ABI parameter type is invalid.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidAbiTypeParameterError`})}}})),et,tt,nt,rt=o((()=>{le(),et=class extends ce{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},tt=class extends ce{constructor({signature:e}){super(`Unknown signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownSignatureError`})}},nt=class extends ce{constructor({signature:e}){super(`Invalid struct signature.`,{details:e,metaMessages:[`No properties exist.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidStructSignatureError`})}}})),it,at=o((()=>{le(),it=class extends ce{constructor({type:e}){super(`Circular reference detected.`,{metaMessages:[`Struct \"${e}\" is a circular reference.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`CircularReferenceError`})}}})),ot,st=o((()=>{le(),ot=class extends ce{constructor({current:e,depth:t}){super(`Unbalanced parentheses.`,{metaMessages:[`\"${e.trim()}\" has too many ${t>0?`opening`:`closing`} parentheses.`],details:`Depth \"${t}\"`}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParenthesisError`})}}}));function ct(e,t,n){let r=``;if(n)for(let e of Object.entries(n)){if(!e)continue;let t=``;for(let n of e[1])t+=`[${n.type}${n.name?`:${n.name}`:``}]`;r+=`(${e[0]}{${t}})`}return t?`${t}:${e}${r}`:`${e}${r}`}var lt,ut=o((()=>{lt=new Map([[`address`,{type:`address`}],[`bool`,{type:`bool`}],[`bytes`,{type:`bytes`}],[`bytes32`,{type:`bytes32`}],[`int`,{type:`int256`}],[`int256`,{type:`int256`}],[`string`,{type:`string`}],[`uint`,{type:`uint256`}],[`uint8`,{type:`uint8`}],[`uint16`,{type:`uint16`}],[`uint24`,{type:`uint24`}],[`uint32`,{type:`uint32`}],[`uint64`,{type:`uint64`}],[`uint96`,{type:`uint96`}],[`uint112`,{type:`uint112`}],[`uint160`,{type:`uint160`}],[`uint192`,{type:`uint192`}],[`uint256`,{type:`uint256`}],[`address owner`,{type:`address`,name:`owner`}],[`address to`,{type:`address`,name:`to`}],[`bool approved`,{type:`bool`,name:`approved`}],[`bytes _data`,{type:`bytes`,name:`_data`}],[`bytes data`,{type:`bytes`,name:`data`}],[`bytes signature`,{type:`bytes`,name:`signature`}],[`bytes32 hash`,{type:`bytes32`,name:`hash`}],[`bytes32 r`,{type:`bytes32`,name:`r`}],[`bytes32 root`,{type:`bytes32`,name:`root`}],[`bytes32 s`,{type:`bytes32`,name:`s`}],[`string name`,{type:`string`,name:`name`}],[`string symbol`,{type:`string`,name:`symbol`}],[`string tokenURI`,{type:`string`,name:`tokenURI`}],[`uint tokenId`,{type:`uint256`,name:`tokenId`}],[`uint8 v`,{type:`uint8`,name:`v`}],[`uint256 balance`,{type:`uint256`,name:`balance`}],[`uint256 tokenId`,{type:`uint256`,name:`tokenId`}],[`uint256 value`,{type:`uint256`,name:`value`}],[`event:address indexed from`,{type:`address`,name:`from`,indexed:!0}],[`event:address indexed to`,{type:`address`,name:`to`,indexed:!0}],[`event:uint indexed tokenId`,{type:`uint256`,name:`tokenId`,indexed:!0}],[`event:uint256 indexed tokenId`,{type:`uint256`,name:`tokenId`,indexed:!0}]])}));function dt(e,t={}){if(Ee(e))return ft(e,t);if(we(e))return pt(e,t);if(Se(e))return mt(e,t);if(Ae(e))return ht(e,t);if(Me(e))return gt(e);if(Pe(e))return{type:`receive`,stateMutability:`payable`};throw new tt({signature:e})}function ft(e,t={}){let n=De(e);if(!n)throw new et({signature:e,type:`function`});let r=vt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(_t(r[e],{modifiers:Ue,structs:t,type:`function`}));let o=[];if(n.returns){let e=vt(n.returns),r=e.length;for(let n=0;n<r;n++)o.push(_t(e[n],{modifiers:Ue,structs:t,type:`function`}))}return{name:n.name,type:`function`,stateMutability:n.stateMutability??`nonpayable`,inputs:i,outputs:o}}function pt(e,t={}){let n=Te(e);if(!n)throw new et({signature:e,type:`event`});let r=vt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(_t(r[e],{modifiers:He,structs:t,type:`event`}));return{name:n.name,type:`event`,inputs:i}}function mt(e,t={}){let n=Ce(e);if(!n)throw new et({signature:e,type:`error`});let r=vt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(_t(r[e],{structs:t,type:`error`}));return{name:n.name,type:`error`,inputs:i}}function ht(e,t={}){let n=je(e);if(!n)throw new et({signature:e,type:`constructor`});let r=vt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(_t(r[e],{structs:t,type:`constructor`}));return{type:`constructor`,stateMutability:n.stateMutability??`nonpayable`,inputs:i}}function gt(e){let t=Ne(e);if(!t)throw new et({signature:e,type:`fallback`});return{type:`fallback`,stateMutability:t.stateMutability??`nonpayable`}}function _t(e,t){let n=ct(e,t?.type,t?.structs);if(lt.has(n))return lt.get(n);let r=pe.test(e),i=ue(r?Ct:St,e);if(!i)throw new Je({param:e});if(i.name&&bt(i.name))throw new Ye({param:e,name:i.name});let a=i.name?{name:i.name}:{},o=i.modifier===`indexed`?{indexed:!0}:{},s=t?.structs??{},c,l={};if(r){c=`tuple`;let e=vt(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(_t(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(wt.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!yt(c))throw new Ke({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new Xe({param:e,type:t?.type,modifier:i.modifier});if(Ue.has(i.modifier)&&!xt(c,!!i.array))throw new Ze({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return lt.set(n,u),u}function vt(e,t=[],n=``,r=0){let i=e.trim().length;for(let a=0;a<i;a++){let i=e[a],o=e.slice(a+1);switch(i){case`,`:return r===0?vt(o,[...t,n.trim()]):vt(o,t,`${n}${i}`,r);case`(`:return vt(o,t,`${n}${i}`,r+1);case`)`:return vt(o,t,`${n}${i}`,r-1);default:return vt(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new ot({current:n,depth:r});return t.push(n.trim()),t}function yt(e){return e===`address`||e===`bool`||e===`function`||e===`string`||de.test(e)||fe.test(e)}function bt(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||de.test(e)||fe.test(e)||Tt.test(e)}function xt(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}var St,Ct,wt,Tt,Et=o((()=>{me(),qe(),$e(),rt(),st(),ut(),We(),St=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*(?:\\spayable)?)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,Ct=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,wt=/^u?int$/,Tt=/^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/}));function Dt(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!Oe(n))continue;let i=ke(n);if(!i)throw new et({signature:n,type:`struct`});let a=i.properties.split(`;`),o=[],s=a.length;for(let e=0;e<s;e++){let t=a[e].trim();if(!t)continue;let n=_t(t,{type:`struct`});o.push(n)}if(!o.length)throw new nt({signature:n});t[i.name]=o}let r={},i=Object.entries(t),a=i.length;for(let e=0;e<a;e++){let[n,a]=i[e];r[n]=Ot(a,t)}return r}function Ot(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(pe.test(i.type))r.push(i);else{let e=ue(kt,i.type);if(!e?.type)throw new Qe({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new it({type:o});r.push({...i,type:`tuple${a??``}`,components:Ot(t[o],t,new Set([...n,o]))})}else if(yt(o))r.push(i);else throw new Ge({type:o})}}return r}var kt,At=o((()=>{me(),qe(),$e(),rt(),at(),We(),Et(),kt=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/}));function jt(e){let t=Dt(e),n=[],r=e.length;for(let i=0;i<r;i++){let r=e[i];Oe(r)||n.push(dt(r,t))}return n}var Mt=o((()=>{We(),At(),Et()})),Nt=o((()=>{le(),xe(),_e(),ye(),Mt(),qe(),We(),At(),Et(),$e(),rt(),st(),at()}));function E(e,t,n){let r=e[t.name];if(typeof r==`function`)return r;let i=e[n];return typeof i==`function`?i:n=>t(e,n)}function Pt(e,{includeName:t=!1}={}){if(e.type!==`function`&&e.type!==`event`&&e.type!==`error`)throw new mn(e.type);return`${e.name}(${Ft(e.inputs,{includeName:t})})`}function Ft(e,{includeName:t=!1}={}){return e?e.map(e=>It(e,{includeName:t})).join(t?`, `:`,`):``}function It(e,{includeName:t}){return e.type.startsWith(`tuple`)?`(${Ft(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:``)}var Lt=o((()=>{hn()}));function D(e,{strict:t=!0}={}){return!e||typeof e!=`string`?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith(`0x`)}var Rt=o((()=>{}));function zt(e){return D(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var Bt=o((()=>{Rt()})),Vt,Ht=o((()=>{Vt=`2.55.10`}));function Ut(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause!==void 0?Ut(e.cause,t):t?null:e}var Wt,O,k=o((()=>{Ht(),Wt={getDocsUrl:({docsBaseUrl:e,docsPath:t=``,docsSlug:n})=>t?`${e??`https://viem.sh`}${t}${n?`#${n}`:``}`:void 0,version:`viem@${Vt}`},O=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=Wt.getDocsUrl?.({...n,docsPath:i}),o=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...a?[`Docs: ${a}`]:[],...r?[`Details: ${r}`]:[],...Wt.version?[`Version: ${Wt.version}`]:[]].join(`\n`);super(o,n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsPath\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"metaMessages\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"shortMessage\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"version\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`BaseError`}),this.details=r,this.docsPath=i,this.metaMessages=n.metaMessages,this.name=n.name??this.name,this.shortMessage=t,this.version=Vt}walk(e){return Ut(this,e)}}})),Gt,Kt,qt,Jt,Yt,Xt,Zt,Qt,$t,en,tn,nn,rn,an,on,sn,cn,ln,un,dn,fn,pn,mn,hn=o((()=>{Lt(),Bt(),k(),Gt=class extends O{constructor({docsPath:e}){super([`A constructor was not found on the ABI.`,`Make sure you are using the correct ABI and that the constructor exists on it.`].join(`\n`),{docsPath:e,name:`AbiConstructorNotFoundError`})}},Kt=class extends O{constructor({docsPath:e}){super([\"Constructor arguments were provided (`args`), but a constructor parameters (`inputs`) were not found on the ABI.\",\"Make sure you are using the correct ABI, and that the `inputs` attribute on the constructor exists.\"].join(`\n`),{docsPath:e,name:`AbiConstructorParamsNotFoundError`})}},qt=class extends O{constructor({data:e,params:t,size:n}){super([`Data size of ${n} bytes is too small for given parameters.`].join(`\n`),{metaMessages:[`Params: (${Ft(t,{includeName:!0})})`,`Data: ${e} (${n} bytes)`],name:`AbiDecodingDataSizeTooSmallError`}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"params\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"size\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=e,this.params=t,this.size=n}},Jt=class extends O{constructor({cause:e}={}){super(`Cannot decode zero data (\"0x\") with ABI parameters.`,{name:`AbiDecodingZeroDataError`,cause:e})}},Yt=class extends O{constructor({expectedLength:e,givenLength:t,type:n}){super([`ABI encoding array length mismatch for type ${n}.`,`Expected length: ${e}`,`Given length: ${t}`].join(`\n`),{name:`AbiEncodingArrayLengthMismatchError`})}},Xt=class extends O{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${zt(t)}) does not match expected size (bytes${e}).`,{name:`AbiEncodingBytesSizeMismatchError`})}},Zt=class extends O{constructor({expectedLength:e,givenLength:t}){super([`ABI encoding params/values length mismatch.`,`Expected length (params): ${e}`,`Given length (values): ${t}`].join(`\n`),{name:`AbiEncodingLengthMismatchError`})}},Qt=class extends O{constructor(e,{docsPath:t}){super([`Arguments (\\`args\\`) were provided to \"${e}\", but \"${e}\" on the ABI does not contain any parameters (\\`inputs\\`).`,`Cannot encode error result without knowing what the parameter types are.`,`Make sure you are using the correct ABI and that the inputs exist on it.`].join(`\n`),{docsPath:t,name:`AbiErrorInputsNotFoundError`})}},$t=class extends O{constructor(e,{docsPath:t}={}){super([`Error ${e?`\"${e}\" `:``}not found on ABI.`,`Make sure you are using the correct ABI and that the error exists on it.`].join(`\n`),{docsPath:t,name:`AbiErrorNotFoundError`})}},en=class extends O{constructor(e,{docsPath:t,cause:n}){super([`Encoded error signature \"${e}\" not found on ABI.`,`Make sure you are using the correct ABI and that the error exists on it.`,`You can look up the decoded signature here: https://4byte.sourcify.dev/?q=${e}.`].join(`\n`),{docsPath:t,name:`AbiErrorSignatureNotFoundError`,cause:n}),Object.defineProperty(this,\"signature\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.signature=e}},tn=class extends O{constructor({docsPath:e}){super(`Cannot extract event signature from empty topics.`,{docsPath:e,name:`AbiEventSignatureEmptyTopicsError`})}},nn=class extends O{constructor(e,{docsPath:t}){super([`Encoded event signature \"${e}\" not found on ABI.`,`Make sure you are using the correct ABI and that the event exists on it.`,`You can look up the signature here: https://4byte.sourcify.dev/?q=${e}.`].join(`\n`),{docsPath:t,name:`AbiEventSignatureNotFoundError`})}},rn=class extends O{constructor(e,{docsPath:t}={}){super([`Function ${e?`\"${e}\" `:``}not found on ABI.`,`Make sure you are using the correct ABI and that the function exists on it.`].join(`\n`),{docsPath:t,name:`AbiFunctionNotFoundError`})}},an=class extends O{constructor(e,{docsPath:t}){super([`Function \"${e}\" does not contain any \\`outputs\\` on ABI.`,`Cannot decode function result without knowing what the parameter types are.`,`Make sure you are using the correct ABI and that the function exists on it.`].join(`\n`),{docsPath:t,name:`AbiFunctionOutputsNotFoundError`})}},on=class extends O{constructor(e,{docsPath:t}){super([`Encoded function signature \"${e}\" not found on ABI.`,`Make sure you are using the correct ABI and that the function exists on it.`,`You can look up the signature here: https://4byte.sourcify.dev/?q=${e}.`].join(`\n`),{docsPath:t,name:`AbiFunctionSignatureNotFoundError`})}},sn=class extends O{constructor(e,t){super(`Found ambiguous types in overloaded ABI items.`,{metaMessages:[`\\`${e.type}\\` in \\`${Pt(e.abiItem)}\\`, and`,`\\`${t.type}\\` in \\`${Pt(t.abiItem)}\\``,``,`These types encode differently and cannot be distinguished at runtime.`,`Remove one of the ambiguous items in the ABI.`],name:`AbiItemAmbiguityError`})}},cn=class extends O{constructor({expectedSize:e,givenSize:t}){super(`Expected bytes${e}, got bytes${t}.`,{name:`BytesSizeMismatchError`})}},ln=class extends O{constructor({abiItem:e,data:t,params:n,size:r}){super([`Data size of ${r} bytes is too small for non-indexed event parameters.`].join(`\n`),{metaMessages:[`Params: (${Ft(n,{includeName:!0})})`,`Data: ${t} (${r} bytes)`],name:`DecodeLogDataMismatch`}),Object.defineProperty(this,\"abiItem\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"params\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"size\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e,this.data=t,this.params=n,this.size=r}},un=class extends O{constructor({abiItem:e,param:t}){super([`Expected a topic for indexed event parameter${t.name?` \"${t.name}\"`:``} on event \"${Pt(e,{includeName:!0})}\".`].join(`\n`),{name:`DecodeLogTopicsMismatch`}),Object.defineProperty(this,\"abiItem\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e}},dn=class extends O{constructor(e,{docsPath:t}){super([`Type \"${e}\" is not a valid encoding type.`,`Please provide a valid ABI type.`].join(`\n`),{docsPath:t,name:`InvalidAbiEncodingType`})}},fn=class extends O{constructor(e,{docsPath:t}){super([`Type \"${e}\" is not a valid decoding type.`,`Please provide a valid ABI type.`].join(`\n`),{docsPath:t,name:`InvalidAbiDecodingType`})}},pn=class extends O{constructor(e){super([`Value \"${e}\" is not a valid array.`].join(`\n`),{name:`InvalidArrayError`})}},mn=class extends O{constructor(e){super([`\"${e}\" is not a valid definition type.`,`Valid types: \"function\", \"event\", \"error\"`].join(`\n`),{name:`InvalidDefinitionTypeError`})}}})),gn,_n,vn,yn=o((()=>{k(),gn=class extends O{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \"${e}\" is out-of-bounds (size: ${n}).`,{name:`SliceOffsetOutOfBoundsError`})}},_n=class extends O{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:`SizeExceedsPaddingSizeError`})}},vn=class extends O{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} is expected to be ${t} ${n} long, but is ${e} ${n} long.`,{name:`InvalidBytesLengthError`})}}}));function bn(e,{dir:t,size:n=32}={}){return typeof e==`string`?xn(e,{dir:t,size:n}):Sn(e,{dir:t,size:n})}function xn(e,{dir:t,size:n=32}={}){if(n===null)return e;let r=e.replace(`0x`,``);if(r.length>n*2)throw new _n({size:Math.ceil(r.length/2),targetSize:n,type:`hex`});return`0x${r[t===`right`?`padEnd`:`padStart`](n*2,`0`)}`}function Sn(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new _n({size:e.length,targetSize:n,type:`bytes`});let r=new Uint8Array(n);for(let i=0;i<n;i++){let a=t===`right`;r[a?i:n-i-1]=e[a?i:e.length-i-1]}return r}var Cn=o((()=>{yn()})),wn,Tn,En,Dn,On,kn,An,jn,Mn=o((()=>{k(),wn=class extends O{constructor({max:e,min:t,signed:n,size:r,value:i}){super(`Number \"${i}\" is not in safe ${r?`${r*8}-bit ${n?`signed`:`unsigned`} `:``}integer range ${e?`(${t} to ${e})`:`(above ${t})`}`,{name:`IntegerOutOfRangeError`})}},Tn=class extends O{constructor(e){super(`Bytes value \"${e}\" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`,{name:`InvalidBytesBooleanError`})}},En=class extends O{constructor(e){super(`Hex value \"${e}\" is not a valid boolean. The hex value must be \"0x0\" (false) or \"0x1\" (true).`,{name:`InvalidHexBooleanError`})}},Dn=class extends O{constructor(e){super(`Hex value \"${e}\" is an odd length (${e.length}). It must be an even length.`,{name:`InvalidHexValueError`})}},On=class extends O{constructor({limit:e}){super(`RLP depth limit of \\`${e}\\` exceeded.`,{name:`RlpDepthLimitExceededError`})}},kn=class extends O{constructor({consumed:e,declared:t}){super(`RLP list items consumed \\`${e}\\` bytes but the list declared a length of \\`${t}\\`.`,{name:`RlpListBoundaryExceededError`})}},An=class extends O{constructor({count:e}){super(`RLP payload encodes a single item, but \\`${e}\\` trailing ${e===1?`byte remains`:`bytes remain`}.`,{name:`RlpTrailingBytesError`})}},jn=class extends O{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:`SizeOverflowError`})}}}));function Nn(e,{dir:t=`left`}={}){let n=typeof e==`string`?e.replace(`0x`,``):e,r=0;for(let e=0;e<n.length-1&&n[t===`left`?e:n.length-e-1].toString()===`0`;e++)r++;return n=t===`left`?n.slice(r):n.slice(0,n.length-r),typeof e==`string`?(n.length===1&&t===`right`&&(n=`${n}0`),`0x${n.length%2==1?`0${n}`:n}`):n}var Pn=o((()=>{}));function Fn(e,{size:t}){if(zt(e)>t)throw new jn({givenSize:zt(e),maxSize:t})}function A(e,t={}){let{signed:n}=t;t.size&&Fn(e,{size:t.size});let r=BigInt(e);if(!n)return r;let i=(e.length-2)/2;return r<=(1n<<BigInt(i)*8n-1n)-1n?r:r-BigInt(`0x${`f`.padStart(i*2,`f`)}`)-1n}function In(e,t={}){let n=e;if(t.size&&(Fn(n,{size:t.size}),n=Nn(n)),Nn(n)===`0x00`)return!1;if(Nn(n)===`0x01`)return!0;throw new En(n)}function Ln(e,t={}){let n=A(e,t),r=Number(n);if(!Number.isSafeInteger(r))throw new wn({max:`${2**53-1}`,min:`${-(2**53-1)}`,signed:t.signed,size:t.size,value:`${n}n`});return r}var Rn=o((()=>{Mn(),Bt(),Pn()}));function zn(e,t={}){return typeof e==`number`||typeof e==`bigint`?j(e,t):typeof e==`string`?Hn(e,t):typeof e==`boolean`?Bn(e,t):Vn(e,t)}function Bn(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(Fn(n,{size:t.size}),bn(n,{size:t.size})):n}function Vn(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=Un[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(Fn(r,{size:t.size}),bn(r,{dir:`right`,size:t.size})):r}function j(e,t={}){let{signed:n,size:r}=t,i=BigInt(e),a;r?a=n?(1n<<BigInt(r)*8n-1n)-1n:2n**(BigInt(r)*8n)-1n:typeof e==`number`&&(a=BigInt(2**53-1));let o=typeof a==`bigint`&&n?-a-1n:0;if(a&&i>a||i<o){let t=typeof e==`bigint`?`n`:``;throw new wn({max:a?`${a}${t}`:void 0,min:`${o}${t}`,signed:n,size:r,value:`${e}${t}`})}let s=`0x${(n&&i<0?(1n<<BigInt(r*8))+BigInt(i):i).toString(16)}`;return r?bn(s,{size:r}):s}function Hn(e,t={}){return Vn(Wn.encode(e),t)}var Un,Wn,M=o((()=>{Mn(),Cn(),Rn(),Un=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Wn=new TextEncoder}));function Gn(e,t={}){return typeof e==`number`||typeof e==`bigint`?Yn(e,t):typeof e==`boolean`?Kn(e,t):D(e)?Jn(e,t):Xn(e,t)}function Kn(e,t={}){let n=new Uint8Array(1);return n[0]=Number(e),typeof t.size==`number`?(Fn(n,{size:t.size}),bn(n,{size:t.size})):n}function qn(e){if(e>=Qn.zero&&e<=Qn.nine)return e-Qn.zero;if(e>=Qn.A&&e<=Qn.F)return e-(Qn.A-10);if(e>=Qn.a&&e<=Qn.f)return e-(Qn.a-10)}function Jn(e,t={}){let n=e;t.size&&(Fn(n,{size:t.size}),n=bn(n,{dir:`right`,size:t.size}));let r=n.slice(2);r.length%2&&(r=`0${r}`);let i=r.length/2,a=new Uint8Array(i);for(let e=0,t=0;e<i;e++){let n=qn(r.charCodeAt(t++)),i=qn(r.charCodeAt(t++));if(n===void 0||i===void 0)throw new O(`Invalid byte sequence (\"${r[t-2]}${r[t-1]}\" in \"${r}\").`);a[e]=n*16+i}return a}function Yn(e,t){return Jn(j(e,t))}function Xn(e,t={}){let n=Zn.encode(e);return typeof t.size==`number`?(Fn(n,{size:t.size}),bn(n,{dir:`right`,size:t.size})):n}var Zn,Qn,$n=o((()=>{k(),Rt(),Cn(),Rn(),M(),Zn=new TextEncoder,Qn={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function er(e,t=!1){return t?{h:Number(e&rr),l:Number(e>>ir&rr)}:{h:Number(e>>ir&rr)|0,l:Number(e&rr)|0}}function tr(e,t=!1){let n=e.length,r=new Uint32Array(n),i=new Uint32Array(n);for(let a=0;a<n;a++){let{h:n,l:o}=er(e[a],t);[r[a],i[a]]=[n,o]}return[r,i]}function nr(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var rr,ir,ar,or,sr,cr,lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br,xr=o((()=>{rr=BigInt(2**32-1),ir=BigInt(32),ar=(e,t,n)=>e>>>n,or=(e,t,n)=>e<<32-n|t>>>n,sr=(e,t,n)=>e>>>n|t<<32-n,cr=(e,t,n)=>e<<32-n|t>>>n,lr=(e,t,n)=>e<<64-n|t>>>n-32,ur=(e,t,n)=>e>>>n-32|t<<64-n,dr=(e,t,n)=>e<<n|t>>>32-n,fr=(e,t,n)=>t<<n|e>>>32-n,pr=(e,t,n)=>t<<n-32|e>>>64-n,mr=(e,t,n)=>e<<n-32|t>>>64-n,hr=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),gr=(e,t,n,r)=>t+n+r+(e/2**32|0)|0,_r=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),vr=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0,yr=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0),br=(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0})),Sr,Cr=o((()=>{Sr=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0}));\n/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction wr(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function Tr(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function Er(e,...t){if(!wr(e))throw Error(`Uint8Array expected`);if(t.length>0&&!t.includes(e.length))throw Error(`Uint8Array expected of length `+t+`, got length=`+e.length)}function Dr(e){if(typeof e!=`function`||typeof e.create!=`function`)throw Error(`Hash should be wrapped by utils.createHasher`);Tr(e.outputLen),Tr(e.blockLen)}function Or(e,t=!0){if(e.destroyed)throw Error(`Hash instance has been destroyed`);if(t&&e.finished)throw Error(`Hash#digest() has already been called`)}function kr(e,t){Er(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}function Ar(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function jr(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Mr(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Nr(e,t){return e<<32-t|e>>>t}function Pr(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function Fr(e){for(let t=0;t<e.length;t++)e[t]=Pr(e[t]);return e}function Ir(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function Lr(e){return typeof e==`string`&&(e=Ir(e)),Er(e),e}function Rr(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];Er(r),t+=r.length}let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}function zr(e){let t=t=>e().update(Lr(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function Br(e=32){if(Sr&&typeof Sr.getRandomValues==`function`)return Sr.getRandomValues(new Uint8Array(e));if(Sr&&typeof Sr.randomBytes==`function`)return Uint8Array.from(Sr.randomBytes(e));throw Error(`crypto.getRandomValues must be defined`)}var Vr,Hr,Ur,Wr=o((()=>{Cr(),Vr=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,Hr=Vr?e=>e:Fr,Ur=class{}}));function Gr(e,t=24){let n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let t=0;t<10;t++)n[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let r=(t+8)%10,i=(t+2)%10,a=n[i],o=n[i+1],s=ii(a,o,1)^n[r],c=ai(a,o,1)^n[r+1];for(let n=0;n<50;n+=10)e[t+n]^=s,e[t+n+1]^=c}let t=e[2],i=e[3];for(let n=0;n<24;n++){let r=$r[n],a=ii(t,i,r),o=ai(t,i,r),s=Qr[n];t=e[s],i=e[s+1],e[s]=a,e[s+1]=o}for(let t=0;t<50;t+=10){for(let r=0;r<10;r++)n[r]=e[t+r];for(let r=0;r<10;r++)e[t+r]^=~n[(r+2)%10]&n[(r+4)%10]}e[0]^=ni[r],e[1]^=ri[r]}jr(n)}var Kr,qr,Jr,Yr,Xr,Zr,Qr,$r,ei,ti,ni,ri,ii,ai,oi,si,ci,li=o((()=>{xr(),Wr(),Kr=BigInt(0),qr=BigInt(1),Jr=BigInt(2),Yr=BigInt(7),Xr=BigInt(256),Zr=BigInt(113),Qr=[],$r=[],ei=[];for(let e=0,t=qr,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],Qr.push(2*(5*r+n)),$r.push((e+1)*(e+2)/2%64);let i=Kr;for(let e=0;e<7;e++)t=(t<<qr^(t>>Yr)*Zr)%Xr,t&Jr&&(i^=qr<<(qr<<BigInt(e))-qr);ei.push(i)}ti=tr(ei,!0),ni=ti[0],ri=ti[1],ii=(e,t,n)=>n>32?pr(e,t,n):dr(e,t,n),ai=(e,t,n)=>n>32?mr(e,t,n):fr(e,t,n),oi=class e extends Ur{constructor(e,t,n,r=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=t,this.outputLen=n,this.enableXOF=r,this.rounds=i,Tr(n),!(0<e&&e<200))throw Error(`only keccak-f1600 function is supported`);this.state=new Uint8Array(200),this.state32=Ar(this.state)}clone(){return this._cloneInto()}keccak(){Hr(this.state32),Gr(this.state32,this.rounds),Hr(this.state32),this.posOut=0,this.pos=0}update(e){Or(this),e=Lr(e),Er(e);let{blockLen:t,state:n}=this,r=e.length;for(let i=0;i<r;){let a=Math.min(t-this.pos,r-i);for(let t=0;t<a;t++)n[this.pos++]^=e[i++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:n,blockLen:r}=this;e[n]^=t,t&128&&n===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){Or(this,!1),Er(e),this.finish();let t=this.state,{blockLen:n}=this;for(let r=0,i=e.length;r<i;){this.posOut>=n&&this.keccak();let a=Math.min(n-this.posOut,i-r);e.set(t.subarray(this.posOut,this.posOut+a),r),this.posOut+=a,r+=a}return e}xofInto(e){if(!this.enableXOF)throw Error(`XOF is not possible for this instance`);return this.writeInto(e)}xof(e){return Tr(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(kr(e,this),this.finished)throw Error(`digest() was already called`);return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,jr(this.state)}_cloneInto(t){let{blockLen:n,suffix:r,outputLen:i,rounds:a,enableXOF:o}=this;return t||=new e(n,r,i,o,a),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=a,t.suffix=r,t.outputLen=i,t.enableXOF=o,t.destroyed=this.destroyed,t}},si=(e,t,n)=>zr(()=>new oi(t,e,n)),ci=si(1,136,256/8)}));function ui(e,t){let n=t||`hex`,r=ci(D(e,{strict:!1})?Gn(e):e);return n===`bytes`?r:zn(r)}var di=o((()=>{li(),Rt(),$n(),M()}));function fi(e){return pi(e)}var pi,mi=o((()=>{$n(),di(),pi=e=>ui(Gn(e))}));function hi(e){let t=!0,n=``,r=0,i=``,a=!1;for(let o=0;o<e.length;o++){let s=e[o];if([`(`,`)`,`,`].includes(s)&&(t=!0),s===`(`&&r++,s===`)`&&r--,t){if(r===0){if(s===` `&&[`event`,`function`,``].includes(i))i=``;else if(i+=s,s===`)`){a=!0;break}continue}if(s===` `){e[o-1]!==`,`&&n!==`,`&&n!==`,(`&&(n=``,t=!1);continue}i+=s,n+=s}}if(!a)throw new O(`Unable to normalize signature.`);return i}var gi=o((()=>{k()})),_i,vi=o((()=>{Nt(),gi(),_i=e=>hi(typeof e==`string`?e:be(e))}));function yi(e){return fi(_i(e))}var bi=o((()=>{mi(),vi()})),xi,Si=o((()=>{bi(),xi=yi})),Ci,wi=o((()=>{k(),Ci=class extends O{constructor({address:e}){super(`Address \"${e}\" is invalid.`,{metaMessages:[`- Address must be a hex value of 20 bytes (40 hex characters).`,`- Address must match its checksum counterpart.`],name:`InvalidAddressError`})}}})),Ti,Ei=o((()=>{Ti=class extends Map{constructor(e){super(),Object.defineProperty(this,\"maxSize\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let t=super.get(e);return super.has(e)&&(super.delete(e),super.set(e,t)),t}set(e,t){if(super.has(e)&&super.delete(e),super.set(e,t),this.maxSize&&this.size>this.maxSize){let e=super.keys().next().value;e!==void 0&&super.delete(e)}return this}}}));function Di(e,t){if(ki.has(`${e}.${t}`))return ki.get(`${e}.${t}`);let n=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),r=ui(Xn(n),`bytes`),i=(t?n.substring(`${t}0x`.length):n).split(``);for(let e=0;e<40;e+=2)r[e>>1]>>4>=8&&i[e]&&(i[e]=i[e].toUpperCase()),(r[e>>1]&15)>=8&&i[e+1]&&(i[e+1]=i[e+1].toUpperCase());let a=`0x${i.join(``)}`;return ki.set(`${e}.${t}`,a),a}function Oi(e,t){if(!ji(e,{strict:!1}))throw new Ci({address:e});return Di(e,t)}var ki,Ai=o((()=>{wi(),$n(),di(),Ei(),Pi(),ki=new Ti(8192)}));function ji(e,t){let{strict:n=!0}=t??{},r=`${e}.${n}`;if(Ni.has(r))return Ni.get(r);let i=Mi.test(e)?e.toLowerCase()===e||!n||Di(e)===e:!1;return Ni.set(r,i),i}var Mi,Ni,Pi=o((()=>{Ei(),Ai(),Mi=/^0x[a-fA-F0-9]{40}$/,Ni=new Ti(8192)}));function Fi(e){return typeof e[0]==`string`?Li(e):Ii(e)}function Ii(e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function Li(e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}var Ri=o((()=>{}));function zi(e,t,n,{strict:r}={}){return D(e,{strict:!1})?Ui(e,t,n,{strict:r}):Hi(e,t,n,{strict:r})}function Bi(e,t){if(typeof t==`number`&&t>0&&t>zt(e)-1)throw new gn({offset:t,position:`start`,size:zt(e)})}function Vi(e,t,n){if(typeof t==`number`&&typeof n==`number`&&zt(e)!==n-t)throw new gn({offset:n,position:`end`,size:zt(e)})}function Hi(e,t,n,{strict:r}={}){Bi(e,t);let i=e.slice(t,n);return r&&Vi(i,t,n),i}function Ui(e,t,n,{strict:r}={}){Bi(e,t);let i=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return r&&Vi(i,t,n),i}var Wi=o((()=>{yn(),Rt(),Bt()})),Gi,Ki,qi=o((()=>{Gi=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Ki=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/}));function Ji(e,t){if(e.length!==t.length)throw new Zt({expectedLength:e.length,givenLength:t.length});return Zi(Yi({params:e,values:t}))}function Yi({params:e,values:t}){let n=[];for(let r=0;r<e.length;r++)n.push(Xi({param:e[r],value:t[r]}));return n}function Xi({param:e,value:t}){let n=aa(e.type);if(n){let[r,i]=n;return $i(t,{length:r,param:{...e,type:i}})}if(e.type===`tuple`)return ia(t,{param:e});if(e.type===`address`)return Qi(t);if(e.type===`bool`)return ta(t);if(e.type.startsWith(`uint`)||e.type.startsWith(`int`)){let n=e.type.startsWith(`int`),[,,r=`256`]=Ki.exec(e.type)??[];return na(t,{signed:n,size:Number(r)})}if(e.type.startsWith(`bytes`))return ea(t,{param:e});if(e.type===`string`)return ra(t);throw new dn(e.type,{docsPath:`/docs/contract/encodeAbiParameters`})}function Zi(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];r?t+=32:t+=zt(i)}let n=[],r=[],i=0;for(let a=0;a<e.length;a++){let{dynamic:o,encoded:s}=e[a];o?(n.push(j(t+i,{size:32})),r.push(s),i+=zt(s)):n.push(s)}return Li([...n,...r])}function Qi(e){if(!ji(e))throw new Ci({address:e});return{dynamic:!1,encoded:xn(e.toLowerCase())}}function $i(e,{length:t,param:n}){let r=t===null;if(!Array.isArray(e))throw new pn(e);if(!r&&e.length!==t)throw new Yt({expectedLength:t,givenLength:e.length,type:`${n.type}[${t}]`});let i=e.length===0&&oa(n),a=[];for(let t=0;t<e.length;t++){let r=Xi({param:n,value:e[t]});r.dynamic&&(i=!0),a.push(r)}if(r||i){let e=Zi(a);if(r)return{dynamic:!0,encoded:Li([j(a.length,{size:32}),e])};if(i)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:Li(a.map(({encoded:e})=>e))}}function ea(e,{param:t}){let[,n]=t.type.split(`bytes`),r=zt(e);if(!n){let t=e;return r%32!=0&&(t=xn(t,{dir:`right`,size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:Li([xn(j(r,{size:32})),t])}}if(r!==Number.parseInt(n,10))throw new Xt({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:xn(e,{dir:`right`})}}function ta(e){if(typeof e!=`boolean`)throw new O(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:xn(Bn(e))}}function na(e,{signed:t,size:n=256}){if(typeof n==`number`){let r=2n**(BigInt(n)-(t?1n:0n))-1n,i=t?-r-1n:0n;if(e>r||e<i)throw new wn({max:r.toString(),min:i.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:j(e,{size:32,signed:t})}}function ra(e){let t=Hn(e),n=Math.ceil(zt(t)/32),r=[];for(let e=0;e<n;e++)r.push(xn(zi(t,e*32,(e+1)*32),{dir:`right`}));return{dynamic:!0,encoded:Li([xn(j(zt(t),{size:32})),...r])}}function ia(e,{param:t}){let n=!1,r=[];for(let i=0;i<t.components.length;i++){let a=t.components[i],o=Xi({param:a,value:e[Array.isArray(e)?i:a.name]});r.push(o),o.dynamic&&(n=!0)}return{dynamic:n,encoded:n?Zi(r):Li(r.map(({encoded:e})=>e))}}function aa(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function oa(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components.some(oa);let n=aa(t);return n?oa({...e,type:n[1]}):!1}var sa=o((()=>{hn(),wi(),k(),Mn(),Pi(),Ri(),Cn(),Bt(),Wi(),M(),qi()})),ca,la=o((()=>{Wi(),bi(),ca=e=>zi(yi(e),0,4)}));function ua(e){let{abi:t,args:n=[],name:r}=e,i=D(r,{strict:!1}),a=t.filter(e=>i?e.type===`function`?ca(e)===r:e.type===`event`&&xi(e)===r:`name`in e&&e.name===r);if(a.length===0)return;if(a.length===1)return a[0];let o;for(let e of a)if(`inputs`in e){if(!n||n.length===0){if(!e.inputs||e.inputs.length===0)return e;continue}if(e.inputs&&e.inputs.length!==0&&e.inputs.length===n.length&&n.every((t,n)=>{let r=`inputs`in e&&e.inputs[n];return r?da(t,r):!1})){if(o&&`inputs`in o&&o.inputs){let t=fa(e.inputs,o.inputs,n);if(t)throw new sn({abiItem:e,type:t[0]},{abiItem:o,type:t[1]})}o=e}}return o||a[0]}function da(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return ji(e,{strict:!1});case`bool`:return n===`boolean`;case`function`:return n===`string`;case`string`:return n===`string`;default:return r===`tuple`&&`components`in t?Object.values(t.components).every((t,r)=>n===`object`&&da(Object.values(e)[r],t)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(r)?n===`number`||n===`bigint`:/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?n===`string`||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\\[[0-9]{0,}\\])+$/.test(r)?Array.isArray(e)&&e.every(e=>da(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function fa(e,t,n){for(let r in e){let i=e[r],a=t[r];if(i.type===`tuple`&&a.type===`tuple`&&`components`in i&&`components`in a)return fa(i.components,a.components,n[r]);let o=[i.type,a.type];if(o.includes(`address`)&&o.includes(`bytes20`)||(o.includes(`address`)&&o.includes(`string`)||o.includes(`address`)&&o.includes(`bytes`))&&ji(n[r],{strict:!1}))return o}}var pa=o((()=>{hn(),Rt(),Pi(),Si(),la()}));function N(e){return typeof e==`string`?{address:e,type:`json-rpc`}:e}var ma=o((()=>{}));function ha(e){let{abi:t,args:n,functionName:r}=e,i=t[0];if(r){let e=ua({abi:t,args:n,name:r});if(!e)throw new rn(r,{docsPath:ga});i=e}if(i.type!==`function`)throw new rn(void 0,{docsPath:ga});return{abi:[i],functionName:ca(Pt(i))}}var ga,_a=o((()=>{hn(),la(),Lt(),pa(),ga=`/docs/contract/encodeFunctionData`}));function va(e){let{args:t}=e,{abi:n,functionName:r}=e.abi.length===1&&e.functionName?.startsWith(`0x`)?e:ha(e),i=n[0];return Li([r,(`inputs`in i&&i.inputs?Ji(i.inputs,t??[]):void 0)??`0x`])}var ya=o((()=>{Ri(),sa(),_a()})),ba,xa,Sa,Ca=o((()=>{ba={1:\"An `assert` condition failed.\",17:`Arithmetic operation resulted in underflow or overflow.`,18:\"Division or modulo by zero (e.g. `5 / 0` or `23 % 0`).\",33:`Attempted to convert to an invalid type.`,34:`Attempted to access a storage byte array that is incorrectly encoded.`,49:\"Performed `.pop()` on an empty array\",50:`Array index is out of bounds.`,65:`Allocated too much memory or created an array which is too large.`,81:`Attempted to call a zero-initialized variable of internal function type.`},xa={inputs:[{name:`message`,type:`string`}],name:`Error`,type:`error`},Sa={inputs:[{name:`reason`,type:`uint256`}],name:`Panic`,type:`error`}})),wa,Ta,Ea,Da=o((()=>{k(),wa=class extends O{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`,{name:`NegativeOffsetError`})}},Ta=class extends O{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`,{name:`PositionOutOfBoundsError`})}},Ea=class extends O{constructor({count:e,limit:t}){super(`Recursive read limit of \\`${t}\\` exceeded (recursive read count: \\`${e}\\`).`,{name:`RecursiveReadLimitExceededError`})}}}));function Oa(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(ka);return n.bytes=e,n.dataView=new DataView(e.buffer??e,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var ka,Aa=o((()=>{Da(),ka={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:1/0,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new Ea({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new Ta({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new wa({offset:e});let t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new wa({offset:e});let t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){let n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){let t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){let t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){let t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();let n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();let e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();let e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();let e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();let e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){let t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===1/0)return;let e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}}}));function ja(e,t={}){return t.size!==void 0&&Fn(e,{size:t.size}),A(Vn(e),t)}function Ma(e,t={}){let n=e;if(t.size!==void 0&&(Fn(n,{size:t.size}),n=Nn(n)),n.length>1||n[0]>1)throw new Tn(n);return!!n[0]}function Na(e,t={}){return t.size!==void 0&&Fn(e,{size:t.size}),Ln(Vn(e),t)}function Pa(e,t={}){let n=e;return t.size!==void 0&&(Fn(n,{size:t.size}),n=Nn(n,{dir:`right`})),new TextDecoder().decode(n)}var Fa=o((()=>{Mn(),Pn(),Rn(),M()}));function Ia(e,t){let n=typeof t==`string`?Jn(t):t,r=Oa(n);if(zt(n)===0&&e.length>0)throw new Jt;if(zt(t)&&zt(t)<32)throw new qt({data:typeof t==`string`?t:Vn(t),params:e,size:zt(t)});let i=0,a=[];for(let t=0;t<e.length;++t){let o=e[t];i<n.length&&r.setPosition(i);let[s,c]=La(r,o,{staticPosition:0});i+=c,a.push(s)}return a}function La(e,t,{staticPosition:n}){let r=aa(t.type);if(r){let[i,a]=r;return za(e,{...t,type:a},{length:i,staticPosition:n})}if(t.type===`tuple`)return Ua(e,t,{staticPosition:n});if(t.type===`address`)return Ra(e);if(t.type===`bool`)return Ba(e);if(t.type.startsWith(`bytes`))return Va(e,t,{staticPosition:n});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return Ha(e,t);if(t.type===`string`)return Wa(e,{staticPosition:n});throw new fn(t.type,{docsPath:`/docs/contract/decodeAbiParameters`})}function Ra(e){return[Di(Vn(Hi(e.readBytes(32),-20))),32]}function za(e,t,{length:n,staticPosition:r}){if(n===null){let n=r+Na(e.readBytes(qa)),i=n+Ka;e.setPosition(n);let a=Na(e.readBytes(Ka)),o=Ga(t),s=0,c=[];for(let n=0;n<a;++n){e.setPosition(i+(o?n*32:s));let[r,a]=La(e,t,{staticPosition:i});s+=a,c.push(r),a===0&&(e.assertReadLimit(),e._touch())}return e.setPosition(r+32),[c,32]}if(Ga(t)){let i=r+Na(e.readBytes(qa)),a=[];for(let r=0;r<n;++r){e.setPosition(i+r*32);let[n]=La(e,t,{staticPosition:i});a.push(n)}return e.setPosition(r+32),[a,32]}let i=0,a=[];for(let o=0;o<n;++o){let[n,o]=La(e,t,{staticPosition:r+i});i+=o,a.push(n),o===0&&(e.assertReadLimit(),e._touch())}return[a,i]}function Ba(e){return[Ma(e.readBytes(32),{size:32}),32]}function Va(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=Na(e.readBytes(32));e.setPosition(n+t);let r=Na(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[Vn(i),32]}return[Vn(e.readBytes(Number.parseInt(i,10),32)),32]}function Ha(e,t){let n=t.type.startsWith(`int`),r=Number.parseInt(t.type.split(`int`)[1]||`256`,10),i=e.readBytes(32);return[r>48?ja(i,{signed:n}):Na(i,{signed:n}),32]}function Ua(e,t,{staticPosition:n}){let r=t.components.length===0||t.components.some(({name:e})=>!e),i=r?[]:{},a=0;if(Ga(t)){let o=n+Na(e.readBytes(qa));for(let n=0;n<t.components.length;++n){let s=t.components[n];e.setPosition(o+a);let[c,l]=La(e,s,{staticPosition:o});a+=l,i[r?n:s?.name]=c}return e.setPosition(n+32),[i,32]}for(let o=0;o<t.components.length;++o){let s=t.components[o],[c,l]=La(e,s,{staticPosition:n});i[r?o:s?.name]=c,a+=l}return[i,a]}function Wa(e,{staticPosition:t}){let n=t+Na(e.readBytes(32));e.setPosition(n);let r=Na(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Pa(e.readBytes(r,32));return e.setPosition(t+32),[i,32]}function Ga(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(Ga);let n=aa(e.type);return!!(n&&Ga({...e,type:n[1]}))}var Ka,qa,Ja=o((()=>{hn(),Ai(),Aa(),Bt(),Wi(),Fa(),$n(),M(),sa(),Ka=32,qa=32}));function Ya(e){let{abi:t,data:n,cause:r}=e,i=zi(n,0,4);if(i===`0x`)throw new Jt({cause:r});let a=[...t||[],xa,Sa].find(e=>e.type===`error`&&i===ca(Pt(e)));if(!a)throw new en(i,{docsPath:`/docs/contract/decodeErrorResult`,cause:r});return{abiItem:a,args:`inputs`in a&&a.inputs&&a.inputs.length>0?Ia(a.inputs,zi(n,4)):void 0,errorName:a.name}}var Xa=o((()=>{Ca(),hn(),Wi(),la(),Ja(),Lt()})),Za,Qa=o((()=>{Za=(e,t,n)=>JSON.stringify(e,(e,n)=>{let r=typeof n==`bigint`?n.toString():n;return typeof t==`function`?t(e,r):r},n)}));function $a({abiItem:e,args:t,includeFunctionName:n=!0,includeName:r=!1}){if(`name`in e&&`inputs`in e&&e.inputs)return`${n?e.name:``}(${e.inputs.map((e,n)=>`${r&&e.name?`${e.name}: `:``}${typeof t[n]==`object`?Za(t[n]):t[n]}`).join(`, `)})`}var eo=o((()=>{Qa()}));function to(e,t=0){if(!Number.isInteger(t)||t<0)throw new co({decimals:t});let n=e.toString(),r=n.startsWith(`-`);r&&(n=n.slice(1)),n=n.padStart(t,`0`);let[i,a]=[n.slice(0,n.length-t),n.slice(n.length-t)];return a=a.replace(/(0+)$/,``),`${r?`-`:``}${i||`0`}${a?`.${a}`:``}`}function no(e,t=`wei`){return to(e,oo.ether-oo[t])}function ro(e,t=`wei`){return to(e,oo.gwei-oo[t])}function io(e,t=0){if(!Number.isInteger(t)||t<0)throw new co({decimals:t});if(!/^-?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)$/.test(e))throw new so({value:e});let[n=``,r=`0`]=e.split(`.`),i=n.startsWith(`-`);if(i&&(n=n.slice(1)),n===``&&(n=`0`),r=r.replace(/(0+)$/,``),t===0)r.length>0&&Number.parseInt(r[0],10)>=5&&(n=`${BigInt(n)+1n}`),r=``;else if(r.length>t){let e=r.slice(0,t);if(Number.parseInt(r.slice(t,t+1),10)>=5){let i=ao(e);i.length>t?(r=i.slice(1),n=`${BigInt(n)+1n}`):r=i}else r=e}else r=r.padEnd(t,`0`);return BigInt(`${i?`-`:``}${n}${r}`)}function ao(e){let t=e.split(``),n=t.length-1;for(;n>=0;){let e=Number.parseInt(t[n],10)+1;if(e<10)return t[n]=String(e),t.join(``);t[n]=`0`,n--}return`1${t.join(``)}`}var oo,so,co,lo=o((()=>{oo={wei:0,gwei:9,szabo:12,finney:15,ether:18},so=class extends Error{constructor({value:e}){super(`Value \\`${e}\\` is not a valid decimal number.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Value.InvalidDecimalNumberError`})}},co=class extends Error{constructor({decimals:e}){super(`\\`decimals\\` must be a non-negative integer. Got \\`${e}\\`.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Value.InvalidDecimalsError`})}}}));function uo(e,t=`wei`){return no(e,t)}var fo=o((()=>{lo()}));function po(e,t=`wei`){return ro(e,t)}var mo=o((()=>{lo()}));function ho(e){return e.reduce((e,{slot:t,value:n})=>`${e} ${t}: ${n}\\n`,``)}function go(e){return e.reduce((e,{address:t,...n})=>{let r=`${e} ${t}:\\n`;return n.nonce&&(r+=` nonce: ${n.nonce}\\n`),n.balance&&(r+=` balance: ${n.balance}\\n`),n.code&&(r+=` code: ${n.code}\\n`),n.state&&(r+=` state:\n`,r+=ho(n.state)),n.stateDiff&&(r+=` stateDiff:\n`,r+=ho(n.stateDiff)),r},` State Override:\n`).slice(0,-1)}var _o,vo,yo=o((()=>{k(),_o=class extends O{constructor({address:e}){super(`State for account \"${e}\" is set multiple times.`,{name:`AccountStateConflictError`})}},vo=class extends O{constructor(){super(`state and stateDiff are set on the same account.`,{name:`StateAssignmentConflictError`})}}}));function bo(e){let t=Object.entries(e).map(([e,t])=>t===void 0||t===!1?null:[e,t]).filter(Boolean),n=t.reduce((e,[t])=>Math.max(e,t.length),0);return t.map(([e,t])=>` ${`${e}:`.padEnd(n+1)} ${t}`).join(`\n`)}var xo,So,Co,wo,To,Eo,Do,Oo,ko,Ao,jo,Mo=o((()=>{fo(),mo(),k(),xo=class extends O{constructor({v:e}){super(`Invalid \\`v\\` value \"${e}\". Expected 27 or 28.`,{name:`InvalidLegacyVError`})}},So=class extends O{constructor({yParity:e}){super(`Invalid \\`yParity\\` value \"${e}\". Expected 0 or 1.`,{name:`InvalidYParityError`})}},Co=class extends O{constructor({transaction:e}){super(`Cannot infer a transaction type from provided transaction.`,{metaMessages:[`Provided Transaction:`,`{`,bo(e),`}`,``,`To infer the type, either provide:`,\"- a `type` to the Transaction, or\",\"- an EIP-1559 Transaction with `maxFeePerGas`, or\",\"- an EIP-2930 Transaction with `gasPrice` & `accessList`, or\",\"- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or\",\"- an EIP-7702 Transaction with `authorizationList`, or\",\"- a Legacy Transaction with `gasPrice`\"],name:`InvalidSerializableTransactionError`})}},wo=class extends O{constructor({serializedType:e}){super(`Serialized transaction type \"${e}\" is invalid.`,{name:`InvalidSerializedTransactionType`}),Object.defineProperty(this,\"serializedType\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.serializedType=e}},To=class extends O{constructor({attributes:e,serializedTransaction:t,type:n}){let r=Object.entries(e).map(([e,t])=>t===void 0?e:void 0).filter(Boolean);super(`Invalid serialized transaction of type \"${n}\" was provided.`,{metaMessages:[`Serialized Transaction: \"${t}\"`,r.length>0?`Missing Attributes: ${r.join(`, `)}`:``].filter(Boolean),name:`InvalidSerializedTransactionError`}),Object.defineProperty(this,\"serializedTransaction\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"type\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.serializedTransaction=t,this.type=n}},Eo=class extends O{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${Math.floor((e.length-2)/2)} bytes.`,{name:`InvalidStorageKeySizeError`})}},Do=class extends O{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d}){let f=bo({chain:r&&`${r?.name} (id: ${r?.id})`,from:t?.address,to:u,value:d!==void 0&&`${uo(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${po(o)} gwei`,maxFeePerGas:s!==void 0&&`${po(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${po(c)} gwei`,nonce:l});super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],`Request Arguments:`,f].filter(Boolean),name:`TransactionExecutionError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}},Oo=class extends O{constructor({blockHash:e,blockNumber:t,blockTag:n,hash:r,index:i}){let a=`Transaction`;n&&i!==void 0&&(a=`Transaction at block time \"${n}\" at index \"${i}\"`),e&&i!==void 0&&(a=`Transaction at block hash \"${e}\" at index \"${i}\"`),t&&i!==void 0&&(a=`Transaction at block number \"${t}\" at index \"${i}\"`),r&&(a=`Transaction with hash \"${r}\"`),super(`${a} could not be found.`,{name:`TransactionNotFoundError`})}},ko=class extends O{constructor({hash:e}){super(`Transaction receipt with hash \"${e}\" could not be found. The Transaction may not be processed on a block yet.`,{name:`TransactionReceiptNotFoundError`})}},Ao=class extends O{constructor({receipt:e}){super(`Transaction with hash \"${e.transactionHash}\" reverted.`,{metaMessages:[`The receipt marked the transaction as \"reverted\". This could mean that the function on the contract you are trying to call threw an error.`,` `,`You can attempt to extract the revert reason by:`,\"- calling the `simulateContract` or `simulateCalls` Action with the `abi` and `functionName` of the contract\",\"- using the `call` Action with raw `data`\"],name:`TransactionReceiptRevertedError`}),Object.defineProperty(this,\"receipt\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.receipt=e}},jo=class extends O{constructor({hash:e}){super(`Timed out while waiting for transaction with hash \"${e}\" to be confirmed.`,{name:`WaitForTransactionReceiptTimeoutError`})}}}));function No(e){if(e?.reason)return e.reason;if(typeof DOMException==`function`)return new DOMException(`This operation was aborted`,`AbortError`);let t=Error(`This operation was aborted`);return t.name=`AbortError`,t}function Po(e){return typeof e==`object`&&!!e&&`name`in e&&e.name===`AbortError`}var Fo,Io,Lo=o((()=>{Fo=e=>e,Io=e=>{try{let t=new URL(e);return!t.username&&!t.password?e:(t.username=``,t.password=``,t.toString())}catch{return e}}})),Ro,zo,Bo,Vo,Ho,Uo,Wo=o((()=>{ma(),Ca(),Xa(),Lt(),eo(),pa(),fo(),mo(),hn(),k(),yo(),Mo(),Lo(),Ro=class extends O{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d,stateOverride:f}){let p=bo({from:(t?N(t):void 0)?.address,to:u,value:d!==void 0&&`${uo(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${po(o)} gwei`,maxFeePerGas:s!==void 0&&`${po(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${po(c)} gwei`,nonce:l});f&&(p+=`\\n${go(f)}`),super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],`Raw Call Arguments:`,p].filter(Boolean),name:`CallExecutionError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}},zo=class extends O{constructor(e,{abi:t,args:n,contractAddress:r,docsPath:i,functionName:a,sender:o}){let s=ua({abi:t,args:n,name:a}),c=s?$a({abiItem:s,args:n,includeFunctionName:!1,includeName:!1}):void 0,l=s?Pt(s,{includeName:!0}):void 0,u=bo({address:r&&Fo(r),function:l,args:c&&c!==`()`&&`${[...Array(a?.length??0).keys()].map(()=>` `).join(``)}${c}`,sender:o});super(e.shortMessage||`An unknown error occurred while executing the contract function \"${a}\".`,{cause:e,docsPath:i,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],u&&`Contract Call:`,u].filter(Boolean),name:`ContractFunctionExecutionError`}),Object.defineProperty(this,\"abi\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"args\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"contractAddress\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"formattedArgs\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"functionName\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"sender\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abi=t,this.args=n,this.cause=e,this.contractAddress=r,this.functionName=a,this.sender=o}},Bo=class extends O{constructor({abi:e,data:t,functionName:n,message:r,cause:i}){let a,o,s,c;if(t&&t!==`0x`)try{o=Ya({abi:e,data:t,cause:i});let{abiItem:n,errorName:r,args:a}=o;if(r===`Error`)c=a[0];else if(r===`Panic`){let[e]=a;c=ba[e]}else{let e=n?Pt(n,{includeName:!0}):void 0,t=n&&a?$a({abiItem:n,args:a,includeFunctionName:!1,includeName:!1}):void 0;s=[e?`Error: ${e}`:``,t&&t!==`()`?` ${[...Array(r?.length??0).keys()].map(()=>` `).join(``)}${t}`:``]}}catch(e){a=e}else r&&(c=r);let l;a instanceof en&&(l=a.signature,s=[`Unable to decode signature \"${l}\" as it was not found on the provided ABI.`,`Make sure you are using the correct ABI and that the error exists on it.`,`You can look up the decoded signature here: https://4byte.sourcify.dev/?q=${l}.`]),super(c&&c!==`execution reverted`||l?[`The contract function \"${n}\" reverted with the following ${l?`signature`:`reason`}:`,c||l].join(`\n`):`The contract function \"${n}\" reverted.`,{cause:a??i,metaMessages:s,name:`ContractFunctionRevertedError`}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"raw\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"reason\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"signature\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=o,this.raw=t,this.reason=c,this.signature=l}},Vo=class extends O{constructor({functionName:e,cause:t}){super(`The contract function \"${e}\" returned no data (\"0x\").`,{metaMessages:[`This could be due to any of the following:`,` - The contract does not have the function \"${e}\",`,` - The parameters passed to the contract function may be invalid, or`,` - The address is not a contract.`],name:`ContractFunctionZeroDataError`,cause:t})}},Ho=class extends O{constructor({factory:e}){super(`Deployment for counterfactual contract call failed${e?` for factory \"${e}\".`:``}`,{metaMessages:[`Please ensure:`,\"- The `factory` is a valid contract deployment factory (ie. Create2 Factory, ERC-4337 Factory, etc).\",\"- The `factoryData` is a valid encoded function call for contract deployment function on the factory.\"],name:`CounterfactualDeploymentFailedError`})}},Uo=class extends O{constructor({data:e,message:t}){super(t||``,{name:`RawContractError`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=e}}})),Go,Ko,qo,Jo,Yo=o((()=>{Qa(),k(),Lo(),Go=class extends O{constructor({body:e,cause:t,details:n,headers:r,status:i,url:a}){super(`HTTP request failed.`,{cause:t,details:n,metaMessages:[i&&`Status: ${i}`,`URL: ${Io(a)}`,e&&`Request body: ${Za(e)}`].filter(Boolean),name:`HttpRequestError`}),Object.defineProperty(this,\"body\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"headers\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"status\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.body=e,this.headers=r,this.status=i,this.url=a}},Ko=class extends O{constructor({maxSize:e,size:t}){super(`HTTP response body exceeded the size limit.`,{metaMessages:[`Max: ${e} bytes`,`Received: ${t} bytes`],name:`ResponseBodyTooLargeError`}),Object.defineProperty(this,\"maxSize\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"size\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e,this.size=t}},qo=class extends O{constructor({body:e,error:t,url:n}){super(`RPC Request failed.`,{cause:t,details:t.message,metaMessages:[`URL: ${Io(n)}`,`Request body: ${Za(e)}`],name:`RpcRequestError`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=t.code,this.data=t.data,this.url=n}},Jo=class extends O{constructor({body:e,url:t}){super(`The request took too long to respond.`,{details:`The request timed out.`,metaMessages:[`URL: ${Io(t)}`,`Request body: ${Za(e)}`],name:`TimeoutError`}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.url=t}}})),Xo,Zo,Qo,$o,es,ts,ns,rs,is,as,os,ss,cs,ls,us,ds,fs,ps,ms,hs,gs,_s,vs,ys,bs,xs,Ss,Cs,ws,Ts,Es=o((()=>{k(),Yo(),Xo=-1,Zo=class extends O{constructor(e,{code:t,docsPath:n,metaMessages:r,name:i,shortMessage:a}){super(a,{cause:e,docsPath:n,metaMessages:r||e?.metaMessages,name:i||`RpcError`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=i||e.name,this.code=e instanceof qo?e.code:t??Xo}},Qo=class extends Zo{constructor(e,t){super(e,t),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t.data}},$o=class e extends Zo{constructor(t){super(t,{code:e.code,name:`ParseRpcError`,shortMessage:`Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.`})}},Object.defineProperty($o,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),es=class e extends Zo{constructor(t){super(t,{code:e.code,name:`InvalidRequestRpcError`,shortMessage:`JSON is not a valid request object.`})}},Object.defineProperty(es,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600}),ts=class e extends Zo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotFoundRpcError`,shortMessage:`The method${n?` \"${n}\"`:``} does not exist / is not available.`})}},Object.defineProperty(ts,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601}),ns=class e extends Zo{constructor(t){super(t,{code:e.code,name:`InvalidParamsRpcError`,shortMessage:[`Invalid parameters were provided to the RPC method.`,`Double check you have provided the correct parameters.`].join(`\n`)})}},Object.defineProperty(ns,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602}),rs=class e extends Zo{constructor(t){super(t,{code:e.code,name:`InternalRpcError`,shortMessage:`An internal error was received.`})}},Object.defineProperty(rs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603}),is=class e extends Zo{constructor(t){super(t,{code:e.code,name:`InvalidInputRpcError`,shortMessage:[`Missing or invalid parameters.`,`Double check you have provided the correct parameters.`].join(`\n`)})}},Object.defineProperty(is,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3}),as=class e extends Zo{constructor(t){super(t,{code:e.code,name:`ResourceNotFoundRpcError`,shortMessage:`Requested resource not found.`}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`ResourceNotFoundRpcError`})}},Object.defineProperty(as,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001}),os=class e extends Zo{constructor(t){super(t,{code:e.code,name:`ResourceUnavailableRpcError`,shortMessage:`Requested resource not available.`})}},Object.defineProperty(os,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002}),ss=class e extends Zo{constructor(t){super(t,{code:e.code,name:`TransactionRejectedRpcError`,shortMessage:`Transaction creation failed.`})}},Object.defineProperty(ss,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003}),cs=class e extends Zo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotSupportedRpcError`,shortMessage:`Method${n?` \"${n}\"`:``} is not supported.`})}},Object.defineProperty(cs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004}),ls=class e extends Zo{constructor(t){super(t,{code:e.code,name:`LimitExceededRpcError`,shortMessage:`Request exceeds defined limit.`})}},Object.defineProperty(ls,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005}),us=class e extends Zo{constructor(t){super(t,{code:e.code,name:`JsonRpcVersionUnsupportedError`,shortMessage:`Version of JSON-RPC protocol is not supported.`})}},Object.defineProperty(us,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006}),ds=class e extends Qo{constructor(t){super(t,{code:e.code,name:`UserRejectedRequestError`,shortMessage:`User rejected the request.`})}},Object.defineProperty(ds,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001}),fs=class e extends Qo{constructor(t){super(t,{code:e.code,name:`UnauthorizedProviderError`,shortMessage:`The requested method and/or account has not been authorized by the user.`})}},Object.defineProperty(fs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100}),ps=class e extends Qo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`UnsupportedProviderMethodError`,shortMessage:`The Provider does not support the requested method${n?` \" ${n}\"`:``}.`})}},Object.defineProperty(ps,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200}),ms=class e extends Qo{constructor(t){super(t,{code:e.code,name:`ProviderDisconnectedError`,shortMessage:`The Provider is disconnected from all chains.`})}},Object.defineProperty(ms,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900}),hs=class e extends Qo{constructor(t){super(t,{code:e.code,name:`ChainDisconnectedError`,shortMessage:`The Provider is not connected to the requested chain.`})}},Object.defineProperty(hs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901}),gs=class e extends Qo{constructor(t){super(t,{code:e.code,name:`SwitchChainError`,shortMessage:`An error occurred when attempting to switch chain.`})}},Object.defineProperty(gs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902}),_s=class e extends Qo{constructor(t){super(t,{code:e.code,name:`UnsupportedNonOptionalCapabilityError`,shortMessage:`This Wallet does not support a capability that was not marked as optional.`})}},Object.defineProperty(_s,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700}),vs=class e extends Qo{constructor(t){super(t,{code:e.code,name:`UnsupportedChainIdError`,shortMessage:`This Wallet does not support the requested chain ID.`})}},Object.defineProperty(vs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710}),ys=class e extends Qo{constructor(t){super(t,{code:e.code,name:`DuplicateIdError`,shortMessage:`There is already a bundle submitted with this ID.`})}},Object.defineProperty(ys,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720}),bs=class e extends Qo{constructor(t){super(t,{code:e.code,name:`UnknownBundleIdError`,shortMessage:`This bundle id is unknown / has not been submitted`})}},Object.defineProperty(bs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730}),xs=class e extends Qo{constructor(t){super(t,{code:e.code,name:`BundleTooLargeError`,shortMessage:`The call bundle is too large for the Wallet to process.`})}},Object.defineProperty(xs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740}),Ss=class e extends Qo{constructor(t){super(t,{code:e.code,name:`AtomicReadyWalletRejectedUpgradeError`,shortMessage:`The Wallet can support atomicity after an upgrade, but the user rejected the upgrade.`})}},Object.defineProperty(Ss,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750}),Cs=class e extends Qo{constructor(t){super(t,{code:e.code,name:`AtomicityNotSupportedError`,shortMessage:`The wallet does not support atomic execution but the request requires it.`})}},Object.defineProperty(Cs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760}),ws=class e extends Qo{constructor(t){super(t,{code:e.code,name:`WalletConnectSessionSettlementError`,shortMessage:`WalletConnect session settlement failed.`})}},Object.defineProperty(ws,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:7e3}),Ts=class extends Zo{constructor(e){super(e,{name:`UnknownRpcError`,shortMessage:`An unknown RPC error occurred.`})}}}));hn(),k(),Wo(),Yo(),Es();function Ds(e,{abi:t,address:n,args:r,docsPath:i,functionName:a,sender:o}){let s=e instanceof Uo?e:e instanceof O?e.walk(e=>`data`in e)||e.walk():{},{code:c,data:l,details:u,message:d,shortMessage:f}=s;return new zo(e instanceof Jt?new Vo({functionName:a,cause:e}):[3,rs.code].includes(c)&&(l||u||d||f)||c===is.code&&u===`execution reverted`&&l?new Bo({abi:t,data:typeof l==`object`?l.data:l,functionName:a,message:s instanceof qo?u:f??d,cause:e}):e,{abi:t,args:r,contractAddress:n,docsPath:i,functionName:a,sender:o})}Ai(),di();function Os(e){return Di(`0x${ui(`0x${e.substring(4)}`).substring(26)}`)}function ks(e,t,n,r){if(typeof e.setBigUint64==`function`)return e.setBigUint64(t,n,r);let i=BigInt(32),a=BigInt(4294967295),o=Number(n>>i&a),s=Number(n&a),c=r?4:0,l=r?0:4;e.setUint32(t+c,o,r),e.setUint32(t+l,s,r)}function As(e,t,n){return e&t^~e&n}function js(e,t,n){return e&t^e&n^t&n}var Ms,Ns,Ps,Fs,Is=o((()=>{Wr(),Ms=class extends Ur{constructor(e,t,n,r){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.buffer=new Uint8Array(e),this.view=Mr(this.buffer)}update(e){Or(this),e=Lr(e),Er(e);let{view:t,buffer:n,blockLen:r}=this,i=e.length;for(let a=0;a<i;){let o=Math.min(r-this.pos,i-a);if(o===r){let t=Mr(e);for(;r<=i-a;a+=r)this.process(t,a);continue}n.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===r&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Or(this),kr(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,jr(this.buffer.subarray(a)),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;ks(n,r-8,BigInt(this.length*8),i),this.process(n,0);let o=Mr(e),s=this.outputLen;if(s%4)throw Error(`_sha2: outputLen should be aligned to 32bit`);let c=s/4,l=this.get();if(c>l.length)throw Error(`_sha2: outputLen bigger than state`);for(let e=0;e<c;e++)o.setUint32(4*e,l[e],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:t,buffer:n,length:r,finished:i,destroyed:a,pos:o}=this;return e.destroyed=a,e.finished=i,e.length=r,e.pos=o,r%t&&e.buffer.set(n),e}clone(){return this._cloneInto()}},Ns=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ps=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),Fs=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])})),Ls,Rs,zs,Bs,Vs,Hs,Us,Ws,Gs,Ks,qs,Js,Ys,Xs=o((()=>{Is(),xr(),Wr(),Ls=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Rs=new Uint32Array(64),zs=class extends Ms{constructor(e=32){super(64,e,8,!1),this.A=Ns[0]|0,this.B=Ns[1]|0,this.C=Ns[2]|0,this.D=Ns[3]|0,this.E=Ns[4]|0,this.F=Ns[5]|0,this.G=Ns[6]|0,this.H=Ns[7]|0}get(){let{A:e,B:t,C:n,D:r,E:i,F:a,G:o,H:s}=this;return[e,t,n,r,i,a,o,s]}set(e,t,n,r,i,a,o,s){this.A=e|0,this.B=t|0,this.C=n|0,this.D=r|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=s|0}process(e,t){for(let n=0;n<16;n++,t+=4)Rs[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=Rs[e-15],n=Rs[e-2],r=Nr(t,7)^Nr(t,18)^t>>>3,i=Nr(n,17)^Nr(n,19)^n>>>10;Rs[e]=i+Rs[e-7]+r+Rs[e-16]|0}let{A:n,B:r,C:i,D:a,E:o,F:s,G:c,H:l}=this;for(let e=0;e<64;e++){let t=Nr(o,6)^Nr(o,11)^Nr(o,25),u=l+t+As(o,s,c)+Ls[e]+Rs[e]|0,d=(Nr(n,2)^Nr(n,13)^Nr(n,22))+js(n,r,i)|0;l=c,c=s,s=o,o=a+u|0,a=i,i=r,r=n,n=u+d|0}n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,s=s+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(n,r,i,a,o,s,c,l)}roundClean(){jr(Rs)}destroy(){this.set(0,0,0,0,0,0,0,0),jr(this.buffer)}},Bs=tr(`0x428a2f98d728ae22.0x7137449123ef65cd.0xb5c0fbcfec4d3b2f.0xe9b5dba58189dbbc.0x3956c25bf348b538.0x59f111f1b605d019.0x923f82a4af194f9b.0xab1c5ed5da6d8118.0xd807aa98a3030242.0x12835b0145706fbe.0x243185be4ee4b28c.0x550c7dc3d5ffb4e2.0x72be5d74f27b896f.0x80deb1fe3b1696b1.0x9bdc06a725c71235.0xc19bf174cf692694.0xe49b69c19ef14ad2.0xefbe4786384f25e3.0x0fc19dc68b8cd5b5.0x240ca1cc77ac9c65.0x2de92c6f592b0275.0x4a7484aa6ea6e483.0x5cb0a9dcbd41fbd4.0x76f988da831153b5.0x983e5152ee66dfab.0xa831c66d2db43210.0xb00327c898fb213f.0xbf597fc7beef0ee4.0xc6e00bf33da88fc2.0xd5a79147930aa725.0x06ca6351e003826f.0x142929670a0e6e70.0x27b70a8546d22ffc.0x2e1b21385c26c926.0x4d2c6dfc5ac42aed.0x53380d139d95b3df.0x650a73548baf63de.0x766a0abb3c77b2a8.0x81c2c92e47edaee6.0x92722c851482353b.0xa2bfe8a14cf10364.0xa81a664bbc423001.0xc24b8b70d0f89791.0xc76c51a30654be30.0xd192e819d6ef5218.0xd69906245565a910.0xf40e35855771202a.0x106aa07032bbd1b8.0x19a4c116b8d2d0c8.0x1e376c085141ab53.0x2748774cdf8eeb99.0x34b0bcb5e19b48a8.0x391c0cb3c5c95a63.0x4ed8aa4ae3418acb.0x5b9cca4f7763e373.0x682e6ff3d6b2b8a3.0x748f82ee5defb2fc.0x78a5636f43172f60.0x84c87814a1f0ab72.0x8cc702081a6439ec.0x90befffa23631e28.0xa4506cebde82bde9.0xbef9a3f7b2c67915.0xc67178f2e372532b.0xca273eceea26619c.0xd186b8c721c0c207.0xeada7dd6cde0eb1e.0xf57d4f7fee6ed178.0x06f067aa72176fba.0x0a637dc5a2c898a6.0x113f9804bef90dae.0x1b710b35131c471b.0x28db77f523047d84.0x32caab7b40c72493.0x3c9ebe0a15c9bebc.0x431d67c49c100d4c.0x4cc5d4becb3e42b6.0x597f299cfc657e2a.0x5fcb6fab3ad6faec.0x6c44198c4a475817`.split(`.`).map(e=>BigInt(e))),Vs=Bs[0],Hs=Bs[1],Us=new Uint32Array(80),Ws=new Uint32Array(80),Gs=class extends Ms{constructor(e=64){super(128,e,16,!1),this.Ah=Fs[0]|0,this.Al=Fs[1]|0,this.Bh=Fs[2]|0,this.Bl=Fs[3]|0,this.Ch=Fs[4]|0,this.Cl=Fs[5]|0,this.Dh=Fs[6]|0,this.Dl=Fs[7]|0,this.Eh=Fs[8]|0,this.El=Fs[9]|0,this.Fh=Fs[10]|0,this.Fl=Fs[11]|0,this.Gh=Fs[12]|0,this.Gl=Fs[13]|0,this.Hh=Fs[14]|0,this.Hl=Fs[15]|0}get(){let{Ah:e,Al:t,Bh:n,Bl:r,Ch:i,Cl:a,Dh:o,Dl:s,Eh:c,El:l,Fh:u,Fl:d,Gh:f,Gl:p,Hh:m,Hl:h}=this;return[e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h]}set(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){this.Ah=e|0,this.Al=t|0,this.Bh=n|0,this.Bl=r|0,this.Ch=i|0,this.Cl=a|0,this.Dh=o|0,this.Dl=s|0,this.Eh=c|0,this.El=l|0,this.Fh=u|0,this.Fl=d|0,this.Gh=f|0,this.Gl=p|0,this.Hh=m|0,this.Hl=h|0}process(e,t){for(let n=0;n<16;n++,t+=4)Us[n]=e.getUint32(t),Ws[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=Us[e-15]|0,n=Ws[e-15]|0,r=sr(t,n,1)^sr(t,n,8)^ar(t,n,7),i=cr(t,n,1)^cr(t,n,8)^or(t,n,7),a=Us[e-2]|0,o=Ws[e-2]|0,s=sr(a,o,19)^lr(a,o,61)^ar(a,o,6),c=cr(a,o,19)^ur(a,o,61)^or(a,o,6),l=_r(i,c,Ws[e-7],Ws[e-16]),u=vr(l,r,s,Us[e-7],Us[e-16]);Us[e]=u|0,Ws[e]=l|0}let{Ah:n,Al:r,Bh:i,Bl:a,Ch:o,Cl:s,Dh:c,Dl:l,Eh:u,El:d,Fh:f,Fl:p,Gh:m,Gl:h,Hh:g,Hl:_}=this;for(let e=0;e<80;e++){let t=sr(u,d,14)^sr(u,d,18)^lr(u,d,41),v=cr(u,d,14)^cr(u,d,18)^ur(u,d,41),y=u&f^~u&m,b=d&p^~d&h,x=yr(_,v,b,Hs[e],Ws[e]),S=br(x,g,t,y,Vs[e],Us[e]),C=x|0,w=sr(n,r,28)^lr(n,r,34)^lr(n,r,39),T=cr(n,r,28)^ur(n,r,34)^ur(n,r,39),ee=n&i^n&o^i&o,te=r&a^r&s^a&s;g=m|0,_=h|0,m=f|0,h=p|0,f=u|0,p=d|0,{h:u,l:d}=nr(c|0,l|0,S|0,C|0),c=o|0,l=s|0,o=i|0,s=a|0,i=n|0,a=r|0;let ne=hr(C,T,te);n=gr(ne,S,w,ee),r=ne|0}({h:n,l:r}=nr(this.Ah|0,this.Al|0,n|0,r|0)),{h:i,l:a}=nr(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:s}=nr(this.Ch|0,this.Cl|0,o|0,s|0),{h:c,l}=nr(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=nr(this.Eh|0,this.El|0,u|0,d|0),{h:f,l:p}=nr(this.Fh|0,this.Fl|0,f|0,p|0),{h:m,l:h}=nr(this.Gh|0,this.Gl|0,m|0,h|0),{h:g,l:_}=nr(this.Hh|0,this.Hl|0,g|0,_|0),this.set(n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_)}roundClean(){jr(Us,Ws)}destroy(){jr(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Ks=class extends Gs{constructor(){super(48),this.Ah=Ps[0]|0,this.Al=Ps[1]|0,this.Bh=Ps[2]|0,this.Bl=Ps[3]|0,this.Ch=Ps[4]|0,this.Cl=Ps[5]|0,this.Dh=Ps[6]|0,this.Dl=Ps[7]|0,this.Eh=Ps[8]|0,this.El=Ps[9]|0,this.Fh=Ps[10]|0,this.Fl=Ps[11]|0,this.Gh=Ps[12]|0,this.Gl=Ps[13]|0,this.Hh=Ps[14]|0,this.Hl=Ps[15]|0}},qs=zr(()=>new zs),Js=zr(()=>new Gs),Ys=zr(()=>new Ks)})),Zs,Qs,$s=o((()=>{Wr(),Zs=class extends Ur{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,Dr(e);let n=Lr(t);if(this.iHash=e.create(),typeof this.iHash.update!=`function`)throw Error(`Expected instance of class which extends utils.Hash`);this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let r=this.blockLen,i=new Uint8Array(r);i.set(n.length>r?e.create().update(n).digest():n);for(let e=0;e<i.length;e++)i[e]^=54;this.iHash.update(i),this.oHash=e.create();for(let e=0;e<i.length;e++)i[e]^=106;this.oHash.update(i),jr(i)}update(e){return Or(this),this.iHash.update(e),this}digestInto(e){Or(this),Er(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:t,iHash:n,finished:r,destroyed:i,blockLen:a,outputLen:o}=this;return e=e,e.finished=r,e.destroyed=i,e.blockLen=a,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Qs=(e,t,n)=>new Zs(e,t).update(n).digest(),Qs.create=(e,t)=>new Zs(e,t)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction ec(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function tc(e){if(!ec(e))throw Error(`Uint8Array expected`)}function nc(e,t){if(typeof t!=`boolean`)throw Error(e+` boolean expected, got `+t)}function rc(e){let t=e.toString(16);return t.length&1?`0`+t:t}function ic(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return e===``?Sc:BigInt(`0x`+e)}function ac(e){if(tc(e),wc)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=Tc[e[n]];return t}function oc(e){if(e>=Ec._0&&e<=Ec._9)return e-Ec._0;if(e>=Ec.A&&e<=Ec.F)return e-(Ec.A-10);if(e>=Ec.a&&e<=Ec.f)return e-(Ec.a-10)}function sc(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(wc)return Uint8Array.fromHex(e);let t=e.length,n=t/2;if(t%2)throw Error(`hex string expected, got unpadded hex of length `+t);let r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){let n=oc(e.charCodeAt(i)),a=oc(e.charCodeAt(i+1));if(n===void 0||a===void 0){let t=e[i]+e[i+1];throw Error(`hex string expected, got non-hex character \"`+t+`\" at index `+i)}r[t]=n*16+a}return r}function cc(e){return ic(ac(e))}function lc(e){return tc(e),ic(ac(Uint8Array.from(e).reverse()))}function uc(e,t){return sc(e.toString(16).padStart(t*2,`0`))}function dc(e,t){return uc(e,t).reverse()}function fc(e,t,n){let r;if(typeof t==`string`)try{r=sc(t)}catch(t){throw Error(e+` must be hex string or Uint8Array, cause: `+t)}else if(ec(t))r=Uint8Array.from(t);else throw Error(e+` must be hex string or Uint8Array`);let i=r.length;if(typeof n==`number`&&i!==n)throw Error(e+` of length `+n+` expected, got `+i);return r}function pc(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];tc(r),t+=r.length}let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}function mc(e,t){if(e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r++)n|=e[r]^t[r];return n===0}function hc(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function gc(e,t,n){return Dc(e)&&Dc(t)&&Dc(n)&&t<=e&&e<n}function _c(e,t,n,r){if(!gc(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function vc(e){let t;for(t=0;e>Sc;e>>=Cc,t+=1);return t}function yc(e,t,n){if(typeof e!=`number`||e<2)throw Error(`hashLen must be a number`);if(typeof t!=`number`||t<2)throw Error(`qByteLen must be a number`);if(typeof n!=`function`)throw Error(`hmacFn must be a function`);let r=kc(e),i=kc(e),a=0,o=()=>{r.fill(1),i.fill(0),a=0},s=(...e)=>n(i,r,...e),c=(e=kc(0))=>{i=s(Ac([0]),e),r=s(),e.length!==0&&(i=s(Ac([1]),e),r=s())},l=()=>{if(a++>=1e3)throw Error(`drbg: tried 1000 values`);let e=0,n=[];for(;e<t;){r=s();let t=r.slice();n.push(t),e+=r.length}return pc(...n)};return(e,t)=>{o(),c(e);let n;for(;!(n=t(l()));)c();return o(),n}}function bc(e,t,n={}){let r=(t,n,r)=>{let i=jc[n];if(typeof i!=`function`)throw Error(`invalid validator function`);let a=e[t];if(!(r&&a===void 0)&&!i(a,e))throw Error(`param `+String(t)+` is invalid. Expected `+n+`, got `+a)};for(let[e,n]of Object.entries(t))r(e,n,!1);for(let[e,t]of Object.entries(n))r(e,t,!0);return e}function xc(e){let t=new WeakMap;return(n,...r)=>{let i=t.get(n);if(i!==void 0)return i;let a=e(n,...r);return t.set(n,a),a}}var Sc,Cc,wc,Tc,Ec,Dc,Oc,kc,Ac,jc,Mc=o((()=>{Sc=BigInt(0),Cc=BigInt(1),wc=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,Tc=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Ec={_0:48,_9:57,A:65,F:70,a:97,f:102},Dc=e=>typeof e==`bigint`&&Sc<=e,Oc=e=>(Cc<<BigInt(e))-Cc,kc=e=>new Uint8Array(e),Ac=e=>Uint8Array.from(e),jc={bigint:e=>typeof e==`bigint`,function:e=>typeof e==`function`,boolean:e=>typeof e==`boolean`,string:e=>typeof e==`string`,stringOrUint8Array:e=>typeof e==`string`||ec(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e==`function`&&Number.isSafeInteger(e.outputLen)}}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Nc(e,t){let n=e%t;return n>=Yc?n:t+n}function Pc(e,t,n){let r=e;for(;t-->Yc;)r*=r,r%=n;return r}function Fc(e,t){if(e===Yc)throw Error(`invert: expected non-zero number`);if(t<=Yc)throw Error(`invert: expected positive modulus, got `+t);let n=Nc(e,t),r=t,i=Yc,a=Xc,o=Xc,s=Yc;for(;n!==Yc;){let e=r/n,t=r%n,c=i-o*e,l=a-s*e;r=n,n=t,i=o,a=s,o=c,s=l}if(r!==Xc)throw Error(`invert: does not exist`);return Nc(i,t)}function Ic(e,t){let n=(e.ORDER+Xc)/$c,r=e.pow(t,n);if(!e.eql(e.sqr(r),t))throw Error(`Cannot find square root`);return r}function Lc(e,t){let n=(e.ORDER-el)/tl,r=e.mul(t,Zc),i=e.pow(r,n),a=e.mul(t,i),o=e.mul(e.mul(a,Zc),i),s=e.mul(a,e.sub(o,e.ONE));if(!e.eql(e.sqr(s),t))throw Error(`Cannot find square root`);return s}function Rc(e){if(e<BigInt(3))throw Error(`sqrt is not defined for small field`);let t=e-Xc,n=0;for(;t%Zc===Yc;)t/=Zc,n++;let r=Zc,i=Gc(e);for(;Uc(i,r)===1;)if(r++>1e3)throw Error(`Cannot find square root: probably non-prime P`);if(n===1)return Ic;let a=i.pow(r,t),o=(t+Xc)/Zc;return function(e,r){if(e.is0(r))return r;if(Uc(e,r)!==1)throw Error(`Cannot find square root`);let i=n,s=e.mul(e.ONE,a),c=e.pow(r,t),l=e.pow(r,o);for(;!e.eql(c,e.ONE);){if(e.is0(c))return e.ZERO;let t=1,n=e.sqr(c);for(;!e.eql(n,e.ONE);)if(t++,n=e.sqr(n),t===i)throw Error(`Cannot find square root`);let r=Xc<<BigInt(i-t-1),a=e.pow(s,r);i=t,s=e.sqr(a),c=e.mul(c,s),l=e.mul(l,a)}return l}}function zc(e){return e%$c===Qc?Ic:e%tl===el?Lc:Rc(e)}function Bc(e){return bc(e,nl.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,MASK:`bigint`,BYTES:`isSafeInteger`,BITS:`isSafeInteger`}))}function Vc(e,t,n){if(n<Yc)throw Error(`invalid exponent, negatives unsupported`);if(n===Yc)return e.ONE;if(n===Xc)return t;let r=e.ONE,i=t;for(;n>Yc;)n&Xc&&(r=e.mul(r,i)),i=e.sqr(i),n>>=Xc;return r}function Hc(e,t,n=!1){let r=Array(t.length).fill(n?e.ZERO:void 0),i=t.reduce((t,n,i)=>e.is0(n)?t:(r[i]=t,e.mul(t,n)),e.ONE),a=e.inv(i);return t.reduceRight((t,n,i)=>e.is0(n)?t:(r[i]=e.mul(t,r[i]),e.mul(t,n)),a),r}function Uc(e,t){let n=(e.ORDER-Xc)/Zc,r=e.pow(t,n),i=e.eql(r,e.ONE),a=e.eql(r,e.ZERO),o=e.eql(r,e.neg(e.ONE));if(!i&&!a&&!o)throw Error(`invalid Legendre symbol result`);return i?1:a?0:-1}function Wc(e,t){t!==void 0&&Tr(t);let n=t===void 0?e.toString(2).length:t;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function Gc(e,t,n=!1,r={}){if(e<=Yc)throw Error(`invalid field: expected ORDER > 0, got `+e);let{nBitLength:i,nByteLength:a}=Wc(e,t);if(a>2048)throw Error(`invalid field: expected ORDER of <= 2048 bytes`);let o,s=Object.freeze({ORDER:e,isLE:n,BITS:i,BYTES:a,MASK:Oc(i),ZERO:Yc,ONE:Xc,create:t=>Nc(t,e),isValid:t=>{if(typeof t!=`bigint`)throw Error(`invalid field element: expected bigint, got `+typeof t);return Yc<=t&&t<e},is0:e=>e===Yc,isOdd:e=>(e&Xc)===Xc,neg:t=>Nc(-t,e),eql:(e,t)=>e===t,sqr:t=>Nc(t*t,e),add:(t,n)=>Nc(t+n,e),sub:(t,n)=>Nc(t-n,e),mul:(t,n)=>Nc(t*n,e),pow:(e,t)=>Vc(s,e,t),div:(t,n)=>Nc(t*Fc(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>Fc(t,e),sqrt:r.sqrt||(t=>(o||=zc(e),o(s,t))),toBytes:e=>n?dc(e,a):uc(e,a),fromBytes:e=>{if(e.length!==a)throw Error(`Field.fromBytes: expected `+a+` bytes, got `+e.length);return n?lc(e):cc(e)},invertBatch:e=>Hc(s,e),cmov:(e,t,n)=>n?t:e});return Object.freeze(s)}function Kc(e){if(typeof e!=`bigint`)throw Error(`field order must be bigint`);let t=e.toString(2).length;return Math.ceil(t/8)}function qc(e){let t=Kc(e);return t+Math.ceil(t/2)}function Jc(e,t,n=!1){let r=e.length,i=Kc(t),a=qc(t);if(r<16||r<a||r>1024)throw Error(`expected `+a+`-1024 bytes of input, got `+r);let o=Nc(n?lc(e):cc(e),t-Xc)+Xc;return n?dc(o,i):uc(o,i)}var Yc,Xc,Zc,Qc,$c,el,tl,nl,rl=o((()=>{Wr(),Mc(),Yc=BigInt(0),Xc=BigInt(1),Zc=BigInt(2),Qc=BigInt(3),$c=BigInt(4),el=BigInt(5),tl=BigInt(8),nl=[`create`,`isValid`,`is0`,`neg`,`inv`,`sqrt`,`sqr`,`eql`,`add`,`sub`,`mul`,`pow`,`div`,`addN`,`subN`,`mulN`,`sqrN`]}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction il(e,t){let n=t.negate();return e?n:t}function al(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error(`invalid window size, expected [1..`+t+`], got W=`+e)}function ol(e,t){al(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),i=2**e;return{windows:n,windowSize:r,mask:Oc(e),maxNumber:i,shiftBy:BigInt(e)}}function sl(e,t,n){let{windowSize:r,mask:i,maxNumber:a,shiftBy:o}=n,s=Number(e&i),c=e>>o;s>r&&(s-=a,c+=hl);let l=t*r,u=l+Math.abs(s)-1,d=s===0,f=s<0,p=t%2!=0;return{nextN:c,offset:u,isZero:d,isNeg:f,isNegF:p,offsetF:l}}function cl(e,t){if(!Array.isArray(e))throw Error(`array expected`);e.forEach((e,n)=>{if(!(e instanceof t))throw Error(`invalid point at index `+n)})}function ll(e,t){if(!Array.isArray(e))throw Error(`array of scalars expected`);e.forEach((e,n)=>{if(!t.isValid(e))throw Error(`invalid scalar at index `+n)})}function ul(e){return _l.get(e)||1}function dl(e,t){return{constTimeNegate:il,hasPrecomputes(e){return ul(e)!==1},unsafeLadder(t,n,r=e.ZERO){let i=t;for(;n>ml;)n&hl&&(r=r.add(i)),i=i.double(),n>>=hl;return r},precomputeWindow(e,n){let{windows:r,windowSize:i}=ol(n,t),a=[],o=e,s=o;for(let e=0;e<r;e++){s=o,a.push(s);for(let e=1;e<i;e++)s=s.add(o),a.push(s);o=s.double()}return a},wNAF(n,r,i){let a=e.ZERO,o=e.BASE,s=ol(n,t);for(let e=0;e<s.windows;e++){let{nextN:t,offset:n,isZero:c,isNeg:l,isNegF:u,offsetF:d}=sl(i,e,s);i=t,c?o=o.add(il(u,r[d])):a=a.add(il(l,r[n]))}return{p:a,f:o}},wNAFUnsafe(n,r,i,a=e.ZERO){let o=ol(n,t);for(let e=0;e<o.windows&&i!==ml;e++){let{nextN:t,offset:n,isZero:s,isNeg:c}=sl(i,e,o);if(i=t,!s){let e=r[n];a=a.add(c?e.negate():e)}}return a},getPrecomputes(e,t,n){let r=gl.get(t);return r||(r=this.precomputeWindow(t,e),e!==1&&gl.set(t,n(r))),r},wNAFCached(e,t,n){let r=ul(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)},wNAFCachedUnsafe(e,t,n,r){let i=ul(e);return i===1?this.unsafeLadder(e,t,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),t,r)},setWindowSize(e,n){al(n,t),_l.set(e,n),gl.delete(e)}}}function fl(e,t,n,r){cl(n,e),ll(r,t);let i=n.length,a=r.length;if(i!==a)throw Error(`arrays of points and scalars must have equal length`);let o=e.ZERO,s=vc(BigInt(i)),c=1;s>12?c=s-3:s>4?c=s-2:s>0&&(c=2);let l=Oc(c),u=Array(Number(l)+1).fill(o),d=Math.floor((t.BITS-1)/c)*c,f=o;for(let e=d;e>=0;e-=c){u.fill(o);for(let t=0;t<a;t++){let i=r[t],a=Number(i>>BigInt(e)&l);u[a]=u[a].add(n[t])}let t=o;for(let e=u.length-1,n=o;e>0;e--)n=n.add(u[e]),t=t.add(n);if(f=f.add(t),e!==0)for(let e=0;e<c;e++)f=f.double()}return f}function pl(e){return Bc(e.Fp),bc(e,{n:`bigint`,h:`bigint`,Gx:`field`,Gy:`field`},{nBitLength:`isSafeInteger`,nByteLength:`isSafeInteger`}),Object.freeze({...Wc(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var ml,hl,gl,_l,vl=o((()=>{rl(),Mc(),ml=BigInt(0),hl=BigInt(1),gl=new WeakMap,_l=new WeakMap}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction yl(e){e.lowS!==void 0&&nc(`lowS`,e.lowS),e.prehash!==void 0&&nc(`prehash`,e.prehash)}function bl(e){let t=pl(e);bc(t,{a:`field`,b:`field`},{allowInfinityPoint:`boolean`,allowedPrivateKeyLengths:`array`,clearCofactor:`function`,fromBytes:`function`,isTorsionFree:`function`,toBytes:`function`,wrapPrivateKey:`boolean`});let{endo:n,Fp:r,a:i}=t;if(n){if(!r.eql(i,r.ZERO))throw Error(`invalid endo: CURVE.a must be 0`);if(typeof n!=`object`||typeof n.beta!=`bigint`||typeof n.splitScalar!=`function`)throw Error(`invalid endo: expected \"beta\": bigint and \"splitScalar\": function`)}return Object.freeze({...t})}function xl(e,t){return ac(uc(e,t))}function Sl(e){let t=bl(e),{Fp:n}=t,r=Gc(t.n,t.nBitLength),i=t.toBytes||((e,t,r)=>{let i=t.toAffine();return pc(Uint8Array.from([4]),n.toBytes(i.x),n.toBytes(i.y))}),a=t.fromBytes||(e=>{let t=e.subarray(1);return{x:n.fromBytes(t.subarray(0,n.BYTES)),y:n.fromBytes(t.subarray(n.BYTES,2*n.BYTES))}});function o(e){let{a:r,b:i}=t,a=n.sqr(e),o=n.mul(a,e);return n.add(n.add(o,n.mul(e,r)),i)}function s(e,t){let r=n.sqr(t),i=o(e);return n.eql(r,i)}if(!s(t.Gx,t.Gy))throw Error(`bad curve params: generator point`);let c=n.mul(n.pow(t.a,Ml),Nl),l=n.mul(n.sqr(t.b),BigInt(27));if(n.is0(n.add(c,l)))throw Error(`bad curve params: a or b`);function u(e){return gc(e,Al,t.n)}function d(e){let{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:i,n:a}=t;if(n&&typeof e!=`bigint`){if(ec(e)&&(e=ac(e)),typeof e!=`string`||!n.includes(e.length))throw Error(`invalid private key`);e=e.padStart(r*2,`0`)}let o;try{o=typeof e==`bigint`?e:cc(fc(`private key`,e,r))}catch{throw Error(`invalid private key, expected hex or `+r+` bytes, got `+typeof e)}return i&&(o=Nc(o,a)),_c(`private key`,o,Al,a),o}function f(e){if(!(e instanceof h))throw Error(`ProjectivePoint expected`)}let p=xc((e,t)=>{let{px:r,py:i,pz:a}=e;if(n.eql(a,n.ONE))return{x:r,y:i};let o=e.is0();t??=o?n.ONE:n.inv(a);let s=n.mul(r,t),c=n.mul(i,t),l=n.mul(a,t);if(o)return{x:n.ZERO,y:n.ZERO};if(!n.eql(l,n.ONE))throw Error(`invZ was invalid`);return{x:s,y:c}}),m=xc(e=>{if(e.is0()){if(t.allowInfinityPoint&&!n.is0(e.py))return;throw Error(`bad point: ZERO`)}let{x:r,y:i}=e.toAffine();if(!n.isValid(r)||!n.isValid(i))throw Error(`bad point: x or y not FE`);if(!s(r,i))throw Error(`bad point: equation left != right`);if(!e.isTorsionFree())throw Error(`bad point: not in prime-order subgroup`);return!0});class h{constructor(e,t,r){if(e==null||!n.isValid(e))throw Error(`x required`);if(t==null||!n.isValid(t)||n.is0(t))throw Error(`y required`);if(r==null||!n.isValid(r))throw Error(`z required`);this.px=e,this.py=t,this.pz=r,Object.freeze(this)}static fromAffine(e){let{x:t,y:r}=e||{};if(!e||!n.isValid(t)||!n.isValid(r))throw Error(`invalid affine point`);if(e instanceof h)throw Error(`projective point not allowed`);let i=e=>n.eql(e,n.ZERO);return i(t)&&i(r)?h.ZERO:new h(t,r,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){let t=Hc(n,e.map(e=>e.pz));return e.map((e,n)=>e.toAffine(t[n])).map(h.fromAffine)}static fromHex(e){let t=h.fromAffine(a(fc(`pointHex`,e)));return t.assertValidity(),t}static fromPrivateKey(e){return h.BASE.multiply(d(e))}static msm(e,t){return fl(h,r,e,t)}_setWindowSize(e){v.setWindowSize(this,e)}assertValidity(){m(this)}hasEvenY(){let{y:e}=this.toAffine();if(n.isOdd)return!n.isOdd(e);throw Error(`Field doesn't support isOdd`)}equals(e){f(e);let{px:t,py:r,pz:i}=this,{px:a,py:o,pz:s}=e,c=n.eql(n.mul(t,s),n.mul(a,i)),l=n.eql(n.mul(r,s),n.mul(o,i));return c&&l}negate(){return new h(this.px,n.neg(this.py),this.pz)}double(){let{a:e,b:r}=t,i=n.mul(r,Ml),{px:a,py:o,pz:s}=this,c=n.ZERO,l=n.ZERO,u=n.ZERO,d=n.mul(a,a),f=n.mul(o,o),p=n.mul(s,s),m=n.mul(a,o);return m=n.add(m,m),u=n.mul(a,s),u=n.add(u,u),c=n.mul(e,u),l=n.mul(i,p),l=n.add(c,l),c=n.sub(f,l),l=n.add(f,l),l=n.mul(c,l),c=n.mul(m,c),u=n.mul(i,u),p=n.mul(e,p),m=n.sub(d,p),m=n.mul(e,m),m=n.add(m,u),u=n.add(d,d),d=n.add(u,d),d=n.add(d,p),d=n.mul(d,m),l=n.add(l,d),p=n.mul(o,s),p=n.add(p,p),d=n.mul(p,m),c=n.sub(c,d),u=n.mul(p,f),u=n.add(u,u),u=n.add(u,u),new h(c,l,u)}add(e){f(e);let{px:r,py:i,pz:a}=this,{px:o,py:s,pz:c}=e,l=n.ZERO,u=n.ZERO,d=n.ZERO,p=t.a,m=n.mul(t.b,Ml),g=n.mul(r,o),_=n.mul(i,s),v=n.mul(a,c),y=n.add(r,i),b=n.add(o,s);y=n.mul(y,b),b=n.add(g,_),y=n.sub(y,b),b=n.add(r,a);let x=n.add(o,c);return b=n.mul(b,x),x=n.add(g,v),b=n.sub(b,x),x=n.add(i,a),l=n.add(s,c),x=n.mul(x,l),l=n.add(_,v),x=n.sub(x,l),d=n.mul(p,b),l=n.mul(m,v),d=n.add(l,d),l=n.sub(_,d),d=n.add(_,d),u=n.mul(l,d),_=n.add(g,g),_=n.add(_,g),v=n.mul(p,v),b=n.mul(m,b),_=n.add(_,v),v=n.sub(g,v),v=n.mul(p,v),b=n.add(b,v),g=n.mul(_,b),u=n.add(u,g),g=n.mul(x,b),l=n.mul(y,l),l=n.sub(l,g),g=n.mul(y,_),d=n.mul(x,d),d=n.add(d,g),new h(l,u,d)}subtract(e){return this.add(e.negate())}is0(){return this.equals(h.ZERO)}wNAF(e){return v.wNAFCached(this,e,h.normalizeZ)}multiplyUnsafe(e){let{endo:r,n:i}=t;_c(`scalar`,e,kl,i);let a=h.ZERO;if(e===kl)return a;if(this.is0()||e===Al)return this;if(!r||v.hasPrecomputes(this))return v.wNAFCachedUnsafe(this,e,h.normalizeZ);let{k1neg:o,k1:s,k2neg:c,k2:l}=r.splitScalar(e),u=a,d=a,f=this;for(;s>kl||l>kl;)s&Al&&(u=u.add(f)),l&Al&&(d=d.add(f)),f=f.double(),s>>=Al,l>>=Al;return o&&(u=u.negate()),c&&(d=d.negate()),d=new h(n.mul(d.px,r.beta),d.py,d.pz),u.add(d)}multiply(e){let{endo:r,n:i}=t;_c(`scalar`,e,Al,i);let a,o;if(r){let{k1neg:t,k1:i,k2neg:s,k2:c}=r.splitScalar(e),{p:l,f:u}=this.wNAF(i),{p:d,f}=this.wNAF(c);l=v.constTimeNegate(t,l),d=v.constTimeNegate(s,d),d=new h(n.mul(d.px,r.beta),d.py,d.pz),a=l.add(d),o=u.add(f)}else{let{p:t,f:n}=this.wNAF(e);a=t,o=n}return h.normalizeZ([a,o])[0]}multiplyAndAddUnsafe(e,t,n){let r=h.BASE,i=(e,t)=>t===kl||t===Al||!e.equals(r)?e.multiplyUnsafe(t):e.multiply(t),a=i(this,t).add(i(e,n));return a.is0()?void 0:a}toAffine(e){return p(this,e)}isTorsionFree(){let{h:e,isTorsionFree:n}=t;if(e===Al)return!0;if(n)return n(h,this);throw Error(`isTorsionFree() has not been declared for the elliptic curve`)}clearCofactor(){let{h:e,clearCofactor:n}=t;return e===Al?this:n?n(h,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return nc(`isCompressed`,e),this.assertValidity(),i(h,this,e)}toHex(e=!0){return nc(`isCompressed`,e),ac(this.toRawBytes(e))}}h.BASE=new h(t.Gx,t.Gy,n.ONE),h.ZERO=new h(n.ZERO,n.ONE,n.ZERO);let{endo:g,nBitLength:_}=t,v=dl(h,g?Math.ceil(_/2):_);return{CURVE:t,ProjectivePoint:h,normPrivateKeyToScalar:d,weierstrassEquation:o,isWithinCurveOrder:u}}function Cl(e){let t=pl(e);return bc(t,{hash:`hash`,hmac:`function`,randomBytes:`function`},{bits2int:`function`,bits2int_modN:`function`,lowS:`boolean`}),Object.freeze({lowS:!0,...t})}function wl(e){let t=Cl(e),{Fp:n,n:r,nByteLength:i,nBitLength:a}=t,o=n.BYTES+1,s=2*n.BYTES+1;function c(e){return Nc(e,r)}function l(e){return Fc(e,r)}let{ProjectivePoint:u,normPrivateKeyToScalar:d,weierstrassEquation:f,isWithinCurveOrder:p}=Sl({...t,toBytes(e,t,r){let i=t.toAffine(),a=n.toBytes(i.x),o=pc;return nc(`isCompressed`,r),r?o(Uint8Array.from([t.hasEvenY()?2:3]),a):o(Uint8Array.from([4]),a,n.toBytes(i.y))},fromBytes(e){let t=e.length,r=e[0],i=e.subarray(1);if(t===o&&(r===2||r===3)){let e=cc(i);if(!gc(e,Al,n.ORDER))throw Error(`Point is not on curve`);let t=f(e),a;try{a=n.sqrt(t)}catch(e){let t=e instanceof Error?`: `+e.message:``;throw Error(`Point is not on curve`+t)}let o=(a&Al)===Al;return(r&1)==1!==o&&(a=n.neg(a)),{x:e,y:a}}else if(t===s&&r===4)return{x:n.fromBytes(i.subarray(0,n.BYTES)),y:n.fromBytes(i.subarray(n.BYTES,2*n.BYTES))};else{let e=o,n=s;throw Error(`invalid Point, expected length of `+e+`, or uncompressed `+n+`, got `+t)}}});function m(e){return e>r>>Al}function h(e){return m(e)?c(-e):e}let g=(e,t,n)=>cc(e.slice(t,n));class _{constructor(e,t,n){_c(`r`,e,Al,r),_c(`s`,t,Al,r),this.r=e,this.s=t,n!=null&&(this.recovery=n),Object.freeze(this)}static fromCompact(e){let t=i;return e=fc(`compactSignature`,e,t*2),new _(g(e,0,t),g(e,t,2*t))}static fromDER(e){let{r:t,s:n}=Ol.toSig(fc(`DER`,e));return new _(t,n)}assertValidity(){}addRecoveryBit(e){return new _(this.r,this.s,e)}recoverPublicKey(e){let{r,s:i,recovery:a}=this,o=C(fc(`msgHash`,e));if(a==null||![0,1,2,3].includes(a))throw Error(`recovery id invalid`);let s=a===2||a===3?r+t.n:r;if(s>=n.ORDER)throw Error(`recovery id 2 or 3 invalid`);let d=a&1?`03`:`02`,f=u.fromHex(d+xl(s,n.BYTES)),p=l(s),m=c(-o*p),h=c(i*p),g=u.BASE.multiplyAndAddUnsafe(f,m,h);if(!g)throw Error(`point at infinify`);return g.assertValidity(),g}hasHighS(){return m(this.s)}normalizeS(){return this.hasHighS()?new _(this.r,c(-this.s),this.recovery):this}toDERRawBytes(){return sc(this.toDERHex())}toDERHex(){return Ol.hexFromSig(this)}toCompactRawBytes(){return sc(this.toCompactHex())}toCompactHex(){let e=i;return xl(this.r,e)+xl(this.s,e)}}let v={isValidPrivateKey(e){try{return d(e),!0}catch{return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{let e=qc(t.n);return Jc(t.randomBytes(e),t.n)},precompute(e=8,t=u.BASE){return t._setWindowSize(e),t.multiply(BigInt(3)),t}};function y(e,t=!0){return u.fromPrivateKey(e).toRawBytes(t)}function b(e){if(typeof e==`bigint`)return!1;if(e instanceof u)return!0;let r=fc(`key`,e).length,a=n.BYTES,o=a+1,s=2*a+1;if(!(t.allowedPrivateKeyLengths||i===o))return r===o||r===s}function x(e,t,n=!0){if(b(e)===!0)throw Error(`first arg must be private key`);if(b(t)===!1)throw Error(`second arg must be public key`);return u.fromHex(t).multiply(d(e)).toRawBytes(n)}let S=t.bits2int||function(e){if(e.length>8192)throw Error(`input is too large`);let t=cc(e),n=e.length*8-a;return n>0?t>>BigInt(n):t},C=t.bits2int_modN||function(e){return c(S(e))},w=Oc(a);function T(e){return _c(`num < 2^`+a,e,kl,w),uc(e,i)}function ee(e,r,i=te){if([`recovered`,`canonical`].some(e=>e in i))throw Error(`sign() legacy options not supported`);let{hash:a,randomBytes:o}=t,{lowS:s,prehash:f,extraEntropy:g}=i;s??=!0,e=fc(`msgHash`,e),yl(i),f&&(e=fc(`prehashed msgHash`,a(e)));let v=C(e),y=d(r),b=[T(y),T(v)];if(g!=null&&g!==!1){let e=g===!0?o(n.BYTES):g;b.push(fc(`extraEntropy`,e))}let x=pc(...b),w=v;function ee(e){let t=S(e);if(!p(t))return;let n=l(t),r=u.BASE.multiply(t).toAffine(),i=c(r.x);if(i===kl)return;let a=c(n*c(w+i*y));if(a===kl)return;let o=(r.x===i?0:2)|Number(r.y&Al),d=a;return s&&m(a)&&(d=h(a),o^=1),new _(i,d,o)}return{seed:x,k2sig:ee}}let te={lowS:t.lowS,prehash:!1},ne={lowS:t.lowS,prehash:!1};function re(e,n,r=te){let{seed:i,k2sig:a}=ee(e,n,r),o=t;return yc(o.hash.outputLen,o.nByteLength,o.hmac)(i,a)}u.BASE._setWindowSize(8);function ie(e,n,r,i=ne){let a=e;n=fc(`msgHash`,n),r=fc(`publicKey`,r);let{lowS:o,prehash:s,format:d}=i;if(yl(i),`strict`in i)throw Error(`options.strict was renamed to lowS`);if(d!==void 0&&d!==`compact`&&d!==`der`)throw Error(`format must be compact or der`);let f=typeof a==`string`||ec(a),p=!f&&!d&&typeof a==`object`&&!!a&&typeof a.r==`bigint`&&typeof a.s==`bigint`;if(!f&&!p)throw Error(`invalid signature, expected Uint8Array, hex string or Signature instance`);let m,h;try{if(p&&(m=new _(a.r,a.s)),f){try{d!==`compact`&&(m=_.fromDER(a))}catch(e){if(!(e instanceof Ol.Err))throw e}!m&&d!==`der`&&(m=_.fromCompact(a))}h=u.fromHex(r)}catch{return!1}if(!m||o&&m.hasHighS())return!1;s&&(n=t.hash(n));let{r:g,s:v}=m,y=C(n),b=l(v),x=c(y*b),S=c(g*b),w=u.BASE.multiplyAndAddUnsafe(h,x,S)?.toAffine();return w?c(w.x)===g:!1}return{CURVE:t,getPublicKey:y,getSharedSecret:x,sign:re,verify:ie,ProjectivePoint:u,Signature:_,utils:v}}function Tl(e,t){let n=e.ORDER,r=kl;for(let e=n-Al;e%jl===kl;e/=jl)r+=Al;let i=r,a=jl<<i-Al-Al,o=a*jl,s=(n-Al)/o,c=(s-Al)/jl,l=o-Al,u=a,d=e.pow(t,s),f=e.pow(t,(s+Al)/jl),p=(t,n)=>{let r=d,a=e.pow(n,l),o=e.sqr(a);o=e.mul(o,n);let s=e.mul(t,o);s=e.pow(s,c),s=e.mul(s,a),a=e.mul(s,n),o=e.mul(s,t);let p=e.mul(o,a);s=e.pow(p,u);let m=e.eql(s,e.ONE);a=e.mul(o,f),s=e.mul(p,r),o=e.cmov(a,o,m),p=e.cmov(s,p,m);for(let t=i;t>Al;t--){let n=t-jl;n=jl<<n-Al;let i=e.pow(p,n),s=e.eql(i,e.ONE);a=e.mul(o,r),r=e.mul(r,r),i=e.mul(p,r),o=e.cmov(a,o,s),p=e.cmov(i,p,s)}return{isValid:m,value:o}};if(e.ORDER%Nl===Ml){let n=(e.ORDER-Ml)/Nl,r=e.sqrt(e.neg(t));p=(t,i)=>{let a=e.sqr(i),o=e.mul(t,i);a=e.mul(a,o);let s=e.pow(a,n);s=e.mul(s,o);let c=e.mul(s,r),l=e.mul(e.sqr(s),i),u=e.eql(l,t);return{isValid:u,value:e.cmov(c,s,u)}}}return p}function El(e,t){if(Bc(e),!e.isValid(t.A)||!e.isValid(t.B)||!e.isValid(t.Z))throw Error(`mapToCurveSimpleSWU: invalid opts`);let n=Tl(e,t.Z);if(!e.isOdd)throw Error(`Fp.isOdd is not implemented!`);return r=>{let i,a,o,s,c,l,u,d;i=e.sqr(r),i=e.mul(i,t.Z),a=e.sqr(i),a=e.add(a,i),o=e.add(a,e.ONE),o=e.mul(o,t.B),s=e.cmov(t.Z,e.neg(a),!e.eql(a,e.ZERO)),s=e.mul(s,t.A),a=e.sqr(o),l=e.sqr(s),c=e.mul(l,t.A),a=e.add(a,c),a=e.mul(a,o),l=e.mul(l,s),c=e.mul(l,t.B),a=e.add(a,c),u=e.mul(i,o);let{isValid:f,value:p}=n(a,l);d=e.mul(i,r),d=e.mul(d,p),u=e.cmov(u,o,f),d=e.cmov(d,p,f);let m=e.isOdd(r)===e.isOdd(d);d=e.cmov(e.neg(d),d,m);let h=Hc(e,[s],!0)[0];return u=e.mul(u,h),{x:u,y:d}}}var Dl,Ol,kl,Al,jl,Ml,Nl,Pl=o((()=>{vl(),rl(),Mc(),Dl=class extends Error{constructor(e=``){super(e)}},Ol={Err:Dl,_tlv:{encode:(e,t)=>{let{Err:n}=Ol;if(e<0||e>256)throw new n(`tlv.encode: wrong tag`);if(t.length&1)throw new n(`tlv.encode: unpadded data`);let r=t.length/2,i=rc(r);if(i.length/2&128)throw new n(`tlv.encode: long form length too big`);let a=r>127?rc(i.length/2|128):``;return rc(e)+a+i+t},decode(e,t){let{Err:n}=Ol,r=0;if(e<0||e>256)throw new n(`tlv.encode: wrong tag`);if(t.length<2||t[r++]!==e)throw new n(`tlv.decode: wrong tlv`);let i=t[r++],a=!!(i&128),o=0;if(!a)o=i;else{let e=i&127;if(!e)throw new n(`tlv.decode(long): indefinite length not supported`);if(e>4)throw new n(`tlv.decode(long): byte length is too big`);let a=t.subarray(r,r+e);if(a.length!==e)throw new n(`tlv.decode: length bytes not complete`);if(a[0]===0)throw new n(`tlv.decode(long): zero leftmost byte`);for(let e of a)o=o<<8|e;if(r+=e,o<128)throw new n(`tlv.decode(long): not minimal encoding`)}let s=t.subarray(r,r+o);if(s.length!==o)throw new n(`tlv.decode: wrong value length`);return{v:s,l:t.subarray(r+o)}}},_int:{encode(e){let{Err:t}=Ol;if(e<kl)throw new t(`integer: negative integers are not allowed`);let n=rc(e);if(Number.parseInt(n[0],16)&8&&(n=`00`+n),n.length&1)throw new t(`unexpected DER parsing assertion: unpadded hex`);return n},decode(e){let{Err:t}=Ol;if(e[0]&128)throw new t(`invalid signature integer: negative`);if(e[0]===0&&!(e[1]&128))throw new t(`invalid signature integer: unnecessary leading zero`);return cc(e)}},toSig(e){let{Err:t,_int:n,_tlv:r}=Ol,i=fc(`signature`,e),{v:a,l:o}=r.decode(48,i);if(o.length)throw new t(`invalid signature: left bytes after parsing`);let{v:s,l:c}=r.decode(2,a),{v:l,l:u}=r.decode(2,c);if(u.length)throw new t(`invalid signature: left bytes after parsing`);return{r:n.decode(s),s:n.decode(l)}},hexFromSig(e){let{_tlv:t,_int:n}=Ol,r=t.encode(2,n.encode(e.r))+t.encode(2,n.encode(e.s));return t.encode(48,r)}},kl=BigInt(0),Al=BigInt(1),jl=BigInt(2),Ml=BigInt(3),Nl=BigInt(4)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Fl(e){return{hash:e,hmac:(t,...n)=>Qs(e,t,Rr(...n)),randomBytes:Br}}function Il(e,t){let n=t=>wl({...e,...Fl(t)});return{...n(t),create:n}}var Ll=o((()=>{$s(),Wr(),Pl()}));function Rl(e,t){if(Bl(e),Bl(t),e<0||e>=1<<8*t)throw Error(`invalid I2OSP input: `+e);let n=Array.from({length:t}).fill(0);for(let r=t-1;r>=0;r--)n[r]=e&255,e>>>=8;return new Uint8Array(n)}function zl(e,t){let n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e[r]^t[r];return n}function Bl(e){if(!Number.isSafeInteger(e))throw Error(`number expected`)}function Vl(e,t,n,r){tc(e),tc(t),Bl(n),t.length>255&&(t=r(pc(hc(`H2C-OVERSIZE-DST-`),t)));let{outputLen:i,blockLen:a}=r,o=Math.ceil(n/i);if(n>65535||o>255)throw Error(`expand_message_xmd: invalid lenInBytes`);let s=pc(t,Rl(t.length,1)),c=Rl(0,a),l=Rl(n,2),u=Array(o),d=r(pc(c,e,l,Rl(0,1),s));u[0]=r(pc(d,Rl(1,1),s));for(let e=1;e<=o;e++)u[e]=r(pc(zl(d,u[e-1]),Rl(e+1,1),s));return pc(...u).slice(0,n)}function Hl(e,t,n,r,i){if(tc(e),tc(t),Bl(n),t.length>255){let e=Math.ceil(2*r/8);t=i.create({dkLen:e}).update(hc(`H2C-OVERSIZE-DST-`)).update(t).digest()}if(n>65535||t.length>255)throw Error(`expand_message_xof: invalid lenInBytes`);return i.create({dkLen:n}).update(e).update(Rl(n,2)).update(t).update(Rl(t.length,1)).digest()}function Ul(e,t,n){bc(n,{DST:`stringOrUint8Array`,p:`bigint`,m:`isSafeInteger`,k:`isSafeInteger`,hash:`hash`});let{p:r,k:i,m:a,hash:o,expand:s,DST:c}=n;tc(e),Bl(t);let l=typeof c==`string`?hc(c):c,u=r.toString(2).length,d=Math.ceil((u+i)/8),f=t*a*d,p;if(s===`xmd`)p=Vl(e,l,f,o);else if(s===`xof`)p=Hl(e,l,f,i,o);else if(s===`_internal_pass`)p=e;else throw Error(`expand must be \"xmd\" or \"xof\"`);let m=Array(t);for(let e=0;e<t;e++){let t=Array(a);for(let n=0;n<a;n++){let i=d*(n+e*a),o=p.subarray(i,i+d);t[n]=Nc(Kl(o),r)}m[e]=t}return m}function Wl(e,t){let n=t.map(e=>Array.from(e).reverse());return(t,r)=>{let[i,a,o,s]=n.map(n=>n.reduce((n,r)=>e.add(e.mul(n,t),r))),[c,l]=Hc(e,[a,s],!0);return t=e.mul(i,c),r=e.mul(r,e.mul(o,l)),{x:t,y:r}}}function Gl(e,t,n){if(typeof t!=`function`)throw Error(`mapToCurve() must be defined`);function r(n){return e.fromAffine(t(n))}function i(t){let n=t.clearCofactor();return n.equals(e.ZERO)?e.ZERO:(n.assertValidity(),n)}return{defaults:n,hashToCurve(e,t){let a=Ul(e,2,{...n,DST:n.DST,...t}),o=r(a[0]),s=r(a[1]);return i(o.add(s))},encodeToCurve(e,t){return i(r(Ul(e,1,{...n,DST:n.encodeDST,...t})[0]))},mapToCurve(e){if(!Array.isArray(e))throw Error(`expected array of bigints`);for(let t of e)if(typeof t!=`bigint`)throw Error(`expected array of bigints`);return i(r(e))}}}var Kl,ql=o((()=>{rl(),Mc(),Kl=cc})),Jl=c({encodeToCurve:()=>wu,hashToCurve:()=>Cu,schnorr:()=>yu,secp256k1:()=>uu,secp256k1_hasher:()=>Su});\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Yl(e){let t=ru,n=BigInt(3),r=BigInt(6),i=BigInt(11),a=BigInt(22),o=BigInt(23),s=BigInt(44),c=BigInt(88),l=e*e*e%t,u=l*l*e%t,d=Pc(Pc(Pc(u,n,t)*u%t,n,t)*u%t,su,t)*l%t,f=Pc(d,i,t)*d%t,p=Pc(f,a,t)*f%t,m=Pc(p,s,t)*p%t,h=Pc(Pc(Pc(Pc(Pc(Pc(m,c,t)*m%t,s,t)*p%t,n,t)*u%t,o,t)*f%t,r,t)*l%t,su,t);if(!lu.eql(lu.sqr(h),e))throw Error(`Cannot find square root`);return h}function Xl(e,...t){let n=du[e];if(n===void 0){let t=qs(Uint8Array.from(e,e=>e.charCodeAt(0)));n=pc(t,t),du[e]=n}return qs(pc(n,...t))}function Zl(e){let t=uu.utils.normPrivateKeyToScalar(e),n=gu.fromPrivateKey(t);return{scalar:n.hasEvenY()?t:hu(-t),bytes:fu(n)}}function Ql(e){_c(`x`,e,ou,ru);let t=mu(e*e),n=Yl(mu(t*e+BigInt(7)));n%su!==au&&(n=mu(-n));let r=new gu(e,n,ou);return r.assertValidity(),r}function $l(...e){return hu(vu(Xl(`BIP0340/challenge`,...e)))}function eu(e){return Zl(e).bytes}function tu(e,t,n=Br(32)){let r=fc(`message`,e),{bytes:i,scalar:a}=Zl(t),o=fc(`auxRand`,n,32),s=Xl(`BIP0340/nonce`,pu(a^vu(Xl(`BIP0340/aux`,o))),i,r),c=hu(vu(s));if(c===au)throw Error(`sign failed: k is zero`);let{bytes:l,scalar:u}=Zl(c),d=$l(l,i,r),f=new Uint8Array(64);if(f.set(l,0),f.set(pu(hu(u+d*a)),32),!nu(f,r,i))throw Error(`sign: Invalid signature produced`);return f}function nu(e,t,n){let r=fc(`signature`,e,64),i=fc(`message`,t),a=fc(`publicKey`,n,32);try{let e=Ql(vu(a)),t=vu(r.subarray(0,32));if(!gc(t,ou,ru))return!1;let n=vu(r.subarray(32,64));if(!gc(n,ou,iu))return!1;let o=$l(pu(t),fu(e),i),s=_u(e,n,hu(-o));return!(!s||!s.hasEvenY()||s.toAffine().x!==t)}catch{return!1}}var ru,iu,au,ou,su,cu,lu,uu,du,fu,pu,mu,hu,gu,_u,vu,yu,bu,xu,Su,Cu,wu,Tu=o((()=>{Xs(),Wr(),Ll(),ql(),rl(),Mc(),Pl(),ru=BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f`),iu=BigInt(`0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141`),au=BigInt(0),ou=BigInt(1),su=BigInt(2),cu=(e,t)=>(e+t/su)/t,lu=Gc(ru,void 0,void 0,{sqrt:Yl}),uu=Il({a:au,b:BigInt(7),Fp:lu,n:iu,Gx:BigInt(`55066263022277343669578718895168534326250603453777594175500187360389116729240`),Gy:BigInt(`32670510020758816978083085130507043184471273380659243275938904335757337482424`),h:BigInt(1),lowS:!0,endo:{beta:BigInt(`0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee`),splitScalar:e=>{let t=iu,n=BigInt(`0x3086d221a7d46bcde86c90e49284eb15`),r=-ou*BigInt(`0xe4437ed6010e88286f547fa90abfe4c3`),i=BigInt(`0x114ca50f7a8e2f3f657c1108d9d44cfd8`),a=n,o=BigInt(`0x100000000000000000000000000000000`),s=cu(a*e,t),c=cu(-r*e,t),l=Nc(e-s*n-c*i,t),u=Nc(-s*r-c*a,t),d=l>o,f=u>o;if(d&&(l=t-l),f&&(u=t-u),l>o||u>o)throw Error(`splitScalar: Endomorphism failed, k=`+e);return{k1neg:d,k1:l,k2neg:f,k2:u}}}},qs),du={},fu=e=>e.toRawBytes(!0).slice(1),pu=e=>uc(e,32),mu=e=>Nc(e,ru),hu=e=>Nc(e,iu),gu=uu.ProjectivePoint,_u=(e,t,n)=>gu.BASE.multiplyAndAddUnsafe(e,t,n),vu=cc,yu={getPublicKey:eu,sign:tu,verify:nu,utils:{randomPrivateKey:uu.utils.randomPrivateKey,lift_x:Ql,pointToBytes:fu,numberToBytesBE:uc,bytesToNumberBE:cc,taggedHash:Xl,mod:Nc}},bu=Wl(lu,[[`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7`,`0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581`,`0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262`,`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c`],[`0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b`,`0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14`,`0x0000000000000000000000000000000000000000000000000000000000000001`],[`0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c`,`0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3`,`0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931`,`0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84`],[`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b`,`0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573`,`0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f`,`0x0000000000000000000000000000000000000000000000000000000000000001`]].map(e=>e.map(e=>BigInt(e)))),xu=El(lu,{A:BigInt(`0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533`),B:BigInt(`1771`),Z:lu.create(BigInt(`-11`))}),Su=Gl(uu.ProjectivePoint,e=>{let{x:t,y:n}=xu(lu.create(e[0]));return bu(t,n)},{DST:`secp256k1_XMD:SHA-256_SSWU_RO_`,encodeDST:`secp256k1_XMD:SHA-256_SSWU_NU_`,p:lu.ORDER,m:1,k:128,expand:`xmd`,hash:qs}),Cu=Su.hashToCurve,wu=Su.encodeToCurve}));Rt(),Bt(),Rn(),M();async function Eu({hash:e,signature:t}){let n=D(e)?e:zn(e),{secp256k1:r}=await Promise.resolve().then(()=>(Tu(),Jl));return`0x${(()=>{if(typeof t==`object`&&`r`in t&&`s`in t){let{r:e,s:n,v:i,yParity:a}=t,o=Du(Number(a??i));return new r.Signature(A(e),A(n)).addRecoveryBit(o)}let e=D(t)?t:zn(t);if(zt(e)!==65)throw Error(`invalid signature length`);let n=Du(Ln(`0x${e.slice(130)}`));return r.Signature.fromCompact(e.substring(2,130)).addRecoveryBit(n)})().recoverPublicKey(n.substring(2)).toHex(!1)}`}function Du(e){if(e===0||e===1)return e;if(e===27)return 0;if(e===28)return 1;throw Error(`Invalid yParityOrV value`)}async function Ou({hash:e,signature:t}){return Os(await Eu({hash:e,signature:t}))}k(),Aa(),$n(),M();function ku(e,t=`hex`){let n=Au(e),r=Oa(new Uint8Array(n.length));return n.encode(r),t===`hex`?Vn(r.bytes):r.bytes}function Au(e){return Array.isArray(e)?ju(e.map(e=>Au(e))):Mu(e)}function ju(e){let t=e.reduce((e,t)=>e+t.length,0),n=Nu(t);return{length:t<=55?1+t:1+n+t,encode(r){t<=55?r.pushByte(192+t):(r.pushByte(247+n),n===1?r.pushUint8(t):n===2?r.pushUint16(t):n===3?r.pushUint24(t):r.pushUint32(t));for(let{encode:t}of e)t(r)}}}function Mu(e){let t=typeof e==`string`?Jn(e):e,n=Nu(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+n+t.length,encode(e){t.length===1&&t[0]<128?e.pushBytes(t):t.length<=55?(e.pushByte(128+t.length),e.pushBytes(t)):(e.pushByte(183+n),n===1?e.pushUint8(t.length):n===2?e.pushUint16(t.length):n===3?e.pushUint24(t.length):e.pushUint32(t.length),e.pushBytes(t))}}}function Nu(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new O(`Length is too large.`)}Ri(),$n(),M(),di();function Pu(e){let{chainId:t,nonce:n,to:r}=e,i=e.contractAddress??e.address,a=ui(Li([`0x05`,ku([t?j(t):`0x`,i,n?j(n):`0x`])]));return r===`bytes`?Jn(a):a}async function Fu(e){let{authorization:t,signature:n}=e;return Ou({hash:Pu(t),signature:n??t})}fo(),mo(),k(),Mo();var Iu=class extends O{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d}){let f=bo({from:t?.address,to:u,value:d!==void 0&&`${uo(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${po(o)} gwei`,maxFeePerGas:s!==void 0&&`${po(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${po(c)} gwei`,nonce:l});super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],`Estimate Gas Arguments:`,f].filter(Boolean),name:`EstimateGasExecutionError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}},Lu,Ru,zu,Bu,Vu,Hu,Uu,Wu,Gu,Ku,qu,Ju,Yu=o((()=>{mo(),k(),Lu=class extends O{constructor({cause:e,message:t}={}){let n=t?.replace(`execution reverted: `,``)?.replace(`execution reverted`,``);super(`Execution reverted ${n?`with reason: ${n}`:`for an unknown reason`}.`,{cause:e,name:`ExecutionRevertedError`})}},Object.defineProperty(Lu,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(Lu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/}),Ru=class extends O{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${po(t)} gwei`:``}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:e,name:`FeeCapTooHighError`})}},Object.defineProperty(Ru,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\\^256-1|fee cap higher than 2\\^256-1/}),zu=class extends O{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${po(t)}`:``} gwei) cannot be lower than the block base fee.`,{cause:e,name:`FeeCapTooLowError`})}},Object.defineProperty(zu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/}),Bu=class extends O{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:``}is higher than the next one expected.`,{cause:e,name:`NonceTooHighError`})}},Object.defineProperty(Bu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/}),Vu=class extends O{constructor({cause:e,nonce:t}={}){super([`Nonce provided for the transaction ${t?`(${t}) `:``}is lower than the current nonce of the account.`,\"Try increasing the nonce or find the latest nonce with `getTransactionCount`.\"].join(`\n`),{cause:e,name:`NonceTooLowError`})}},Object.defineProperty(Vu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/}),Hu=class extends O{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:``}exceeds the maximum allowed nonce.`,{cause:e,name:`NonceMaxValueError`})}},Object.defineProperty(Hu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/}),Uu=class extends O{constructor({cause:e}={}){super([`The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account.`].join(`\n`),{cause:e,metaMessages:[`This error could arise when the account does not have enough funds to:`,` - pay for the total gas fee,`,` - pay for the value to send.`,` `,\"The cost of the transaction is calculated as `gas * gas fee + value`, where:\",\" - `gas` is the amount of gas needed for transaction to execute,\",\" - `gas fee` is the gas fee,\",\" - `value` is the amount of ether to send to the recipient.\"],name:`InsufficientFundsError`})}},Object.defineProperty(Uu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/}),Wu=class extends O{constructor({cause:e,gas:t}={}){super(`The amount of gas ${t?`(${t}) `:``}provided for the transaction exceeds the limit allowed for the block.`,{cause:e,name:`IntrinsicGasTooHighError`})}},Object.defineProperty(Wu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/}),Gu=class extends O{constructor({cause:e,gas:t}={}){super(`The amount of gas ${t?`(${t}) `:``}provided for the transaction is too low.`,{cause:e,name:`IntrinsicGasTooLowError`})}},Object.defineProperty(Gu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/}),Ku=class extends O{constructor({cause:e}){super(`The transaction type is not supported for this chain.`,{cause:e,name:`TransactionTypeNotSupportedError`})}},Object.defineProperty(Ku,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/}),qu=class extends O{constructor({cause:e,maxPriorityFeePerGas:t,maxFeePerGas:n}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${t?` = ${po(t)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${n?` = ${po(n)} gwei`:``}).`].join(`\n`),{cause:e,name:`TipAboveFeeCapError`})}},Object.defineProperty(qu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/}),Ju=class extends O{constructor({cause:e}){super(`An error occurred while executing: ${e?.shortMessage}`,{cause:e,name:`UnknownNodeError`})}}}));function Xu(e,t){let n=(e.details||``).toLowerCase(),r=e instanceof O?e.walk(e=>e?.code===Lu.code):e;return r instanceof O?new Lu({cause:e,message:r.details}):Lu.nodeMessage.test(n)?new Lu({cause:e,message:e.details}):Ru.nodeMessage.test(n)?new Ru({cause:e,maxFeePerGas:t?.maxFeePerGas}):zu.nodeMessage.test(n)?new zu({cause:e,maxFeePerGas:t?.maxFeePerGas}):Bu.nodeMessage.test(n)?new Bu({cause:e,nonce:t?.nonce}):Vu.nodeMessage.test(n)?new Vu({cause:e,nonce:t?.nonce}):Hu.nodeMessage.test(n)?new Hu({cause:e,nonce:t?.nonce}):Uu.nodeMessage.test(n)?new Uu({cause:e}):Wu.nodeMessage.test(n)?new Wu({cause:e,gas:t?.gas}):Gu.nodeMessage.test(n)?new Gu({cause:e,gas:t?.gas}):Ku.nodeMessage.test(n)?new Ku({cause:e}):qu.nodeMessage.test(n)?new qu({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new Ju({cause:e})}var Zu=o((()=>{k(),Yu()}));Yu(),Zu();function Qu(e,{docsPath:t,...n}){return new Iu((()=>{let t=Xu(e,n);return t instanceof Ju?e:t})(),{docsPath:t,...n})}function $u(e,{format:t}){if(!t)return{};let n={};function r(t){let i=Object.keys(t);for(let a of i)a in e&&(n[a]=e[a]),t[a]&&typeof t[a]==`object`&&!Array.isArray(t[a])&&r(t[a])}return r(t(e||{})),n}var ed=o((()=>{}));function td(e,t){return({exclude:n,format:r})=>({exclude:n,format:(e,i)=>{let a=t(e,i);if(n)for(let e of n)delete a[e];return{...a,...r(e,i)}},type:e})}var nd=o((()=>{}));function rd(e,t){let n={};return e.authorizationList!==void 0&&(n.authorizationList=id(e.authorizationList)),e.accessList!==void 0&&(n.accessList=e.accessList),e.blobVersionedHashes!==void 0&&(n.blobVersionedHashes=e.blobVersionedHashes),e.blobs!==void 0&&(typeof e.blobs[0]==`string`?n.blobs=e.blobs:n.blobs=e.blobs.map(e=>Vn(e))),e.data!==void 0&&(n.data=e.data),e.account&&(n.from=e.account.address),e.from!==void 0&&(n.from=e.from),e.gas!==void 0&&(n.gas=j(e.gas)),e.gasPrice!==void 0&&(n.gasPrice=j(e.gasPrice)),e.maxFeePerBlobGas!==void 0&&(n.maxFeePerBlobGas=j(e.maxFeePerBlobGas)),e.maxFeePerGas!==void 0&&(n.maxFeePerGas=j(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(n.maxPriorityFeePerGas=j(e.maxPriorityFeePerGas)),e.nonce!==void 0&&(n.nonce=j(e.nonce)),e.to!==void 0&&(n.to=e.to),e.type!==void 0&&(n.type=ad[e.type]),e.value!==void 0&&(n.value=j(e.value)),n}function id(e){return e.map(e=>({address:e.address,r:e.r?j(BigInt(e.r)):e.r,s:e.s?j(BigInt(e.s)):e.s,chainId:j(e.chainId),nonce:j(e.nonce),...e.yParity===void 0?{}:{yParity:j(e.yParity)},...e.v!==void 0&&e.yParity===void 0?{v:j(e.v)}:{}}))}var ad,od,sd=o((()=>{M(),nd(),ad={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},od=td(`transactionRequest`,rd)}));function cd(e){if(!(!e||e.length===0))return e.reduce((e,{slot:t,value:n})=>{if(t.length!==66)throw new vn({size:t.length,targetSize:66,type:`hex`});if(n.length!==66)throw new vn({size:n.length,targetSize:66,type:`hex`});return e[t]=n,e},{})}function ld(e){let{balance:t,nonce:n,state:r,stateDiff:i,code:a}=e,o={};if(a!==void 0&&(o.code=a),t!==void 0&&(o.balance=j(t)),n!==void 0&&(o.nonce=j(n)),r!==void 0&&(o.state=cd(r)),i!==void 0){if(o.state)throw new vo;o.stateDiff=cd(i)}return o}function ud(e){if(!e)return;let t={};for(let{address:n,...r}of e){if(!ji(n,{strict:!1}))throw new Ci({address:n});if(t[n])throw new _o({address:n});t[n]=ld(r)}return t}var dd=o((()=>{wi(),yn(),yo(),Pi(),M()})),fd,pd=o((()=>{2n**(8n-1n)-1n,2n**(16n-1n)-1n,2n**(24n-1n)-1n,2n**(32n-1n)-1n,2n**(40n-1n)-1n,2n**(48n-1n)-1n,2n**(56n-1n)-1n,2n**(64n-1n)-1n,2n**(72n-1n)-1n,2n**(80n-1n)-1n,2n**(88n-1n)-1n,2n**(96n-1n)-1n,2n**(104n-1n)-1n,2n**(112n-1n)-1n,2n**(120n-1n)-1n,2n**(128n-1n)-1n,2n**(136n-1n)-1n,2n**(144n-1n)-1n,2n**(152n-1n)-1n,2n**(160n-1n)-1n,2n**(168n-1n)-1n,2n**(176n-1n)-1n,2n**(184n-1n)-1n,2n**(192n-1n)-1n,2n**(200n-1n)-1n,2n**(208n-1n)-1n,2n**(216n-1n)-1n,2n**(224n-1n)-1n,2n**(232n-1n)-1n,2n**(240n-1n)-1n,2n**(248n-1n)-1n,2n**(256n-1n)-1n,-(2n**(8n-1n)),-(2n**(16n-1n)),-(2n**(24n-1n)),-(2n**(32n-1n)),-(2n**(40n-1n)),-(2n**(48n-1n)),-(2n**(56n-1n)),-(2n**(64n-1n)),-(2n**(72n-1n)),-(2n**(80n-1n)),-(2n**(88n-1n)),-(2n**(96n-1n)),-(2n**(104n-1n)),-(2n**(112n-1n)),-(2n**(120n-1n)),-(2n**(128n-1n)),-(2n**(136n-1n)),-(2n**(144n-1n)),-(2n**(152n-1n)),-(2n**(160n-1n)),-(2n**(168n-1n)),-(2n**(176n-1n)),-(2n**(184n-1n)),-(2n**(192n-1n)),-(2n**(200n-1n)),-(2n**(208n-1n)),-(2n**(216n-1n)),-(2n**(224n-1n)),-(2n**(232n-1n)),-(2n**(240n-1n)),-(2n**(248n-1n)),-(2n**(256n-1n)),fd=2n**256n-1n}));function md(e){let{account:t,maxFeePerGas:n,maxPriorityFeePerGas:r,to:i}=e,a=t?N(t):void 0;if(a&&!ji(a.address))throw new Ci({address:a.address});if(i&&!ji(i))throw new Ci({address:i});if(n&&n>fd)throw new Ru({maxFeePerGas:n});if(r&&n&&r>n)throw new qu({maxFeePerGas:n,maxPriorityFeePerGas:r})}var hd=o((()=>{ma(),pd(),wi(),Yu(),Pi()}));mo(),k();var gd=class extends O{constructor(){super(\"`baseFeeMultiplier` must be greater than 1.\",{name:`BaseFeeScalarError`})}},_d=class extends O{constructor(){super(`Chain does not support EIP-1559 fees.`,{name:`Eip1559FeesNotSupportedError`})}},vd=class extends O{constructor({maxPriorityFeePerGas:e}){super(`\\`maxFeePerGas\\` cannot be less than the \\`maxPriorityFeePerGas\\` (${po(e)} gwei).`,{name:`MaxFeePerGasTooLowError`})}};k();var yd=class extends O{constructor({blockHash:e,blockNumber:t}){let n=`Block`;e&&(n=`Block at hash \"${e}\"`),t&&(n=`Block at number \"${t}\"`),super(`${n} could not be found.`,{name:`BlockNotFoundError`})}};Rn(),nd();let bd={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function xd(e,t){let n={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,...e.blockTimestamp!=null&&{blockTimestamp:BigInt(e.blockTimestamp)},chainId:e.chainId?Ln(e.chainId):void 0,gas:e.gas?BigInt(e.gas):void 0,gasPrice:e.gasPrice?BigInt(e.gasPrice):void 0,maxFeePerBlobGas:e.maxFeePerBlobGas?BigInt(e.maxFeePerBlobGas):void 0,maxFeePerGas:e.maxFeePerGas?BigInt(e.maxFeePerGas):void 0,maxPriorityFeePerGas:e.maxPriorityFeePerGas?BigInt(e.maxPriorityFeePerGas):void 0,nonce:e.nonce?Ln(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?bd[e.type]:void 0,typeHex:e.type?e.type:void 0,value:e.value?BigInt(e.value):void 0,v:e.v?BigInt(e.v):void 0};return e.authorizationList&&(n.authorizationList=Cd(e.authorizationList)),n.yParity=(()=>{if(e.yParity)return Number(e.yParity);if(typeof n.v==`bigint`){if(n.v===0n||n.v===27n)return 0;if(n.v===1n||n.v===28n)return 1;if(n.v>=35n)return+(n.v%2n==0n)}})(),n.type===`legacy`&&(delete n.accessList,delete n.maxFeePerBlobGas,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas,delete n.yParity),n.type===`eip2930`&&(delete n.maxFeePerBlobGas,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas),n.type===`eip1559`&&delete n.maxFeePerBlobGas,n}let Sd=td(`transaction`,xd);function Cd(e){return e.map(e=>({address:e.address,chainId:Number(e.chainId),nonce:Number(e.nonce),r:e.r,s:e.s,yParity:Number(e.yParity)}))}function wd(e,t){let n=(e.transactions??[]).map(e=>typeof e==`string`?e:xd(e));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:n,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}M();async function Td(e,{blockHash:t,blockNumber:n,blockTag:r=e.experimental_blockTag??`latest`,includeTransactions:i}={}){let a=i??!1,o=n===void 0?void 0:j(n),s=null;if(s=t?await e.request({method:`eth_getBlockByHash`,params:[t,a]},{dedupe:!0}):await e.request({method:`eth_getBlockByNumber`,params:[o||r,a]},{dedupe:!!o}),!s)throw new yd({blockHash:t,blockNumber:n});return(e.chain?.formatters?.block?.format||wd)(s,`getBlock`)}async function Ed(e){let t=await e.request({method:`eth_gasPrice`});return BigInt(t)}Rn();async function Dd(e,t){let{block:n,chain:r=e.chain,request:i}=t||{};try{let t=r?.fees?.maxPriorityFeePerGas??r?.fees?.defaultPriorityFee;if(typeof t==`function`){let r=await t({block:n||await E(e,Td,`getBlock`)({}),client:e,request:i});if(r===null)throw Error();return r}return t===void 0?A(await e.request({method:`eth_maxPriorityFeePerGas`})):t}catch{let[t,r]=await Promise.all([n?Promise.resolve(n):E(e,Td,`getBlock`)({}),E(e,Ed,`getGasPrice`)({})]);if(typeof t.baseFeePerGas!=`bigint`)throw new _d;let i=r-t.baseFeePerGas;return i<0n?0n:i}}async function Od(e,t){let{block:n,chain:r=e.chain,request:i,type:a=`eip1559`}=t||{},o=await(async()=>typeof r?.fees?.baseFeeMultiplier==`function`?r.fees.baseFeeMultiplier({block:n,client:e,request:i}):r?.fees?.baseFeeMultiplier??1.2)();if(o<1)throw new gd;let s=10**(o.toString().split(`.`)[1]?.length??0),c=e=>e*BigInt(Math.round(o*s))/BigInt(s),l=n||await E(e,Td,`getBlock`)({});if(typeof r?.fees?.estimateFeesPerGas==`function`){let t=await r.fees.estimateFeesPerGas({block:n,client:e,multiply:c,request:i,type:a});if(t!==null)return t}if(a===`eip1559`){if(typeof l.baseFeePerGas!=`bigint`)throw new _d;let t=typeof i?.maxPriorityFeePerGas==`bigint`?i.maxPriorityFeePerGas:await Dd(e,{block:l,chain:r,request:i}),n=c(l.baseFeePerGas);return{maxFeePerGas:i?.maxFeePerGas??n+t,maxPriorityFeePerGas:t}}return{gasPrice:i?.gasPrice??c(await E(e,Ed,`getGasPrice`)({}))}}function kd(e){let{blockHash:t,blockNumber:n,blockTag:r,requireCanonical:i}=e;if(i!==void 0&&!t)throw new O(\"`requireCanonical` can only be provided when `blockHash` is set.\");return t?i?{blockHash:t,requireCanonical:i}:{blockHash:t}:typeof n==`bigint`?j(n):r??`latest`}var Ad=o((()=>{k(),M()}));Ad(),Rn();async function jd(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=kd({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a});return Ln(await e.request({method:`eth_getTransactionCount`,params:[t,o]},{dedupe:typeof r==`bigint`||n!==void 0}))}$n(),M();function Md(e){let{kzg:t}=e,n=e.to??(typeof e.blobs[0]==`string`?`hex`:`bytes`),r=typeof e.blobs[0]==`string`?e.blobs.map(e=>Jn(e)):e.blobs,i=[];for(let e of r)i.push(Uint8Array.from(t.blobToKzgCommitment(e)));return n===`bytes`?i:i.map(e=>Vn(e))}$n(),M();function Nd(e){let{kzg:t}=e,n=e.to??(typeof e.blobs[0]==`string`?`hex`:`bytes`),r=typeof e.blobs[0]==`string`?e.blobs.map(e=>Jn(e)):e.blobs,i=typeof e.commitments[0]==`string`?e.commitments.map(e=>Jn(e)):e.commitments,a=[];for(let e=0;e<r.length;e++){let n=r[e],o=i[e];a.push(Uint8Array.from(t.computeBlobKzgProof(n,o)))}return n===`bytes`?a:a.map(e=>Vn(e))}Xs();let Pd=qs;Rt(),$n(),M();function Fd(e,t){let n=t||`hex`,r=Pd(D(e,{strict:!1})?Gn(e):e);return n===`bytes`?r:zn(r)}M();function Id(e){let{commitment:t,version:n=1}=e,r=e.to??(typeof t==`string`?`hex`:`bytes`),i=Fd(t,`bytes`);return i.set([n],0),r===`bytes`?i:Vn(i)}function Ld(e){let{commitments:t,version:n}=e,r=e.to??(typeof t[0]==`string`?`hex`:`bytes`),i=[];for(let e of t)i.push(Id({commitment:e,to:r,version:n}));return i}k();var Rd=class extends O{constructor({maxSize:e,size:t}){super(`Blob size is too large.`,{metaMessages:[`Max: ${e} bytes`,`Given: ${t} bytes`],name:`BlobSizeTooLargeError`})}},zd=class extends O{constructor(){super(`Blob data must not be empty.`,{name:`EmptyBlobError`})}},Bd=class extends O{constructor({hash:e,size:t}){super(`Versioned hash \"${e}\" size is invalid.`,{metaMessages:[`Expected: 32`,`Received: ${t}`],name:`InvalidVersionedHashSizeError`})}},Vd=class extends O{constructor({hash:e,version:t}){super(`Versioned hash \"${e}\" version is invalid.`,{metaMessages:[`Expected: 1`,`Received: ${t}`],name:`InvalidVersionedHashVersionError`})}};Aa(),Bt(),$n(),M();function Hd(e){let t=e.to??(typeof e.data==`string`?`hex`:`bytes`),n=typeof e.data==`string`?Jn(e.data):e.data,r=zt(n);if(!r)throw new zd;if(r>761855)throw new Rd({maxSize:761855,size:r});let i=[],a=!0,o=0;for(;a;){let e=Oa(new Uint8Array(131072)),t=0;for(;t<4096;){let r=n.slice(o,o+31);if(e.pushByte(0),e.pushBytes(r),r.length<31){e.pushByte(128),a=!1;break}t++,o+=31}i.push(e)}return t===`bytes`?i.map(e=>e.bytes):i.map(e=>Vn(e.bytes))}function Ud(e){let{data:t,kzg:n,to:r}=e,i=e.blobs??Hd({data:t,to:r}),a=e.commitments??Md({blobs:i,kzg:n,to:r}),o=e.proofs??Nd({blobs:i,commitments:a,kzg:n,to:r}),s=[];for(let e=0;e<i.length;e++)s.push({blob:i[e],commitment:a[e],proof:o[e]});return s}Mo();function Wd(e){if(e.type)return e.type;if(e.authorizationList!==void 0)return`eip7702`;if(e.blobs!==void 0||e.blobVersionedHashes!==void 0||e.maxFeePerBlobGas!==void 0||e.sidecars!==void 0)return`eip4844`;if(e.maxFeePerGas!==void 0||e.maxPriorityFeePerGas!==void 0)return`eip1559`;if(e.gasPrice!==void 0)return e.accessList===void 0?`legacy`:`eip2930`;throw new Co({transaction:e})}Yu(),Mo(),Zu();function Gd(e,{docsPath:t,...n}){return new Do((()=>{let t=Xu(e,n);return t instanceof Ju?e:t})(),{docsPath:t,...n})}Rn();async function Kd(e){return Ln(await e.request({method:`eth_chainId`},{dedupe:!0}))}ma(),ed(),sd(),hd();async function qd(e,t){let{account:n=e.account,accessList:r,authorizationList:i,chain:a=e.chain,blobVersionedHashes:o,blobs:s,data:c,gas:l,gasPrice:u,maxFeePerBlobGas:d,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:m,nonceManager:h,to:g,type:_,value:v,...y}=t,b=await(async()=>{if(!n||!h||m!==void 0)return m;let t=N(n),r=a?a.id:await E(e,Kd,`getChainId`)({});return await h.consume({address:t.address,chainId:r,client:e})})();md(t);let x=a?.formatters?.transactionRequest?.format,S=(x||rd)({...$u(y,{format:x}),account:n?N(n):void 0,accessList:r,authorizationList:i,blobs:s,blobVersionedHashes:o,data:c,gas:l,gasPrice:u,maxFeePerBlobGas:d,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:b,to:g,type:_,value:v},`fillTransaction`);try{let n=await e.request({method:`eth_fillTransaction`,params:[S]}),r=(a?.formatters?.transaction?.format||xd)(n.tx);delete r.blockHash,delete r.blockNumber,delete r.r,delete r.s,delete r.transactionIndex,delete r.v,delete r.yParity,r.data=r.input,r.gas&&=t.gas??r.gas,r.gasPrice&&=t.gasPrice??r.gasPrice,r.maxFeePerBlobGas&&=t.maxFeePerBlobGas??r.maxFeePerBlobGas,r.maxFeePerGas&&=t.maxFeePerGas??r.maxFeePerGas,r.maxPriorityFeePerGas&&=t.maxPriorityFeePerGas??r.maxPriorityFeePerGas,r.nonce!==void 0&&(r.nonce=t.nonce??r.nonce);let i=await(async()=>{if(typeof a?.fees?.baseFeeMultiplier==`function`){let n=await E(e,Td,`getBlock`)({});return a.fees.baseFeeMultiplier({block:n,client:e,request:t})}return a?.fees?.baseFeeMultiplier??1.2})();if(i<1)throw new gd;let o=10**(i.toString().split(`.`)[1]?.length??0),s=e=>e*BigInt(Math.round(i*o))/BigInt(o);return r.feePayerSignature||(r.maxFeePerGas&&!t.maxFeePerGas&&(r.maxFeePerGas=s(r.maxFeePerGas)),r.gasPrice&&!t.gasPrice&&(r.gasPrice=s(r.gasPrice))),{raw:n.raw,transaction:{from:S.from,...r},...n.capabilities?{capabilities:n.capabilities}:{}}}catch(n){throw Gd(n,{...t,chain:e.chain})}}ma(),Ei(),hd();let Jd=[`blobVersionedHashes`,`chainId`,`fees`,`gas`,`nonce`,`type`],Yd=new Map,Xd=new Ti(128);async function Zd(e,t){let n=t;n.account??=e.account,n.parameters??=Jd;let{account:r,chain:i=e.chain,nonceManager:a,parameters:o}=n,s=(()=>{if(typeof i?.prepareTransactionRequest==`function`)return{fn:i.prepareTransactionRequest,runAt:[`beforeFillTransaction`]};if(Array.isArray(i?.prepareTransactionRequest))return{fn:i.prepareTransactionRequest[0],runAt:i.prepareTransactionRequest[1].runAt}})(),c;async function l(){return c||(n.chainId===void 0?i?i.id:(c=await E(e,Kd,`getChainId`)({}),c):n.chainId)}let u=r&&N(r),d=n.nonce;if(o.includes(`nonce`)&&d===void 0&&u&&a){let t=await l();d=await a.consume({address:u.address,chainId:t,client:e})}if(s?.fn&&s.runAt?.includes(`beforeFillTransaction`)){n=await s.fn({...n,chain:i},{client:e,phase:`beforeFillTransaction`}),d??=n.nonce;let t=n.account??n.from;u=t?N(t):void 0}let f=!((o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&n.kzg&&n.blobs||Xd.get(e.uid)===!1)&&(o.length>0&&`feePayer`in n&&n.feePayer&&!(`feePayerSignature`in n&&n.feePayerSignature)||[`fees`,`gas`].some(e=>o.includes(e))&&(o.includes(`chainId`)&&typeof n.chainId!=`number`||o.includes(`nonce`)&&typeof d!=`number`||o.includes(`fees`)&&typeof n.gasPrice!=`bigint`&&(typeof n.maxFeePerGas!=`bigint`||typeof n.maxPriorityFeePerGas!=`bigint`)||o.includes(`gas`)&&typeof n.gas!=`bigint`))?await E(e,qd,`fillTransaction`)({...n,nonce:d}).then(t=>{let{chainId:r,from:i,gas:a,gasPrice:o,nonce:s,maxFeePerBlobGas:c,maxFeePerGas:l,maxPriorityFeePerGas:u,type:d,...f}=t.transaction,p=`feeToken`in f?f.feeToken:void 0,m=`feePayerSignature`in f&&f.feePayerSignature!==null&&f.feePayerSignature!==void 0,h=p!=null&&(!(`feeToken`in n)||m);return Xd.set(e.uid,!0),{...n,...i?{from:i}:{},...d&&!n.type?{type:d}:{},...r===void 0?{}:{chainId:r},...a===void 0?{}:{gas:a},...o===void 0?{}:{gasPrice:o},...s===void 0?{}:{nonce:s},...c!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxFeePerBlobGas:c}:{},...l!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxFeePerGas:l}:{},...u!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxPriorityFeePerGas:u}:{},...`nonceKey`in f&&f.nonceKey!==void 0?{nonceKey:f.nonceKey}:{},...`keyAuthorization`in f&&f.keyAuthorization!==void 0&&f.keyAuthorization!==null&&!(`keyAuthorization`in n)?{keyAuthorization:f.keyAuthorization}:{},...`feePayerSignature`in f&&f.feePayerSignature!==void 0&&f.feePayerSignature!==null?{feePayerSignature:f.feePayerSignature}:{},...h?{feeToken:p}:{},...t.capabilities?{_capabilities:t.capabilities}:{}}}).catch(t=>{let r=t;if(r.name!==`TransactionExecutionError`)return n;if(r.walk?.(e=>e.name===`ExecutionRevertedError`))throw t;return r.walk?.(e=>{let t=e;return t.name===`MethodNotFoundRpcError`||t.name===`MethodNotSupportedRpcError`||t.message?.includes(`eth_fillTransaction is not available`)})&&Xd.set(e.uid,!1),n}):n;d??=f.nonce,n={...f,...u?{from:u?.address}:{},...d===void 0?{}:{nonce:d}};let{blobs:p,gas:m,kzg:h,type:g}=n;s?.fn&&s.runAt?.includes(`beforeFillParameters`)&&(n=await s.fn({...n,chain:i},{client:e,phase:`beforeFillParameters`}));let _;async function v(){return _||(_=await E(e,Td,`getBlock`)({blockTag:`latest`}),_)}if(o.includes(`nonce`)&&d===void 0&&u&&!a&&(n.nonce=await E(e,jd,`getTransactionCount`)({address:u.address,blockTag:`pending`})),(o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&p&&h){let e=Md({blobs:p,kzg:h});if(o.includes(`blobVersionedHashes`)){let t=Ld({commitments:e,to:`hex`});n.blobVersionedHashes=t}if(o.includes(`sidecars`)){let t=Ud({blobs:p,commitments:e,proofs:Nd({blobs:p,commitments:e,kzg:h}),to:`hex`});n.sidecars=t}}if(o.includes(`chainId`)&&(n.chainId=await l()),(o.includes(`fees`)||o.includes(`type`))&&g===void 0)try{n.type=Wd(n)}catch{let t=Yd.get(e.uid);t===void 0&&(t=typeof(await v())?.baseFeePerGas==`bigint`,Yd.set(e.uid,t)),n.type=t?`eip1559`:`legacy`}if(o.includes(`fees`))if(n.type!==`legacy`&&n.type!==`eip2930`){if(n.maxFeePerGas===void 0||n.maxPriorityFeePerGas===void 0){let{maxFeePerGas:t,maxPriorityFeePerGas:r}=await Od(e,{block:await v(),chain:i,request:n});if(n.maxPriorityFeePerGas===void 0&&n.maxFeePerGas&&n.maxFeePerGas<r)throw new vd({maxPriorityFeePerGas:r});n.maxPriorityFeePerGas=r,n.maxFeePerGas=t}}else{if(n.maxFeePerGas!==void 0||n.maxPriorityFeePerGas!==void 0)throw new _d;if(n.gasPrice===void 0){let{gasPrice:t}=await Od(e,{block:await v(),chain:i,request:n,type:`legacy`});n.gasPrice=t}}return o.includes(`gas`)&&m===void 0&&(n.gas=await E(e,Qd,`estimateGas`)({...n,account:u,prepare:u?.type===`local`?[]:[`blobVersionedHashes`]})),s?.fn&&s.runAt?.includes(`afterFillParameters`)&&(n=await s.fn({...n,chain:i},{client:e,phase:`afterFillParameters`})),md(n),delete n.parameters,n}ma(),k(),M(),ed(),sd(),dd(),hd();async function Qd(e,t){let{account:n=e.account,prepare:r=!0}=t,i=n?N(n):void 0,a=(()=>{if(Array.isArray(r))return r;if(i?.type!==`local`)return[`blobVersionedHashes`]})();try{let n=await(async()=>{if(t.to)return t.to;if(t.authorizationList&&t.authorizationList.length>0)return await Fu({authorization:t.authorizationList[0]}).catch(()=>{throw new O(\"`to` is required. Could not infer from `authorizationList`\")})})(),{accessList:o,authorizationList:s,blobs:c,blobVersionedHashes:l,blockNumber:u,blockTag:d,data:f,gas:p,gasPrice:m,maxFeePerBlobGas:h,maxFeePerGas:g,maxPriorityFeePerGas:_,nonce:v,value:y,stateOverride:b,...x}=r?await Zd(e,{...t,parameters:a,to:n}):t;if(p&&t.gas!==p)return p;let S=(typeof u==`bigint`?j(u):void 0)||d,C=ud(b);md(t);let w=e.chain?.formatters?.transactionRequest?.format,T=(w||rd)({...$u(x,{format:w}),account:i,accessList:o,authorizationList:s,blobs:c,blobVersionedHashes:l,data:f,gasPrice:m,maxFeePerBlobGas:h,maxFeePerGas:g,maxPriorityFeePerGas:_,nonce:v,to:n,value:y},`estimateGas`);return BigInt(await e.request({method:`eth_estimateGas`,params:C?[T,S??e.experimental_blockTag??`latest`,C]:S?[T,S]:[T]}))}catch(n){throw Qu(n,{...t,account:i,chain:e.chain})}}ma(),ya();async function $d(e,t){let{abi:n,address:r,args:i,functionName:a,dataSuffix:o=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,...s}=t,c=va({abi:n,args:i,functionName:a});try{return await E(e,Qd,`estimateGas`)({data:`${c}${o?o.replace(`0x`,``):``}`,to:r,...s})}catch(e){throw Ds(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/estimateContractGas`,functionName:a,sender:(s.account?N(s.account):void 0)?.address})}}function ef(e,t){if(!ji(e,{strict:!1}))throw new Ci({address:e});if(!ji(t,{strict:!1}))throw new Ci({address:t});return e.toLowerCase()===t.toLowerCase()}var tf=o((()=>{wi(),Pi()}));function nf(e,{args:t,eventName:n}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,blockTimestamp:e.blockTimestamp?BigInt(e.blockTimestamp):e.blockTimestamp===null?null:void 0,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...n?{args:t,eventName:n}:{}}}hn(),Da(),Bt(),Si(),Ja(),Lt();let rf=`/docs/contract/decodeEventLog`;function af(e){let{abi:t,data:n,strict:r,topics:i}=e,a=r??!0,[o,...s]=i;if(!o)throw new tn({docsPath:rf});let c=t.find(e=>e.type===`event`&&o===xi(Pt(e)));if(!(c&&`name`in c)||c.type!==`event`)throw new nn(o,{docsPath:rf});let{name:l,inputs:u}=c,d=u?.some(e=>!(`name`in e&&e.name)),f=d?[]:{},p=u.map((e,t)=>[e,t]).filter(([e])=>`indexed`in e&&e.indexed),m=[];for(let e=0;e<p.length;e++){let[t,n]=p[e],r=s[e];if(!r){if(a)throw new un({abiItem:c,param:t});m.push([t,n]);continue}f[d?n:t.name||n]=of({param:t,value:r})}let h=u.filter(e=>!(`indexed`in e&&e.indexed)),g=a?h:[...m.map(([e])=>e),...h];if(g.length>0){if(n&&n!==`0x`)try{let e=Ia(g,n);if(e){let t=0;if(!a)for(let[n,r]of m)f[d?r:n.name||r]=e[t++];if(d)for(let n=0;n<u.length;n++)f[n]===void 0&&t<e.length&&(f[n]=e[t++]);else for(let n=0;n<h.length;n++)f[h[n].name]=e[t++]}}catch(e){if(a)throw e instanceof qt||e instanceof Ta?new ln({abiItem:c,data:n,params:g,size:zt(n)}):e}else if(a)throw new ln({abiItem:c,data:`0x`,params:g,size:0})}return{eventName:l,args:Object.values(f).length>0?f:void 0}}function of({param:e,value:t}){return e.type===`string`||e.type===`bytes`||e.type===`tuple`||e.type.match(/^(.*)\\[(\\d+)?\\]$/)?t:(Ia([e],t)||[])[0]}tf(),$n(),di(),Si();function sf(e){let{abi:t,args:n,logs:r,strict:i=!0}=e,a=(()=>{if(e.eventName)return Array.isArray(e.eventName)?e.eventName:[e.eventName]})(),o=t.filter(e=>e.type===`event`).map(e=>({abi:e,selector:xi(e)}));return r.map(e=>{let t=typeof e.blockNumber==`string`?nf(e):e,r=o.filter(e=>t.topics[0]===e.selector);if(r.length===0)return null;let s,c;for(let e of r)try{s=af({...t,abi:[e.abi],strict:!0}),c=e;break}catch{}if(!s&&!i){c=r[0];try{s=af({data:t.data,topics:t.topics,abi:[c.abi],strict:!1})}catch{let e=c.abi.inputs?.some(e=>!(`name`in e&&e.name));return{...t,args:e?[]:{},eventName:c.abi.name}}}return!s||!c||a&&!a.includes(s.eventName)||!cf({args:s.args,inputs:c.abi.inputs,matchArgs:n})?null:{...s,...t}}).filter(Boolean)}function cf(e){let{args:t,inputs:n,matchArgs:r}=e;if(!r)return!0;if(!t)return!1;function i(e,t,n){try{return e.type===`address`?ef(t,n):e.type===`string`||e.type===`bytes`?ui(Gn(t))===n:t===n}catch{return!1}}return Array.isArray(t)&&Array.isArray(r)?r.every((e,r)=>{if(e==null)return!0;let a=n[r];return a?(Array.isArray(e)?e:[e]).some(e=>i(a,e,t[r])):!1}):typeof t==`object`&&!Array.isArray(t)&&typeof r==`object`&&!Array.isArray(r)&&Object.entries(r).every(([e,r])=>{if(r==null)return!0;let a=n.find(t=>t.name===e);return a?(Array.isArray(r)?r:[r]).some(n=>i(a,n,t[e])):!1})}function lf(e){let{abi:t,args:n,functionName:r,data:i}=e,a=t[0];if(r){let e=ua({abi:t,args:n,name:r});if(!e)throw new rn(r,{docsPath:uf});a=e}if(a.type!==`function`)throw new rn(void 0,{docsPath:uf});if(!a.outputs)throw new an(a.name,{docsPath:uf});let o=Ia(a.outputs,i);if(o&&o.length>1)return o;if(o&&o.length===1)return o[0]}var uf,df=o((()=>{hn(),Ja(),pa(),uf=`/docs/contract/decodeFunctionResult`})),ff,pf=o((()=>{ff=`0.1.1`}));function mf(){return ff}var hf=o((()=>{pf()}));function gf(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause?gf(e.cause,t):t?null:e}var P,_f=o((()=>{hf(),P=class e extends Error{static setStaticOptions(t){e.prototype.docsOrigin=t.docsOrigin,e.prototype.showVersion=t.showVersion,e.prototype.version=t.version}constructor(t,n={}){let r=(()=>{if(n.cause instanceof e){if(n.cause.details)return n.cause.details;if(n.cause.shortMessage)return n.cause.shortMessage}return n.cause&&`details`in n.cause&&typeof n.cause.details==`string`?n.cause.details:n.cause?.message?n.cause.message:n.details})(),i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=n.docsOrigin??e.prototype.docsOrigin,o=`${a}${i??``}`,s=!!(n.version??e.prototype.showVersion),c=n.version??e.prototype.version,l=[t||`An error occurred.`,...n.metaMessages?[``,...n.metaMessages]:[],...r||i||s?[``,r?`Details: ${r}`:void 0,i?`See: ${o}`:void 0,s?`Version: ${c}`:void 0]:[]].filter(e=>typeof e==`string`).join(`\n`);super(l,n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docs\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsOrigin\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsPath\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"shortMessage\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"showVersion\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"version\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`BaseError`}),this.cause=n.cause,this.details=r,this.docs=o,this.docsOrigin=a,this.docsPath=i,this.shortMessage=t,this.showVersion=s,this.version=c}walk(e){return gf(this,e)}},Object.defineProperty(P,\"defaultStaticOptions\",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:`https://oxlib.sh`,showVersion:!1,version:`ox@${mf()}`}}),P.setStaticOptions(P.defaultStaticOptions)}));function vf(e,t){if(Kf(e)>t)throw new ap({givenSize:Kf(e),maxSize:t})}function yf(e,t){if(typeof t==`number`&&t>0&&t>Kf(e)-1)throw new op({offset:t,position:`start`,size:Kf(e)})}function bf(e,t,n){if(typeof t==`number`&&typeof n==`number`&&Kf(e)!==n-t)throw new op({offset:n,position:`end`,size:Kf(e)})}function xf(e){if(e>=wf.zero&&e<=wf.nine)return e-wf.zero;if(e>=wf.A&&e<=wf.F)return e-(wf.A-10);if(e>=wf.a&&e<=wf.f)return e-(wf.a-10)}function Sf(e,t={}){let{dir:n,size:r=32}=t;if(r===0)return e;if(e.length>r)throw new sp({size:e.length,targetSize:r,type:`Bytes`});let i=new Uint8Array(r);for(let t=0;t<r;t++){let a=n===`right`;i[a?t:r-t-1]=e[a?t:e.length-t-1]}return i}function Cf(e,t={}){let{dir:n=`left`}=t,r=e,i=0;for(let e=0;e<r.length-1&&r[n===`left`?e:r.length-e-1].toString()===`0`;e++)i++;return r=n===`left`?r.slice(i):r.slice(0,r.length-i),r}var wf,Tf=o((()=>{cp(),wf={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function Ef(e,t){if(R(e)>t)throw new kp({givenSize:R(e),maxSize:t})}function Df(e,t){if(typeof t==`number`&&t>0&&t>R(e)-1)throw new Ap({offset:t,position:`start`,size:R(e)})}function Of(e,t,n){if(typeof t==`number`&&typeof n==`number`&&R(e)!==n-t)throw new Ap({offset:n,position:`end`,size:R(e)})}function kf(e,t={}){let{dir:n,size:r=32}=t;if(r===0)return e;let i=e.replace(`0x`,``);if(i.length>r*2)throw new jp({size:Math.ceil(i.length/2),targetSize:r,type:`Hex`});return`0x${i[n===`right`?`padEnd`:`padStart`](r*2,`0`)}`}function Af(e,t={}){let{dir:n=`left`}=t,r=e.replace(`0x`,``),i=0;for(let e=0;e<r.length-1&&r[n===`left`?e:r.length-e-1].toString()===`0`;e++)i++;return r=n===`left`?r.slice(i):r.slice(0,r.length-i),r===`0`?`0x`:n===`right`&&r.length%2==1?`0x${r}0`:`0x${r}`}var jf=o((()=>{z()}));function Mf(e){if(e===null||typeof e==`boolean`||typeof e==`string`)return JSON.stringify(e);if(typeof e==`number`){if(!Number.isFinite(e))throw TypeError(`Cannot canonicalize non-finite number`);return Object.is(e,-0)?`0`:JSON.stringify(e)}if(typeof e==`bigint`)throw TypeError(`Cannot canonicalize bigint`);if(Array.isArray(e))return`[${e.map(e=>Mf(e)).join(`,`)}]`;if(typeof e==`object`)return`{${Object.keys(e).sort().reduce((t,n)=>{let r=e[n];return r!==void 0&&t.push(`${JSON.stringify(n)}:${Mf(r)}`),t},[]).join(`,`)}}`}function Nf(e,t){return JSON.parse(e,(e,n)=>{let r=n;return typeof r==`string`&&r.endsWith(Ff)?BigInt(r.slice(0,-9)):typeof t==`function`?t(e,r):r})}function Pf(e,t,n){return JSON.stringify(e,(e,n)=>typeof t==`function`?t(e,n):typeof n==`bigint`?n.toString()+Ff:n,n)}var Ff,If=o((()=>{Ff=`#__bigint`}));function Lf(e){if(!(e instanceof Uint8Array)&&(!e||typeof e!=`object`||!(`BYTES_PER_ELEMENT`in e)||e.BYTES_PER_ELEMENT!==1||e.constructor.name!==`Uint8Array`))throw new ip(e)}function Rf(...e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}function zf(e){return e instanceof Uint8Array?e:typeof e==`string`?Vf(e):Bf(e)}function Bf(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function Vf(e,t={}){let{size:n}=t,r=e;n&&(Ef(e,n),r=hp(e,n));let i=r.slice(2);i.length%2&&(i=`0${i}`);let a=i.length/2,o=new Uint8Array(a);for(let e=0,t=0;e<a;e++){let n=xf(i.charCodeAt(t++)),r=xf(i.charCodeAt(t++));if(n===void 0||r===void 0)throw new P(`Invalid byte sequence (\"${i[t-2]}${i[t-1]}\" in \"${i}\").`);o[e]=n<<4|r}return o}function Hf(e,t={}){let{size:n}=t,r=np.encode(e);return typeof n==`number`?(vf(r,n),Wf(r,n)):r}function Uf(e,t){return mc(e,t)}function Wf(e,t){return Sf(e,{dir:`right`,size:t})}function Gf(e){return crypto.getRandomValues(new Uint8Array(e))}function Kf(e){return e.length}function qf(e,t,n,r={}){let{strict:i}=r;yf(e,t);let a=e.slice(t,n);return i&&bf(a,t,n),a}function Jf(e,t={}){let{size:n}=t;return n!==void 0&&vf(e,n),vp(fp(e,t),t)}function Yf(e,t={}){let{size:n}=t,r=e;if(n!==void 0&&(vf(r,n),r=Qf(r)),r.length>1||r[0]>1)throw new rp(r);return!!r[0]}function Xf(e,t={}){let{size:n}=t;return n!==void 0&&vf(e,n),bp(fp(e,t),t)}function Zf(e,t={}){let{size:n}=t,r=e;return n!==void 0&&(vf(r,n),r=$f(r)),tp.decode(r)}function Qf(e){return Cf(e,{dir:`left`})}function $f(e){return Cf(e,{dir:`right`})}function ep(e){try{return Lf(e),!0}catch{return!1}}var tp,np,rp,ip,ap,op,sp,cp=o((()=>{Mc(),_f(),z(),Tf(),jf(),If(),tp=new TextDecoder,np=new TextEncoder,rp=class extends P{constructor(e){super(`Bytes value \\`${e}\\` is not a valid boolean.`,{metaMessages:[\"The bytes array must contain a single byte of either a `0` or `1` value.\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.InvalidBytesBooleanError`})}},ip=class extends P{constructor(e){super(`Value \\`${typeof e==`object`?Pf(e):e}\\` of type \\`${typeof e}\\` is an invalid Bytes value.`,{metaMessages:[\"Bytes values must be of type `Bytes`.\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.InvalidBytesTypeError`})}},ap=class extends P{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \\`${t}\\` bytes. Given size: \\`${e}\\` bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SizeOverflowError`})}},op=class extends P{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \\`${e}\\` is out-of-bounds (size: \\`${n}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SliceOffsetOutOfBoundsError`})}},sp=class extends P{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\\`${e}\\`) exceeds padding size (\\`${t}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SizeExceedsPaddingSizeError`})}}}));function lp(e,t={}){let{strict:n=!1}=t;if(!e||typeof e!=`string`)throw new Ep(e);if(n&&!/^0x[0-9a-fA-F]*$/.test(e)||!e.startsWith(`0x`))throw new Dp(e)}function F(...e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}function up(e){return e instanceof Uint8Array?fp(e):Array.isArray(e)?fp(new Uint8Array(e)):e}function dp(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(Ef(n,t.size),mp(n,t.size)):n}function fp(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=wp[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(Ef(r,t.size),hp(r,t.size)):r}function I(e,t={}){let{signed:n,size:r}=t,i=BigInt(e),a;r?a=n?(1n<<BigInt(r)*8n-1n)-1n:2n**(BigInt(r)*8n)-1n:typeof e==`number`&&(a=BigInt(2**53-1));let o=typeof a==`bigint`&&n?-a-1n:0;if(a&&i>a||i<o){let t=typeof e==`bigint`?`n`:``;throw new Tp({max:a?`${a}${t}`:void 0,min:`${o}${t}`,signed:n,size:r,value:`${e}${t}`})}let s=`0x${(n&&i<0?BigInt.asUintN(r*8,BigInt(i)):i).toString(16)}`;return r?mp(s,r):s}function pp(e,t={}){return fp(Cp.encode(e),t)}function mp(e,t){return kf(e,{dir:`left`,size:t})}function hp(e,t){return kf(e,{dir:`right`,size:t})}function gp(e){return fp(Gf(e))}function L(e,t,n,r={}){let{strict:i}=r;Df(e,t);let a=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return i&&Of(a,t,n),a}function R(e){return Math.ceil((e.length-2)/2)}function _p(e){return Af(e,{dir:`left`})}function vp(e,t={}){let{signed:n}=t;t.size&&Ef(e,t.size);let r=BigInt(e);if(!n)return r;let i=(e.length-2)/2,a=(1n<<BigInt(i)*8n)-1n;return r<=a>>1n?r:r-a-1n}function yp(e,t={}){return Vf(e,t)}function bp(e,t={}){let{signed:n,size:r}=t;return Number(!n&&!r?e:vp(e,t))}function xp(e,t={}){let{size:n}=t,r=Vf(e);return n&&(vf(r,n),r=$f(r)),new TextDecoder().decode(r)}function Sp(e,t={}){let{strict:n=!1}=t;try{return lp(e,{strict:n}),!0}catch{return!1}}var Cp,wp,Tp,Ep,Dp,Op,kp,Ap,jp,z=o((()=>{cp(),_f(),Tf(),jf(),If(),Cp=new TextEncoder,wp=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Tp=class extends P{constructor({max:e,min:t,signed:n,size:r,value:i}){super(`Number \\`${i}\\` is not in safe${r?` ${r*8}-bit`:``}${n?` signed`:` unsigned`} integer range ${e?`(\\`${t}\\` to \\`${e}\\`)`:`(above \\`${t}\\`)`}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.IntegerOutOfRangeError`})}},class extends P{constructor(e){super(`Hex value \\`\"${e}\"\\` is not a valid boolean.`,{metaMessages:['The hex value must be `\"0x0\"` (false) or `\"0x1\"` (true).']}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.InvalidHexBooleanError`})}},Ep=class extends P{constructor(e){super(`Value \\`${typeof e==`object`?Pf(e):e}\\` of type \\`${typeof e}\\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `\"0x${string}\"`.']}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.InvalidHexTypeError`})}},Dp=class extends P{constructor(e){super(`Value \\`${e}\\` is an invalid hex value.`,{metaMessages:['Hex values must start with `\"0x\"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.InvalidHexValueError`})}},Op=class extends P{constructor(e){super(`Hex value \\`\"${e}\"\\` is an odd length (${e.length-2} nibbles).`,{metaMessages:[`It must be an even length.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.InvalidLengthError`})}},kp=class extends P{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \\`${t}\\` bytes. Given size: \\`${e}\\` bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SizeOverflowError`})}},Ap=class extends P{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \\`${e}\\` is out-of-bounds (size: \\`${n}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SliceOffsetOutOfBoundsError`})}},jp=class extends P{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\\`${e}\\`) exceeds padding size (\\`${t}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SizeExceedsPaddingSizeError`})}}}));function Mp(e){return{address:e.address,amount:I(e.amount),index:I(e.index),validatorIndex:I(e.validatorIndex)}}var Np=o((()=>{z()}));function Pp(e){return{...typeof e.baseFeePerGas==`bigint`&&{baseFeePerGas:I(e.baseFeePerGas)},...typeof e.blobBaseFee==`bigint`&&{blobBaseFee:I(e.blobBaseFee)},...typeof e.feeRecipient==`string`&&{feeRecipient:e.feeRecipient},...typeof e.gasLimit==`bigint`&&{gasLimit:I(e.gasLimit)},...typeof e.number==`bigint`&&{number:I(e.number)},...typeof e.prevRandao==`bigint`&&{prevRandao:I(e.prevRandao)},...typeof e.time==`bigint`&&{time:I(e.time)},...e.withdrawals&&{withdrawals:e.withdrawals.map(Mp)}}}var Fp=o((()=>{z(),Np()})),Ip,Lp,Rp,zp,Bp,Vp,Hp=o((()=>{Ip=[{inputs:[{components:[{name:`target`,type:`address`},{name:`allowFailure`,type:`bool`},{name:`callData`,type:`bytes`}],name:`calls`,type:`tuple[]`}],name:`aggregate3`,outputs:[{components:[{name:`success`,type:`bool`},{name:`returnData`,type:`bytes`}],name:`returnData`,type:`tuple[]`}],stateMutability:`view`,type:`function`},{inputs:[{name:`addr`,type:`address`}],name:`getEthBalance`,outputs:[{name:`balance`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`getCurrentBlockTimestamp`,outputs:[{internalType:`uint256`,name:`timestamp`,type:`uint256`}],stateMutability:`view`,type:`function`}],Lp=[{name:`query`,type:`function`,stateMutability:`view`,inputs:[{type:`tuple[]`,name:`queries`,components:[{type:`address`,name:`sender`},{type:`string[]`,name:`urls`},{type:`bytes`,name:`data`}]}],outputs:[{type:`bool[]`,name:`failures`},{type:`bytes[]`,name:`responses`}]},{name:`HttpError`,type:`error`,inputs:[{type:`uint16`,name:`status`},{type:`string`,name:`message`}]}],Rp=[{inputs:[{name:`dns`,type:`bytes`}],name:`DNSDecodingFailed`,type:`error`},{inputs:[{name:`ens`,type:`string`}],name:`DNSEncodingFailed`,type:`error`},{inputs:[],name:`EmptyAddress`,type:`error`},{inputs:[{name:`status`,type:`uint16`},{name:`message`,type:`string`}],name:`HttpError`,type:`error`},{inputs:[],name:`InvalidBatchGatewayResponse`,type:`error`},{inputs:[{name:`errorData`,type:`bytes`}],name:`ResolverError`,type:`error`},{inputs:[{name:`name`,type:`bytes`},{name:`resolver`,type:`address`}],name:`ResolverNotContract`,type:`error`},{inputs:[{name:`name`,type:`bytes`}],name:`ResolverNotFound`,type:`error`},{inputs:[{name:`primary`,type:`string`},{name:`primaryAddress`,type:`bytes`}],name:`ReverseAddressMismatch`,type:`error`},{inputs:[{internalType:`bytes4`,name:`selector`,type:`bytes4`}],name:`UnsupportedResolverProfile`,type:`error`}],[...Rp],[...Rp],zp=[{name:`isValidSignature`,type:`function`,stateMutability:`view`,inputs:[{name:`hash`,type:`bytes32`},{name:`signature`,type:`bytes`}],outputs:[{name:``,type:`bytes4`}]}],Bp=[{inputs:[{name:`_signer`,type:`address`},{name:`_hash`,type:`bytes32`},{name:`_signature`,type:`bytes`}],stateMutability:`nonpayable`,type:`constructor`},{inputs:[{name:`_signer`,type:`address`},{name:`_hash`,type:`bytes32`},{name:`_signature`,type:`bytes`}],outputs:[{type:`bool`}],stateMutability:`nonpayable`,type:`function`,name:`isValidSig`}],Vp=[{type:`event`,name:`Approval`,inputs:[{indexed:!0,name:`owner`,type:`address`},{indexed:!0,name:`spender`,type:`address`},{indexed:!1,name:`value`,type:`uint256`}]},{type:`event`,name:`Transfer`,inputs:[{indexed:!0,name:`from`,type:`address`},{indexed:!0,name:`to`,type:`address`},{indexed:!1,name:`value`,type:`uint256`}]},{type:`function`,name:`allowance`,stateMutability:`view`,inputs:[{name:`owner`,type:`address`},{name:`spender`,type:`address`}],outputs:[{type:`uint256`}]},{type:`function`,name:`approve`,stateMutability:`nonpayable`,inputs:[{name:`spender`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[{type:`bool`}]},{type:`function`,name:`balanceOf`,stateMutability:`view`,inputs:[{name:`account`,type:`address`}],outputs:[{type:`uint256`}]},{type:`function`,name:`decimals`,stateMutability:`view`,inputs:[],outputs:[{type:`uint8`}]},{type:`function`,name:`name`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{type:`function`,name:`symbol`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{type:`function`,name:`totalSupply`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{type:`function`,name:`transfer`,stateMutability:`nonpayable`,inputs:[{name:`recipient`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[{type:`bool`}]},{type:`function`,name:`transferFrom`,stateMutability:`nonpayable`,inputs:[{name:`sender`,type:`address`},{name:`recipient`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[{type:`bool`}]}]})),Up=o((()=>{})),Wp,Gp,Kp,qp,Jp=o((()=>{Wp=`0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe`,Gp=`0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe`,Kp=`0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572`,qp=`0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033`})),Yp,Xp,Zp,Qp,$p,em=o((()=>{k(),Yp=class extends O{constructor({blockNumber:e,chain:t,contract:n}){super(`Chain \"${t.name}\" does not support contract \"${n.name}\".`,{metaMessages:[`This could be due to any of the following:`,...e&&n.blockCreated&&n.blockCreated>e?[`- The contract \"${n.name}\" was not deployed until block ${n.blockCreated} (current block ${e}).`]:[`- The chain does not have the contract \"${n.name}\" configured.`]],name:`ChainDoesNotSupportContract`})}},Xp=class extends O{constructor({chain:e,currentChainId:t}){super(`The current chain of the wallet (id: ${t}) does not match the target chain for the transaction (id: ${e.id} \u2013 ${e.name}).`,{metaMessages:[`Current Chain ID: ${t}`,`Expected Chain ID: ${e.id} \u2013 ${e.name}`],name:`ChainMismatchError`})}},Zp=class extends O{constructor(){super([`No chain was provided to the request.`,\"Please provide a chain with the `chain` argument on the Action, or by supplying a `chain` to WalletClient.\"].join(`\n`),{name:`ChainNotFoundError`})}},Qp=class extends O{constructor(){super(`No chain was provided to the Client.`,{name:`ClientChainNotConfiguredError`})}},$p=class extends O{constructor({chainId:e}){super(typeof e==`number`?`Chain ID \"${e}\" is invalid.`:`Chain ID is invalid.`,{name:`InvalidChainIdError`})}}}));function tm(e){let{abi:t,args:n,bytecode:r}=e;if(!n||n.length===0)return r;let i=t.find(e=>`type`in e&&e.type===`constructor`);if(!i)throw new Gt({docsPath:nm});if(!(`inputs`in i)||!i.inputs||i.inputs.length===0)throw new Kt({docsPath:nm});return Li([r,Ji(i.inputs,n)])}var nm,rm=o((()=>{hn(),Ri(),sa(),nm=`/docs/contract/encodeDeployData`}));function im({blockNumber:e,chain:t,contract:n}){let r=t?.contracts?.[n];if(!r)throw new Yp({chain:t,contract:{name:n}});if(e&&r.blockCreated&&r.blockCreated>e)throw new Yp({blockNumber:e,chain:t,contract:{name:n,blockCreated:r.blockCreated}});return r.address}var am=o((()=>{em()}));function om(e,{docsPath:t,...n}){return new Ro((()=>{let t=Xu(e,n);return t instanceof Ju?e:t})(),{docsPath:t,...n})}var sm=o((()=>{Wo(),Yu(),Zu()}));function cm(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var lm=o((()=>{}));function um({fn:e,id:t,shouldSplitBatch:n,wait:r=0,sort:i}){let a=async()=>{let t=c();o();let n=t.map(({args:e})=>e);n.length!==0&&e(n).then(e=>{i&&Array.isArray(e)&&e.sort(i);for(let n=0;n<t.length;n++){let{resolve:r}=t[n];r?.([e[n],e])}}).catch(e=>{for(let n=0;n<t.length;n++){let{reject:r}=t[n];r?.(e)}})},o=()=>dm.delete(t),s=()=>c().map(({args:e})=>e),c=()=>dm.get(t)||[],l=e=>dm.set(t,[...c(),e]);return{flush:o,async schedule(e){let{promise:t,resolve:i,reject:o}=cm();return n?.([...s(),e])&&a(),c().length>0?(l({args:e,resolve:i,reject:o}),t):(l({args:e,resolve:i,reject:o}),setTimeout(a,r),t)}}}var dm,fm=o((()=>{lm(),dm=new Map})),pm,mm,hm,gm=o((()=>{Qa(),k(),Lo(),pm=class extends O{constructor({callbackSelector:e,cause:t,data:n,extraData:r,sender:i,urls:a}){super(t.shortMessage||`An error occurred while fetching for an offchain result.`,{cause:t,metaMessages:[...t.metaMessages||[],t.metaMessages?.length?``:[],`Offchain Gateway Call:`,a&&[` Gateway URL(s):`,...a.map(e=>` ${Io(e)}`)],` Sender: ${i}`,` Data: ${n}`,` Callback selector: ${e}`,` Extra data: ${r}`].flat(),name:`OffchainLookupError`})}},mm=class extends O{constructor({result:e,url:t}){super(`Offchain gateway response is malformed. Response data must be a hex value.`,{metaMessages:[`Gateway URL: ${Io(t)}`,`Response: ${Za(e)}`],name:`OffchainLookupResponseMalformedError`})}},hm=class extends O{constructor({sender:e,to:t}){super(\"Reverted sender address does not match target contract address (`to`).\",{metaMessages:[`Contract address: ${t}`,`OffchainLookup sender address: ${e}`],name:`OffchainLookupSenderMismatchError`})}}}));function _m(e){let{abi:t,data:n}=e,r=zi(n,0,4),i=t.find(e=>e.type===`function`&&r===ca(Pt(e)));if(!i)throw new on(r,{docsPath:`/docs/contract/decodeFunctionData`});return{functionName:i.name,args:`inputs`in i&&i.inputs&&i.inputs.length>0?Ia(i.inputs,zi(n,4)):void 0}}var vm=o((()=>{hn(),Wi(),la(),Ja(),Lt()}));function ym(e){let{abi:t,errorName:n,args:r}=e,i=t[0];if(n){let e=ua({abi:t,args:r,name:n});if(!e)throw new $t(n,{docsPath:bm});i=e}if(i.type!==`error`)throw new $t(void 0,{docsPath:bm});let a=ca(Pt(i)),o=`0x`;if(r&&r.length>0){if(!i.inputs)throw new Qt(i.name,{docsPath:bm});o=Ji(i.inputs,r)}return Li([a,o])}var bm,xm=o((()=>{hn(),Ri(),la(),sa(),Lt(),pa(),bm=`/docs/contract/encodeErrorResult`}));function Sm(e){let{abi:t,functionName:n,result:r}=e,i=t[0];if(n){let e=ua({abi:t,name:n});if(!e)throw new rn(n,{docsPath:Cm});i=e}if(i.type!==`function`)throw new rn(void 0,{docsPath:Cm});if(!i.outputs)throw new an(i.name,{docsPath:Cm});let a=(()=>{if(i.outputs.length===0)return[];if(i.outputs.length===1)return[r];if(Array.isArray(r))return r;throw new pn(r)})();return Ji(i.outputs,a)}var Cm,wm=o((()=>{hn(),sa(),pa(),Cm=`/docs/contract/encodeFunctionResult`}));async function Tm(e){let{data:t,ccipRequest:n}=e,{args:[r]}=_m({abi:Lp,data:t}),i=[],a=[];return await Promise.all(r.map(async(e,t)=>{try{a[t]=e.urls.includes(`x-batch-gateway:true`)?await Tm({data:e.data,ccipRequest:n}):await n(e),i[t]=!1}catch(e){i[t]=!0,a[t]=Em(e)}})),Sm({abi:Lp,functionName:`query`,result:[i,a]})}function Em(e){return e.name===`HttpRequestError`&&e.status?ym({abi:Lp,errorName:`HttpError`,args:[e.status,e.shortMessage]}):ym({abi:[xa],errorName:`Error`,args:[`shortMessage`in e?e.shortMessage:e.message]})}var Dm=o((()=>{Hp(),Ca(),vm(),xm(),wm()})),Om=c({ccipRequest:()=>Am,offchainLookup:()=>km,offchainLookupAbiItem:()=>Mm,offchainLookupSignature:()=>jm});async function km(e,{blockNumber:t,blockTag:n,data:r,requestOptions:i,to:a}){let{args:o}=Ya({data:r,abi:[Mm]}),[s,c,l,u,d]=o,{ccipRead:f}=e,p=f&&typeof f?.request==`function`?f.request:Am;try{if(!ef(a,s))throw new hm({sender:s,to:a});let{data:r}=await Pm(e,{blockNumber:t,blockTag:n,data:Fi([u,Ji([{type:`bytes`},{type:`bytes`}],[c.includes(`x-batch-gateway:true`)?await Tm({data:l,ccipRequest:e=>p({...e,requestOptions:i})}):await p({data:l,requestOptions:i,sender:s,urls:c}),d])]),requestOptions:i,to:a});return r}catch(e){throw i?.signal?.aborted?No(i.signal):Po(e)?e:new pm({callbackSelector:u,cause:e,data:r,extraData:d,sender:s,urls:c})}}async function Am({data:e,requestOptions:t,sender:n,urls:r}){let i=Error(`An unknown error occurred.`);for(let a=0;a<r.length;a++){if(t?.signal?.aborted)throw No(t.signal);let o=r[a],s=o.includes(`{data}`)?`GET`:`POST`,c=s===`POST`?{data:e,sender:n}:void 0,l=s===`POST`?{\"Content-Type\":`application/json`}:{};try{let r=await fetch(o.replace(`{sender}`,n.toLowerCase()).replace(`{data}`,e),{body:JSON.stringify(c),headers:l,method:s,...t?.signal?{signal:t.signal}:{}}),a;if(a=r.headers.get(`Content-Type`)?.startsWith(`application/json`)?(await r.json()).data:await r.text(),!r.ok){i=new Go({body:c,details:a?.error?Za(a.error):r.statusText,headers:r.headers,status:r.status,url:o});continue}if(!D(a)){i=new mm({result:a,url:o});continue}return a}catch(e){if(t?.signal?.aborted)throw No(t.signal);if(Po(e))throw e;i=new Go({body:c,details:e.message,url:o})}}throw i}var jm,Mm,Nm=o((()=>{Gm(),gm(),Yo(),Lo(),Xa(),sa(),tf(),Ri(),Rt(),Dm(),Qa(),jm=`0x556f1830`,Mm={name:`OffchainLookup`,type:`error`,inputs:[{name:`sender`,type:`address`},{name:`urls`,type:`string[]`},{name:`callData`,type:`bytes`},{name:`callbackFunction`,type:`bytes4`},{name:`extraData`,type:`bytes`}]}}));async function Pm(e,t){let{account:n=e.account,authorizationList:r,batch:i=!!e.batch?.multicall,blockHash:a,blockNumber:o,blockTag:s=e.experimental_blockTag??`latest`,requireCanonical:c,accessList:l,blobs:u,blockOverrides:d,code:f,data:p,factory:m,factoryData:h,gas:g,gasPrice:_,maxFeePerBlobGas:v,maxFeePerGas:y,maxPriorityFeePerGas:b,nonce:x,requestOptions:S,to:C,value:w,stateOverride:T,...ee}=t,te=n?N(n):void 0;if(f&&(m||h))throw new O(\"Cannot provide both `code` & `factory`/`factoryData` as parameters.\");if(f&&C)throw new O(\"Cannot provide both `code` & `to` as parameters.\");let ne=f&&p,re=m&&h&&C&&p,ie=ne||re,ae=ne?Bm({code:f,data:p}):re?Vm({data:p,factory:m,factoryData:h,to:C}):p;try{md(t);let n=kd({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),f=d?Pp(d):void 0,p=ud(T),m=e.chain?.formatters?.transactionRequest?.format,h=(m||rd)({...$u(ee,{format:m}),accessList:l,account:te,authorizationList:r,blobs:u,data:ae,gas:g,gasPrice:_,maxFeePerBlobGas:v,maxFeePerGas:y,maxPriorityFeePerGas:b,nonce:x,to:ie?void 0:C,value:w},`call`);if(i&&Fm({request:h})&&!f&&a===void 0)try{let{deployless:t=!1}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},n=Rm(e,{blockNumber:o,deployless:t});if(!n||!zm(p,n))return await Lm(e,{...h,blockHash:a,blockNumber:o,blockTag:s,multicallAddress:n,requestOptions:S,requireCanonical:c,rpcStateOverride:p})}catch(e){if(!(e instanceof Qp)&&!(e instanceof Yp))throw e}let ne=(()=>{let e=[h,n];return p&&f?[...e,p,f]:p?[...e,p]:f?[...e,{},f]:e})(),re=await e.request({method:`eth_call`,params:ne},S);return re===`0x`?{data:void 0}:{data:re}}catch(n){if(S?.signal?.aborted)throw No(S.signal);if(Po(n))throw n;let r=Hm(n),{offchainLookup:i,offchainLookupSignature:a}=await Promise.resolve().then(()=>(Nm(),Om));if(e.ccipRead!==!1&&r?.slice(0,10)===a&&C)return{data:await i(e,{data:r,requestOptions:S,to:C})};throw ie&&r?.slice(0,10)===`0x101bb98d`?new Ho({factory:m}):om(n,{...t,account:te,chain:e.chain})}}function Fm({request:e}){let{data:t,to:n,...r}=e;return!(!t||t.startsWith(`0x82ad56cb`)||!n||Object.values(r).filter(e=>e!==void 0).length>0)}function Im(e){if(!e)return`default`;let t=Wm.get(e);if(t!==void 0)return t;let n=Um++;return Wm.set(e,n),n}async function Lm(e,t){let{batchSize:n=1024,deployless:r=!1,wait:i=0}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},{blockHash:a,blockNumber:o,blockTag:s=e.experimental_blockTag??`latest`,requireCanonical:c,data:l,multicallAddress:u,requestOptions:d,rpcStateOverride:f,to:p}=t,m=u===void 0?Rm(e,{blockNumber:o,deployless:r}):u,h=kd({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),g=typeof h==`string`?h:JSON.stringify(h),_=f?`.${JSON.stringify(f)}`:``,{schedule:v}=um({id:`${e.uid}.${g}.${Im(d)}${_}`,wait:i,shouldSplitBatch(e){return e.reduce((e,{data:t})=>e+(t.length-2),0)>n*2},fn:async t=>{let n=t.map(e=>({allowFailure:!0,callData:e.data,target:e.to})),r=va({abi:Ip,args:[n],functionName:`aggregate3`}),i={...m===null?{data:Bm({code:qp,data:r})}:{to:m,data:r}},a=await e.request({method:`eth_call`,params:f?[i,h,f]:[i,h]},d);return lf({abi:Ip,args:[n],functionName:`aggregate3`,data:a||`0x`})}}),[{returnData:y,success:b}]=await v({data:l,to:p});if(!b)throw new Uo({data:y});return y===`0x`?{data:void 0}:{data:y}}function Rm(e,t){let{blockNumber:n,deployless:r}=t;if(r)return null;if(e.chain)return im({blockNumber:n,chain:e.chain,contract:`multicall3`});throw new Qp}function zm(e,t){return e?Object.keys(e).some(e=>ef(e,t)):!1}function Bm(e){let{code:t,data:n}=e;return tm({abi:jt([`constructor(bytes, bytes)`]),bytecode:Wp,args:[t,n]})}function Vm(e){let{data:t,factory:n,factoryData:r,to:i}=e;return tm({abi:jt([`constructor(address, bytes, address, bytes)`]),bytecode:Gp,args:[i,t,n,r]})}function Hm(e){if(!(e instanceof O))return;let t=e.walk();return typeof t?.data==`object`?t.data?.data:t.data}var Um,Wm,Gm=o((()=>{Nt(),Fp(),ma(),Hp(),Up(),Jp(),k(),em(),Wo(),Lo(),df(),rm(),ya(),tf(),Ad(),am(),sm(),ed(),sd(),fm(),dd(),hd(),Um=0,Wm=new WeakMap}));df(),ya(),Gm();async function Km(e,t){let{abi:n,address:r,args:i,functionName:a,...o}=t,s=va({abi:n,args:i,functionName:a});try{let{data:t}=await E(e,Pm,`call`)({...o,data:s,to:r});return lf({abi:n,args:i,functionName:a,data:t||`0x`})}catch(e){throw Ds(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/readContract`,functionName:a})}}ma(),df(),ya(),Gm();async function qm(e,t){let{abi:n,address:r,args:i,functionName:a,dataSuffix:o=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,...s}=t,c=s.account?N(s.account):e.account,l=va({abi:n,args:i,functionName:a});try{let{data:u}=await E(e,Pm,`call`)({batch:!1,data:`${l}${o?o.replace(`0x`,``):``}`,to:r,...s,account:c});return{result:lf({abi:n,args:i,functionName:a,data:u||`0x`}),request:{abi:n.filter(e=>`name`in e&&e.name===t.functionName),address:r,args:i,dataSuffix:o,functionName:a,...s,account:c}}}catch(e){throw Ds(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/simulateContract`,functionName:a,sender:c?.address})}}let Jm=new Map,Ym=new Map,Xm=0;function Zm(e,t,n){let r=++Xm,i=()=>Jm.get(e)||[],a=()=>{let t=i().filter(e=>e.id!==r);if(t.length===0){Jm.delete(e),Ym.delete(e);return}Jm.set(e,t)},o=()=>{let t=i();if(!t.some(e=>e.id===r))return;let n=Ym.get(e);if(t.length===1&&n){let e=n();e instanceof Promise&&e.catch(()=>{})}a()},s=i();if(Jm.set(e,[...s,{id:r,fns:t}]),s&&s.length>0)return o;let c={};for(let e in t)c[e]=((...t)=>{let n=i();if(n.length!==0)for(let r of n)r.fns[e]?.(...t)});let l=n(c);return typeof l==`function`&&Ym.set(e,l),o}Lo();async function Qm(e,{signal:t}={}){return new Promise((n,r)=>{if(t?.aborted){r(No(t));return}let i=()=>t?.removeEventListener(`abort`,o),a=setTimeout(()=>{i(),n()},e),o=()=>{clearTimeout(a),i(),r(No(t))};t?.addEventListener(`abort`,o,{once:!0})})}function $m(e,{emitOnBegin:t,initialWaitTime:n,interval:r}){let i=!0,a=()=>i=!1;return(async()=>{let o;t&&(o=await e({unpoll:a})),await Qm(await n?.(o)??r);let s=async()=>{i&&(await e({unpoll:a}),await Qm(r),s())};s()})(),a}let eh=new Map,th=new Map;function nh(e){let t=(e,t)=>({clear:()=>t.delete(e),get:()=>t.get(e),set:n=>t.set(e,n)}),n=t(e,eh),r=t(e,th);return{clear:()=>{n.clear(),r.clear()},promise:n,response:r}}async function rh(e,{cacheKey:t,cacheTime:n=1/0}){let r=nh(t),i=r.response.get();if(i&&n>0&&Date.now()-i.created.getTime()<n)return i.data;let a=r.promise.get();a||(a=e(),r.promise.set(a));try{let e=await a;return r.response.set({created:new Date,data:e}),e}finally{r.promise.clear()}}let ih=e=>`blockNumber.${e}`;async function ah(e,{cacheTime:t=e.cacheTime}={}){let n=await rh(()=>e.request({method:`eth_blockNumber`}),{cacheKey:ih(e.uid),cacheTime:t});return BigInt(n)}k();var oh=class extends O{constructor({docsPath:e}={}){super([`Could not find an Account to execute with this Action.`,\"Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client.\"].join(`\n`),{docsPath:e,docsSlug:`account`,name:`AccountNotFoundError`})}},sh=class extends O{constructor({docsPath:e,metaMessages:t,type:n}){super(`Account type \"${n}\" is not supported.`,{docsPath:e,metaMessages:t,name:`AccountTypeNotSupportedError`})}};em();function ch({chain:e,currentChainId:t}){if(!e)throw new Zp;if(t!==e.id)throw new Xp({chain:e,currentChainId:t})}async function lh(e,{serializedTransaction:t}){return e.request({method:`eth_sendRawTransaction`,params:[t]},{retryCount:0})}ma(),k(),Ri(),ed(),sd(),Ei(),hd();let uh=new Ti(128);async function dh(e,t){let{account:n=e.account,assertChainId:r=!0,chain:i=e.chain,accessList:a,authorizationList:o,blobs:s,data:c,dataSuffix:l=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,type:g,value:_,...v}=t;if(n===void 0)throw new oh({docsPath:`/docs/actions/wallet/sendTransaction`});let y=n?N(n):null,b;try{md(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Fu({authorization:o[0]}).catch(()=>{throw new O(\"`to` is required. Could not infer from `authorizationList`.\")})})();if(y?.type===`json-rpc`||y===null){let t;i!==null&&(t=await E(e,Kd,`getChainId`)({}),r&&ch({currentChainId:t,chain:i}));let b=e.chain?.formatters?.transactionRequest?.format,x=(b||rd)({...$u(v,{format:b}),accessList:a,account:y,authorizationList:o,blobs:s,chainId:t,data:l?Fi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,to:n,type:g,value:_},`sendTransaction`),S=uh.get(e.uid),C=S?`wallet_sendTransaction`:`eth_sendTransaction`;try{return await e.request({method:C,params:[x]},{retryCount:0})}catch(t){if(S===!1)throw t;let n=t;if(n.name===`InvalidInputRpcError`||n.name===`InvalidParamsRpcError`||n.name===`MethodNotFoundRpcError`||n.name===`MethodNotSupportedRpcError`)return await e.request({method:`wallet_sendTransaction`,params:[x]},{retryCount:0}).then(t=>(uh.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(uh.set(e.uid,!1),n):r});throw n}}if(y?.type===`local`){if(y.nonceManager&&h===void 0){let t=v.chainId,n=await(async()=>typeof t==`number`?t:i?i.id:E(e,Kd,`getChainId`)({}))();b={address:y.address,chainId:n}}let t=await E(e,Zd,`prepareTransactionRequest`)({account:y,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?Fi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:y.nonceManager,parameters:[...Jd,`sidecars`],type:g,value:_,...v,to:n}),r=i?.serializers?.transaction,x=await y.signTransaction(t,{serializer:r});return await E(e,lh,`sendRawTransaction`)({serializedTransaction:x})}throw y?.type===`smart`?new sh({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new sh({docsPath:`/docs/actions/wallet/sendTransaction`,type:y?.type})}catch(e){throw e instanceof sh?e:(b&&y?.nonceManager?.reset(b),Gd(e,{...t,account:y,chain:t.chain||void 0}))}}ma(),ya();async function fh(e,t){return fh.internal(e,dh,`sendTransaction`,t)}(function(e){async function t(e,t,n,r){let{abi:i,account:a=e.account,address:o,args:s,functionName:c,...l}=r;if(a===void 0)throw new oh({docsPath:`/docs/contract/writeContract`});let u=a?N(a):null,d=va({abi:i,args:s,functionName:c});try{return await E(e,t,n)({data:d,to:o,account:u,...l})}catch(e){throw Ds(e,{abi:i,address:o,args:s,docsPath:`/docs/contract/writeContract`,functionName:c,sender:u?.address})}}e.internal=t})(fh||={}),k();var ph=class extends O{constructor(e){super(`Call bundle failed with status: ${e.statusCode}`,{name:`BundleFailedError`}),Object.defineProperty(this,\"result\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.result=e}};Lo();function mh(e,{delay:t=100,retryCount:n=2,shouldRetry:r=()=>!0,signal:i}={}){return new Promise((a,o)=>{let s=async({count:c=0}={})=>{if(i?.aborted){o(No(i));return}let l=async({error:e})=>{let n=typeof t==`function`?t({count:c,error:e}):t;if(n)try{await Qm(n,{signal:i})}catch(e){o(e);return}s({count:c+1})};try{a(await e())}catch(e){if(i?.aborted){o(No(i));return}if(Po(e)){o(e);return}if(c<n&&await r({count:c,error:e}))return l({error:e});o(e)}};s()})}Rn(),nd();let hh={\"0x0\":`reverted`,\"0x1\":`success`};function gh(e,t){let n={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs?e.logs.map(e=>nf(e)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Ln(e.transactionIndex):null,status:e.status?hh[e.status]:null,type:e.type?bd[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}let _h=td(`transactionReceipt`,gh);ma(),k(),Es(),ya(),Ri(),Rn(),M();let vh=j(0,{size:32});async function yh(e,t){let{account:n=e.account,chain:r=e.chain,experimental_fallback:i,experimental_fallbackDelay:a=32,forceAtomic:o=!1,id:s,version:c=`2.0.0`}=t,l=n?N(n):null,u=t.capabilities;e.dataSuffix&&!t.capabilities?.dataSuffix&&(u=typeof e.dataSuffix==`string`?{...t.capabilities,dataSuffix:{value:e.dataSuffix,optional:!0}}:{...t.capabilities,dataSuffix:{value:e.dataSuffix.value,...e.dataSuffix.required?{}:{optional:!0}}});let d=t.calls.map(e=>{let t=e,n=t.abi?va({abi:t.abi,functionName:t.functionName,args:t.args}):t.data;return{data:t.dataSuffix&&n?Fi([n,t.dataSuffix]):n,to:t.to,value:t.value?j(t.value):void 0}});try{let t=await e.request({method:`wallet_sendCalls`,params:[{atomicRequired:o,calls:d,capabilities:u,chainId:j(r.id),from:l?.address,id:s,version:c}]},{retryCount:0});return typeof t==`string`?{id:t}:t}catch(n){let s=n;if(i&&(s.name===`MethodNotFoundRpcError`||s.name===`MethodNotSupportedRpcError`||s.name===`UnknownRpcError`||s.details.toLowerCase().includes(`does not exist / is not available`)||s.details.toLowerCase().includes(`missing or invalid. request()`)||s.details.toLowerCase().includes(`did not match any variant of untagged enum`)||s.details.toLowerCase().includes(`account upgraded to unsupported contract`)||s.details.toLowerCase().includes(`eip-7702 not supported`)||s.details.toLowerCase().includes(`unsupported wc_ method`)||s.details.toLowerCase().includes(`feature toggled misconfigured`)||s.details.toLowerCase().includes(`jsonrpcengine: response has no error or result for request`))){if(u&&Object.values(u).some(e=>!e.optional)){let e=\"non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.\";throw new _s(new O(e,{details:e}))}if(o&&d.length>1){let e=\"`forceAtomic` is not supported on fallback to `eth_sendTransaction`.\";throw new Cs(new O(e,{details:e}))}let t=[];for(let n of d){try{let i=await dh(e,{account:l,chain:r,data:n.data,to:n.to,value:n.value?A(n.value):void 0});t.push({status:`fulfilled`,value:i})}catch(e){t.push({reason:e,status:`rejected`})}a>0&&await new Promise(e=>setTimeout(e,a))}if(t.every(e=>e.status===`rejected`))throw t[0].reason;return{id:Fi([...t.map(e=>e.status===`fulfilled`?e.value:vh),j(r.id,{size:32}),`0x5792579257925792579257925792579257925792579257925792579257925792`])}}throw Gd(n,{...t,account:l,chain:t.chain})}}Wi(),Pn(),Rn();async function bh(e,t){async function n(t){if(t.endsWith(`5792579257925792579257925792579257925792579257925792579257925792`)){let n=Nn(Ui(t,-64,-32)),r=Ui(t,0,-64).slice(2).match(/.{1,64}/g),i=await Promise.all(r.map(t=>vh.slice(2)===t?void 0:e.request({method:`eth_getTransactionReceipt`,params:[`0x${t}`]},{dedupe:!0}))),a=i.some(e=>e===null)?100:i.every(e=>e?.status===`0x1`)?200:i.every(e=>e?.status===`0x0`)?500:600;return{atomic:!1,chainId:Ln(n),receipts:i.filter(Boolean),status:a,version:`2.0.0`}}return e.request({method:`wallet_getCallsStatus`,params:[t]})}let{atomic:r=!1,chainId:i,receipts:a,version:o=`2.0.0`,...s}=await n(t.id),[c,l]=(()=>{let e=s.status;return e>=100&&e<200?[`pending`,e]:e>=200&&e<300?[`success`,e]:e>=300&&e<700?[`failure`,e]:e===`CONFIRMED`?[`success`,200]:e===`PENDING`?[`pending`,100]:[void 0,e]})();return{...s,atomic:r,chainId:i?Ln(i):void 0,receipts:a?.map(e=>({...e,blockNumber:A(e.blockNumber),gasUsed:A(e.gasUsed),status:hh[e.status]}))??[],statusCode:l,status:c,version:o}}k(),lm(),Qa();async function xh(e,t){let{id:n,pollingInterval:r=e.pollingInterval,status:i=({statusCode:e})=>e===200||e>=300,retryCount:a=4,retryDelay:o=({count:e})=>~~(1<<e)*200,timeout:s=6e4,throwOnFailure:c=!1}=t,l=Za([`waitForCallsStatus`,e.uid,n]),{promise:u,resolve:d,reject:f}=cm(),p,m=Zm(l,{resolve:d,reject:f},t=>{let s=$m(async()=>{let r=e=>{clearTimeout(p),s(),e(),m()};try{let s=await mh(async()=>{let t=await E(e,bh,`getCallsStatus`)({id:n});if(c&&t.status===`failure`)throw new ph(t);return t},{retryCount:a,delay:o});if(!i(s))return;r(()=>t.resolve(s))}catch(e){r(()=>t.reject(e))}},{interval:r,emitOnBegin:!0});return s});return p=s?setTimeout(()=>{m(),clearTimeout(p),f(new Sh({id:n}))},s):void 0,await u}var Sh=class extends O{constructor({id:e}){super(`Timed out while waiting for call bundle with id \"${e}\" to be confirmed.`,{name:`WaitForCallsStatusTimeoutError`})}};let Ch=256,wh;function Th(e=11){if(!wh||Ch+e>256*2){wh=``,Ch=0;for(let e=0;e<256;e++)wh+=(256+Math.random()*256|0).toString(16).substring(1)}return wh.substring(Ch,Ch+++e)}ma();function Eh(e){let{batch:t,chain:n,ccipRead:r,dataSuffix:i,key:a=`base`,name:o=`Base Client`,tokens:s,type:c=`base`}=e,l=e.experimental_blockTag??(typeof n?.experimental_preconfirmationTime==`number`?`pending`:void 0),u=n?.blockTime??12e3,d=Math.min(Math.max(Math.floor(u/2),500),4e3),f=e.pollingInterval??d,p=e.cacheTime??f,m=e.account?N(e.account):void 0,{config:h,request:g,value:_}=e.transport({account:m,chain:n,pollingInterval:f}),v={account:m,batch:t,cacheTime:p,ccipRead:r,chain:n,dataSuffix:i,key:a,name:o,pollingInterval:f,request:g,tokens:s,transport:{...h,..._},type:c,uid:Th(),...l?{experimental_blockTag:l}:{}};function y(e){return t=>{let n=t(e);for(let e in v)delete n[e];let r={...e,...n};for(let t in n){let i=e[t],a=n[t];Dh(i)&&Dh(a)&&(r[t]={...i,...a})}return Object.assign(r,{extend:y(r)})}}return Object.assign(v,{extend:y(v)})}function Dh(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Oh(e,t){let n=(n={})=>t(e,n);for(let r of[`call`,`calls`,`callWithPeriod`,`estimateGas`,`prepare`,`prepareRecipient`,`simulate`])if(Object.hasOwn(t,r)){let i=t[r];n[r]=(t={})=>i.length===1?i(t):i(e,t)}for(let e of[`extractEvent`,`extractEvents`])Object.hasOwn(t,e)&&(n[e]=t[e]);return n}Ad();async function kh(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=kd({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a}),s=await e.request({method:`eth_getCode`,params:[t,o]},{dedupe:typeof r==`bigint`||n!==void 0});if(s!==`0x`)return s}pd(),wi(),k(),em(),Yu(),Pi(),Bt(),Wi(),Rn();function Ah(e){let{authorizationList:t}=e;if(t)for(let e of t){let{chainId:t}=e,n=e.address;if(!ji(n))throw new Ci({address:n});if(t<0)throw new $p({chainId:t})}Mh(e)}function jh(e){let{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new zd;for(let e of t){let t=zt(e),n=Ln(zi(e,0,1));if(t!==32)throw new Bd({hash:e,size:t});if(n!==1)throw new Vd({hash:e,version:n})}}Mh(e)}function Mh(e){let{chainId:t,maxPriorityFeePerGas:n,maxFeePerGas:r,to:i}=e;if(t<=0)throw new $p({chainId:t});if(i&&!ji(i))throw new Ci({address:i});if(r&&r>fd)throw new Ru({maxFeePerGas:r});if(n&&r&&n>r)throw new qu({maxFeePerGas:r,maxPriorityFeePerGas:n})}function Nh(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(t<=0)throw new $p({chainId:t});if(a&&!ji(a))throw new Ci({address:a});if(n||i)throw new O(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.\");if(r&&r>fd)throw new Ru({maxFeePerGas:r})}function Ph(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(a&&!ji(a))throw new Ci({address:a});if(t!==void 0&&t<=0)throw new $p({chainId:t});if(n||i)throw new O(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.\");if(r&&r>fd)throw new Ru({maxFeePerGas:r})}wi(),Mo(),Pi();function Fh(e){if(!e||e.length===0)return[];let t=[];for(let n=0;n<e.length;n++){let{address:r,storageKeys:i}=e[n];for(let e=0;e<i.length;e++)if(i[e].length-2!=64)throw new Eo({storageKey:i[e]});if(!ji(r,{strict:!1}))throw new Ci({address:r});t.push([r,i])}return t}Mo(),Ri(),Pn(),M();function Ih(e,t){let n=Wd(e);return n===`eip1559`?zh(e,t):n===`eip2930`?Bh(e,t):n===`eip4844`?Rh(e,t):n===`eip7702`?Lh(e,t):Vh(e,t)}function Lh(e,t){let{authorizationList:n,chainId:r,gas:i,nonce:a,to:o,value:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;Ah(e);let f=Fh(u),p=Uh(n);return Li([`0x04`,ku([j(r),a?j(a):`0x`,l?j(l):`0x`,c?j(c):`0x`,i?j(i):`0x`,o??`0x`,s?j(s):`0x`,d??`0x`,f,p,...Hh(e,t)])])}function Rh(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerBlobGas:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;jh(e);let f=e.blobVersionedHashes,p=e.sidecars;if(e.blobs&&(f===void 0||p===void 0)){let t=typeof e.blobs[0]==`string`?e.blobs:e.blobs.map(e=>Vn(e)),n=e.kzg,r=Md({blobs:t,kzg:n});f===void 0&&(f=Ld({commitments:r})),p===void 0&&(p=Ud({blobs:t,commitments:r,proofs:Nd({blobs:t,commitments:r,kzg:n})}))}let m=Fh(u),h=[j(n),i?j(i):`0x`,l?j(l):`0x`,c?j(c):`0x`,r?j(r):`0x`,a??`0x`,o?j(o):`0x`,d??`0x`,m,s?j(s):`0x`,f??[],...Hh(e,t)],g=[],_=[],v=[];if(p)for(let e=0;e<p.length;e++){let{blob:t,commitment:n,proof:r}=p[e];g.push(t),_.push(n),v.push(r)}return Li([`0x03`,ku(p?[h,g,_,v]:h)])}function zh(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerGas:s,maxPriorityFeePerGas:c,accessList:l,data:u}=e;Mh(e);let d=Fh(l);return Li([`0x02`,ku([j(n),i?j(i):`0x`,c?j(c):`0x`,s?j(s):`0x`,r?j(r):`0x`,a??`0x`,o?j(o):`0x`,u??`0x`,d,...Hh(e,t)])])}function Bh(e,t){let{chainId:n,gas:r,data:i,nonce:a,to:o,value:s,accessList:c,gasPrice:l}=e;Nh(e);let u=Fh(c);return Li([`0x01`,ku([j(n),a?j(a):`0x`,l?j(l):`0x`,r?j(r):`0x`,o??`0x`,s?j(s):`0x`,i??`0x`,u,...Hh(e,t)])])}function Vh(e,t){let{chainId:n=0,gas:r,data:i,nonce:a,to:o,value:s,gasPrice:c}=e;Ph(e);let l=[a?j(a):`0x`,c?j(c):`0x`,r?j(r):`0x`,o??`0x`,s?j(s):`0x`,i??`0x`];if(t){let e=(()=>{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(n>0)return BigInt(n*2)+BigInt(35n+t.v-27n);let e=27n+(t.v===27n?0n:1n);if(t.v!==e)throw new xo({v:t.v});return e})(),r=Nn(t.r),i=Nn(t.s);l=[...l,j(e),r===`0x00`?`0x`:r,i===`0x00`?`0x`:i]}else n>0&&(l=[...l,j(n),`0x`,`0x`]);return ku(l)}function Hh(e,t){let n=t??e,{v:r,yParity:i}=n;if(n.r===void 0||n.s===void 0||r===void 0&&i===void 0)return[];let a=Nn(n.r),o=Nn(n.s);return[typeof i==`number`?i?j(1):`0x`:r===0n?`0x`:r===1n?j(1):r===27n?`0x`:j(1),a===`0x00`?`0x`:a,o===`0x00`?`0x`:o]}M();function Uh(e){if(!e||e.length===0)return[];let t=[];for(let n of e){let{chainId:e,nonce:r,...i}=n,a=n.address;t.push([e?zn(e):`0x`,a,r?zn(r):`0x`,...Hh({},i)])}return t}Ai(),tf();async function Wh({address:e,authorization:t,signature:n}){return ef(Oi(e),await Fu({authorization:t,signature:n}))}Ei();let Gh=new Ti(8192);function Kh(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(Gh.get(n))return Gh.get(n);let r=e().finally(()=>Gh.delete(n));return Gh.set(n,r),r}k(),Yo(),Es(),Lo(),Qa();function qh(e,t={}){return async(n,r={})=>{let{dedupe:i=!1,methods:a,retryDelay:o=150,retryCount:s=3,signal:c,uid:l}={...t,...r},{method:u}=n;if(a?.exclude?.includes(u)||a?.include&&!a.include.includes(u))throw new cs(Error(`method not supported`),{method:u});if(c?.aborted)throw No(c);return Kh(()=>mh(async()=>{try{return await e(n,c?{signal:c}:void 0)}catch(e){if(c?.aborted)throw No(c);if(Po(e))throw e;let t=e;switch(t.code){case $o.code:throw new $o(t);case es.code:throw new es(t);case ts.code:throw new ts(t,{method:n.method});case ns.code:throw new ns(t);case rs.code:throw new rs(t);case is.code:throw new is(t);case as.code:throw new as(t);case os.code:throw new os(t);case ss.code:throw new ss(t);case cs.code:throw new cs(t,{method:n.method});case ls.code:throw new ls(t);case us.code:throw new us(t);case ds.code:throw new ds(t);case fs.code:throw new fs(t);case ps.code:throw new ps(t);case ms.code:throw new ms(t);case hs.code:throw new hs(t);case gs.code:throw new gs(t);case _s.code:throw new _s(t);case vs.code:throw new vs(t);case ys.code:throw new ys(t);case bs.code:throw new bs(t);case xs.code:throw new xs(t);case Ss.code:throw new Ss(t);case Cs.code:throw new Cs(t);case 5e3:throw new ds(t);case ws.code:throw new ws(t);default:throw e instanceof O?e:new Ts(t)}}},{delay:({count:e,error:t})=>{if(t&&t instanceof Go){let e=t?.headers?.get(`Retry-After`);if(e?.match(/\\d/))return Number.parseInt(e,10)*1e3}return~~(1<<e)*o},retryCount:s,signal:c,shouldRetry:({error:e})=>Jh(e)}),{enabled:i,id:i?Yh(`${l}.${Za(n)}`):void 0})}}function Jh(e){return Po(e)?!1:`code`in e&&typeof e.code==`number`?e.code===-1||e.code===ls.code||e.code===rs.code||e.code===429:e instanceof Go&&e.status?e.status===403||e.status===408||e.status===413||e.status===429||e.status===500||e.status===502||e.status===503||e.status===504:!0}function Yh(e,t=0){let n=3735928559^t,r=1103547991^t;for(let t=0;t<e.length;t++){let i=e.charCodeAt(t);n=Math.imul(n^i,2654435761),r=Math.imul(r^i,1597334677)}return n=Math.imul(n^n>>>16,2246822507),n^=Math.imul(r^r>>>16,3266489909),r=Math.imul(r^r>>>16,2246822507),r^=Math.imul(n^n>>>16,3266489909),(4294967296*(2097151&r)+(n>>>0)).toString(36)}function Xh(e){let t={formatters:void 0,fees:void 0,serializers:void 0,...e};function n(e){return t=>{let r=typeof t==`function`?t(e):t,i={...e,...r};return Object.assign(i,{extend:n(i)})}}return Object.assign(t,{extend:n(t)})}function Zh(){return{}}k(),Mn(),Aa(),$n(),M();let Qh=1024;function $h(e,t=`hex`){let n=Oa((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new Dn(e);return Jn(e)}return e})(),{recursiveReadLimit:1/0}),r=eg(n,t);if(n.position<n.bytes.length)throw new An({count:n.bytes.length-n.position});return r}function eg(e,t=`hex`,n=0){if(n>=Qh)throw new On({limit:Qh});if(e.bytes.length===0)return t===`hex`?Vn(e.bytes):e.bytes;let r=e.readByte();if(r<128&&e.decrementPosition(1),r<192){let n=tg(e,r,128),i=e.readBytes(n);return t===`hex`?Vn(i):i}return ng(e,tg(e,r,192),t,n+1)}function tg(e,t,n){if(n===128&&t<128)return 1;if(t<=n+55)return t-n;if(t===n+55+1)return e.readUint8();if(t===n+55+2)return e.readUint16();if(t===n+55+3)return e.readUint24();if(t===n+55+4)return e.readUint32();throw new O(`Invalid RLP prefix`)}function ng(e,t,n,r){let i=e.position,a=[];for(;e.position-i<t;)a.push(eg(e,n,r));if(e.position-i!==t)throw new kn({consumed:e.position-i,declared:t});return a}Rt(),Bt();function rg(e){return D(e)&&zt(e)===32}Lo();function ig(e,{errorInstance:t=Error(`timed out`),timeout:n,signal:r}){return new Promise((i,a)=>{(async()=>{let o,s=new AbortController;try{n>0&&(o=setTimeout(()=>{r?s.abort():a(t)},n)),i(await e({signal:s?.signal||null}))}catch(e){if(s?.signal.aborted&&Po(e)){a(t);return}a(e)}finally{clearTimeout(o)}})()})}function ag(){return{current:0,take(){return this.current++},reset(){this.current=0}}}let og=ag();Yo(),Lo(),Qa();function sg(e,t={}){let{url:n,headers:r}=lg(e);return{async request(e){let{body:i,fetchFn:a=t.fetchFn??fetch,maxResponseBodySize:o=t.maxResponseBodySize??10485760,onRequest:s=t.onRequest,onResponse:c=t.onResponse,timeout:l=t.timeout??1e4}=e,u={...t.fetchOptions??{},...e.fetchOptions??{}},{headers:d,method:f,signal:p}=u;try{let e=await ig(async({signal:e})=>{let t={...u,body:Za(Array.isArray(i)?i.map(e=>({jsonrpc:`2.0`,id:e.id??og.take(),...e})):{jsonrpc:`2.0`,id:i.id??og.take(),...i}),headers:{...r,\"Content-Type\":`application/json`,...d},method:f||`POST`,signal:p||(l>0?e:null)},o=new Request(n,t),c=await s?.(o,t)??{...t,url:n};return await a(c.url??n,c)},{errorInstance:new Jo({body:i,url:n}),timeout:l,signal:!0});c&&await c(e);let t,m=await cg(e,{maxResponseBodySize:o});if(e.headers.get(`Content-Type`)?.startsWith(`application/json`))t=JSON.parse(m);else{t=m;try{t=JSON.parse(t||`{}`)}catch(n){if(e.ok)throw n;t={error:t}}}if(!e.ok){if(typeof t.error?.code==`number`&&typeof t.error?.message==`string`)return t;throw new Go({body:i,details:Za(t.error)||e.statusText,headers:e.headers,status:e.status,url:n})}return t}catch(e){throw p?.aborted?No(p):Po(e)||e instanceof Go||e instanceof Ko||e instanceof Jo?e:new Go({body:i,cause:e,url:n})}}}}async function cg(e,{maxResponseBodySize:t}){if(t===!1)return e.text();let n=e.headers.get(`Content-Length`);if(n){let e=Number(n);if(e>t)throw new Ko({maxSize:t,size:e})}if(!e.body){let n=await e.text(),r=new TextEncoder().encode(n).length;if(r>t)throw new Ko({maxSize:t,size:r});return n}let r=e.body.getReader(),i=new TextDecoder,a=``,o=0;try{for(;;){let{done:e,value:n}=await r.read();if(e)break;if(o+=n.byteLength,o>t)throw await r.cancel(),new Ko({maxSize:t,size:o});a+=i.decode(n,{stream:!0})}return a+=i.decode(),a}finally{r.releaseLock()}}function lg(e){try{let t=new URL(e),n=(()=>{if(t.username){let e=`${decodeURIComponent(t.username)}:${decodeURIComponent(t.password)}`;return t.username=``,t.password=``,{url:t.toString(),headers:{Authorization:`Basic ${btoa(e)}`}}}})();return{url:t.toString(),...n}}catch{return{url:e}}}Ri(),Bt(),M();function ug(e){let t=typeof e==`string`?Hn(e):typeof e.raw==`string`?e.raw:Vn(e.raw);return Fi([Hn(`\u0019Ethereum Signed Message:\n${zt(t)}`),t])}di();function dg(e,t){return ui(ug(e),t)}Qa(),k();var fg=class extends O{constructor({domain:e}){super(`Invalid domain \"${Za(e)}\".`,{metaMessages:[`Must be a valid EIP-712 domain.`]})}},pg=class extends O{constructor({primaryType:e,types:t}){super(`Invalid primary type \\`${e}\\` must be one of \\`${JSON.stringify(Object.keys(t))}\\`.`,{docsPath:`/api/glossary/Errors#typeddatainvalidprimarytypeerror`,metaMessages:[\"Check that the primary type is a key in `types`.\"]})}},mg=class extends O{constructor({type:e}){super(`Struct type \"${e}\" is invalid.`,{metaMessages:[`Struct type must not be a Solidity type.`],name:`InvalidStructTypeError`})}};hn(),wi(),Pi(),Bt(),M(),qi(),Qa();function hg(e){let{domain:t,message:n,primaryType:r,types:i}=e,a=(e,t)=>{let n={...t};for(let t of e){let{name:e,type:r}=t;r===`address`&&(n[e]=n[e].toLowerCase())}return n};return Za({domain:!i.EIP712Domain||!t?{}:a(i.EIP712Domain,t),message:(()=>{if(r!==`EIP712Domain`)return a(i[r],n)})(),primaryType:r,types:i})}function gg(e){let{domain:t,message:n,primaryType:r,types:i}=e,a=(e,t)=>{for(let n of e){let{name:e,type:r}=n,o=t[e],s=r.match(Ki);if(s&&(typeof o==`number`||typeof o==`bigint`)){let[e,t,n]=s;j(o,{signed:t===`int`,size:Number.parseInt(n,10)/8})}if(r===`address`&&typeof o==`string`&&!ji(o))throw new Ci({address:o});let c=r.match(Gi);if(c){let[e,t]=c;if(t&&zt(o)!==Number.parseInt(t,10))throw new cn({expectedSize:Number.parseInt(t,10),givenSize:zt(o)})}let l=i[r];l&&(vg(r),a(l,o))}};if(i.EIP712Domain&&t){if(typeof t!=`object`)throw new fg({domain:t});a(i.EIP712Domain,t)}if(r!==`EIP712Domain`)if(i[r])a(i[r],n);else throw new pg({primaryType:r,types:i})}function _g({domain:e}){return[typeof e?.name==`string`&&{name:`name`,type:`string`},e?.version&&{name:`version`,type:`string`},(typeof e?.chainId==`number`||typeof e?.chainId==`bigint`)&&{name:`chainId`,type:`uint256`},e?.verifyingContract&&{name:`verifyingContract`,type:`address`},e?.salt&&{name:`salt`,type:`bytes32`}].filter(Boolean)}function vg(e){if(e===`address`||e===`bool`||e===`string`||e.startsWith(`bytes`)||e.startsWith(`uint`)||e.startsWith(`int`))throw new mg({type:e})}sa(),Ri(),M(),di();function yg(e){let{domain:t={},message:n,primaryType:r}=e,i={EIP712Domain:_g({domain:t}),...e.types};gg({domain:t,message:n,primaryType:r,types:i});let a=[`0x1901`];return t&&a.push(bg({domain:t,types:i})),r!==`EIP712Domain`&&a.push(xg({data:n,primaryType:r,types:i})),ui(Fi(a))}function bg({domain:e,types:t}){return xg({data:e,primaryType:`EIP712Domain`,types:t})}function xg({data:e,primaryType:t,types:n}){return ui(Sg({data:e,primaryType:t,types:n}))}function Sg({data:e,primaryType:t,types:n}){let r=[{type:`bytes32`}],i=[Cg({primaryType:t,types:n})];for(let a of n[t]){let[t,o]=Eg({types:n,name:a.name,type:a.type,value:e[a.name]});r.push(t),i.push(o)}return Ji(r,i)}function Cg({primaryType:e,types:t}){return ui(zn(wg({primaryType:e,types:t})))}function wg({primaryType:e,types:t}){let n=``,r=Tg({primaryType:e,types:t});r.delete(e);let i=[e,...Array.from(r).sort()];for(let e of i)n+=`${e}(${t[e].map(({name:e,type:t})=>`${t} ${e}`).join(`,`)})`;return n}function Tg({primaryType:e,types:t},n=new Set){let r=e.match(/^\\w*/u)?.[0];if(n.has(r)||t[r]===void 0)return n;n.add(r);for(let e of t[r])Tg({primaryType:e.type,types:t},n);return n}function Eg({types:e,name:t,type:n,value:r}){if(e[n]!==void 0)return[{type:`bytes32`},ui(Sg({data:r,primaryType:n,types:e}))];if(n===`bytes`)return[{type:`bytes32`},ui(r)];if(n===`string`)return[{type:`bytes32`},ui(zn(r))];if(n.lastIndexOf(`]`)===n.length-1){let i=n.slice(0,n.lastIndexOf(`[`)),a=r.map(n=>Eg({name:t,type:i,types:e,value:n}));return[{type:`bytes32`},ui(Ji(a.map(([e])=>e),a.map(([,e])=>e)))]}return[{type:n},r]}var Dg=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...i?[`Docs: https://abitype.dev${i}`]:[],...r?[`Details: ${r}`]:[],`Version: abitype@1.2.4`].join(`\n`);super(a),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsPath\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"metaMessages\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"shortMessage\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiTypeError`}),n.cause&&(this.cause=n.cause),this.details=r,this.docsPath=i,this.metaMessages=n.metaMessages,this.shortMessage=t}};function Og(e,t){return e.exec(t)?.groups}let kg=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Ag=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,jg=/^\\(.+?\\).*?$/,Mg=/^tuple(?<array>(\\[(\\d*)\\])*)$/;function Ng(e){let t=e.type;if(Mg.test(e.type)&&`components`in e){t=`(`;let n=e.components.length;for(let r=0;r<n;r++){let i=e.components[r];t+=Ng(i),r<n-1&&(t+=`, `)}let r=Og(Mg,e.type);return t+=`)${r?.array||``}`,Ng({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function Pg(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=Ng(i),r!==n-1&&(t+=`, `)}return t}function Fg(e){return e.type===`function`?`function ${e.name}(${Pg(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${Pg(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${Pg(e.inputs)})`:e.type===`error`?`error ${e.name}(${Pg(e.inputs)})`:e.type===`constructor`?`constructor(${Pg(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}let Ig=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/;function Lg(e){return Ig.test(e)}function Rg(e){return Og(Ig,e)}let zg=new Set([`memory`,`indexed`,`storage`,`calldata`]),Bg=new Set([`calldata`,`memory`,`storage`]);var Vg=class extends Dg{constructor({type:e}){super(`Unknown type.`,{metaMessages:[`Type \"${e}\" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownTypeError`})}},Hg=class extends Dg{constructor({type:e}){super(`Unknown type.`,{metaMessages:[`Type \"${e}\" is not a valid ABI type.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownSolidityTypeError`})}},Ug=class extends Dg{constructor({params:e}){super(`Failed to parse ABI parameters.`,{details:`parseAbiParameters(${JSON.stringify(e,null,2)})`,docsPath:`/api/human#parseabiparameters-1`}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidAbiParametersError`})}},Wg=class extends Dg{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},Gg=class extends Dg{constructor({param:e,name:t}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`\"${t}\" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SolidityProtectedKeywordError`})}},Kg=class extends Dg{constructor({param:e,type:t,modifier:n}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`Modifier \"${n}\" not allowed${t?` in \"${t}\" type`:``}.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidModifierError`})}},qg=class extends Dg{constructor({param:e,type:t,modifier:n}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`Modifier \"${n}\" not allowed${t?` in \"${t}\" type`:``}.`,`Data location can only be specified for array, struct, or mapping types, but \"${n}\" was given.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidFunctionModifierError`})}},Jg=class extends Dg{constructor({abiParameter:e}){super(`Invalid ABI parameter.`,{details:JSON.stringify(e,null,2),metaMessages:[`ABI parameter type is invalid.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidAbiTypeParameterError`})}},Yg=class extends Dg{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},Xg=class extends Dg{constructor({signature:e}){super(`Invalid struct signature.`,{details:e,metaMessages:[`No properties exist.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidStructSignatureError`})}},Zg=class extends Dg{constructor({type:e}){super(`Circular reference detected.`,{metaMessages:[`Struct \"${e}\" is a circular reference.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`CircularReferenceError`})}},Qg=class extends Dg{constructor({current:e,depth:t}){super(`Unbalanced parentheses.`,{metaMessages:[`\"${e.trim()}\" has too many ${t>0?`opening`:`closing`} parentheses.`],details:`Depth \"${t}\"`}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParenthesisError`})}};function $g(e,t,n){let r=``;if(n)for(let e of Object.entries(n)){if(!e)continue;let t=``;for(let n of e[1])t+=`[${n.type}${n.name?`:${n.name}`:``}]`;r+=`(${e[0]}{${t}})`}return t?`${t}:${e}${r}`:`${e}${r}`}let e_=new Map([[`address`,{type:`address`}],[`bool`,{type:`bool`}],[`bytes`,{type:`bytes`}],[`bytes32`,{type:`bytes32`}],[`int`,{type:`int256`}],[`int256`,{type:`int256`}],[`string`,{type:`string`}],[`uint`,{type:`uint256`}],[`uint8`,{type:`uint8`}],[`uint16`,{type:`uint16`}],[`uint24`,{type:`uint24`}],[`uint32`,{type:`uint32`}],[`uint64`,{type:`uint64`}],[`uint96`,{type:`uint96`}],[`uint112`,{type:`uint112`}],[`uint160`,{type:`uint160`}],[`uint192`,{type:`uint192`}],[`uint256`,{type:`uint256`}],[`address owner`,{type:`address`,name:`owner`}],[`address to`,{type:`address`,name:`to`}],[`bool approved`,{type:`bool`,name:`approved`}],[`bytes _data`,{type:`bytes`,name:`_data`}],[`bytes data`,{type:`bytes`,name:`data`}],[`bytes signature`,{type:`bytes`,name:`signature`}],[`bytes32 hash`,{type:`bytes32`,name:`hash`}],[`bytes32 r`,{type:`bytes32`,name:`r`}],[`bytes32 root`,{type:`bytes32`,name:`root`}],[`bytes32 s`,{type:`bytes32`,name:`s`}],[`string name`,{type:`string`,name:`name`}],[`string symbol`,{type:`string`,name:`symbol`}],[`string tokenURI`,{type:`string`,name:`tokenURI`}],[`uint tokenId`,{type:`uint256`,name:`tokenId`}],[`uint8 v`,{type:`uint8`,name:`v`}],[`uint256 balance`,{type:`uint256`,name:`balance`}],[`uint256 tokenId`,{type:`uint256`,name:`tokenId`}],[`uint256 value`,{type:`uint256`,name:`value`}],[`event:address indexed from`,{type:`address`,name:`from`,indexed:!0}],[`event:address indexed to`,{type:`address`,name:`to`,indexed:!0}],[`event:uint indexed tokenId`,{type:`uint256`,name:`tokenId`,indexed:!0}],[`event:uint256 indexed tokenId`,{type:`uint256`,name:`tokenId`,indexed:!0}]]),t_=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*(?:\\spayable)?)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,n_=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,r_=/^u?int$/;function i_(e,t){let n=$g(e,t?.type,t?.structs);if(e_.has(n))return e_.get(n);let r=jg.test(e),i=Og(r?n_:t_,e);if(!i)throw new Wg({param:e});if(i.name&&c_(i.name))throw new Gg({param:e,name:i.name});let a=i.name?{name:i.name}:{},o=i.modifier===`indexed`?{indexed:!0}:{},s=t?.structs??{},c,l={};if(r){c=`tuple`;let e=a_(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(i_(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(r_.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!o_(c))throw new Hg({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new Kg({param:e,type:t?.type,modifier:i.modifier});if(Bg.has(i.modifier)&&!l_(c,!!i.array))throw new qg({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return e_.set(n,u),u}function a_(e,t=[],n=``,r=0){let i=e.trim().length;for(let a=0;a<i;a++){let i=e[a],o=e.slice(a+1);switch(i){case`,`:return r===0?a_(o,[...t,n.trim()]):a_(o,t,`${n}${i}`,r);case`(`:return a_(o,t,`${n}${i}`,r+1);case`)`:return a_(o,t,`${n}${i}`,r-1);default:return a_(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new Qg({current:n,depth:r});return t.push(n.trim()),t}function o_(e){return e===`address`||e===`bool`||e===`function`||e===`string`||kg.test(e)||Ag.test(e)}let s_=/^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/;function c_(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||kg.test(e)||Ag.test(e)||s_.test(e)}function l_(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}function u_(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!Lg(n))continue;let i=Rg(n);if(!i)throw new Yg({signature:n,type:`struct`});let a=i.properties.split(`;`),o=[],s=a.length;for(let e=0;e<s;e++){let t=a[e].trim();if(!t)continue;let n=i_(t,{type:`struct`});o.push(n)}if(!o.length)throw new Xg({signature:n});t[i.name]=o}let r={},i=Object.entries(t),a=i.length;for(let e=0;e<a;e++){let[n,a]=i[e];r[n]=f_(a,t)}return r}let d_=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/;function f_(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(jg.test(i.type))r.push(i);else{let e=Og(d_,i.type);if(!e?.type)throw new Jg({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new Zg({type:o});r.push({...i,type:`tuple${a??``}`,components:f_(t[o],t,new Set([...n,o]))})}else if(o_(o))r.push(i);else throw new Vg({type:o})}}return r}function p_(e){let t=[];if(typeof e==`string`){let n=a_(e),r=n.length;for(let e=0;e<r;e++)t.push(i_(n[e],{modifiers:zg}))}else{let n=u_(e),r=e.length;for(let i=0;i<r;i++){let r=e[i];if(Lg(r))continue;let a=a_(r),o=a.length;for(let e=0;e<o;e++)t.push(i_(a[e],{modifiers:zg,structs:n}))}}if(t.length===0)throw new Ug({params:e});return t}let m_={checksum:new class extends Map{constructor(e){super(),Object.defineProperty(this,\"maxSize\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let t=super.get(e);return super.has(e)&&t!==void 0&&(this.delete(e),super.set(e,t)),t}set(e,t){if(super.set(e,t),this.maxSize&&this.size>this.maxSize){let e=this.keys().next().value;e&&this.delete(e)}return this}}(8192)}.checksum;$s(),li(),cp(),z();function h_(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=ci(zf(e));return n===`Bytes`?r:fp(r)}function g_(e,t,n={}){let{as:r=typeof t==`string`?`Hex`:`Bytes`}=n,i=Qs(Pd,zf(e),zf(t));return r===`Bytes`?i:fp(i)}function __(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=Pd(zf(e));return n===`Bytes`?r:fp(r)}function v_(e){return Sp(e)&&R(e)===32}cp(),_f(),z(),If();function y_(e,t={}){let{compressed:n}=t,{prefix:r,x:i,y:a}=e;if(n===!1||typeof i==`bigint`&&typeof a==`bigint`){if(r!==4)throw new E_({prefix:r,cause:new O_});return}if(n===!0||typeof i==`bigint`&&a===void 0){if(r!==3&&r!==2)throw new E_({prefix:r,cause:new D_});return}throw new T_({publicKey:e})}function b_(e){let t=(()=>{if(Sp(e))return S_(e);if(ep(e))return x_(e);let{prefix:t,x:n,y:r}=e;return typeof n==`bigint`&&typeof r==`bigint`?{prefix:t??4,x:n,y:r}:{prefix:t,x:n}})();return y_(t),t}function x_(e){return S_(fp(e))}function S_(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new k_({publicKey:e});return e.length===130?{prefix:4,x:BigInt(L(e,0,32)),y:BigInt(L(e,32,64))}:e.length===132?{prefix:Number(L(e,0,1)),x:BigInt(L(e,1,33)),y:BigInt(L(e,33,65))}:{prefix:Number(L(e,0,1)),x:BigInt(L(e,1,33))}}function C_(e,t={}){return Vf(w_(e,t))}function w_(e,t={}){y_(e);let{prefix:n,x:r,y:i}=e,{includePrefix:a=!0}=t;return F(a?I(n,{size:1}):`0x`,I(r,{size:32}),typeof i==`bigint`?I(i,{size:32}):`0x`)}var T_=class extends P{constructor({publicKey:e}){super(`Value \\`${Pf(e)}\\` is not a valid public key.`,{metaMessages:[`Public key must contain:`,\"- an `x` and `prefix` value (compressed)\",\"- an `x`, `y`, and `prefix` value (uncompressed)\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidError`})}},E_=class extends P{constructor({prefix:e,cause:t}){super(`Prefix \"${e}\" is invalid.`,{cause:t}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidPrefixError`})}},D_=class extends P{constructor(){super(`Prefix must be 2 or 3 for compressed public keys.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidCompressedPrefixError`})}},O_=class extends P{constructor(){super(`Prefix must be 4 for uncompressed public keys.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidUncompressedPrefixError`})}},k_=class extends P{constructor({publicKey:e}){super(`Value \\`${e}\\` is an invalid public key size.`,{metaMessages:[`Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).`,`Received ${R(up(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidSerializedSizeError`})}};cp(),_f();let A_=/^0x[a-fA-F0-9]{40}$/;function j_(e,t={}){let{strict:n=!0}=t;if(!A_.test(e))throw new L_({address:e,cause:new R_});if(n){if(e.toLowerCase()===e)return;if(M_(e)!==e)throw new L_({address:e,cause:new z_})}}function M_(e){if(m_.has(e))return m_.get(e);j_(e,{strict:!1});let t=e.substring(2).toLowerCase(),n=h_(Hf(t),{as:`Bytes`}),r=t.split(``);for(let e=0;e<40;e+=2)n[e>>1]>>4>=8&&r[e]&&(r[e]=r[e].toUpperCase()),(n[e>>1]&15)>=8&&r[e+1]&&(r[e+1]=r[e+1].toUpperCase());let i=`0x${r.join(``)}`;return m_.set(e,i),i}function N_(e,t={}){let{checksum:n=!1}=t;return j_(e),n?M_(e):e}function P_(e,t={}){return N_(`0x${h_(`0x${w_(e).slice(4)}`).substring(26)}`,t)}function F_(e,t){return j_(e,{strict:!1}),j_(t,{strict:!1}),e.toLowerCase()===t.toLowerCase()}function I_(e,t={}){let{strict:n=!0}=t??{};try{return j_(e,{strict:n}),!0}catch{return!1}}var L_=class extends P{constructor({address:e,cause:t}){super(`Address \"${e}\" is invalid.`,{cause:t}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidAddressError`})}},R_=class extends P{constructor(){super(`Address is not a 20 byte (40 hexadecimal character) value.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidInputError`})}},z_=class extends P{constructor(){super(`Address does not match its checksum counterpart.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidChecksumError`})}};let B_=/^(.*)\\[([0-9]*)\\]$/,V_=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,H_=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;2n**(8n-1n)-1n,2n**(16n-1n)-1n,2n**(24n-1n)-1n,2n**(32n-1n)-1n,2n**(40n-1n)-1n,2n**(48n-1n)-1n,2n**(56n-1n)-1n,2n**(64n-1n)-1n,2n**(72n-1n)-1n,2n**(80n-1n)-1n,2n**(88n-1n)-1n,2n**(96n-1n)-1n,2n**(104n-1n)-1n,2n**(112n-1n)-1n,2n**(120n-1n)-1n,2n**(128n-1n)-1n,2n**(136n-1n)-1n,2n**(144n-1n)-1n,2n**(152n-1n)-1n,2n**(160n-1n)-1n,2n**(168n-1n)-1n,2n**(176n-1n)-1n,2n**(184n-1n)-1n,2n**(192n-1n)-1n,2n**(200n-1n)-1n,2n**(208n-1n)-1n,2n**(216n-1n)-1n,2n**(224n-1n)-1n,2n**(232n-1n)-1n,2n**(240n-1n)-1n,2n**(248n-1n)-1n,2n**(256n-1n)-1n,-(2n**(8n-1n)),-(2n**(16n-1n)),-(2n**(24n-1n)),-(2n**(32n-1n)),-(2n**(40n-1n)),-(2n**(48n-1n)),-(2n**(56n-1n)),-(2n**(64n-1n)),-(2n**(72n-1n)),-(2n**(80n-1n)),-(2n**(88n-1n)),-(2n**(96n-1n)),-(2n**(104n-1n)),-(2n**(112n-1n)),-(2n**(120n-1n)),-(2n**(128n-1n)),-(2n**(136n-1n)),-(2n**(144n-1n)),-(2n**(152n-1n)),-(2n**(160n-1n)),-(2n**(168n-1n)),-(2n**(176n-1n)),-(2n**(184n-1n)),-(2n**(192n-1n)),-(2n**(200n-1n)),-(2n**(208n-1n)),-(2n**(216n-1n)),-(2n**(224n-1n)),-(2n**(232n-1n)),-(2n**(240n-1n)),-(2n**(248n-1n)),-(2n**(256n-1n));let U_=2n**256n-1n;cp(),_f(),z();function W_(e,t,n){let{checksumAddress:r,staticPosition:i}=n,a=cv(t.type);if(a){let[n,o]=a;return K_(e,{...t,type:o},{checksumAddress:r,length:n,staticPosition:i})}if(t.type===`tuple`)return X_(e,t,{checksumAddress:r,staticPosition:i});if(t.type===`address`)return G_(e,{checksum:r});if(t.type===`bool`)return q_(e);if(t.type.startsWith(`bytes`))return J_(e,t,{staticPosition:i});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return Y_(e,t);if(t.type===`string`)return Z_(e,{staticPosition:i});throw new Tv(t.type)}function G_(e,t={}){let{checksum:n=!1}=t;return[(e=>n?M_(e):e)(fp(qf(e.readBytes(32),-20))),32]}function K_(e,t,n){let{checksumAddress:r,length:i,staticPosition:a}=n;if(i===null){let n=a+Xf(e.readBytes(32)),i=n+32;e.setPosition(n);let o=Xf(e.readBytes(32)),s=lv(t),c=0,l=[];for(let n=0;n<o;++n){e.setPosition(i+(s?n*32:c));let[a,o]=W_(e,t,{checksumAddress:r,staticPosition:i});c+=o,l.push(a),o===0&&(e.assertReadLimit(),e._touch())}return e.setPosition(a+32),[l,32]}if(lv(t)){let n=a+Xf(e.readBytes(32)),o=[];for(let a=0;a<i;++a){e.setPosition(n+a*32);let[i]=W_(e,t,{checksumAddress:r,staticPosition:n});o.push(i)}return e.setPosition(a+32),[o,32]}let o=0,s=[];for(let n=0;n<i;++n){let[n,i]=W_(e,t,{checksumAddress:r,staticPosition:a+o});o+=i,s.push(n),i===0&&(e.assertReadLimit(),e._touch())}return[s,o]}function q_(e){return[Yf(e.readBytes(32),{size:32}),32]}function J_(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=Xf(e.readBytes(32));e.setPosition(n+t);let r=Xf(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[fp(i),32]}return[fp(e.readBytes(Number.parseInt(i,10),32)),32]}function Y_(e,t){let n=t.type.startsWith(`int`),r=Number.parseInt(t.type.split(`int`)[1]||`256`,10),i=e.readBytes(32);return[r>48?Jf(i,{signed:n}):Xf(i,{signed:n}),32]}function X_(e,t,n){let{checksumAddress:r,staticPosition:i}=n,a=t.components.length===0||t.components.some(({name:e})=>!e),o=a?[]:{},s=0;if(lv(t)){let n=i+Xf(e.readBytes(32));for(let i=0;i<t.components.length;++i){let c=t.components[i];e.setPosition(n+s);let[l,u]=W_(e,c,{checksumAddress:r,staticPosition:n});s+=u,o[a?i:c?.name]=l}return e.setPosition(i+32),[o,32]}for(let n=0;n<t.components.length;++n){let c=t.components[n],[l,u]=W_(e,c,{checksumAddress:r,staticPosition:i});o[a?n:c?.name]=l,s+=u}return[o,s]}function Z_(e,{staticPosition:t}){let n=t+Xf(e.readBytes(32));e.setPosition(n);let r=Xf(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Zf(Qf(e.readBytes(r,32)));return e.setPosition(t+32),[i,32]}function Q_({checksumAddress:e,parameters:t,values:n}){let r=[];for(let i=0;i<t.length;i++)r.push($_({checksumAddress:e,parameter:t[i],value:n[i]}));return r}function $_({checksumAddress:e=!1,parameter:t,value:n}){let r=t,i=cv(r.type);if(i){let[t,a]=i;return nv(n,{checksumAddress:e,length:t,parameter:{...r,type:a}})}if(r.type===`tuple`)return sv(n,{checksumAddress:e,parameter:r});if(r.type===`address`)return tv(n,{checksum:e});if(r.type===`bool`)return iv(n);if(r.type.startsWith(`uint`)||r.type.startsWith(`int`)){let e=r.type.startsWith(`int`),[,,t=`256`]=H_.exec(r.type)??[];return av(n,{signed:e,size:Number(t)})}if(r.type.startsWith(`bytes`))return rv(n,{type:r.type});if(r.type===`string`)return ov(n);throw new Tv(r.type)}function ev(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];r?t+=32:t+=R(i)}let n=[],r=[],i=0;for(let a=0;a<e.length;a++){let{dynamic:o,encoded:s}=e[a];o?(n.push(I(t+i,{size:32})),r.push(s),i+=R(s)):n.push(s)}return F(...n,...r)}function tv(e,t){let{checksum:n=!1}=t;return j_(e,{strict:n}),{dynamic:!1,encoded:mp(e.toLowerCase())}}function nv(e,t){let{checksumAddress:n,length:r,parameter:i}=t,a=r===null;if(!Array.isArray(e))throw new wv(e);if(!a&&e.length!==r)throw new xv({expectedLength:r,givenLength:e.length,type:`${i.type}[${r}]`});let o=e.length===0&&lv(i),s=[];for(let t=0;t<e.length;t++){let r=$_({checksumAddress:n,parameter:i,value:e[t]});r.dynamic&&(o=!0),s.push(r)}if(a||o){let e=ev(s);if(a){let t=I(s.length,{size:32});return{dynamic:!0,encoded:s.length>0?F(t,e):t}}if(o)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:F(...s.map(({encoded:e})=>e))}}function rv(e,{type:t}){let[,n]=t.split(`bytes`),r=R(e);if(!n){let t=e;return r%32!=0&&(t=hp(t,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:F(mp(I(r,{size:32})),t)}}if(r!==Number.parseInt(n,10))throw new Sv({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:hp(e)}}function iv(e){if(typeof e!=`boolean`)throw new P(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:mp(dp(e))}}function av(e,{signed:t,size:n}){if(typeof n==`number`){let r=2n**(BigInt(n)-(t?1n:0n))-1n,i=t?-r-1n:0n;if(e>r||e<i)throw new Tp({max:r.toString(),min:i.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:I(e,{size:32,signed:t})}}function ov(e){let t=pp(e),n=Math.ceil(R(t)/32),r=[];for(let e=0;e<n;e++)r.push(hp(L(t,e*32,(e+1)*32)));return{dynamic:!0,encoded:F(hp(I(R(t),{size:32})),...r)}}function sv(e,t){let{checksumAddress:n,parameter:r}=t,i=!1,a=[];for(let t=0;t<r.components.length;t++){let o=r.components[t],s=$_({checksumAddress:n,parameter:o,value:e[Array.isArray(e)?t:o.name]});a.push(s),s.dynamic&&(i=!0)}return{dynamic:i,encoded:i?ev(a):F(...a.map(({encoded:e})=>e))}}function cv(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function lv(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(lv);let n=cv(e.type);return!!(n&&lv({...e,type:n[1]}))}_f();let uv={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:1/0,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new mv({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new pv({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new fv({offset:e});let t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new fv({offset:e});let t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){let n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){let t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){let t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){let t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();let n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();let e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();let e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();let e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();let e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){let t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===1/0)return;let e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function dv(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(uv);return n.bytes=e,n.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var fv=class extends P{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.NegativeOffsetError`})}},pv=class extends P{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.PositionOutOfBoundsError`})}},mv=class extends P{constructor({count:e,limit:t}){super(`Recursive read limit of \\`${t}\\` exceeded (recursive read count: \\`${e}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.RecursiveReadLimitExceededError`})}};cp(),_f(),z();function hv(e,t,n={}){let{as:r=`Array`,checksumAddress:i=!1}=n,a=typeof t==`string`?Vf(t):t,o=dv(a);if(Kf(a)===0&&e.length>0)throw new bv;if(Kf(a)&&Kf(a)<32)throw new yv({data:typeof t==`string`?t:fp(t),parameters:e,size:Kf(a)});let s=0,c=r===`Array`?[]:{};for(let t=0;t<e.length;++t){let n=e[t];s<a.length&&o.setPosition(s);let[l,u]=W_(o,n,{checksumAddress:i,staticPosition:0});s+=u,r===`Array`?c.push(l):c[n.name??t]=l}return c}function gv(e,t,n){let{checksumAddress:r=!1}=n??{};if(e.length!==t.length)throw new Cv({expectedLength:e.length,givenLength:t.length});let i=ev(Q_({checksumAddress:r,parameters:e,values:t}));return i.length===0?`0x`:i}function _v(e,t){if(e.length!==t.length)throw new Cv({expectedLength:e.length,givenLength:t.length});let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r];n.push(_v.encode(i,a))}return F(...n)}(function(e){function t(e,n,r=!1){if(e===`address`){let e=n;return j_(e),mp(e.toLowerCase(),r?32:0)}if(e===`string`)return pp(n);if(e===`bytes`)return n;if(e===`bool`)return mp(dp(n),r?32:1);let i=e.match(H_);if(i){let[e,t,a=`256`]=i,o=Number.parseInt(a,10)/8;return I(n,{size:r?32:o,signed:t===`int`})}let a=e.match(V_);if(a){let[e,t]=a;if(Number.parseInt(t,10)!==(n.length-2)/2)throw new Sv({expectedSize:Number.parseInt(t,10),value:n});return hp(n,r?32:0)}let o=e.match(B_);if(o&&Array.isArray(n)){let[e,r]=o,i=[];for(let e=0;e<n.length;e++)i.push(t(r,n[e],!0));return i.length===0?`0x`:F(...i)}throw new Tv(e)}e.encode=t})(_v||={});function vv(e){return Array.isArray(e)&&typeof e[0]==`string`||typeof e==`string`?p_(e):e}var yv=class extends P{constructor({data:e,parameters:t,size:n}){super(`Data size of ${n} bytes is too small for given parameters.`,{metaMessages:[`Params: (${Pg(t)})`,`Data: ${e} (${n} bytes)`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.DataSizeTooSmallError`})}},bv=class extends P{constructor(){super(`Cannot decode zero data (\"0x\") with ABI parameters.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.ZeroDataError`})}},xv=class extends P{constructor({expectedLength:e,givenLength:t,type:n}){super(`Array length mismatch for type \\`${n}\\`. Expected: \\`${e}\\`. Given: \\`${t}\\`.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.ArrayLengthMismatchError`})}},Sv=class extends P{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${R(t)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.BytesSizeMismatchError`})}},Cv=class extends P{constructor({expectedLength:e,givenLength:t}){super([`ABI encoding parameters/values length mismatch.`,`Expected length (parameters): ${e}`,`Given length (values): ${t}`].join(`\n`)),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.LengthMismatchError`})}},wv=class extends P{constructor(e){super(`Value \\`${e}\\` is not a valid array.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.InvalidArrayError`})}},Tv=class extends P{constructor(e){super(`Type \\`${e}\\` is not a valid ABI Type.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.InvalidTypeError`})}};cp(),_f(),z();function Ev(e){return Dv(e,`Hex`)}function Dv(e,t){let n=t??(typeof e==`string`?`Hex`:`Bytes`);return Ov(dv((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new Op(e);return Vf(e)}return e})(),{recursiveReadLimit:1/0}),n)}function Ov(e,t=`Hex`){if(e.bytes.length===0)return t===`Hex`?fp(e.bytes):e.bytes;let n=e.readByte();if(n<128&&e.decrementPosition(1),n<192){let r=kv(e,n,128),i=e.readBytes(r);return t===`Hex`?fp(i):i}return Av(e,kv(e,n,192),t)}function kv(e,t,n){if(n===128&&t<128)return 1;if(t<=n+55)return t-n;if(t===n+55+1)return e.readUint8();if(t===n+55+2)return e.readUint16();if(t===n+55+3)return e.readUint24();if(t===n+55+4)return e.readUint32();throw new P(`Invalid RLP prefix`)}function Av(e,t,n){let r=e.position,i=[];for(;e.position-r<t;)i.push(Ov(e,n));return i}function jv(e,t){let{as:n}=t,r=Nv(e),i=dv(new Uint8Array(r.length));return r.encode(i),n===`Hex`?fp(i.bytes):i.bytes}function Mv(e,t={}){let{as:n=`Hex`}=t;return jv(e,{as:n})}function Nv(e){return Array.isArray(e)?Pv(e.map(e=>Nv(e))):Fv(e)}function Pv(e){let t=e.reduce((e,t)=>e+t.length,0),n=Iv(t);return{length:t<=55?1+t:1+n+t,encode(r){t<=55?r.pushByte(192+t):(r.pushByte(247+n),n===1?r.pushUint8(t):n===2?r.pushUint16(t):n===3?r.pushUint24(t):r.pushUint32(t));for(let{encode:t}of e)t(r)}}}function Fv(e){let t=typeof e==`string`?Vf(e):e,n=Iv(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+n+t.length,encode(e){t.length===1&&t[0]<128?e.pushBytes(t):t.length<=55?(e.pushByte(128+t.length),e.pushBytes(t)):(e.pushByte(183+n),n===1?e.pushUint8(t.length):n===2?e.pushUint16(t.length):n===3?e.pushUint24(t.length):e.pushUint32(t.length),e.pushBytes(t))}}}function Iv(e){if(e<=255)return 1;if(e<=65535)return 2;if(e<=16777215)return 3;if(e<=4294967295)return 4;throw new P(`Length is too large.`)}_f(),z(),If();function Lv(e,t={}){let{recovered:n}=t;if(e.r===void 0||e.s===void 0||n&&e.yParity===void 0)throw new Zv({signature:e});if(e.r<0n||e.r>U_)throw new Qv({value:e.r});if(e.s<0n||e.s>U_)throw new $v({value:e.s});if(typeof e.yParity==`number`&&e.yParity!==0&&e.yParity!==1)throw new ey({value:e.yParity})}function Rv(e){return zv(fp(e))}function zv(e){if(e.length!==130&&e.length!==132)throw new Xv({signature:e});let t=BigInt(L(e,0,32)),n=BigInt(L(e,32,64)),r=(()=>{let t=Number(`0x${e.slice(130)}`);if(!Number.isNaN(t))try{return Jv(t)}catch{throw new ey({value:t})}})();return r===void 0?{r:t,s:n}:{r:t,s:n,yParity:r}}function Bv(e){if(e.r!==void 0&&e.s!==void 0)return Vv(e)}function Vv(e){let t=typeof e==`string`?zv(e):e instanceof Uint8Array?Rv(e):typeof e.r==`string`?Uv(e):e.v?Hv(e):{r:e.r,s:e.s,...e.yParity===void 0?{}:{yParity:e.yParity}};return Lv(t),t}function Hv(e){return{r:e.r,s:e.s,yParity:Jv(e.v)}}function Uv(e){let t=(()=>{let t=e.v?Number(e.v):void 0,n=e.yParity?Number(e.yParity):void 0;if(typeof t==`number`&&typeof n!=`number`&&(n=Jv(t)),typeof n!=`number`)throw new ey({value:e.yParity});return n})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function Wv(e){let[t,n,r]=e;return Vv({r:n===`0x`?0n:BigInt(n),s:r===`0x`?0n:BigInt(r),yParity:t===`0x`?0:Number(t)})}function Gv(e){Lv(e);let t=e.r,n=e.s;return F(I(t,{size:32}),I(n,{size:32}),typeof e.yParity==`number`?I(Yv(e.yParity),{size:1}):`0x`)}function Kv(e){let{r:t,s:n,yParity:r}=e;return{r:I(t,{size:32}),s:I(n,{size:32}),yParity:r===0?`0x0`:`0x1`}}function qv(e){let{r:t,s:n,yParity:r}=e;return[r?`0x01`:`0x`,t===0n?`0x`:_p(I(t)),n===0n?`0x`:_p(I(n))]}function Jv(e){if(e===0||e===27)return 0;if(e===1||e===28)return 1;if(e>=35)return+(e%2==0);throw new ty({value:e})}function Yv(e){if(e===0)return 27;if(e===1)return 28;throw new ey({value:e})}var Xv=class extends P{constructor({signature:e}){super(`Value \\`${e}\\` is an invalid signature size.`,{metaMessages:[`Expected: 64 bytes or 65 bytes.`,`Received ${R(up(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSerializedSizeError`})}},Zv=class extends P{constructor({signature:e}){super(`Signature \\`${Pf(e)}\\` is missing either an \\`r\\`, \\`s\\`, or \\`yParity\\` property.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.MissingPropertiesError`})}},Qv=class extends P{constructor({value:e}){super(`Value \\`${e}\\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidRError`})}},$v=class extends P{constructor({value:e}){super(`Value \\`${e}\\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSError`})}},ey=class extends P{constructor({value:e}){super(`Value \\`${e}\\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidYParityError`})}},ty=class extends P{constructor({value:e}){super(`Value \\`${e}\\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidVError`})}};z();function ny(e,t={}){return typeof e.chainId==`string`?ry(e):{...e,...t.signature}}function ry(e){let{address:t,chainId:n,nonce:r}=e,i=Bv(e);return{address:t,chainId:Number(n),nonce:BigInt(r),...i}}function iy(e){return e.map(ry)}function ay(e){let{address:t,chainId:n,nonce:r,...i}=e;return{address:t,chainId:I(n),nonce:I(r),...Kv(i)}}function oy(e){return e.map(ay)}Tu(),cp(),z();function sy(e){let{privateKey:t}=e;return b_(uu.ProjectivePoint.fromPrivateKey(up(t).slice(2)))}function cy(e){return P_(ly(e))}function ly(e){let{payload:t,signature:n}=e,{r,s:i,yParity:a}=n;return b_(new uu.Signature(BigInt(r),BigInt(i)).addRecoveryBit(a).recoverPublicKey(up(t).substring(2)))}function uy(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=uu.sign(zf(r),zf(i),{extraEntropy:typeof t==`boolean`?t:up(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function dy(e){let{hash:t,payload:n}=e;return e.address?F_(e.address,cy({payload:n,signature:e.signature})):uu.verify(e.signature,zf(n),C_(e.publicKey),...t?[{prehash:!0,lowS:!0}]:[])}_f(),z();let fy=vv(`(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data`);function py(e){if(typeof e==`string`){if(L(e,-32)!==`0x8010801080108010801080108010801080108010801080108010801080108010`)throw new gy(e)}else Lv(e.authorization)}function my(e){py(e);let t=bp(L(e,-64,-32)),n=L(e,-t-64,-64),r=L(e,0,-t-64),[i,a,o]=hv(fy,n);return{authorization:ny({address:i.delegation,chainId:Number(i.chainId),nonce:i.nonce,yParity:i.yParity,r:i.r,s:i.s}),signature:r,...o&&o!==`0x`?{data:o,to:a}:{}}}function hy(e){try{return py(e),!0}catch{return!1}}var gy=class extends P{constructor(e){super(`Value \\`${e}\\` is an invalid ERC-8010 wrapped signature.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureErc8010.InvalidWrappedSignatureError`})}};Mo(),Wi(),Rn();function _y(e){let t=Ui(e,0,1);if(t===`0x04`)return`eip7702`;if(t===`0x03`)return`eip4844`;if(t===`0x02`)return`eip1559`;if(t===`0x01`)return`eip2930`;if(t!==`0x`&&Ln(t)>=192)return`legacy`;throw new wo({serializedType:t})}wi(),Mo(),Pi(),Rt(),Cn(),Pn(),Rn();function vy(e){let t=_y(e);return t===`eip1559`?xy(e):t===`eip2930`?Sy(e):t===`eip4844`?by(e):t===`eip7702`?yy(e):Cy(e)}function yy(e){let t=wy(e),[n,r,i,a,o,s,c,l,u,d,f,p,m]=t;if(t.length!==10&&t.length!==13)throw new To({attributes:{chainId:n,nonce:r,maxPriorityFeePerGas:i,maxFeePerGas:a,gas:o,to:s,value:c,data:l,accessList:u,authorizationList:d,...t.length>9?{v:f,r:p,s:m}:{}},serializedTransaction:e,type:`eip7702`});let h={chainId:Ln(n),type:`eip7702`};return D(s)&&s!==`0x`&&(h.to=s),D(o)&&o!==`0x`&&(h.gas=A(o)),D(l)&&l!==`0x`&&(h.data=l),D(r)&&(h.nonce=r===`0x`?0:Ln(r)),D(c)&&c!==`0x`&&(h.value=A(c)),D(a)&&a!==`0x`&&(h.maxFeePerGas=A(a)),D(i)&&i!==`0x`&&(h.maxPriorityFeePerGas=A(i)),u.length!==0&&u!==`0x`&&(h.accessList=Ty(u)),d.length!==0&&d!==`0x`&&(h.authorizationList=Ey(d)),Ah(h),{...t.length===13?Dy(t):void 0,...h}}function by(e){let t=wy(e),n=t.length===4,r=n?t[0]:t,i=n?t.slice(1):[],[a,o,s,c,l,u,d,f,p,m,h,g,_,v]=r,[y,b,x]=i;if(r.length!==11&&r.length!==14)throw new To({attributes:{chainId:a,nonce:o,maxPriorityFeePerGas:s,maxFeePerGas:c,gas:l,to:u,value:d,data:f,accessList:p,...r.length>9?{v:g,r:_,s:v}:{}},serializedTransaction:e,type:`eip4844`});let S={blobVersionedHashes:h,chainId:Ln(a),to:u,type:`eip4844`};return D(l)&&l!==`0x`&&(S.gas=A(l)),D(f)&&f!==`0x`&&(S.data=f),D(o)&&(S.nonce=o===`0x`?0:Ln(o)),D(d)&&d!==`0x`&&(S.value=A(d)),D(m)&&m!==`0x`&&(S.maxFeePerBlobGas=A(m)),D(c)&&c!==`0x`&&(S.maxFeePerGas=A(c)),D(s)&&s!==`0x`&&(S.maxPriorityFeePerGas=A(s)),p.length!==0&&p!==`0x`&&(S.accessList=Ty(p)),y&&b&&x&&(S.sidecars=Ud({blobs:y,commitments:b,proofs:x})),jh(S),{...r.length===14?Dy(r):void 0,...S}}function xy(e){let t=wy(e),[n,r,i,a,o,s,c,l,u,d,f,p]=t;if(t.length!==9&&t.length!==12)throw new To({attributes:{chainId:n,nonce:r,maxPriorityFeePerGas:i,maxFeePerGas:a,gas:o,to:s,value:c,data:l,accessList:u,...t.length>9?{v:d,r:f,s:p}:{}},serializedTransaction:e,type:`eip1559`});let m={chainId:Ln(n),type:`eip1559`};return D(s)&&s!==`0x`&&(m.to=s),D(o)&&o!==`0x`&&(m.gas=A(o)),D(l)&&l!==`0x`&&(m.data=l),D(r)&&(m.nonce=r===`0x`?0:Ln(r)),D(c)&&c!==`0x`&&(m.value=A(c)),D(a)&&a!==`0x`&&(m.maxFeePerGas=A(a)),D(i)&&i!==`0x`&&(m.maxPriorityFeePerGas=A(i)),u.length!==0&&u!==`0x`&&(m.accessList=Ty(u)),Mh(m),{...t.length===12?Dy(t):void 0,...m}}function Sy(e){let t=wy(e),[n,r,i,a,o,s,c,l,u,d,f]=t;if(t.length!==8&&t.length!==11)throw new To({attributes:{chainId:n,nonce:r,gasPrice:i,gas:a,to:o,value:s,data:c,accessList:l,...t.length>8?{v:u,r:d,s:f}:{}},serializedTransaction:e,type:`eip2930`});let p={chainId:Ln(n),type:`eip2930`};return D(o)&&o!==`0x`&&(p.to=o),D(a)&&a!==`0x`&&(p.gas=A(a)),D(c)&&c!==`0x`&&(p.data=c),D(r)&&(p.nonce=r===`0x`?0:Ln(r)),D(s)&&s!==`0x`&&(p.value=A(s)),D(i)&&i!==`0x`&&(p.gasPrice=A(i)),l.length!==0&&l!==`0x`&&(p.accessList=Ty(l)),Nh(p),{...t.length===11?Dy(t):void 0,...p}}function Cy(e){let t=$h(e,`hex`),[n,r,i,a,o,s,c,l,u]=t;if(t.length!==6&&t.length!==9)throw new To({attributes:{nonce:n,gasPrice:r,gas:i,to:a,value:o,data:s,...t.length>6?{v:c,r:l,s:u}:{}},serializedTransaction:e,type:`legacy`});let d={type:`legacy`};if(D(a)&&a!==`0x`&&(d.to=a),D(i)&&i!==`0x`&&(d.gas=A(i)),D(s)&&s!==`0x`&&(d.data=s),D(n)&&(d.nonce=n===`0x`?0:Ln(n)),D(o)&&o!==`0x`&&(d.value=A(o)),D(r)&&r!==`0x`&&(d.gasPrice=A(r)),Ph(d),t.length===6)return d;let f=D(c)&&c!==`0x`?A(c):0n;if(u===`0x`&&l===`0x`)return f>0&&(d.chainId=Number(f)),d;let p=f,m=Number((p-35n)/2n);if(m>0)d.chainId=m;else if(p!==27n&&p!==28n)throw new xo({v:p});return d.v=p,d.s=u,d.r=l,d.yParity=+(p%2n==0n),d}function wy(e){return $h(`0x${e.slice(4)}`,`hex`)}function Ty(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];if(!ji(r,{strict:!1}))throw new Ci({address:r});t.push({address:r,storageKeys:i.map(e=>rg(e)?e:Nn(e))})}return t}function Ey(e){let t=[];for(let n=0;n<e.length;n++){let[r,i,a,o,s,c]=e[n];t.push({address:i,chainId:r===`0x`?0:Ln(r),nonce:a===`0x`?0:Ln(a),...Dy([o,s,c])})}return t}function Dy(e){let t=e.slice(-3),n=t[0]===`0x`?0n:A(t[0]);if(n!==0n&&n!==1n)throw new So({yParity:n});let r=n===0n?27n:28n;return{r:xn(t[1],{size:32}),s:xn(t[2],{size:32}),v:r,yParity:r===27n?0:1}}lo();function Oy(e,t){return to(e,t)}lo();function ky(e,t){return io(e,t)}Mo(),M();async function Ay(e,{blockHash:t,blockNumber:n,blockTag:r,hash:i,index:a,sender:o,nonce:s}){let c=r||`latest`,l=n===void 0?void 0:j(n),u=null;if(i?u=await e.request({method:`eth_getTransactionByHash`,params:[i]},{dedupe:!0}):t?u=await e.request({method:`eth_getTransactionByBlockHashAndIndex`,params:[t,j(a)]},{dedupe:!0}):(l||c)&&typeof a==`number`?u=await e.request({method:`eth_getTransactionByBlockNumberAndIndex`,params:[l||c,j(a)]},{dedupe:!!l}):o&&typeof s==`number`&&(u=await e.request({method:`eth_getTransactionBySenderAndNonce`,params:[o,j(s)]},{dedupe:!0})),!u)throw new Oo({blockHash:t,blockNumber:n,blockTag:c,hash:i,index:a});return(e.chain?.formatters?.transaction?.format||xd)(u,`getTransaction`)}Mo();async function jy(e,{hash:t}){let n=await e.request({method:`eth_getTransactionReceipt`,params:[t]},{dedupe:!0});if(!n)throw new ko({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||gh)(n,`getTransactionReceipt`)}Hp(),Jp(),hn(),k(),Wo(),df(),ya(),am(),fm(),Qa();async function My(e,t){let{account:n,authorizationList:r,allowFailure:i=!0,blockHash:a,blockNumber:o,blockOverrides:s,blockTag:c,requireCanonical:l,stateOverride:u}=t,d=t.contracts,f=typeof e.batch?.multicall==`object`?e.batch.multicall:{},p=t.batchSize??f.batchSize??1024,m=t.deployless??f.deployless??!1,h=(()=>{if(t.multicallAddress)return t.multicallAddress;if(m)return null;if(e.chain)return im({blockNumber:o,chain:e.chain,contract:`multicall3`});throw Error(`client chain not configured. multicallAddress is required.`)})(),g=[[]],_=0,v=0;for(let e=0;e<d.length;e++){let{abi:t,address:r,args:a,functionName:o}=d[e];try{let e=va({abi:t,args:a,functionName:o});v+=(e.length-2)/2,p>0&&v>p&&g[_].length>0&&(_++,v=(e.length-2)/2,g[_]=[]),g[_]=[...g[_],{allowFailure:!0,callData:e,target:r}]}catch(e){let s=Ds(e,{abi:t,address:r,args:a,docsPath:`/docs/contract/multicall`,functionName:o,sender:n});if(!i)throw s;g[_]=[...g[_],{allowFailure:!0,callData:`0x`,target:r}]}}let y=!!e.batch?.multicall,b=y?g.flatMap(e=>e.map(e=>[e])):g,x=await Promise.allSettled(b.map(t=>y?Ny(e,{account:n,authorizationList:r,batchSize:p,blockHash:a,blockNumber:o,blockOverrides:s,blockTag:c,call:t[0],multicallAddress:h,requireCanonical:l,stateOverride:u}).then(e=>[e]):E(e,Km,`readContract`)({...h===null?{code:qp}:{address:h},abi:Ip,account:n,args:[t],authorizationList:r,blockHash:a,blockNumber:o,blockOverrides:s,blockTag:c,functionName:`aggregate3`,requireCanonical:l,stateOverride:u}))),S=[];for(let e=0;e<x.length;e++){let t=x[e];if(t.status===`rejected`){if(!i)throw t.reason;for(let n=0;n<b[e].length;n++)S.push({status:`failure`,error:t.reason,result:void 0});continue}let n=t.value;for(let t=0;t<n.length;t++){let{returnData:r,success:a}=n[t],{callData:o}=b[e][t],{abi:s,address:c,functionName:l,args:u}=d[S.length];try{if(o===`0x`)throw new Jt;if(!a)throw new Uo({data:r});let e=lf({abi:s,args:u,data:r,functionName:l});S.push(i?{result:e,status:`success`}:e)}catch(e){let t=Ds(e,{abi:s,address:c,args:u,docsPath:`/docs/contract/multicall`,functionName:l});if(!i)throw t;S.push({error:t,result:void 0,status:`failure`})}}}if(S.length!==d.length)throw new O(`multicall results mismatch`);return S}async function Ny(e,t){let{batchSize:n,call:r,multicallAddress:i,...a}=t,{wait:o=0}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},{schedule:s}=um({id:Za([`multicall`,e.uid,n,i,a]),wait:o,shouldSplitBatch(e){return n!==0&&e.reduce((e,{callData:t})=>e+(t.length-2)/2,0)>n},fn:t=>E(e,Km,`readContract`)({...i===null?{code:qp}:{address:i},...a,abi:Ip,args:[t],functionName:`aggregate3`})}),[c]=await s(r);return c}_f();function Py(e){let t=!0,n=``,r=0,i=``,a=!1;for(let o=0;o<e.length;o++){let s=e[o];if([`(`,`)`,`,`].includes(s)&&(t=!0),s===`(`&&r++,s===`)`&&r--,t){if(r===0){if(s===` `&&[`event`,`function`,`error`,``].includes(i))i=``;else if(i+=s,s===`)`){a=!0;break}continue}if(s===` `){e[o-1]!==`,`&&n!==`,`&&n!==`,(`&&(n=``,t=!1);continue}i+=s,n+=s}}if(!a)throw new P(`Unable to normalize signature.`);return i}function Fy(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return I_(e,{strict:!1});case`bool`:return n===`boolean`;case`function`:return n===`string`;case`string`:return n===`string`;default:return r===`tuple`&&`components`in t?Object.values(t.components).every((t,n)=>Fy(Object.values(e)[n],t)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(r)?n===`number`||n===`bigint`:/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?n===`string`||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\\[[0-9]{0,}\\])+$/.test(r)?Array.isArray(e)&&e.every(e=>Fy(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function Iy(e,t,n){for(let r in e){let i=e[r],a=t[r];if(i.type===`tuple`&&a.type===`tuple`&&`components`in i&&`components`in a)return Iy(i.components,a.components,n[r]);let o=[i.type,a.type];if(o.includes(`address`)&&o.includes(`bytes20`)||(o.includes(`address`)&&o.includes(`string`)||o.includes(`address`)&&o.includes(`bytes`))&&I_(n[r],{strict:!1}))return o}}_f(),z();function Ly(e,t,n){let{args:r=[],prepare:i=!0}=n??{},a=Sp(t,{strict:!1}),o=e.filter(e=>a?e.type===`function`||e.type===`error`?Ry(e)===L(t,0,4):e.type===`event`&&By(e)===t:`name`in e&&e.name===t);if(o.length===0)throw new Hy({name:t});if(o.length===1)return{...o[0],...i?{hash:By(o[0])}:{}};let s;for(let e of o)if(`inputs`in e){if(!r||r.length===0){if(!e.inputs||e.inputs.length===0)return{...e,...i?{hash:By(e)}:{}};continue}if(e.inputs&&e.inputs.length!==0&&e.inputs.length===r.length&&r.every((t,n)=>{let r=`inputs`in e&&e.inputs[n];return r?Fy(t,r):!1})){if(s&&`inputs`in s&&s.inputs){let t=Iy(e.inputs,s.inputs,r);if(t)throw new Vy({abiItem:e,type:t[0]},{abiItem:s,type:t[1]})}s=e}}let c=(()=>{if(s)return s;let[e,...t]=o;return{...e,overloads:t}})();if(!c)throw new Hy({name:t});return{...c,...i?{hash:By(c)}:{}}}function Ry(...e){return L(By((()=>{if(Array.isArray(e[0])){let[t,n]=e;return Ly(t,n)}return e[0]})()),0,4)}function zy(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return Ly(t,n)}return e[0]})();return Py(typeof t==`string`?t:Fg(t))}function By(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return Ly(t,n)}return e[0]})();return typeof t!=`string`&&`hash`in t&&t.hash?t.hash:h_(pp(zy(t)))}var Vy=class extends P{constructor(e,t){super(`Found ambiguous types in overloaded ABI Items.`,{metaMessages:[`\\`${e.type}\\` in \\`${Py(Fg(e.abiItem))}\\`, and`,`\\`${t.type}\\` in \\`${Py(Fg(t.abiItem))}\\``,``,`These types encode differently and cannot be distinguished at runtime.`,`Remove one of the ambiguous items in the ABI.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiItem.AmbiguityError`})}},Hy=class extends P{constructor({name:e,data:t,type:n=`item`}){let r=e?` with name \"${e}\"`:t?` with data \"${t}\"`:``;super(`ABI ${n}${r} not found.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiItem.NotFoundError`})}};(class extends P{constructor({data:e}){super(`Selector size is invalid. Expected 4 bytes. Received ${R(e)} bytes (\"${e}\").`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiItem.InvalidSelectorSizeError`})}});function Uy(e){return Ry(e)}_f(),z();function Wy(e){if(L(e,-32)!==`0x6492649264926492649264926492649264926492649264926492649264926492`)throw new qy(e)}function Gy(e){let{data:t,signature:n,to:r}=e;return F(gv(vv(`address, bytes, bytes`),[r,t,n]),`0x6492649264926492649264926492649264926492649264926492649264926492`)}function Ky(e){try{return Wy(e),!0}catch{return!1}}var qy=class extends P{constructor(e){super(`Value \\`${e}\\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureErc6492.InvalidWrappedSignatureError`})}};Tu(),Rn(),$n();function Jy({r:e,s:t,to:n=`hex`,v:r,yParity:i}){let a=(()=>{if(i===0||i===1)return i;if(r&&(r===27n||r===28n||r>=35n))return+(r%2n==0n);throw Error(\"Invalid `v` or `yParity` value\")})(),o=`0x${new uu.Signature(A(e),A(t)).toCompactHex()}${a===0?`1b`:`1c`}`;return n===`hex`?o:Jn(o)}Hp(),Jp(),Wo(),rm(),ya(),Ai(),tf(),Ri(),Rt(),Rn(),M(),Gm();async function Yy(e,t){let{address:n,chain:r=e.chain,hash:i,erc6492VerifierAddress:a=t.universalSignatureVerifierAddress??r?.contracts?.erc6492Verifier?.address,multicallAddress:o=t.multicallAddress??r?.contracts?.multicall3?.address,mode:s=`auto`}=t;if(r?.verifyHash)return await r.verifyHash(e,t);let c=(()=>{let e=t.signature;return D(e)?e:typeof e==`object`&&`r`in e&&`s`in e?Jy(e):Vn(e)})();try{if(s===`eoa`)try{if(ef(Oi(n),await Ou({hash:i,signature:c})))return!0}catch{}return hy(c)?await Xy(e,{...t,multicallAddress:o,signature:c}):await Zy(e,{...t,verifierAddress:a,signature:c})}catch(e){if(s!==`eoa`)try{if(ef(Oi(n),await Ou({hash:i,signature:c})))return!0}catch{}if(e instanceof $y)return!1;throw e}}async function Xy(e,t){let{address:n,blockHash:r,blockNumber:i,blockTag:a,hash:o,multicallAddress:s,requireCanonical:c}=t,{authorization:l,data:u,signature:d,to:f}=my(t.signature);if(await kh(e,{address:n,blockHash:r,blockNumber:i,blockTag:a,requireCanonical:c})===Li([`0xef0100`,l.address]))return await Qy(e,{...t,signature:d});let p={address:l.address,chainId:Number(l.chainId),nonce:Number(l.nonce),r:j(l.r,{size:32}),s:j(l.s,{size:32}),yParity:l.yParity};if(!await Wh({address:n,authorization:p}))throw new $y;let m=await E(e,Km,`readContract`)({...s?{address:s}:{code:qp},authorizationList:[p],abi:Ip,blockHash:r,blockNumber:i,blockTag:`pending`,functionName:`aggregate3`,requireCanonical:c,args:[[...u?[{allowFailure:!0,target:f??n,callData:u}]:[],{allowFailure:!0,target:n,callData:va({abi:zp,functionName:`isValidSignature`,args:[o,d]})}]]});if((m[m.length-1]?.returnData)?.startsWith(`0x1626ba7e`))return!0;throw new $y}async function Zy(e,t){let{address:n,factory:r,factoryData:i,hash:a,signature:o,verifierAddress:s,...c}=t,l=await(async()=>!r&&!i||Ky(o)?o:Gy({data:i,signature:o,to:r}))(),u=s?{to:s,data:va({abi:Bp,functionName:`isValidSig`,args:[n,a,l]}),...c}:{data:tm({abi:Bp,args:[n,a,l],bytecode:Kp}),...c},{data:d}=await E(e,Pm,`call`)(u).catch(e=>{throw e instanceof Ro?new $y:e});if(In(d??`0x0`))return!0;throw new $y}async function Qy(e,t){let{address:n,blockHash:r,blockNumber:i,blockTag:a,hash:o,requireCanonical:s,signature:c}=t;if((await E(e,Km,`readContract`)({address:n,abi:zp,args:[o,c],blockHash:r,blockNumber:i,blockTag:a,functionName:`isValidSignature`,requireCanonical:s}).catch(e=>{throw e instanceof zo?new $y:e})).startsWith(`0x1626ba7e`))return!0;throw new $y}var $y=class extends Error{};Rn(),Qa();function eb(e,{emitOnBegin:t=!1,emitMissed:n=!1,onBlockNumber:r,onError:i,poll:a,pollingInterval:o=e.pollingInterval}){let s=a===void 0?e.transport.type!==`webSocket`&&e.transport.type!==`ipc`&&(e.transport.type!==`fallback`||e.transport.transports[0].config.type!==`webSocket`&&e.transport.transports[0].config.type!==`ipc`):a,c;return s?Zm(Za([`watchBlockNumber`,e.uid,t,n,o]),{onBlockNumber:r,onError:i},r=>$m(async()=>{try{let t=await E(e,ah,`getBlockNumber`)({cacheTime:0});if(c!==void 0){if(t===c)return;if(t-c>1&&n)for(let e=c+1n;e<t;e++)r.onBlockNumber(e,c),c=e}(c===void 0||t>c)&&(r.onBlockNumber(t,c),c=t)}catch(e){r.onError?.(e)}},{emitOnBegin:t,interval:o})):Zm(Za([`watchBlockNumber`,e.uid,t,n]),{onBlockNumber:r,onError:i},t=>{let n=!0,r=()=>n=!1;return(async()=>{try{let{unsubscribe:i}=await(()=>{if(e.transport.type===`fallback`){let t=e.transport.transports.find(e=>e.config.type===`webSocket`||e.config.type===`ipc`);return t?t.value:e.transport}return e.transport})().subscribe({params:[`newHeads`],onData(e){if(!n)return;let r=A(e.result?.number);t.onBlockNumber(r,c),c=r},onError(e){t.onError?.(e)}});r=i,n||r()}catch(e){i?.(e)}})(),()=>r()})}Mo(),lm(),Qa();async function tb(e,t){let{checkReplacement:n=e.chain?.supportsTransactionReplacementDetection??!0,confirmations:r=1,hash:i,onReplaced:a,retryCount:o=6,retryDelay:s=({count:e})=>~~(1<<e)*200,timeout:c=18e4}=t,l=Za([`waitForTransactionReceipt`,e.uid,i]),u=t.pollingInterval?t.pollingInterval:e.chain?.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval,d,f,p,m=!1,h,g,{promise:_,resolve:v,reject:y}=cm(),b=c?setTimeout(()=>{g?.(),h?.(),y(new jo({hash:i}))},c):void 0;return h=Zm(l,{onReplaced:a,resolve:v,reject:y},async t=>{if(p=await E(e,jy,`getTransactionReceipt`)({hash:i}).catch(()=>void 0),p&&r<=1){clearTimeout(b),t.resolve(p),h?.();return}g=E(e,eb,`watchBlockNumber`)({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:u,async onBlockNumber(a){let c=e=>{clearTimeout(b),g?.(),e(),h?.()},l=a;if(!m)try{if(p){if(r>1&&(!p.blockNumber||l-p.blockNumber+1n<r))return;c(()=>t.resolve(p));return}if(n&&!d&&(m=!0,await mh(async()=>{d=await E(e,Ay,`getTransaction`)({hash:i}),d.blockNumber&&(l=d.blockNumber)},{delay:s,retryCount:o}),m=!1),p=await E(e,jy,`getTransactionReceipt`)({hash:i}),r>1&&(!p.blockNumber||l-p.blockNumber+1n<r))return;c(()=>t.resolve(p))}catch(n){if(n instanceof Oo||n instanceof ko){if(!d){m=!1;return}try{f=d,m=!0;let n=await mh(()=>E(e,Td,`getBlock`)({blockNumber:l,includeTransactions:!0}),{delay:s,retryCount:o,shouldRetry:({error:e})=>e instanceof yd});m=!1;let i=n.transactions.find(({from:e,nonce:t})=>e===f.from&&t===f.nonce);if(!i||(p=await E(e,jy,`getTransactionReceipt`)({hash:i.hash}),r>1&&(!p.blockNumber||l-p.blockNumber+1n<r)))return;let a=`replaced`;i.to===f.to&&i.value===f.value&&i.input===f.input?a=`repriced`:i.from===i.to&&i.value===0n&&(a=`cancelled`),c(()=>{t.onReplaced?.({reason:a,replacedTransaction:f,transaction:i,transactionReceipt:p}),t.resolve(p)})}catch(e){c(()=>t.reject(e))}}else c(()=>t.reject(n))}}})}),_}function nb(e){let{scheme:t,statement:n,...r}=e.match(rb)?.groups??{},{chainId:i,expirationTime:a,issuedAt:o,notBefore:s,requestId:c,...l}=e.match(ib)?.groups??{},u=e.split(`Resources:`)[1]?.split(`\n- `).slice(1);return{...r,...l,...i?{chainId:Number(i)}:{},...a?{expirationTime:new Date(a)}:{},...o?{issuedAt:new Date(o)}:{},...s?{notBefore:new Date(s)}:{},...c?{requestId:c}:{},...u?{resources:u}:{},...t?{scheme:t}:{},...n?{statement:n}:{}}}let rb=/^(?:(?<scheme>[a-zA-Z][a-zA-Z0-9+-.]*):\\/\\/)?(?<domain>[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\\n)(?<address>0x[a-fA-F0-9]{40})\\n\\n(?:(?<statement>.*)\\n\\n)?/,ib=/(?:URI: (?<uri>.+))\\n(?:Version: (?<version>.+))\\n(?:Chain ID: (?<chainId>\\d+))\\n(?:Nonce: (?<nonce>[a-zA-Z0-9]+))\\n(?:Issued At: (?<issuedAt>.+))(?:\\nExpiration Time: (?<expirationTime>.+))?(?:\\nNot Before: (?<notBefore>.+))?(?:\\nRequest ID: (?<requestId>.+))?/;Pi(),tf(),ya();function ab(e,t){return{amount:e,decimals:t,formatted:Oy(e,t)}}function ob(e,t){if(typeof e==`bigint`)return e;let n=e.decimals??t;return ky(e.formatted,sb(n))}function sb(e){if(e===void 0)throw Error(\"Token decimals are required. Pass `amount.decimals` or select a declared token.\");return e}function cb(e,t){return typeof e==`bigint`?t:e.decimals??t}function lb(e,t){let{decimals:n,token:r}=t,i=ub(e,r);if(i)return{address:i.address,decimals:n??i.decimals};if(ji(r,{strict:!1}))return{address:r,decimals:n??pb(e,r)};throw Error(`Token \"${r}\" is not a declared ERC-20 token on the client's \\`tokens\\` array (with an address for the client's chain), and is not a valid address.`)}function ub(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;let i=fb(n,t);if(i)return db(i,r);if(ji(t,{strict:!1}))for(let e of n){let n=db(e,r);if(n&&ef(n.address,t))return n}}function db(e,t){let n=e.addresses[t];if(n)return{address:n,currency:e.currency,decimals:e.decimals,name:e.name,popular:e.popular,symbol:e.symbol}}function fb(e,t){let n=t.toLowerCase();for(let t of e)if(t.symbol?.toLowerCase()===n)return t}function pb(e,t){let n=e.tokens,r=e.chain?.id;if(n&&r!==void 0)for(let e of n){let n=db(e,r);if(n&&ef(n.address,t))return n.decimals}}function mb(e){let{account:t,chain:n,gas:r,maxFeePerGas:i,maxPriorityFeePerGas:a,nonce:o}=e;return{account:t,chain:n,gas:r,maxFeePerGas:i,maxPriorityFeePerGas:a,nonce:o}}function hb(e){return{...e,data:va(e),to:e.address}}Hp();async function gb(e,t){return gb.inner(fh,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(e,t){return hb(_b(e,t))}e.call=n;async function r(t,n){return $d(t,{...mb(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return qm(t,{...mb(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=sf({abi:Vp,logs:e,eventName:`Approval`,strict:!0});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=a})(gb||={});function _b(e,t){let{amount:n,spender:r,token:i}=t,{address:a,decimals:o}=lb(e,{token:i});return{abi:Vp,address:a,args:[r,ob(n,o)],functionName:`approve`}}Mo();async function vb(e,{serializedTransaction:t,throwOnReceiptRevert:n,timeout:r}){let i=await e.request({method:`eth_sendRawTransactionSync`,params:r?[t,r]:[t]},{retryCount:0}),a=(e.chain?.formatters?.transactionReceipt?.format||gh)(i);if(a.status===`reverted`&&n)throw new Ao({receipt:a});return a}ma(),k(),Mo(),Ri(),ed(),sd(),Ei(),hd();let yb=new Ti(128);async function bb(e,t){let{account:n=e.account,assertChainId:r=!0,chain:i=e.chain,accessList:a,authorizationList:o,blobs:s,data:c,dataSuffix:l=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,pollingInterval:g,throwOnReceiptRevert:_,type:v,value:y,...b}=t,x=t.timeout??Math.max((i?.blockTime??0)*3,5e3);if(n===void 0)throw new oh({docsPath:`/docs/actions/wallet/sendTransactionSync`});let S=n?N(n):null,C;try{md(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Fu({authorization:o[0]}).catch(()=>{throw new O(\"`to` is required. Could not infer from `authorizationList`.\")})})();if(S?.type===`json-rpc`||S===null){let t;i!==null&&(t=await E(e,Kd,`getChainId`)({}),r&&ch({currentChainId:t,chain:i}));let C=e.chain?.formatters?.transactionRequest?.format,w=(C||rd)({...$u(b,{format:C}),accessList:a,account:S,authorizationList:o,blobs:s,chainId:t,data:l?Fi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,to:n,type:v,value:y},`sendTransaction`),T=yb.get(e.uid),ee=T?`wallet_sendTransaction`:`eth_sendTransaction`,te=await(async()=>{try{return await e.request({method:ee,params:[w]},{retryCount:0})}catch(t){if(T===!1)throw t;let n=t;if(n.name===`InvalidInputRpcError`||n.name===`InvalidParamsRpcError`||n.name===`MethodNotFoundRpcError`||n.name===`MethodNotSupportedRpcError`)return await e.request({method:`wallet_sendTransaction`,params:[w]},{retryCount:0}).then(t=>(yb.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(yb.set(e.uid,!1),n):r});throw n}})(),ne=await E(e,tb,`waitForTransactionReceipt`)({checkReplacement:!1,hash:te,pollingInterval:g,timeout:x});if(_&&ne.status===`reverted`)throw new Ao({receipt:ne});return ne}if(S?.type===`local`){if(S.nonceManager&&h===void 0){let t=b.chainId,n=await(async()=>typeof t==`number`?t:i?i.id:E(e,Kd,`getChainId`)({}))();C={address:S.address,chainId:n}}let r=await E(e,Zd,`prepareTransactionRequest`)({account:S,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?Fi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:S.nonceManager,parameters:[...Jd,`sidecars`],type:v,value:y,...b,to:n}),g=i?.serializers?.transaction,x=await S.signTransaction(r,{serializer:g});return await E(e,vb,`sendRawTransactionSync`)({serializedTransaction:x,throwOnReceiptRevert:_,timeout:t.timeout})}throw S?.type===`smart`?new sh({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new sh({docsPath:`/docs/actions/wallet/sendTransactionSync`,type:S?.type})}catch(e){throw e instanceof sh?e:(C&&!(e instanceof Ao)&&S?.nonceManager?.reset(C),Gd(e,{...t,account:S,chain:t.chain||void 0}))}}async function xb(e,t){return fh.internal(e,bb,`sendTransactionSync`,t)}async function Sb(e,t){let{amount:n,token:r,throwOnReceiptRevert:i=!0}=t,{decimals:a}=lb(e,{token:r}),o=cb(n,a),s=await gb.inner(xb,e,{...t,throwOnReceiptRevert:i}),{args:c}=gb.extractEvent(s.logs);return{...c,...o===void 0?{}:{decimals:o,formatted:Oy(c.value,o)},receipt:s}}Hp();async function Cb(e,t){return Cb.inner(fh,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(e,t){return hb(wb(e,t))}e.call=n;async function r(t,n){return $d(t,{...mb(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return qm(t,{...mb(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=sf({abi:Vp,logs:e,eventName:`Transfer`,strict:!0});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=a})(Cb||={});function wb(e,t){let{amount:n,from:r,to:i,token:a}=t,{address:o,decimals:s}=lb(e,{token:a}),c=ob(n,s);return r?{abi:Vp,address:o,args:[r,i,c],functionName:`transferFrom`}:{abi:Vp,address:o,args:[i,c],functionName:`transfer`}}async function Tb(e,t){let{amount:n,token:r,throwOnReceiptRevert:i=!0}=t,{decimals:a}=lb(e,{token:r}),o=cb(n,a),s=await Cb.inner(xb,e,{...t,throwOnReceiptRevert:i}),{args:c}=Cb.extractEvent(s.logs);return{...c,...o===void 0?{}:{decimals:o,formatted:Oy(c.value,o)},receipt:s}}M();async function Eb(e,{chain:t}){let{id:n,name:r,nativeCurrency:i,rpcUrls:a,blockExplorers:o}=t;await e.request({method:`wallet_addEthereumChain`,params:[{chainId:j(n),chainName:r,nativeCurrency:i,rpcUrls:a.default.http,blockExplorerUrls:o?Object.values(o).map(({url:e})=>e):void 0}]},{dedupe:!0,retryCount:0})}rm();function Db(e,t){let{abi:n,args:r,bytecode:i,...a}=t,o=tm({abi:n,args:r,bytecode:i});return dh(e,{...a,...a.authorizationList?{to:null}:{},data:o})}Ai();async function Ob(e){return e.account?.type===`local`?[e.account.address]:(await e.request({method:`eth_accounts`},{dedupe:!0})).map(e=>Di(e))}ma(),M();async function kb(e,t={}){let{account:n=e.account,chainId:r}=t,i=n?N(n):void 0,a=r?[i?.address,[j(r)]]:[i?.address],o=await e.request({method:`wallet_getCapabilities`,params:a}),s={};for(let[e,t]of Object.entries(o)){s[Number(e)]={};for(let[n,r]of Object.entries(t))n===`addSubAccount`&&(n=`unstable_addSubAccount`),s[Number(e)][n]=r}return typeof r==`number`?s[r]:s}async function Ab(e){return await e.request({method:`wallet_getPermissions`},{dedupe:!0})}ma(),tf();async function jb(e,t){let{account:n=e.account,chainId:r,nonce:i}=t;if(!n)throw new oh({docsPath:`/docs/eip7702/prepareAuthorization`});let a=N(n),o=(()=>{if(t.executor)return t.executor===`self`?t.executor:N(t.executor)})(),s={address:t.contractAddress??t.address,chainId:r,nonce:i};return s.chainId===void 0&&(s.chainId=e.chain?.id??await E(e,Kd,`getChainId`)({})),s.nonce===void 0&&(s.nonce=await E(e,jd,`getTransactionCount`)({address:a.address,blockTag:`pending`}),(o===`self`||o?.address&&ef(o.address,a.address))&&(s.nonce+=1)),s}Ai();async function Mb(e){return(await e.request({method:`eth_requestAccounts`},{dedupe:!0,retryCount:0})).map(e=>Oi(e))}async function Nb(e,t){return e.request({method:`wallet_requestPermissions`,params:[t]},{retryCount:0})}async function Pb(e,t){let{chain:n=e.chain}=t,r=t.timeout??Math.max((n?.blockTime??0)*3,5e3),i=await E(e,yh,`sendCalls`)(t);return await E(e,xh,`waitForCallsStatus`)({...t,id:i.id,timeout:r})}async function Fb(e,t){let{id:n}=t;await e.request({method:`wallet_showCallsStatus`,params:[n]})}ma();async function Ib(e,t){let{account:n=e.account}=t;if(!n)throw new oh({docsPath:`/docs/eip7702/signAuthorization`});let r=N(n);if(!r.signAuthorization)throw new sh({docsPath:`/docs/eip7702/signAuthorization`,metaMessages:[\"The `signAuthorization` Action does not support JSON-RPC Accounts.\"],type:r.type});let i=await jb(e,t);return r.signAuthorization(i)}ma(),M();async function Lb(e,{account:t=e.account,message:n}){if(!t)throw new oh({docsPath:`/docs/actions/wallet/signMessage`});let r=N(t);if(r.signMessage)return r.signMessage({message:n});let i=typeof n==`string`?Hn(n):n.raw instanceof Uint8Array?zn(n.raw):n.raw;return e.request({method:`personal_sign`,params:[i,r.address]},{retryCount:0})}ma(),M(),sd(),hd();async function Rb(e,t){let{account:n=e.account,chain:r=e.chain,...i}=t;if(!n)throw new oh({docsPath:`/docs/actions/wallet/signTransaction`});let a=N(n);md({account:a,...t});let o=await E(e,Kd,`getChainId`)({});r!==null&&ch({currentChainId:o,chain:r});let s=(r?.formatters||e.chain?.formatters)?.transactionRequest?.format||rd;return a.signTransaction?a.signTransaction({...i,account:a,chainId:o},{serializer:e.chain?.serializers?.transaction}):await e.request({method:`eth_signTransaction`,params:[{...s({...i,account:a},`signTransaction`),chainId:j(o),from:a.address}]},{retryCount:0})}ma();async function zb(e,t){let{account:n=e.account,domain:r,message:i,primaryType:a}=t;if(!n)throw new oh({docsPath:`/docs/actions/wallet/signTypedData`});let o=N(n),s={EIP712Domain:_g({domain:r}),...t.types};if(gg({domain:r,message:i,primaryType:a,types:s}),o.signTypedData)return o.signTypedData({domain:r,message:i,primaryType:a,types:s});let c=hg({domain:r,message:i,primaryType:a,types:s});return e.request({method:`eth_signTypedData_v4`,params:[o.address,c]},{retryCount:0})}M();async function Bb(e,{id:t}){await e.request({method:`wallet_switchEthereumChain`,params:[{chainId:j(t)}]},{retryCount:0})}async function Vb(e,t){return await e.request({method:`wallet_watchAsset`,params:t},{retryCount:0})}function Hb(e){return{addChain:t=>Eb(e,t),deployContract:t=>Db(e,t),fillTransaction:t=>qd(e,t),getAddresses:()=>Ob(e),getCallsStatus:t=>bh(e,t),getCapabilities:t=>kb(e,t),getChainId:()=>Kd(e),getPermissions:()=>Ab(e),prepareAuthorization:t=>jb(e,t),prepareTransactionRequest:t=>Zd(e,t),requestAddresses:()=>Mb(e),requestPermissions:t=>Nb(e,t),sendCalls:t=>yh(e,t),sendCallsSync:t=>Pb(e,t),sendRawTransaction:t=>lh(e,t),sendRawTransactionSync:t=>vb(e,t),sendTransaction:t=>dh(e,t),sendTransactionSync:t=>bb(e,t),showCallsStatus:t=>Fb(e,t),signAuthorization:t=>Ib(e,t),signMessage:t=>Lb(e,t),signTransaction:t=>Rb(e,t),signTypedData:t=>zb(e,t),switchChain:t=>Bb(e,t),waitForCallsStatus:t=>xh(e,t),watchAsset:t=>Vb(e,t),writeContract:t=>fh(e,t),writeContractSync:t=>xb(e,t),token:{approve:Oh(e,gb),approveSync:Oh(e,Sb),transfer:Oh(e,Cb),transferSync:Oh(e,Tb)}}}function Ub(e){let{key:t=`wallet`,name:n=`Wallet Client`,transport:r}=e;return Eh({...e,key:t,name:n,transport:r,type:`walletClient`}).extend(Hb)}function Wb({key:e,methods:t,name:n,request:r,retryCount:i=3,retryDelay:a=150,timeout:o,type:s},c){let l=Th();return{config:{key:e,methods:t,name:n,request:r,retryCount:i,retryDelay:a,timeout:o,type:s},request:qh(r,{methods:t,retryCount:i,retryDelay:a,uid:l}),value:c}}function Gb(e,t={}){let{key:n=`custom`,methods:r,name:i=`Custom Provider`,retryDelay:a}=t;return({retryCount:o})=>Wb({key:n,methods:r,name:i,request:e.request.bind(e),retryCount:t.retryCount??o,retryDelay:a,type:`custom`})}k();var Kb=class extends O{constructor(){super(`No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.`,{docsPath:`/docs/clients/intro`,name:`UrlRequiredError`})}};Yo(),fm();let qb=0,Jb=new WeakMap;function Yb(e){if(!e)return`default`;let t=Jb.get(e);if(t!==void 0)return t;let n=qb++;return Jb.set(e,n),n}function Xb(e,t={}){let{batch:n,fetchFn:r,fetchOptions:i,key:a=`http`,maxResponseBodySize:o,methods:s,name:c=`HTTP JSON-RPC`,onFetchRequest:l,onFetchResponse:u,retryDelay:d,raw:f}=t;return({chain:p,retryCount:m,timeout:h})=>{let{batchSize:g=1e3,wait:_=0}=typeof n==`object`?n:{},v=t.retryCount??m,y=h??t.timeout??1e4,b=e||p?.rpcUrls.default.http[0];if(!b)throw new Kb;let x=sg(b,{fetchFn:r,fetchOptions:i,maxResponseBodySize:o,onRequest:l,onResponse:u,timeout:y});return Wb({key:a,methods:s,name:c,async request({method:e,params:t},r){let i={method:e,params:t},a=r?.signal?{signal:r.signal}:void 0,{schedule:o}=um({id:`${b}.${Yb(r?.signal)}`,wait:_,shouldSplitBatch(e){return e.length>g},fn:e=>x.request({body:e,fetchOptions:a}),sort:(e,t)=>e.id-t.id}),[{error:s,result:c}]=await(async e=>n?o(e):[await x.request({body:e,fetchOptions:a})])(i);if(f)return{error:s,result:c};if(s)throw new qo({body:i,error:s,url:b});return c},retryCount:v,retryDelay:d,timeout:y,type:`http`},{fetchOptions:i,url:b})}}_f(),z();function Zb(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];r&&j_(r,{strict:!1}),t.push({address:r,storageKeys:i.map(e=>v_(e)?e:_p(e))})}return t}function Qb(e){if(!e||e.length===0)return[];let t=[];for(let{address:n,storageKeys:r}of e){for(let e=0;e<r.length;e++)if(R(r[e])!==32)throw new $b({storageKey:r[e]});n&&j_(n,{strict:!1}),t.push([n,r])}return t}var $b=class extends P{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${R(e)} bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AccessList.InvalidStorageKeySizeError`})}};cp();let ex=new TextEncoder,tx=new TextDecoder,nx=Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[t,e.charCodeAt(0)])),rx={...Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[e.charCodeAt(0),t])),61:0,45:62,95:63};function ix(e,t={}){let{pad:n=!0,url:r=!1}=t,i=new Uint8Array(Math.ceil(e.length/3)*4);for(let t=0,n=0;n<e.length;t+=4,n+=3){let r=(e[n]<<16)+(e[n+1]<<8)+(e[n+2]|0);i[t]=nx[r>>18],i[t+1]=nx[r>>12&63],i[t+2]=nx[r>>6&63],i[t+3]=nx[r&63]}let a=e.length%3,o=Math.floor(e.length/3)*4+(a&&a+1),s=tx.decode(new Uint8Array(i.buffer,0,o));return n&&a===1&&(s+=`==`),n&&a===2&&(s+=`=`),r&&(s=s.replaceAll(`+`,`-`).replaceAll(`/`,`_`)),s}function ax(e,t={}){return ix(Vf(e),t)}function ox(e,t={}){return ix(Hf(e),t)}function sx(e){let t=e.replace(/=+$/,``),n=t.length,r=new Uint8Array(n+3);ex.encodeInto(t+`===`,r);for(let e=0,n=0;e<t.length;e+=4,n+=3){let t=(rx[r[e]]<<18)+(rx[r[e+1]]<<12)+(rx[r[e+2]]<<6)+rx[r[e+3]];r[n]=t>>16,r[n+1]=t>>8&255,r[n+2]=t&255}let i=(n>>2)*3+(n%4&&n%4-1);return new Uint8Array(r.buffer,0,i)}function cx(e){return Zf(sx(e))}let lx={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},ux={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function dx(e,t={}){if(!e)return null;let n=Bv(e),r={...e,...n};return r.blockNumber=e.blockNumber?BigInt(e.blockNumber):null,`blockTimestamp`in e&&(r.blockTimestamp=e.blockTimestamp?BigInt(e.blockTimestamp):e.blockTimestamp===null?null:void 0),r.data=e.input,r.gas=BigInt(e.gas??0n),r.nonce=BigInt(e.nonce??0n),r.transactionIndex=e.transactionIndex?Number(e.transactionIndex):null,r.value=BigInt(e.value??0n),e.authorizationList&&(r.authorizationList=iy(e.authorizationList)),e.chainId&&(r.chainId=Number(e.chainId)),e.gasPrice&&(r.gasPrice=BigInt(e.gasPrice)),e.maxFeePerBlobGas&&(r.maxFeePerBlobGas=BigInt(e.maxFeePerBlobGas)),e.maxFeePerGas&&(r.maxFeePerGas=BigInt(e.maxFeePerGas)),e.maxPriorityFeePerGas&&(r.maxPriorityFeePerGas=BigInt(e.maxPriorityFeePerGas)),e.type&&(r.type=ux[e.type]??e.type),n&&(r.v=Yv(n.yParity)),r}cp(),_f(),z();function fx(e,t={}){let{as:n=`Hex`}=t,r=Ex(e),i=dv(new Uint8Array(r.length));return r.encode(i),n===`Hex`?fp(i.bytes):i.bytes}var px=class extends P{constructor({majorType:e}){super(`Invalid CBOR major type: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidMajorTypeError`})}},mx=class extends P{constructor({additionalInfo:e}){super(`Invalid CBOR additional info: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidAdditionalInfoError`})}},hx=class extends P{constructor(){super(`64-bit integers are not supported in CBOR decoding.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.Unsupported64BitIntegerError`})}},gx=class extends P{constructor({tag:e}){super(`CBOR tagged data (tag ${e}) is not yet supported.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnsupportedTagError`})}},_x=class extends P{constructor({type:e}){super(`Invalid chunk type in indefinite-length ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidIndefiniteLengthChunkError`})}},vx=class extends P{constructor({value:e}){super(`Invalid CBOR simple value: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidSimpleValueError`})}},yx=class extends P{constructor(){super(`BigInt values are not supported in CBOR encoding.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnsupportedBigIntError`})}},bx=class extends P{constructor({token:e}){super(`Unexpected token: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnexpectedTokenError`})}},xx=class extends P{constructor({number:e}){super(`Number exceeds maximum safe integer (${2**53-1}): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.NumberTooLargeError`})}},Sx=class extends P{constructor({size:e}){super(`String length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.StringTooLargeError`})}},Cx=class extends P{constructor({size:e}){super(`Array length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ArrayTooLargeError`})}},wx=class extends P{constructor({size:e}){super(`Object size exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ObjectTooLargeError`})}},Tx=class extends P{constructor({size:e}){super(`Byte string length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ByteStringTooLargeError`})}};function Ex(e){if(e===void 0)return{length:1,encode:e=>e.pushUint8(247)};if(e===null)return{length:1,encode:e=>e.pushUint8(246)};if(typeof e==`boolean`)return{length:1,encode:t=>t.pushUint8(e?245:244)};if(typeof e==`number`)return Ex.number(e);if(typeof e==`bigint`)throw new yx;if(typeof e==`string`)return Ex.string(e);if(Array.isArray(e))return Ex.array(e);if(e instanceof Uint8Array)return Ex.byteString(e);if(e instanceof ArrayBuffer)return Ex.byteString(new Uint8Array(e));if(ArrayBuffer.isView(e))return Ex.byteString(new Uint8Array(e.buffer,e.byteOffset,e.byteLength));if(e instanceof Map)return Ex.map(e);if(typeof e==`object`)return Ex.object(e);throw new bx({token:String(e)})}(function(e){function t(e){if(!Number.isSafeInteger(e)){let t=Math.fround(e);return Number.isNaN(e)||e===t?{length:5,encode(t){t.pushUint8(250),t.dataView.setFloat32(t.position,e,!1),t.position+=4}}:{length:9,encode(t){t.pushUint8(251),t.dataView.setFloat64(t.position,e,!1),t.position+=8}}}if(e>=0){if(e<=23)return{length:1,encode:t=>t.pushUint8(e)};if(e<=255)return{length:2,encode:t=>{t.pushUint8(24),t.pushUint8(e)}};if(e<=65535)return{length:3,encode:t=>{t.pushUint8(25),t.pushUint16(e)}};if(e<=4294967295)return{length:5,encode:t=>{t.pushUint8(26),t.pushUint32(e)}};throw new xx({number:e.toString(10)})}let t=-1-e;if(e>=-24)return{length:1,encode:e=>e.pushUint8(32+t)};if(t<=255)return{length:2,encode:e=>{e.pushUint8(56),e.pushUint8(t)}};if(t<=65535)return{length:3,encode:e=>{e.pushUint8(57),e.pushUint16(t)}};if(t<=4294967295)return{length:5,encode:e=>{e.pushUint8(58),e.pushUint32(t)}};throw new xx({number:e.toString(10)})}e.number=t;function n(e){let t=Hf(e),n=t.length;if(n<=23)return{length:1+n,encode(e){e.pushUint8(96+n),n>0&&e.pushBytes(t)}};if(n<=255)return{length:2+n,encode(e){e.pushUint8(120),e.pushUint8(n),e.pushBytes(t)}};if(n<=65535)return{length:3+n,encode(e){e.pushUint8(121),e.pushUint16(n),e.pushBytes(t)}};if(n<=4294967295)return{length:5+n,encode(e){e.pushUint8(122),e.pushUint32(n),e.pushBytes(t)}};throw new Sx({size:n})}e.string=n;function r(t){let n=t.map(t=>e(t)),r=n.reduce((e,t)=>e+t.length,0),i=t.length;if(i<=23)return{length:1+r,encode(e){e.pushUint8(128+i);for(let t of n)t.encode(e)}};if(i<=255)return{length:2+r,encode(e){e.pushUint8(152),e.pushUint8(i);for(let t of n)t.encode(e)}};if(i<=65535)return{length:3+r,encode(e){e.pushUint8(153),e.pushUint16(i);for(let t of n)t.encode(e)}};if(i<=4294967295)return{length:5+r,encode(e){e.pushUint8(154),e.pushUint32(i);for(let t of n)t.encode(e)}};throw new Cx({size:i})}e.array=r;function i(e){let t=e.byteLength;if(t<=23)return{length:1+t,encode(n){n.pushUint8(64+t),n.pushBytes(e)}};if(t<=255)return{length:2+t,encode(n){n.pushUint8(88),n.pushUint8(t),n.pushBytes(e)}};if(t<=65535)return{length:3+t,encode(n){n.pushUint8(89),n.pushUint16(t),n.pushBytes(e)}};if(t<=4294967295)return{length:5+t,encode(n){n.pushUint8(90),n.pushUint32(t),n.pushBytes(e)}};throw new Tx({size:t})}e.byteString=i;function a(t){let n=Object.keys(t),r=n.map(n=>({key:e(n),value:e(t[n])})),i=r.reduce((e,t)=>e+t.key.length+t.value.length,0),a=n.length;if(a<=23)return{length:1+i,encode(e){e.pushUint8(160+a);for(let t of r)t.key.encode(e),t.value.encode(e)}};if(a<=255)return{length:2+i,encode(e){e.pushUint8(184),e.pushUint8(a);for(let t of r)t.key.encode(e),t.value.encode(e)}};if(a<=65535)return{length:3+i,encode(e){e.pushUint8(185),e.pushUint16(a);for(let t of r)t.key.encode(e),t.value.encode(e)}};if(a<=4294967295)return{length:5+i,encode(e){e.pushUint8(186),e.pushUint32(a);for(let t of r)t.key.encode(e),t.value.encode(e)}};throw new wx({size:a})}e.object=a;function o(t){let n=[];for(let[r,i]of t)n.push({key:e(r),value:e(i)});let r=n.reduce((e,t)=>e+t.key.length+t.value.length,0),i=t.size;if(i<=23)return{length:1+r,encode(e){e.pushUint8(160+i);for(let t of n)t.key.encode(e),t.value.encode(e)}};if(i<=255)return{length:2+r,encode(e){e.pushUint8(184),e.pushUint8(i);for(let t of n)t.key.encode(e),t.value.encode(e)}};if(i<=65535)return{length:3+r,encode(e){e.pushUint8(185),e.pushUint16(i);for(let t of n)t.key.encode(e),t.value.encode(e)}};if(i<=4294967295)return{length:5+r,encode(e){e.pushUint8(186),e.pushUint32(i);for(let t of n)t.key.encode(e),t.value.encode(e)}};throw new wx({size:i})}e.map=o})(Ex||={});function Dx(e){let t=e.readUint8(),n=t>>5,r=t&31;switch(n){case 0:return Dx.readUnsignedInteger(e,r);case 1:return Dx.readNegativeInteger(e,r);case 2:return Dx.readByteString(e,r);case 3:return Dx.readTextString(e,r);case 4:return Dx.readArray(e,r);case 5:return Dx.readMap(e,r);case 6:throw new gx({tag:r});case 7:return Dx.readSimpleOrFloat(e,r);default:throw new px({majorType:n})}}(function(e){function t(e,t){if(t<24)return t;if(t===24)return e.readUint8();if(t===25)return e.readUint16();if(t===26)return e.readUint32();throw t===27?new hx:new mx({additionalInfo:t})}function n(e,n){return t(e,n)}e.readUnsignedInteger=n;function r(e,n){return-1-t(e,n)}e.readNegativeInteger=r;function i(n,r){if(r===31){let t=[],r=0;for(;;){if(n.inspectUint8()===255){n.readUint8();break}let i=e(n);if(!(i instanceof Uint8Array))throw new _x({type:`byte string`});t.push(i),r+=i.length}let i=new Uint8Array(r),a=0;for(let e of t)i.set(e,a),a+=e.length;return i}let i=t(n,r);return n.readBytes(i)}e.readByteString=i;function a(n,r){if(r===31){let t=[];for(;;){if(n.inspectUint8()===255){n.readUint8();break}let r=e(n);if(typeof r!=`string`)throw new _x({type:`text string`});t.push(r)}return t.join(``)}let i=t(n,r);return Zf(n.readBytes(i))}e.readTextString=a;function o(n,r){if(r===31){let t=[];for(;;){if(n.inspectUint8()===255){n.readUint8();break}t.push(e(n))}return t}let i=t(n,r),a=[];for(let t=0;t<i;t++)a.push(e(n));return a}e.readArray=o;function s(n,r){if(r===31){let t={};for(;;){if(n.inspectUint8()===255){n.readUint8();break}let r=e(n),i=typeof r==`string`?r:String(r);t[i]=e(n)}return t}let i=t(n,r),a={};for(let t=0;t<i;t++){let t=e(n),r=typeof t==`string`?t:String(t);a[r]=e(n)}return a}e.readMap=s;function c(e,t){if(t===20)return!1;if(t===21)return!0;if(t===22)return null;if(t!==23){if(t===25)return l(e.readUint16());if(t===26){let t=e.dataView.getFloat32(e.position,!1);return e.position+=4,t}if(t===27){let t=e.dataView.getFloat64(e.position,!1);return e.position+=8,t}if(t===24){let t=e.readUint8();if(t<32)throw new vx({value:t});return}throw new mx({additionalInfo:t})}}e.readSimpleOrFloat=c;function l(e){let t=e>>15&1,n=e>>10&31,r=e&1023;if(n===0){if(r===0)return t?-0:0;let e=2**-14*(r/1024);return t?-e:e}if(n===31)return r===0?t?-1/0:1/0:NaN;let i=2**(n-15)*(1+r/1024);return t?-i:i}})(Dx||={}),_f();function Ox(e){let t=C_(e),n=t.slice(1,33),r=t.slice(33,65);return fx(new Map([[1,2],[3,-7],[-1,1],[-2,n],[-3,r]]))}(class extends P{constructor(){super(`COSE_Key does not contain valid P256 public key coordinates.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`CoseKey.InvalidCoseKeyError`})}}),Xs(),Ll(),rl();\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet kx=Gc(BigInt(`0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff`)),Ax=Il({a:kx.create(BigInt(`-3`)),b:BigInt(`0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b`),Fp:kx,n:BigInt(`0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551`),Gx:BigInt(`0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296`),Gy:BigInt(`0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5`),h:BigInt(1),lowS:!1},qs),jx=Gc(BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff`));Il({a:jx.create(BigInt(`-3`)),b:BigInt(`0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef`),Fp:jx,n:BigInt(`0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973`),Gx:BigInt(`0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7`),Gy:BigInt(`0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f`),h:BigInt(1),lowS:!1},Ys);let Mx=Gc(BigInt(`0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`));Il({a:Mx.create(BigInt(`-3`)),b:BigInt(`0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00`),Fp:Mx,n:BigInt(`0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409`),Gx:BigInt(`0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66`),Gy:BigInt(`0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650`),h:BigInt(1),lowS:!1,allowedPrivateKeyLengths:[130,131,132]},Js);\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet Nx=Ax,Px=Ax;cp(),z();function Fx(e){let{privateKey:t}=e;return b_(Px.ProjectivePoint.fromPrivateKey(typeof t==`string`?t.slice(2):fp(t).slice(2)))}function Ix(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=Px.sign(r instanceof Uint8Array?r:Vf(r),i instanceof Uint8Array?i:Vf(i),{extraEntropy:typeof t==`boolean`?t:up(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function Lx(e){let{hash:t,payload:n,publicKey:r,signature:i}=e;return Px.verify(i,n instanceof Uint8Array?n:Vf(n),w_(r).substring(2),{lowS:!0,...t?{prehash:!0}:{}})}var Rx=u(s(((e,t)=>{var n=Object.prototype.hasOwnProperty,r=`~`;function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(r=!1));function a(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,n,i,o){if(typeof n!=`function`)throw TypeError(`The listener must be a function`);var s=new a(n,i||e,o),c=r?r+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){--e._eventsCount===0?e._events=new i:delete e._events[t]}function c(){this._events=new i,this._eventsCount=0}c.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)n.call(t,i)&&e.push(r?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e},c.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,a=n.length,o=Array(a);i<a;i++)o[i]=n[i].fn;return o},c.prototype.listenerCount=function(e){var t=r?r+e:e,n=this._events[t];return n?n.fn?1:n.length:0},c.prototype.emit=function(e,t,n,i,a,o){var s=r?r+e:e;if(!this._events[s])return!1;var c=this._events[s],l=arguments.length,u,d;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,i),!0;case 5:return c.fn.call(c.context,t,n,i,a),!0;case 6:return c.fn.call(c.context,t,n,i,a,o),!0}for(d=1,u=Array(l-1);d<l;d++)u[d-1]=arguments[d];c.fn.apply(c.context,u)}else{var f=c.length,p;for(d=0;d<f;d++)switch(c[d].once&&this.removeListener(e,c[d].fn,void 0,!0),l){case 1:c[d].fn.call(c[d].context);break;case 2:c[d].fn.call(c[d].context,t);break;case 3:c[d].fn.call(c[d].context,t,n);break;case 4:c[d].fn.call(c[d].context,t,n,i);break;default:if(!u)for(p=1,u=Array(l-1);p<l;p++)u[p-1]=arguments[p];c[d].fn.apply(c[d].context,u)}}return!0},c.prototype.on=function(e,t,n){return o(this,e,t,n,!1)},c.prototype.once=function(e,t,n){return o(this,e,t,n,!0)},c.prototype.removeListener=function(e,t,n,i){var a=r?r+e:e;if(!this._events[a])return this;if(!t)return s(this,a),this;var o=this._events[a];if(o.fn)o.fn===t&&(!i||o.once)&&(!n||o.context===n)&&s(this,a);else{for(var c=0,l=[],u=o.length;c<u;c++)(o[c].fn!==t||i&&!o[c].once||n&&o[c].context!==n)&&l.push(o[c]);l.length?this._events[a]=l.length===1?l[0]:l:s(this,a)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=r?r+e:e,this._events[t]&&s(this,t)):(this._events=new i,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=r,c.EventEmitter=c,t!==void 0&&(t.exports=c)}))(),1);function zx(e,t={}){let{raw:n=!1}=t,r=e;if(n)return e;if(r.error)throw Bx(r.error);return r.result}function Bx(e){let t=e;if(t instanceof Error&&!(`code`in t))return new Qx({cause:t,data:t,message:t.message,stack:t.stack});let{code:n}=t;return n===Qx.code?new Qx(t):n===Hx.code?new Hx(t):n===Zx.code?new Zx(t):n===Yx.code?new Yx(t):n===qx.code?new qx(t):n===Xx.code?new Xx(t):n===Kx.code?new Kx(t):n===$x.code?new $x(t):n===Ux.code?new Ux(t):n===Wx.code?new Wx(t):n===Gx.code?new Gx(t):n===Jx.code?new Jx(t):new Qx({cause:t instanceof Error?t:void 0,data:t,message:t.message,stack:t instanceof Error?t.stack:void 0})}var Vx=class extends Error{constructor(e){let{cause:t,code:n,message:r,data:i,stack:a}=e;super(r,{cause:t}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.BaseError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"stack\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t,this.code=n,this.data=i,this.stack=a??``}},Hx=class e extends Vx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Missing or invalid parameters.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.InvalidInputError`})}};Object.defineProperty(Hx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});var Ux=class e extends Vx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Requested resource not found.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.ResourceNotFoundError`})}};Object.defineProperty(Ux,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001});var Wx=class e extends Vx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Requested resource not available.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.ResourceUnavailableError`})}};Object.defineProperty(Wx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002});var Gx=class e extends Vx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Transaction creation failed.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.TransactionRejectedError`})}};Object.defineProperty(Gx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003});var Kx=class e extends Vx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Method is not implemented.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.MethodNotSupportedError`})}};Object.defineProperty(Kx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004});var qx=class e extends Vx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Rate limit exceeded.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.LimitExceededError`})}};Object.defineProperty(qx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005});var Jx=class e extends Vx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`JSON-RPC version not supported.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.VersionNotSupportedError`})}};Object.defineProperty(Jx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006});var Yx=class e extends Vx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Input is not a valid JSON-RPC request.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.InvalidRequestError`})}};Object.defineProperty(Yx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600});var Xx=class e extends Vx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Method does not exist.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.MethodNotFoundError`})}};Object.defineProperty(Xx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601});var Zx=class e extends Vx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Invalid method parameters.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.InvalidParamsError`})}};Object.defineProperty(Zx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602});var Qx=class e extends Vx{constructor(t={}){super({cause:t.cause,code:e.code,data:t.data,message:t.message??`Internal JSON-RPC error.`,stack:t.stack}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.InternalError`})}};Object.defineProperty(Qx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603});var $x=class e extends Vx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Failed to parse JSON-RPC response.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.ParseError`})}};Object.defineProperty($x,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),_f();var eS=class extends Error{constructor(e,t){super(t),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`ProviderRpcError`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=e,this.details=t}},tS=class extends eS{constructor({message:e=`The user rejected the request.`}={}){super(4001,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UserRejectedRequestError`})}};Object.defineProperty(tS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001});var nS=class extends eS{constructor({message:e=`The requested method and/or account has not been authorized by the user.`}={}){super(4100,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UnauthorizedError`})}};Object.defineProperty(nS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100});var rS=class extends eS{constructor({message:e=`The provider does not support the requested method.`}={}){super(4200,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UnsupportedMethodError`})}};Object.defineProperty(rS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200});var iS=class extends eS{constructor({message:e=`The provider is disconnected from all chains.`}={}){super(4900,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.DisconnectedError`})}};Object.defineProperty(iS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900});var aS=class extends eS{constructor({message:e=`The provider is not connected to the requested chain.`}={}){super(4901,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.ChainDisconnectedError`})}};Object.defineProperty(aS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901});var oS=class extends eS{constructor({message:e=`An error occurred when attempting to switch chain.`}={}){super(4902,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.SwitchChainError`})}};Object.defineProperty(oS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902});var sS=class extends eS{constructor({message:e=`This Wallet does not support a capability that was not marked as optional.`}={}){super(5700,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UnsupportedNonOptionalCapabilityError`})}};Object.defineProperty(sS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700});var cS=class extends eS{constructor({message:e=`This Wallet does not support the requested chain ID.`}={}){super(5710,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UnsupportedChainIdError`})}};Object.defineProperty(cS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710});var lS=class extends eS{constructor({message:e=`There is already a bundle submitted with this ID.`}={}){super(5720,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.DuplicateIdError`})}};Object.defineProperty(lS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720});var uS=class extends eS{constructor({message:e=`This bundle id is unknown / has not been submitted.`}={}){super(5730,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UnknownBundleIdError`})}};Object.defineProperty(uS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730});var dS=class extends eS{constructor({message:e=`The call bundle is too large for the Wallet to process.`}={}){super(5740,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.BundleTooLargeError`})}};Object.defineProperty(dS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740});var fS=class extends eS{constructor({message:e=`The Wallet can support atomicity after an upgrade, but the user rejected the upgrade.`}={}){super(5750,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.AtomicReadyWalletRejectedUpgradeError`})}};Object.defineProperty(fS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750});var pS=class extends eS{constructor({message:e=`The wallet does not support atomic execution but the request requires it.`}={}){super(5760,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.AtomicityNotSupportedError`})}};Object.defineProperty(pS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760});function mS(){let e=new Rx.default;return{get eventNames(){return e.eventNames.bind(e)},get listenerCount(){return e.listenerCount.bind(e)},get listeners(){return e.listeners.bind(e)},addListener:e.addListener.bind(e),emit:e.emit.bind(e),off:e.off.bind(e),on:e.on.bind(e),once:e.once.bind(e),removeAllListeners:e.removeAllListeners.bind(e),removeListener:e.removeListener.bind(e)}}function hS(e,t={}){if(!e)throw new _S;return{...e,async request(t){try{let n=await e.request(t);return n&&typeof n==`object`&&`jsonrpc`in n?zx(n):n}catch(e){throw gS(e)}}}}function gS(e){let t=Bx(e);if(t instanceof Qx){if(!t.data)return t;let{code:e}=t.data;if(e===iS.code)return new iS(t);if(e===aS.code)return new aS(t);if(e===tS.code)return new tS(t);if(e===nS.code)return new nS(t);if(e===rS.code)return new rS(t);if(e===oS.code)return new oS(t);if(e===fS.code)return new fS(t);if(e===pS.code)return new pS(t);if(e===dS.code)return new dS(t);if(e===uS.code)return new uS(t);if(e===lS.code)return new lS(t);if(e===cS.code)return new cS(t);if(e===sS.code)return new sS(t)}return t}var _S=class extends P{constructor(){super(\"`provider` is undefined.\"),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.IsUndefinedError`})}};function vS(e={}){let t=e.id??0;return{prepare(e){return yS({id:t++,...e})},get id(){return t}}}function yS(e){return{...e,jsonrpc:`2.0`}}function bS(){return null}z();function xS(e){let t={};return e.accessList!==void 0&&(t.accessList=e.accessList),e.authorizationList!==void 0&&(t.authorizationList=oy(e.authorizationList)),e.blobVersionedHashes!==void 0&&(t.blobVersionedHashes=e.blobVersionedHashes),e.blobs!==void 0&&(t.blobs=e.blobs),e.chainId!==void 0&&(t.chainId=I(e.chainId)),e.data===void 0?e.input!==void 0&&(t.data=e.input,t.input=e.input):(t.data=e.data,t.input=e.data),e.from!==void 0&&(t.from=e.from),e.gas!==void 0&&(t.gas=I(e.gas)),e.gasPrice!==void 0&&(t.gasPrice=I(e.gasPrice)),e.maxFeePerBlobGas!==void 0&&(t.maxFeePerBlobGas=I(e.maxFeePerBlobGas)),e.maxFeePerGas!==void 0&&(t.maxFeePerGas=I(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(t.maxPriorityFeePerGas=I(e.maxPriorityFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(t.maxPriorityFeePerGas=I(e.maxPriorityFeePerGas)),e.nonce!==void 0&&(t.nonce=I(e.nonce)),e.to!==void 0&&(t.to=e.to),e.type!==void 0&&(t.type=lx[e.type]||e.type),e.value!==void 0&&(t.value=I(e.value)),t}_f();let SS={wei:0,gwei:9,szabo:12,finney:15,ether:18};function CS(e,t=0){let n=e.toString(),r=n.startsWith(`-`);r&&(n=n.slice(1)),n=n.padStart(t,`0`);let[i,a]=[n.slice(0,n.length-t),n.slice(n.length-t)];return a=a.replace(/(0+)$/,``),`${r?`-`:``}${i||`0`}${a?`.${a}`:``}`}function wS(e,t=`wei`){return CS(e,SS.gwei-SS[t])}(class extends P{constructor({value:e}){super(`Value \\`${e}\\` is not a valid decimal number.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Value.InvalidDecimalNumberError`})}}),_f();var TS=class extends P{constructor({feeCap:e}={}){super(`The fee cap (\\`maxFeePerGas\\`/\\`maxPriorityFeePerGas\\`${e?` = ${wS(e)} gwei`:``}) cannot be higher than the maximum allowed value (2^256-1).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.FeeCapTooHighError`})}};(class extends P{constructor({gasPrice:e}={}){super(`The gas price (\\`gasPrice\\`${e?` = ${wS(e)} gwei`:``}) cannot be higher than the maximum allowed value (2^256-1).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.GasPriceTooHighError`})}});var ES=class extends P{constructor({chainId:e}){super(e===void 0?`Chain ID is invalid.`:`Chain ID \"${e}\" is invalid.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.InvalidChainIdError`})}},DS=class extends P{constructor({attributes:e,serialized:t,type:n}){let r=Object.entries(e).map(([e,t])=>t===void 0?e:void 0).filter(Boolean);super(`Invalid serialized transaction of type \"${n}\" was provided.`,{metaMessages:[`Serialized Transaction: \"${t}\"`,r.length>0?`Missing Attributes: ${r.join(`, `)}`:``].filter(Boolean)}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.InvalidSerializedError`})}},OS=class extends P{constructor({maxPriorityFeePerGas:e,maxFeePerGas:t}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${e?` = ${wS(e)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${t?` = ${wS(t)} gwei`:``}).`].join(`\n`)),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.TipAboveFeeCapError`})}};function kS(e){let t=Nx.Signature.fromDER(e).normalizeS();return{r:t.r,s:t.s}}z();function AS(e={}){let{credential:t,flag:n=5,rpId:r=window.location.hostname,signCount:i=0}=e,a=F(__(pp(r)),I(n,{size:1}),I(i,{size:4}));if(!t)return a;let o=fp(new Uint8Array(16)),s=fp(t.id);return F(a,o,I(t.id.length,{size:2}),s,Ox(t.publicKey))}function jS(e){let{challenge:t,crossOrigin:n=!1,extraClientData:r,origin:i=window.location.origin,type:a=`webauthn.get`}=e;return JSON.stringify({type:a,challenge:ax(t,{url:!0,pad:!1}),origin:i,crossOrigin:n,...r})}cp(),_f(),z();function MS(e){let{credentialId:t,challenge:n,extensions:r,rpId:i=window.location.hostname,userVerification:a=`required`}=e;return{publicKey:{...t?{allowCredentials:Array.isArray(t)?t.map(e=>({id:sx(e),type:`public-key`})):[{id:sx(t),type:`public-key`}]}:{},challenge:Vf(n),...r&&{extensions:r},rpId:i,userVerification:a}}}function NS(e){let{challenge:t,crossOrigin:n,extraClientData:r,flag:i,origin:a,rpId:o,signCount:s,userVerification:c=`required`}=e,l=AS({flag:i,rpId:o,signCount:s}),u=jS({challenge:t,crossOrigin:n,extraClientData:r,origin:a}),d=__(pp(u));return{metadata:{authenticatorData:l,clientDataJSON:u,challengeIndex:u.indexOf(`\"challenge\"`),typeIndex:u.indexOf(`\"type\"`),userVerificationRequired:c===`required`},payload:F(l,d)}}async function PS(e){let{getFn:t=e=>window.navigator.credentials.get(e),...n}=e,r=`publicKey`in n?n:MS(n);try{let e=await t(r);if(!e)throw new FS;let n=e.response,i=new Uint8Array(n.clientDataJSON),a=new Uint8Array(n.authenticatorData),o=new Uint8Array(n.signature),s=e.id,c=String.fromCharCode(...i),l=c.indexOf(`\"challenge\"`),u=c.indexOf(`\"type\"`),d=kS(o);return{id:s,metadata:{authenticatorData:fp(a),clientDataJSON:c,challengeIndex:l,typeIndex:u,userVerificationRequired:r.publicKey.userVerification===`required`},signature:d,raw:e}}catch(e){throw new FS({cause:e})}}var FS=class extends P{constructor({cause:e}={}){super(`Failed to request credential.`,{cause:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Authentication.SignFailedError`})}};function IS(e){let{challenge:t,metadata:n,origin:r,publicKey:i,rpId:a,signature:o}=e,{authenticatorData:s,clientDataJSON:c,userVerificationRequired:l}=n,u=Vf(s);if(u.length<37||a!==void 0&&!Uf(u.slice(0,32),__(pp(a),{as:`Bytes`})))return!1;let d=u[32];if((d&1)!=1||l&&(d&4)!=4||(d&8)!=8&&(d&16)==16)return!1;let f=JSON.parse(c);return f.type!==`webauthn.get`||!f.challenge||fp(sx(f.challenge))!==t||r!==void 0&&!(Array.isArray(r)?r:[r]).includes(f.origin)?!1:Lx({hash:!0,payload:Rf(u,__(Hf(c),{as:`Bytes`})),publicKey:i,signature:o})}let LS=NS;async function RS(e){return PS(e)}function zS(e){return IS(e)}cp();async function BS(e={}){let{extractable:t=!1}=e,n=await globalThis.crypto.subtle.generateKey({name:`ECDSA`,namedCurve:`P-256`},t,[`sign`,`verify`]),r=await globalThis.crypto.subtle.exportKey(`raw`,n.publicKey),i=b_(new Uint8Array(r));return{privateKey:n.privateKey,publicKey:i}}async function VS(e){let{payload:t,privateKey:n}=e,r=await globalThis.crypto.subtle.sign({name:`ECDSA`,hash:`SHA-256`},n,zf(t)),i=Bf(new Uint8Array(r)),a=Jf(qf(i,0,32)),o=Jf(qf(i,32,64));return o>Nx.CURVE.n/2n&&(o=Nx.CURVE.n-o),{r:a,s:o}}_f(),z();let HS=2049,US=`0x${`00`.repeat(32)}`;function WS(e){let{salt:t,threshold:n,owners:r}=e;if(t!==void 0&&R(t)!==32)throw new XS({reason:`salt must be 32 bytes`});if(r.length===0)throw new XS({reason:`owners cannot be empty`});if(r.length>255)throw new XS({reason:`too many owners`});if(!Number.isInteger(Number(n)))throw new XS({reason:`threshold must be an integer`});if(Number(n)<1)throw new XS({reason:`threshold cannot be zero`});if(Number(n)>8)throw new XS({reason:`threshold exceeds max threshold`});let i=0,a;for(let e of r){if(!I_(e.owner)||vp(e.owner)===0n)throw new XS({reason:`owner cannot be zero`});if(!Number.isInteger(Number(e.weight)))throw new XS({reason:`owner weight must be an integer`});if(Number(e.weight)<1)throw new XS({reason:`owner weight cannot be zero`});let t=vp(e.owner);if(a!==void 0&&a>=t)throw new XS({reason:`owners must be strictly ascending`});a=t,i+=Number(e.weight)}if(i>255)throw new XS({reason:`total owner weight exceeds u8 max`});if(Number(n)>i)throw new XS({reason:`threshold exceeds total owner weight`})}function GS(e){let t=[...e.owners].sort((e,t)=>vp(e.owner)<vp(t.owner)?-1:1),n={salt:e.salt?mp(e.salt,32):US,threshold:e.threshold,owners:t};return WS(n),n}function KS(e){let[t,n,r]=e;return{salt:t&&t!==`0x`?mp(t,32):US,threshold:n===`0x`?0:bp(n),owners:r.map(e=>{let[t,n]=e;return{owner:t,weight:!n||n===`0x`?0:bp(n)}})}}function qS(e){WS(e);let t=N_(L(h_(F(pp(`tempo:multisig:account`),mp(e.salt??US,32),I(e.threshold,{size:1}),I(e.owners.length,{size:1}),...e.owners.flatMap(e=>[e.owner,I(e.weight,{size:1})]))),12,32));if(vp(t)===0n)throw new XS({reason:`derived account cannot be zero`});return t}function JS(e){let{payload:t}=e,n=`account`in e&&e.account?e.account:qS(e.genesisConfig);return h_(F(pp(`tempo:multisig:signature`),up(t),n))}function YS(e){WS(e);let t=e.owners.map(e=>[e.owner,I(e.weight)]);return[e.salt?mp(e.salt,32):US,I(e.threshold),t]}var XS=class extends P{constructor({reason:e}){super(`Invalid native multisig config: ${e}.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`MultisigConfig.InvalidConfigError`})}};_f(),z(),If();let ZS=`0x01`,QS=`0x02`,$S=`0x03`,eC=`0x04`,tC=`0x05`,nC=`0x7777777777777777777777777777777777777777777777777777777777777777`;function rC(e){let t=dC(e);if(t===`secp256k1`){Lv(e.signature);return}if(t===`p256`){let t=e,n=[];if(typeof t.signature?.r!=`bigint`&&n.push(`signature.r`),typeof t.signature?.s!=`bigint`&&n.push(`signature.s`),typeof t.prehash!=`boolean`&&n.push(`prehash`),t.publicKey?(typeof t.publicKey.x!=`bigint`&&n.push(`publicKey.x`),typeof t.publicKey.y!=`bigint`&&n.push(`publicKey.y`)):n.push(`publicKey`),n.length>0)throw new _C({envelope:e,missing:n,type:`p256`});return}if(t===`webAuthn`){let t=e,n=[];if(typeof t.signature?.r!=`bigint`&&n.push(`signature.r`),typeof t.signature?.s!=`bigint`&&n.push(`signature.s`),t.metadata?(t.metadata.authenticatorData||n.push(`metadata.authenticatorData`),t.metadata.clientDataJSON||n.push(`metadata.clientDataJSON`)):n.push(`metadata`),t.publicKey?(typeof t.publicKey.x!=`bigint`&&n.push(`publicKey.x`),typeof t.publicKey.y!=`bigint`&&n.push(`publicKey.y`)):n.push(`publicKey`),n.length>0)throw new _C({envelope:e,missing:n,type:`webAuthn`});return}if(t===`keychain`){rC(e.inner);return}if(t===`multisig`){iC(e,1);return}}function iC(e,t){let n=[];if(e.account||n.push(`account`),Array.isArray(e.signatures)||n.push(`signatures`),n.length>0)throw new _C({envelope:e,missing:n,type:`multisig`});if(t>2)throw new yC({reason:`multisig nesting depth exceeds 2`});if(!I_(e.account))throw new yC({reason:`multisig account is invalid`});if(vp(e.account)===0n)throw new yC({reason:`multisig account cannot be zero`});if(e.signatures.length===0)throw new yC({reason:`multisig signatures cannot be empty`});if(e.signatures.length>8)throw new yC({reason:`multisig signatures exceed 8`});if(e.init&&(WS(e.init),!F_(qS(e.init),e.account)))throw new yC({reason:`multisig init does not derive account`});for(let n of e.signatures){let e=dC(n);if(e===`keychain`)throw new yC({reason:`keychain owner approvals are not allowed`});if(e===`multisig`){let e=n;if(e.init)throw new yC({reason:\"nested multisig owner approvals cannot carry `init`\"});iC(e,t+1)}else rC(n);if(R(fC(n))>2049)throw new yC({reason:`multisig owner signature exceeds ${HS} bytes`})}}function aC(e){let{signature:t,root:n}=e;return t.type===`keychain`?n?t.userAddress:aC({...e,signature:t.inner}):t.type===`multisig`?t.account:P_(oC(e))}function oC(e){let{payload:t,signature:n}=e;switch(n.type){case`secp256k1`:return ly({payload:t,signature:n.signature});case`p256`:case`webAuthn`:return n.publicKey;case`keychain`:return oC({payload:t,signature:n.inner});case`multisig`:throw new gC({envelope:n})}}function sC(e){return cC(e,0)}function cC(e,t){let n=e.endsWith(`7777777777777777777777777777777777777777777777777777777777777777`)?L(e,0,-R(nC)):e;if(R(n)===65){let e=zv(n);return Lv(e),{signature:e,type:`secp256k1`}}let r=L(n,0,1),i=L(n,1),a=R(i);if(r===ZS){if(a!==129)throw new vC({reason:`Invalid P256 signature envelope size: expected 129 bytes, got ${a} bytes`,serialized:n});return{publicKey:{prefix:4,x:vp(L(i,64,96)),y:vp(L(i,96,128))},prehash:bp(L(i,128,129))!==0,signature:{r:vp(L(i,0,32)),s:vp(L(i,32,64))},type:`p256`}}if(r===QS){if(a<128)throw new vC({reason:`Invalid WebAuthn signature envelope size: expected at least 128 bytes, got ${a} bytes`,serialized:n});let e=a-128,t=L(i,0,e),r,o;for(let n=37;n<e;n++){let e=xp(L(t,n));if(e.startsWith(`{`)&&e.endsWith(`}`))try{JSON.parse(e),r=L(t,0,n),o=e;break}catch{}}if(!r||!o)throw new vC({reason:`Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON`,serialized:n});return{publicKey:{prefix:4,x:vp(L(i,e+64,e+96)),y:vp(L(i,e+96,e+128))},metadata:{authenticatorData:r,clientDataJSON:o},signature:{r:vp(L(i,e,e+32)),s:vp(L(i,e+32,e+64))},type:`webAuthn`}}if(r===$S||r===eC)return{userAddress:L(i,0,20),inner:cC(L(i,20),t),type:`keychain`,version:r===eC?`v2`:`v1`};if(r===tC){let e=t+1;if(e>2)throw new vC({reason:`multisig nesting depth exceeds 2`,serialized:n});let r=Ev(i);if(!Array.isArray(r)||r.length!==2)throw new vC({reason:`invalid multisig wire shape: expected exactly two fields`,serialized:n});let[a,o]=r;if(!Array.isArray(o)||o.some(Array.isArray))throw new vC({reason:`invalid multisig signatures list`,serialized:n});if(o.length===0)throw new vC({reason:`multisig signatures cannot be empty`,serialized:n});if(o.length>8)throw new vC({reason:`multisig signatures exceed 8`,serialized:n});for(let e of o)if(R(e)>2049)throw new vC({reason:`multisig owner signature exceeds ${HS} bytes`,serialized:n});if(!Array.isArray(a)&&!I_(a))throw new vC({reason:`invalid multisig account`,serialized:n});if(Array.isArray(a)){let[e,t,r]=a;if(a.length!==3||Array.isArray(e)||R(e)!==32||Array.isArray(t)||R(t)>1||!Array.isArray(r)||r.some(e=>!Array.isArray(e)||e.length!==2||e.some(Array.isArray)||R(e[1])>1))throw new vC({reason:`invalid multisig init config`,serialized:n})}let s=Array.isArray(a)?KS(a):void 0,c={type:`multisig`,account:s?qS(s):a,signatures:o.map(t=>cC(t,e)),...s?{init:s}:{}};return iC(c,e),c}throw new vC({reason:`Unknown signature type identifier: ${r}. Expected ${ZS} (P256), ${QS} (WebAuthn), ${$S} (Keychain V1), ${eC} (Keychain V2), or ${tC} (Multisig)`,serialized:n})}function lC(e,t){if(typeof e==`string`)return sC(e);if(typeof e==`object`&&e&&`r`in e&&`s`in e&&`yParity`in e)return{signature:e,type:`secp256k1`};let n=dC(e);if(n===`multisig`){let{genesisConfig:t,init:r,...i}=e,a=i.account?i.account:t?qS(t):i.account,o=r===!0?t:r||void 0;return{...i,account:a,signatures:i.signatures.map(e=>lC(e)),...o?{init:GS(o)}:{},type:n}}return{...e,...n===`p256`?{prehash:e.prehash}:{},...n===`keychain`?{...typeof e==`object`&&e&&`version`in e&&e.version?{}:{version:`v2`},...typeof e==`object`&&`keyId`in e&&e.keyId?{}:(()=>{let n=e.inner;return n.type===`p256`||n.type===`webAuthn`?{keyId:P_(n.publicKey)}:n.type===`secp256k1`&&t?.payload?{keyId:P_(ly({payload:t.payload,signature:n.signature}))}:{}})()}:{},type:n}}function uC(e){if(e.type===`secp256k1`)return{signature:Uv(e),type:`secp256k1`};if(e.type===`p256`)return{prehash:e.preHash,publicKey:{prefix:4,x:vp(e.pubKeyX),y:vp(e.pubKeyY)},signature:{r:vp(e.r),s:vp(e.s)},type:`p256`};if(e.type===`webAuthn`){let t=e.webauthnData,n=R(t),r,i;for(let e=37;e<n;e++){let n=xp(L(t,e));if(n.startsWith(`{`)&&n.endsWith(`}`))try{JSON.parse(n),r=L(t,0,e),i=n;break}catch{}}if(!r||!i)throw new vC({reason:`Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON`,serialized:t});return{metadata:{authenticatorData:r,clientDataJSON:i},publicKey:{prefix:4,x:vp(e.pubKeyX),y:vp(e.pubKeyY)},signature:{r:vp(e.r),s:vp(e.s)},type:`webAuthn`}}if(e.type===`keychain`||`userAddress`in e&&`signature`in e){let t=e;return{type:`keychain`,userAddress:t.userAddress,inner:uC(t.signature),...t.keyId?{keyId:t.keyId}:{},...t.version?{version:t.version}:{}}}if(e.type===`multisig`||`signatures`in e&&(`account`in e||`init`in e)){let t=e,n=t.account!==void 0,r=t.init!==void 0;if(n===r)throw new yC({reason:\"RPC multisig must contain exactly one of `account` or `init`\"});let i=r?GS(t.init):void 0,a={type:`multisig`,account:i?qS(i):t.account,signatures:t.signatures.map(e=>uC(e)),...i?{init:i}:{}};return rC(a),a}throw new gC({envelope:e})}function dC(e){if(typeof e!=`object`||!e)throw new gC({envelope:e});if(`type`in e&&e.type)return e.type;if(`signature`in e&&!(`publicKey`in e)&&typeof e.signature==`object`&&e.signature!==null&&`r`in e.signature&&`s`in e.signature&&`yParity`in e.signature||`r`in e&&`s`in e&&`yParity`in e)return`secp256k1`;if(`signature`in e&&`prehash`in e&&`publicKey`in e&&typeof e.prehash==`boolean`)return`p256`;if(`signature`in e&&`metadata`in e&&`publicKey`in e)return`webAuthn`;if(`userAddress`in e&&`inner`in e)return`keychain`;if((`account`in e||`genesisConfig`in e||`init`in e)&&`signatures`in e)return`multisig`;throw new gC({envelope:e})}function fC(e,t={}){let n=dC(e);if(n===`secp256k1`)return F(Gv(e.signature),t.magic?nC:`0x`);if(n===`p256`){let n=e;return F(ZS,I(n.signature.r,{size:32}),I(n.signature.s,{size:32}),I(n.publicKey.x,{size:32}),I(n.publicKey.y,{size:32}),I(+!!n.prehash,{size:1}),t.magic?nC:`0x`)}if(n===`webAuthn`){let n=e,r=F(n.metadata.authenticatorData,pp(n.metadata.clientDataJSON));return F(QS,r,I(n.signature.r,{size:32}),I(n.signature.s,{size:32}),I(n.publicKey.x,{size:32}),I(n.publicKey.y,{size:32}),t.magic?nC:`0x`)}if(n===`keychain`){let n=e;return F(n.version===`v1`?$S:eC,n.userAddress,fC(n.inner),t.magic?nC:`0x`)}if(n===`multisig`){let n=e;return rC(n),F(tC,Mv([n.init?YS(n.init):n.account,n.signatures.map(e=>fC(e))]),t.magic?nC:`0x`)}throw new gC({envelope:e})}function pC(e){let{payload:t,signatures:n}=e,r=JS(`genesisConfig`in e&&e.genesisConfig?{payload:t,genesisConfig:e.genesisConfig}:{payload:t,account:e.account});return n.map(e=>({key:vp(aC({payload:r,signature:e})),signature:e})).sort((e,t)=>e.key<t.key?-1:+(e.key>t.key)).map(e=>e.signature)}function mC(e){let t=dC(e);if(t===`secp256k1`)return{...Kv(e.signature),type:`secp256k1`};if(t===`p256`){let t=e;return{preHash:t.prehash,pubKeyX:I(t.publicKey.x,{size:32}),pubKeyY:I(t.publicKey.y,{size:32}),r:I(t.signature.r,{size:32}),s:I(t.signature.s,{size:32}),type:`p256`}}if(t===`webAuthn`){let t=e,n=F(t.metadata.authenticatorData,pp(t.metadata.clientDataJSON));return{pubKeyX:I(t.publicKey.x,{size:32}),pubKeyY:I(t.publicKey.y,{size:32}),r:I(t.signature.r,{size:32}),s:I(t.signature.s,{size:32}),type:`webAuthn`,webauthnData:n}}if(t===`keychain`){let t=e;return{type:`keychain`,userAddress:t.userAddress,signature:mC(t.inner),...t.keyId?{keyId:t.keyId}:{},...t.version?{version:t.version}:{}}}if(t===`multisig`){let t=e;rC(t);let n=t.signatures.map(e=>mC(e));return t.init?{init:{...t.init,salt:t.init.salt??US,threshold:Number(t.init.threshold),owners:t.init.owners.map(e=>({...e,weight:Number(e.weight)}))},signatures:n}:{account:t.account,signatures:n}}throw new gC({envelope:e})}function hC(e,t){let{payload:n}=t,r=(()=>{if(t.address)return t.address;if(t.publicKey)return P_(t.publicKey)})();if(!r)return!1;let i=lC(e);if(i.type===`secp256k1`)return r?dy({address:r,payload:n,signature:i.signature}):!1;if(i.type===`p256`)return F_(P_(i.publicKey),r)?Lx({hash:i.prehash,publicKey:i.publicKey,payload:n,signature:i.signature}):!1;if(i.type===`webAuthn`)return F_(P_(i.publicKey),r)?zS({challenge:up(n),metadata:i.metadata,publicKey:i.publicKey,signature:i.signature}):!1;throw new bC(`Unable to verify signature envelope of type \"${i.type}\".`)}var gC=class extends P{constructor({envelope:e}){super(`Unable to coerce value (\\`${Pf(e)}\\`) to a valid signature envelope.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.CoercionError`})}},_C=class extends P{constructor({envelope:e,missing:t,type:n}){super(`Signature envelope of type \"${n}\" is missing required properties: ${t.map(e=>`\\`${e}\\``).join(`, `)}.\\n\\nProvided: ${Pf(e)}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.MissingPropertiesError`})}},vC=class extends P{constructor({reason:e,serialized:t}){super(`Unable to deserialize signature envelope: ${e}`,{metaMessages:[`Serialized: ${t}`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.InvalidSerializedError`})}},yC=class extends P{constructor({reason:e}){super(`Invalid native multisig owner approval: ${e}.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.InvalidMultisigApprovalError`})}},bC=class extends P{constructor(){super(...arguments),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.VerificationError`})}};_f(),z();function xC(e){return e.startsWith(`tempo`)?SC(e).address:e}function SC(e){if(!e.startsWith(`tempox`))throw new CC({address:e});let t=e.slice(6);return lp(t,{strict:!0}),{address:M_(t)}}var CC=class extends P{constructor({address:e}){super(`Tempo address \"${e}\" has an invalid prefix. Expected \"tempox\".`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TempoAddress.InvalidPrefixError`})}};z();function wC(e,t={}){if(typeof e.chainId==`string`)return TC(e);let n={...e,address:xC(e.address)};return t.signature?{...n,signature:t.signature}:n}function TC(e){let{address:t,chainId:n,nonce:r}=e,i=uC(e.signature);return{address:t,chainId:Number(n),nonce:BigInt(r),signature:i}}function EC(e){return e.map(e=>TC(e))}function DC(e){let[t,n,r,i]=e,a={address:n,chainId:t===`0x`?0:Number(t),nonce:r===`0x`?0n:BigInt(r)};return i&&(a.signature=sC(i)),wC(a)}function OC(e){let t=[];for(let n of e)t.push(DC(n));return t}function kC(e){let{address:t,chainId:n,nonce:r,signature:i}=e;return{address:t,chainId:I(n),nonce:I(r),signature:mC(i)}}function AC(e){return e.map(e=>kC(e))}function jC(e){let{address:t,chainId:n,nonce:r}=e,i=e.signature?fC(e.signature):void 0;return[n?I(n):`0x`,t,r?I(r):`0x`,...i?[i]:[]]}function MC(e){if(!e||e.length===0)return[];let t=[];for(let n of e)t.push(jC(n));return t}z();let NC=`0x20c0`;function PC(e){let t=xC(e);if(!t.toLowerCase().startsWith(NC))throw Error(`invalid tip20 address.`);return vp(L(t,6))}function FC(e){if(typeof e==`string`){let t=xC(e);return j_(t),t}let t=I(e,{size:18});return F(NC,t)}z();let IC=vv(`address, address, address, address, bytes32, address, bytes32, address, uint256`),LC=vv(`bytes32, bytes32, bytes32, uint256, address`),RC=vv(`bytes32, bytes32, uint96`),zC=h_(pp(`EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)`)),BC=h_(pp(`TIP20 Channel Reserve`)),VC=h_(pp(`1`)),HC=`0x0000000000000000000000000000000000000000`,UC=`0x4d50500000000000000000000000000000000000`,WC=h_(pp(`Voucher(bytes32 channelId,uint96 cumulativeAmount)`));function GC(e){let{authorizedSigner:t=HC,expiringNonceHash:n,operator:r=HC,payee:i,payer:a,salt:o,token:s}=e;return{authorizedSigner:YC(t),expiringNonceHash:n,operator:YC(r),payee:YC(i),payer:YC(a),salt:o,token:typeof s==`string`?YC(s):FC(s)}}function KC(e,t){let n=GC(e);return h_(gv(IC,[n.payer,n.payee,n.operator,n.token,n.salt,n.authorizedSigner,n.expiringNonceHash,UC,BigInt(t.chainId)]))}function qC(e){return h_(gv(LC,[zC,BC,VC,BigInt(e.chainId),UC]))}function JC(e){let t=h_(gv(RC,[WC,e.channelId,e.cumulativeAmount]));return h_(F(`0x1901`,qC({chainId:e.chainId}),t))}function YC(e){return N_(e)}z();function XC(e,t={}){if(`keyId`in e)return ZC(e);let n=e;n.witness!==void 0&&dw(n.witness),n.signature&&fw(n.signature);let r={...n,address:xC(n.address),...n.limits?{limits:n.limits.map(e=>({...e,token:xC(e.token)}))}:{},...n.scopes?{scopes:n.scopes.map(e=>({...e,address:xC(e.address),selector:uw(e.selector),...e.recipients?{recipients:e.recipients.map(e=>xC(e))}:{}}))}:{}};if(t.signature){let e=lC(t.signature);return fw(e),{...r,signature:e}}return r}function ZC(e){let{allowedCalls:t,chainId:n,keyId:r,expiry:i,limits:a,keyType:o}=e,s=e.witness??void 0,c=e.isAdmin??void 0,l=e.account??void 0,u=uC(e.signature);fw(u),s!==void 0&&dw(s);let d=t?t.flatMap(e=>!e.selectorRules||e.selectorRules.length===0?[{address:e.target}]:e.selectorRules.map(t=>({address:e.target,selector:lw(t.selector),...t.recipients&&t.recipients.length>0?{recipients:t.recipients}:{}}))):void 0,f=l!==void 0&&c?{account:l,isAdmin:!0}:{};return{address:r,chainId:n===`0x`?0n:vp(n),...i==null?{}:{expiry:Number(i)},limits:a?.map(e=>({token:e.token,limit:BigInt(e.limit),...e.period&&cw(e.period)>0?{period:cw(e.period)}:{}})),...d?{scopes:d}:{},signature:u,type:o,...s===void 0?{}:{witness:s},...f}}function QC(e){let[t,n]=e,[r,i,a,...o]=t,s=(()=>{switch(i){case`0x`:case`0x00`:return`secp256k1`;case`0x01`:return`p256`;case`0x02`:return`webAuthn`;default:throw Error(`Invalid key type: ${i}`)}})(),[c,l,u,d,f,p]=o,m=pw(c)?void 0:cw(c)||void 0,h=Array.isArray(l)&&l.length>0?l.map(e=>{let[t,n,r]=e;return{token:t,limit:sw(n),...r===void 0?{}:{period:cw(r)}}}):void 0,g=Array.isArray(u)?u.flatMap(e=>{let[t,n]=e;return!Array.isArray(n)||n.length===0?[{address:t}]:n.map(e=>{let[n,r]=e;return{address:t,selector:n,...Array.isArray(r)&&r.length>0?{recipients:r}:{}}})}):void 0,_=pw(d)?void 0:d;_!==void 0&&dw(_);let v=(()=>{if(!pw(f)){if(f!==`0x01`)throw new hw(f);return!0}})(),y=pw(p)?void 0:p,b=y!==void 0&&v?{account:y,isAdmin:!0}:{},x={address:a,chainId:r===`0x`?0n:vp(r),type:s,...m===void 0?{}:{expiry:m},...h===void 0?{}:{limits:h},...g===void 0?{}:{scopes:g},..._===void 0?{}:{witness:_},...b};if(n){let e=sC(n);fw(e),x.signature=e}return XC(x)}function $C(e){return tw(e)}function ew(e){return QC(Ev(e))}function tw(e){let[t]=iw(e);return h_(Mv(t))}function nw(e){return Mv(iw(e))}function rw(e){let{address:t,scopes:n,chainId:r,expiry:i,limits:a,type:o,signature:s,witness:c,isAdmin:l,account:u}=e;fw(s),c!==void 0&&dw(c);let d=(()=>{if(!n)return;let e=new Map;for(let t of n){let n=t.address;e.has(n)||e.set(n,[]),t.selector&&e.get(n).push({selector:uw(t.selector),...t.recipients&&t.recipients.length>0?{recipients:t.recipients}:{}})}return[...e.entries()].map(([e,t])=>({target:e,...t.length>0?{selectorRules:t}:{}}))})();return{chainId:r===0n?`0x`:I(r),expiry:typeof i==`number`?I(i):null,keyId:xC(t),keyType:o,limits:a?.map(({token:e,limit:t,period:n})=>({token:e,limit:I(t),...n?{period:ow(n)}:{}})),signature:mC(s),...d?{allowedCalls:d}:{},...c===void 0?{}:{witness:c},...l?{isAdmin:!0}:{},...u===void 0?{}:{account:u}}}function iw(e){let{address:t,chainId:n,scopes:r,expiry:i,limits:a,witness:o,isAdmin:s,account:c}=e;o!==void 0&&dw(o);let l=(()=>{if(e.signature)return fw(e.signature),fC(e.signature)})(),u=(()=>{switch(e.type){case`secp256k1`:return`0x`;case`p256`:return`0x01`;case`webAuthn`:return`0x02`;default:throw Error(`Invalid key type: ${e.type}`)}})(),d=a?.map(e=>{let t=[e.token,aw(e.limit)];return e.period&&e.period>0&&t.push(ow(e.period)),t}),f=(()=>{if(!r)return;let e=new Map;for(let t of r){let n=t.address;e.has(n)||e.set(n,[]),t.selector&&e.get(n).push([uw(t.selector),t.recipients??[]])}return[...e.entries()].map(([e,t])=>[e,t.map(([e,t])=>[e,t])])})(),p=o!==void 0||s||c!==void 0,m=[{value:i!=null&&i!==0?ow(i):void 0,placeholder:`0x`},{value:d,placeholder:p?`0x`:[]},{value:f,placeholder:`0x`},{value:o,placeholder:`0x`},{value:s?`0x01`:void 0,placeholder:`0x`},{value:c,placeholder:`0x`}],h=-1;for(let e=m.length-1;e>=0;e--)if(m[e].value!==void 0){h=e;break}let g=m.slice(0,h+1).map(({value:e,placeholder:t})=>e??t);return[[aw(n),u,t,...g],...l?[l]:[]]}function aw(e){return e===0n?`0x`:I(e)}function ow(e){return e===0?`0x`:I(e)}function sw(e){return e===`0x`?0n:BigInt(e)}function cw(e){return e===`0x`?0:bp(e)}function lw(e){return typeof e==`string`?e:Array.isArray(e)?fp(new Uint8Array(e)):e}function uw(e){if(e)return e.startsWith(`0x`)?e:Ry(e)}function dw(e){if(R(e)!==32)throw new mw(e)}function fw(e){if(e.type===`keychain`||e.type===`multisig`)throw new gw(e.type)}function pw(e){return e===void 0||e===`0x`}var mw=class extends Error{constructor(e){super(`Witness \\`${e}\\` must be exactly 32 bytes (got ${R(e)} bytes).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidWitnessSizeError`})}},hw=class extends Error{constructor(e){super(`Admin marker \\`${e}\\` is invalid; expected \\`0x01\\` (TIP-1049).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidAdminMarkerError`})}},gw=class extends Error{constructor(e){super(`Signature type \\`${e}\\` is invalid for key authorizations; expected \\`secp256k1\\`, \\`p256\\`, or \\`webAuthn\\`.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidSignatureTypeError`})}};z();let _w={defaultAdmin:`DEFAULT_ADMIN_ROLE`,pause:`PAUSE_ROLE`,unpause:`UNPAUSE_ROLE`,issuer:`ISSUER_ROLE`,burnBlocked:`BURN_BLOCKED_ROLE`};function vw(e){return e===`defaultAdmin`?`0x0000000000000000000000000000000000000000000000000000000000000000`:h_(pp(_w[e]??e))}let yw={...lx,tempo:`0x76`},bw={...ux,\"0x76\":`tempo`};function xw(e,t={}){if(!e)return null;let n=dx(e);return n.type=bw[e.type],e.aaAuthorizationList&&(n.authorizationList=EC(e.aaAuthorizationList),delete n.aaAuthorizationList),e.calls&&(n.calls=e.calls.map(e=>({to:e.to,value:e.value&&e.value!==`0x`?BigInt(e.value):void 0,data:e.input||e.data||`0x`}))),e.feeToken&&(n.feeToken=e.feeToken),e.nonceKey&&(n.nonceKey=BigInt(e.nonceKey)),e.signature&&(n.signature=uC(e.signature)),e.validAfter&&(n.validAfter=Number(e.validAfter)),e.validBefore&&(n.validBefore=Number(e.validBefore)),e.keyAuthorization&&(n.keyAuthorization=ZC(e.keyAuthorization)),e.feePayerSignature&&(n.feePayerSignature=Uv(e.feePayerSignature),n.feePayerSignature.v=Yv(n.feePayerSignature.yParity)),n}z();function Sw(e){let t=xS({...e,authorizationList:void 0});e.authorizationList&&(t.authorizationList=AC(e.authorizationList)),e.calls?t.calls=e.calls.map(e=>({to:e.to?xC(e.to):e.to,value:e.value?I(e.value):`0x`,data:e.data??`0x`})):(e.to||e.data||e.value)&&(t.calls=[{to:e.to?xC(e.to):void 0,value:e.value?I(e.value):`0x`,data:e.data??`0x`}]),e.feeToken!==void 0&&(t.feeToken=FC(e.feeToken)),e.keyAuthorization&&(t.keyAuthorization=rw(e.keyAuthorization)),e.validBefore!==void 0&&(t.validBefore=I(e.validBefore)),e.validAfter!==void 0&&(t.validAfter=I(e.validAfter));let n=(()=>{if(e.nonceKey===`random`)return gp(6);if(typeof e.nonceKey==`bigint`)return I(e.nonceKey)})();return n&&(t.nonceKey=n),(e.calls!==void 0||e.feePayer!==void 0||e.feeToken!==void 0||e.keyAuthorization!==void 0||e.nonceKey!==void 0||e.validBefore!==void 0||e.validAfter!==void 0||e.type===`tempo`)&&(t.type=yw.tempo,delete t.data,delete t.input,delete t.to,delete t.value),t}_f(),z();let Cw=`tempo`;function ww(e){let{calls:t,chainId:n,maxFeePerGas:r,maxPriorityFeePerGas:i,validBefore:a,validAfter:o}=e;if(!t||t.length===0)throw new Mw;if(typeof a==`number`&&typeof o==`number`&&a<=o)throw new Nw({validBefore:a,validAfter:o});if(t)for(let e of t)e.to&&j_(e.to,{strict:!1});if(n<=0)throw new ES({chainId:n});if(r&&BigInt(r)>2n**256n-1n)throw new TS({feeCap:r});if(i&&r&&i>r)throw new OS({maxFeePerGas:r,maxPriorityFeePerGas:i})}function Tw(e){let t=Ev(L(e,1)),[n,r,i,a,o,s,c,l,u,d,f,p,m,h,g]=t,_=Array.isArray(h)?h:void 0,v=_?g:h;if(t.length!==13&&t.length!==14&&t.length!==15)throw new DS({attributes:{authorizationList:m,chainId:n,maxPriorityFeePerGas:r,maxFeePerGas:i,gas:a,calls:o,accessList:s,keyAuthorization:_,nonceKey:c,nonce:l,validBefore:u,validAfter:d,feeToken:f,feePayerSignatureOrSender:p,...t.length>12?{signature:v}:{}},serialized:e,type:Cw});let y={chainId:Number(n),type:Cw};Sp(a)&&a!==`0x`&&(y.gas=BigInt(a)),Sp(l)&&(y.nonce=l===`0x`?0n:BigInt(l)),Sp(i)&&i!==`0x`&&(y.maxFeePerGas=BigInt(i)),Sp(r)&&r!==`0x`&&(y.maxPriorityFeePerGas=BigInt(r)),Sp(c)&&(y.nonceKey=c===`0x`?0n:BigInt(c)),Sp(u)&&u!==`0x`&&(y.validBefore=Number(u)),Sp(d)&&d!==`0x`&&(y.validAfter=Number(d)),Sp(f)&&f!==`0x`&&(y.feeToken=f),o&&o!==`0x`&&(y.calls=o.map(e=>{let[t,n,r]=e,i={};return t&&t!==`0x`&&(i.to=t),n&&n!==`0x`&&(i.value=BigInt(n)),r&&r!==`0x`&&(i.data=r),i})),s?.length!==0&&s!==`0x`&&(y.accessList=Zb(s)),m?.length!==0&&m!==`0x`&&(y.authorizationList=OC(m)),p!==`0x`&&p!==void 0&&(p===`0x00`||I_(p)?(y.feePayerSignature=null,I_(p)&&(y.from=p)):y.feePayerSignature=Wv(p)),_&&(y.keyAuthorization=QC(_));let b=v?sC(v):void 0;if(b&&(y={...y,signature:b}),!y.from&&b)try{y.from=aC({payload:kw(Ew(y)),signature:b,root:!0})}catch{}return ww(y),y}function Ew(e,t={}){let{feePayerSignature:n,signature:r}=t,i=typeof e==`string`?Tw(e):e;return i.from&&=xC(i.from),i.calls&&=i.calls.map(e=>({...e,...e.to?{to:xC(e.to)}:{}})),ww(i),{...i,...r?{signature:lC(r)}:{},...n?{feePayerSignature:Vv(n)}:{},type:`tempo`}}function Dw(e,t={}){let{accessList:n,authorizationList:r,calls:i,chainId:a,feeToken:o,gas:s,keyAuthorization:c,nonce:l,nonceKey:u,maxFeePerGas:d,maxPriorityFeePerGas:f,validBefore:p,validAfter:m}=e;ww(e);let h=Qb(n),g=t.signature||e.signature,_=MC(r),v=i.map(e=>[e.to?xC(e.to):`0x`,e.value?I(e.value):`0x`,e.data??`0x`]),y=!1,b=(()=>{if(t.sender)return t.sender;if(t.format===`feePayer`&&g){let t=lC(g);if(t.type===`keychain`)return t.userAddress;if(t.type===`p256`||t.type===`webAuthn`)return P_(t.publicKey);if(t.type===`secp256k1`)return cy({payload:kw(Ew(e)),signature:t.signature})}let n=t.feePayerSignature===void 0?e.feePayerSignature:t.feePayerSignature;return n===null?(y=!0,`0x00`):n?qv(n):`0x`})(),x=[I(a),f?I(f):`0x`,d?I(d):`0x`,s?I(s):`0x`,v,h,u?I(u):`0x`,l?I(l):`0x`,typeof p==`number`?I(p):`0x`,typeof m==`number`?I(m):`0x`,!y&&(typeof o==`bigint`||typeof o==`string`)?FC(o):`0x`,b,_,...c?[iw(c)]:[],...g?[fC(lC(g))]:[]];return F(t.format===`feePayer`?`0x78`:`0x76`,Mv(x))}function Ow(e){return Dw({...e,signature:void 0,...e.feePayerSignature===void 0?{}:{feePayerSignature:null}})}function kw(e,t={}){let n=Aw(e,{presign:!0});return t.from?h_(F(`0x04`,n,xC(t.from))):n}function Aw(e,t={}){return h_(t.presign?Ow(e):Dw(e))}function jw(e,t){let n=xC(t.sender);return h_(Dw({...e,signature:void 0},{sender:n,format:`feePayer`}))}var Mw=class extends P{constructor(){super(`Calls list cannot be empty.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.CallsEmptyError`})}},Nw=class extends P{constructor({validBefore:e,validAfter:t}){super(`validBefore (${e}) must be greater than validAfter (${t}).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.InvalidValidityWindowError`})}};let Pw=[{name:`authorizeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`tuple[]`,name:`limits`,components:[{type:`address`,name:`token`},{type:`uint256`,name:`amount`}]}],outputs:[]},{name:`authorizeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`tuple`,name:`config`,components:[{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`tuple[]`,name:`limits`,components:[{type:`address`,name:`token`},{type:`uint256`,name:`amount`},{type:`uint64`,name:`period`}]},{type:`bool`,name:`allowAnyCalls`},{type:`tuple[]`,name:`allowedCalls`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}]}],outputs:[]},{name:`authorizeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`tuple`,name:`config`,components:[{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`tuple[]`,name:`limits`,components:[{type:`address`,name:`token`},{type:`uint256`,name:`amount`},{type:`uint64`,name:`period`}]},{type:`bool`,name:`allowAnyCalls`},{type:`tuple[]`,name:`allowedCalls`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}]},{type:`bytes32`,name:`witness`}],outputs:[]},{name:`authorizeAdminKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`bytes32`,name:`witness`}],outputs:[]},{name:`burnKeyAuthorizationWitness`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`witness`}],outputs:[]},{name:`revokeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`}],outputs:[]},{name:`updateSpendingLimit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`address`,name:`token`},{type:`uint256`,name:`newLimit`}],outputs:[]},{name:`setAllowedCalls`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`tuple[]`,name:`scopes`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}],outputs:[]},{name:`removeAllowedCalls`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`address`,name:`target`}],outputs:[]},{name:`getKey`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`}],outputs:[{type:`tuple`,components:[{type:`uint8`,name:`signatureType`},{type:`address`,name:`keyId`},{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`bool`,name:`isRevoked`}]}]},{name:`getRemainingLimit`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`},{type:`address`,name:`token`}],outputs:[{type:`uint256`,name:`remaining`}]},{name:`getRemainingLimitWithPeriod`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`},{type:`address`,name:`token`}],outputs:[{type:`uint256`,name:`remaining`},{type:`uint64`,name:`periodEnd`}]},{name:`getAllowedCalls`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`}],outputs:[{type:`bool`,name:`isScoped`},{type:`tuple[]`,name:`scopes`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}]},{name:`isKeyAuthorizationWitnessBurned`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`witness`}],outputs:[{type:`bool`}]},{name:`isAdminKey`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`}],outputs:[{type:`bool`}]},{name:`getTransactionKey`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`KeyAuthorized`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0},{type:`uint8`,name:`signatureType`},{type:`uint64`,name:`expiry`}]},{name:`AdminKeyAuthorized`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0}]},{name:`KeyRevoked`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0}]},{name:`SpendingLimitUpdated`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint256`,name:`newLimit`}]},{name:`AccessKeySpend`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint256`,name:`amount`},{type:`uint256`,name:`remainingLimit`}]},{name:`KeyAuthorizationWitness`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`bytes32`,name:`witness`,indexed:!0}]},{name:`KeyAuthorizationWitnessBurned`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`bytes32`,name:`witness`,indexed:!0}]},{name:`UnauthorizedCaller`,type:`error`,inputs:[]},{name:`KeyAlreadyExists`,type:`error`,inputs:[]},{name:`KeyNotFound`,type:`error`,inputs:[]},{name:`KeyExpired`,type:`error`,inputs:[]},{name:`SpendingLimitExceeded`,type:`error`,inputs:[]},{name:`InvalidSpendingLimit`,type:`error`,inputs:[]},{name:`InvalidSignatureType`,type:`error`,inputs:[]},{name:`ZeroPublicKey`,type:`error`,inputs:[]},{name:`ExpiryInPast`,type:`error`,inputs:[]},{name:`KeyAlreadyRevoked`,type:`error`,inputs:[]},{name:`SignatureTypeMismatch`,type:`error`,inputs:[{type:`uint8`,name:`expected`},{type:`uint8`,name:`actual`}]},{name:`CallNotAllowed`,type:`error`,inputs:[]},{name:`InvalidCallScope`,type:`error`,inputs:[]},{name:`InvalidKeyId`,type:`error`,inputs:[]},{name:`InvalidKeyAuthorizationWitness`,type:`error`,inputs:[]},{name:`KeyAuthorizationWitnessAlreadyBurned`,type:`error`,inputs:[]},{name:`LegacyAuthorizeKeySelectorChanged`,type:`error`,inputs:[{type:`bytes4`,name:`newSelector`}]}],Fw=[{name:`registerVirtualMaster`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`salt`}],outputs:[{type:`bytes4`,name:`masterId`}]},{name:`getMaster`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes4`,name:`masterId`}],outputs:[{type:`address`}]},{name:`resolveRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`to`}],outputs:[{type:`address`,name:`effectiveRecipient`}]},{name:`resolveVirtualAddress`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`virtualAddr`}],outputs:[{type:`address`,name:`master`}]},{name:`isVirtualAddress`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`addr`}],outputs:[{type:`bool`}]},{name:`decodeVirtualAddress`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`addr`}],outputs:[{type:`bool`,name:`isVirtual`},{type:`bytes4`,name:`masterId`},{type:`bytes6`,name:`userTag`}]},{name:`isImplicitlyApproved`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`addr`}],outputs:[{type:`bool`}]},{name:`MasterRegistered`,type:`event`,inputs:[{type:`bytes4`,name:`masterId`,indexed:!0},{type:`address`,name:`masterAddress`,indexed:!0}]},{name:`MasterIdCollision`,type:`error`,inputs:[{type:`address`,name:`master`}]},{name:`InvalidMasterAddress`,type:`error`,inputs:[]},{name:`ProofOfWorkFailed`,type:`error`,inputs:[]},{name:`VirtualAddressUnregistered`,type:`error`,inputs:[]}],Iw=[{name:`getNonce`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`uint256`,name:`nonceKey`}],outputs:[{type:`uint64`,name:`nonce`}]},{name:`NonceIncremented`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`uint256`,name:`nonceKey`,indexed:!0},{type:`uint64`,name:`newNonce`}]},{name:`ProtocolNonceNotSupported`,type:`error`,inputs:[]},{name:`InvalidNonceKey`,type:`error`,inputs:[]},{name:`NonceOverflow`,type:`error`,inputs:[]},{name:`ExpiringNonceReplay`,type:`error`,inputs:[]},{name:`ExpiringNonceSetFull`,type:`error`,inputs:[]},{name:`InvalidExpiringNonceExpiry`,type:`error`,inputs:[]}],Lw=[{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes`,name:`receipt`}],outputs:[{type:`uint256`,name:`amount`}]},{name:`claim`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`bytes`,name:`receipt`}],outputs:[]},{name:`burnBlockedReceipt`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes`,name:`receipt`}],outputs:[]},{name:`TransferBlocked`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`address`,name:`receiver`,indexed:!0},{type:`uint64`,name:`blockedNonce`,indexed:!0},{type:`uint256`,name:`amount`},{type:`uint8`,name:`receiptVersion`},{type:`bytes`,name:`receipt`}]},{name:`ReceiptClaimed`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`address`,name:`receiver`,indexed:!0},{type:`uint64`,name:`blockedNonce`,indexed:!0},{type:`uint64`,name:`blockedAt`},{type:`uint8`,name:`receiptVersion`},{type:`address`,name:`originator`},{type:`address`,name:`recipient`},{type:`address`,name:`recoveryAuthority`},{type:`address`,name:`caller`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`}]},{name:`ReceiptBurned`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`address`,name:`receiver`,indexed:!0},{type:`uint64`,name:`blockedNonce`,indexed:!0},{type:`uint64`,name:`blockedAt`},{type:`uint8`,name:`receiptVersion`},{type:`address`,name:`originator`},{type:`address`,name:`recipient`},{type:`address`,name:`recoveryAuthority`},{type:`address`,name:`caller`},{type:`uint256`,name:`amount`}]},{name:`InvalidReceipt`,type:`error`,inputs:[]},{name:`InvalidClaimAddress`,type:`error`,inputs:[]},{name:`UnauthorizedClaimer`,type:`error`,inputs:[]},{name:`AddressReserved`,type:`error`,inputs:[]}],Rw=[{name:`recover`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`address`,name:`signer`}]},{name:`verify`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`signer`},{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`bool`}]},{name:`verifyKeychain`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`bool`}]},{name:`verifyKeychainAdmin`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`bool`}]},{name:`InvalidFormat`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]}],zw=[{name:`createPair`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`base`}],outputs:[{type:`bytes32`,name:`key`}]},{name:`place`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`}],outputs:[{type:`uint128`,name:`orderId`}]},{name:`placeFlip`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`int16`,name:`flipTick`}],outputs:[{type:`uint128`,name:`orderId`}]},{name:`cancel`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[]},{name:`cancelStaleOrder`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[]},{name:`swapExactAmountIn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountIn`},{type:`uint128`,name:`minAmountOut`}],outputs:[{type:`uint128`,name:`amountOut`}]},{name:`swapExactAmountOut`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountOut`},{type:`uint128`,name:`maxAmountIn`}],outputs:[{type:`uint128`,name:`amountIn`}]},{name:`quoteSwapExactAmountIn`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountIn`}],outputs:[{type:`uint128`,name:`amountOut`}]},{name:`quoteSwapExactAmountOut`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountOut`}],outputs:[{type:`uint128`,name:`amountIn`}]},{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`user`},{type:`address`,name:`token`}],outputs:[{type:`uint128`}]},{name:`withdraw`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`}],outputs:[]},{name:`getOrder`,type:`function`,stateMutability:`view`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[{type:`tuple`,components:[{type:`uint128`,name:`orderId`},{type:`address`,name:`maker`},{type:`bytes32`,name:`bookKey`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`uint128`,name:`amount`},{type:`uint128`,name:`remaining`},{type:`uint128`,name:`prev`},{type:`uint128`,name:`next`},{type:`bool`,name:`isFlip`},{type:`int16`,name:`flipTick`}]}]},{name:`getTickLevel`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`base`},{type:`int16`,name:`tick`},{type:`bool`,name:`isBid`}],outputs:[{type:`uint128`,name:`head`},{type:`uint128`,name:`tail`},{type:`uint128`,name:`totalLiquidity`}]},{name:`pairKey`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`tokenA`},{type:`address`,name:`tokenB`}],outputs:[{type:`bytes32`}]},{name:`nextOrderId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`books`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`pairKey`}],outputs:[{type:`tuple`,components:[{type:`address`,name:`base`},{type:`address`,name:`quote`},{type:`int16`,name:`bestBidTick`},{type:`int16`,name:`bestAskTick`}]}]},{name:`MIN_TICK`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`MAX_TICK`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`TICK_SPACING`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`PRICE_SCALE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`MIN_ORDER_AMOUNT`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint128`}]},{name:`MIN_PRICE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`MAX_PRICE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`tickToPrice`,type:`function`,stateMutability:`pure`,inputs:[{type:`int16`,name:`tick`}],outputs:[{type:`uint32`,name:`price`}]},{name:`priceToTick`,type:`function`,stateMutability:`pure`,inputs:[{type:`uint32`,name:`price`}],outputs:[{type:`int16`,name:`tick`}]},{name:`PairCreated`,type:`event`,inputs:[{type:`bytes32`,name:`key`,indexed:!0},{type:`address`,name:`base`,indexed:!0},{type:`address`,name:`quote`,indexed:!0}]},{name:`OrderPlaced`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`bool`,name:`isFlipOrder`},{type:`int16`,name:`flipTick`}]},{name:`OrderFilled`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`taker`,indexed:!0},{type:`uint128`,name:`amountFilled`},{type:`bool`,name:`partialFill`}]},{name:`OrderFlipped`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`int16`,name:`flipTick`}]},{name:`FlipFailed`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`bytes4`,name:`reason`}]},{name:`OrderCancelled`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0}]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`PairDoesNotExist`,type:`error`,inputs:[]},{name:`PairAlreadyExists`,type:`error`,inputs:[]},{name:`OrderDoesNotExist`,type:`error`,inputs:[]},{name:`IdenticalTokens`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`TickOutOfBounds`,type:`error`,inputs:[{type:`int16`,name:`tick`}]},{name:`InvalidTick`,type:`error`,inputs:[]},{name:`InvalidFlipTick`,type:`error`,inputs:[]},{name:`InsufficientBalance`,type:`error`,inputs:[]},{name:`InsufficientLiquidity`,type:`error`,inputs:[]},{name:`InsufficientOutput`,type:`error`,inputs:[]},{name:`MaxInputExceeded`,type:`error`,inputs:[]},{name:`BelowMinimumOrderSize`,type:`error`,inputs:[{type:`uint128`,name:`amount`}]},{name:`InvalidBaseToken`,type:`error`,inputs:[]},{name:`OrderNotStale`,type:`error`,inputs:[]}],B=[{name:`name`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`symbol`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`decimals`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint8`}]},{name:`totalSupply`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`quoteToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`nextQuoteToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint256`}]},{name:`transfer`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`approve`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`spender`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`allowance`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`owner`},{type:`address`,name:`spender`}],outputs:[{type:`uint256`}]},{name:`transferFrom`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`mint`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[]},{name:`burn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`}],outputs:[]},{name:`currency`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`supplyCap`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`paused`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`transferPolicyId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`logoURI`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`setLogoURI`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`newLogoURI`}],outputs:[]},{name:`burnBlocked`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`uint256`,name:`amount`}],outputs:[]},{name:`mintWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`burnWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`transferWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`transferFromWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[{type:`bool`}]},{name:`changeTransferPolicyId`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`newPolicyId`}],outputs:[]},{name:`setSupplyCap`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`newSupplyCap`}],outputs:[]},{name:`pause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`unpause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`setNextQuoteToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newQuoteToken`}],outputs:[]},{name:`completeQuoteTokenUpdate`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`PAUSE_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`UNPAUSE_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`ISSUER_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`BURN_BLOCKED_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`permit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`owner`},{type:`address`,name:`spender`},{type:`uint256`,name:`value`},{type:`uint256`,name:`deadline`},{type:`uint8`,name:`v`},{type:`bytes32`,name:`r`},{type:`bytes32`,name:`s`}],outputs:[]},{name:`nonces`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`owner`}],outputs:[{type:`uint256`}]},{name:`DOMAIN_SEPARATOR`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`distributeReward`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`}],outputs:[]},{name:`setRewardRecipient`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`recipient`}],outputs:[]},{name:`claimRewards`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[{type:`uint256`}]},{name:`optedInSupply`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`globalRewardPerToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`userRewardInfo`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`tuple`,components:[{type:`address`,name:`rewardRecipient`},{type:`uint256`,name:`rewardPerToken`},{type:`uint256`,name:`rewardBalance`}]}]},{name:`getPendingRewards`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint128`}]},{name:`Transfer`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Approval`,type:`event`,inputs:[{type:`address`,name:`owner`,indexed:!0},{type:`address`,name:`spender`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Mint`,type:`event`,inputs:[{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Burn`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`BurnBlocked`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`TransferWithMemo`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`,indexed:!0}]},{name:`TransferPolicyUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`uint64`,name:`newPolicyId`,indexed:!0}]},{name:`SupplyCapUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`uint256`,name:`newSupplyCap`,indexed:!0}]},{name:`PauseStateUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`bool`,name:`isPaused`}]},{name:`NextQuoteTokenSet`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`nextQuoteToken`,indexed:!0}]},{name:`QuoteTokenUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`newQuoteToken`,indexed:!0}]},{name:`RewardDistributed`,type:`event`,inputs:[{type:`address`,name:`funder`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`RewardRecipientSet`,type:`event`,inputs:[{type:`address`,name:`holder`,indexed:!0},{type:`address`,name:`recipient`,indexed:!0}]},{name:`LogoURIUpdated`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`string`,name:`newLogoURI`}]},{name:`InsufficientBalance`,type:`error`,inputs:[{type:`uint256`,name:`available`},{type:`uint256`,name:`required`},{type:`address`,name:`token`}]},{name:`InsufficientAllowance`,type:`error`,inputs:[]},{name:`SupplyCapExceeded`,type:`error`,inputs:[]},{name:`InvalidSupplyCap`,type:`error`,inputs:[]},{name:`InvalidPayload`,type:`error`,inputs:[]},{name:`PolicyForbids`,type:`error`,inputs:[]},{name:`InvalidRecipient`,type:`error`,inputs:[]},{name:`ContractPaused`,type:`error`,inputs:[]},{name:`InvalidCurrency`,type:`error`,inputs:[]},{name:`InvalidQuoteToken`,type:`error`,inputs:[]},{name:`InvalidAmount`,type:`error`,inputs:[]},{name:`NoOptedInSupply`,type:`error`,inputs:[]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`ProtectedAddress`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`Uninitialized`,type:`error`,inputs:[]},{name:`InvalidTransferPolicyId`,type:`error`,inputs:[]},{name:`PermitExpired`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`LogoURITooLong`,type:`error`,inputs:[]},{name:`InvalidLogoURI`,type:`error`,inputs:[]},{name:`hasRole`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`role`}],outputs:[{type:`bool`}]},{name:`getRoleAdmin`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`role`}],outputs:[{type:`bytes32`}]},{name:`grantRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`address`,name:`account`}],outputs:[]},{name:`revokeRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`address`,name:`account`}],outputs:[]},{name:`renounceRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`}],outputs:[]},{name:`setRoleAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`bytes32`,name:`adminRole`}],outputs:[]},{name:`RoleMembershipUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`role`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`sender`,indexed:!0},{type:`bool`,name:`hasRole`}]},{name:`RoleAdminUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`role`,indexed:!0},{type:`bytes32`,name:`newAdminRole`,indexed:!0},{type:`address`,name:`sender`,indexed:!0}]},{name:`Unauthorized`,type:`error`,inputs:[]}],Bw=[{name:`CLOSE_GRACE_PERIOD`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`VOUCHER_TYPEHASH`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`open`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`uint96`,name:`deposit`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`}],outputs:[{type:`bytes32`,name:`channelId`}]},{name:`settle`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`cumulativeAmount`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`topUp`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`additionalDeposit`}],outputs:[]},{name:`close`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`cumulativeAmount`},{type:`uint96`,name:`captureAmount`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`requestClose`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[]},{name:`withdraw`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[]},{name:`getChannel`,type:`function`,stateMutability:`view`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[{type:`tuple`,components:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`tuple`,name:`state`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]}]},{name:`getChannelState`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`channelId`}],outputs:[{type:`tuple`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]},{name:`getChannelStatesBatch`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32[]`,name:`channelIds`}],outputs:[{type:`tuple[]`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]},{name:`computeChannelId`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}],outputs:[{type:`bytes32`}]},{name:`getVoucherDigest`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`channelId`},{type:`uint96`,name:`cumulativeAmount`}],outputs:[{type:`bytes32`}]},{name:`domainSeparator`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`ChannelOpened`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`salt`},{type:`bytes32`,name:`expiringNonceHash`},{type:`uint96`,name:`deposit`}]},{name:`Settled`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`cumulativeAmount`},{type:`uint96`,name:`deltaPaid`},{type:`uint96`,name:`newSettled`}]},{name:`TopUp`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`additionalDeposit`},{type:`uint96`,name:`newDeposit`}]},{name:`CloseRequested`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint256`,name:`closeGraceEnd`}]},{name:`ChannelClosed`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`settledToPayee`},{type:`uint96`,name:`refundedToPayer`}]},{name:`CloseRequestCancelled`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0}]},{name:`ChannelAlreadyExists`,type:`error`,inputs:[]},{name:`ChannelNotFound`,type:`error`,inputs:[]},{name:`NotPayer`,type:`error`,inputs:[]},{name:`NotPayeeOrOperator`,type:`error`,inputs:[]},{name:`InvalidPayee`,type:`error`,inputs:[]},{name:`ZeroDeposit`,type:`error`,inputs:[]},{name:`ExpiringNonceHashNotSet`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`AmountExceedsDeposit`,type:`error`,inputs:[]},{name:`AmountNotIncreasing`,type:`error`,inputs:[]},{name:`CaptureAmountInvalid`,type:`error`,inputs:[]},{name:`CloseNotReady`,type:`error`,inputs:[]},{name:`DepositOverflow`,type:`error`,inputs:[]}],Vw=[{name:`createToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`},{type:`address`,name:`quoteToken`},{type:`address`,name:`admin`},{type:`bytes32`,name:`salt`}],outputs:[{type:`address`}]},{name:`createToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`},{type:`address`,name:`quoteToken`},{type:`address`,name:`admin`},{type:`bytes32`,name:`salt`},{type:`string`,name:`logoURI`}],outputs:[{type:`address`}]},{name:`isTIP20`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`bool`}]},{name:`getTokenAddress`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`sender`},{type:`bytes32`,name:`salt`}],outputs:[{type:`address`}]},{name:`TokenCreated`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`},{type:`address`,name:`quoteToken`},{type:`address`,name:`admin`},{type:`bytes32`,name:`salt`}]},{name:`AddressReserved`,type:`error`,inputs:[]},{name:`AddressNotReserved`,type:`error`,inputs:[]},{name:`InvalidQuoteToken`,type:`error`,inputs:[]},{name:`TokenAlreadyExists`,type:`error`,inputs:[{type:`address`,name:`token`}]}],Hw=[{name:`policyIdCounter`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`policyExists`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`bool`}]},{name:`policyData`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`uint8`,name:`policyType`},{type:`address`,name:`admin`}]},{name:`isAuthorized`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedSender`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedMintRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`compoundPolicyData`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`recipientPolicyId`},{type:`uint64`,name:`mintRecipientPolicyId`}]},{name:`receivePolicy`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`bool`,name:`hasReceivePolicy`},{type:`uint64`,name:`senderPolicyId`},{type:`uint8`,name:`senderPolicyType`},{type:`uint64`,name:`tokenFilterId`},{type:`uint8`,name:`tokenFilterType`},{type:`address`,name:`recoveryAuthority`}]},{name:`validateReceivePolicy`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`},{type:`address`,name:`sender`},{type:`address`,name:`receiver`}],outputs:[{type:`bool`,name:`authorized`},{type:`uint8`,name:`blockedReason`}]},{name:`createPolicy`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`admin`},{type:`uint8`,name:`policyType`}],outputs:[{type:`uint64`}]},{name:`createPolicyWithAccounts`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`admin`},{type:`uint8`,name:`policyType`},{type:`address[]`,name:`accounts`}],outputs:[{type:`uint64`}]},{name:`setPolicyAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`admin`}],outputs:[]},{name:`modifyPolicyWhitelist`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`account`},{type:`bool`,name:`allowed`}],outputs:[]},{name:`modifyPolicyBlacklist`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`account`},{type:`bool`,name:`restricted`}],outputs:[]},{name:`createCompoundPolicy`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`recipientPolicyId`},{type:`uint64`,name:`mintRecipientPolicyId`}],outputs:[{type:`uint64`}]},{name:`setReceivePolicy`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`tokenFilterId`},{type:`address`,name:`recoveryAuthority`}],outputs:[]},{name:`PolicyAdminUpdated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`admin`,indexed:!0}]},{name:`PolicyCreated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`uint8`,name:`policyType`}]},{name:`WhitelistUpdated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`bool`,name:`allowed`}]},{name:`BlacklistUpdated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`bool`,name:`restricted`}]},{name:`CompoundPolicyCreated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`creator`,indexed:!0},{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`recipientPolicyId`},{type:`uint64`,name:`mintRecipientPolicyId`}]},{name:`ReceivePolicyUpdated`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`tokenFilterId`},{type:`address`,name:`recoveryAuthority`}]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`PolicyNotFound`,type:`error`,inputs:[]},{name:`PolicyNotSimple`,type:`error`,inputs:[]},{name:`InvalidPolicyType`,type:`error`,inputs:[]},{name:`IncompatiblePolicyType`,type:`error`,inputs:[]},{name:`VirtualAddressNotAllowed`,type:`error`,inputs:[]},{name:`InvalidReceivePolicyType`,type:`error`,inputs:[]},{name:`InvalidRecoveryAuthority`,type:`error`,inputs:[]}],Uw=[{name:`userTokens`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`user`}],outputs:[{type:`address`}]},{name:`validatorTokens`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validator`}],outputs:[{type:`address`}]},{name:`setUserToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`setValidatorToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`distributeFees`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`validator`},{type:`address`,name:`token`}],outputs:[]},{name:`collectedFees`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validator`},{type:`address`,name:`token`}],outputs:[{type:`uint256`}]},{name:`UserTokenSet`,type:`event`,inputs:[{type:`address`,name:`user`,indexed:!0},{type:`address`,name:`token`,indexed:!0}]},{name:`ValidatorTokenSet`,type:`event`,inputs:[{type:`address`,name:`validator`,indexed:!0},{type:`address`,name:`token`,indexed:!0}]},{name:`FeesDistributed`,type:`event`,inputs:[{type:`address`,name:`validator`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`InsufficientFeeTokenBalance`,type:`error`,inputs:[]},{name:`CannotChangeWithinBlock`,type:`error`,inputs:[]}],Ww=[{name:`M`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`N`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`SCALE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`MIN_LIQUIDITY`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`getPoolId`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`}],outputs:[{type:`bytes32`}]},{name:`getPool`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`}],outputs:[{type:`tuple`,components:[{type:`uint128`,name:`reserveUserToken`},{type:`uint128`,name:`reserveValidatorToken`}]}]},{name:`pools`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`poolId`}],outputs:[{type:`tuple`,components:[{type:`uint128`,name:`reserveUserToken`},{type:`uint128`,name:`reserveValidatorToken`}]}]},{name:`mint`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`},{type:`uint256`,name:`amountValidatorToken`},{type:`address`,name:`to`}],outputs:[{type:`uint256`,name:`liquidity`}]},{name:`burn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`},{type:`uint256`,name:`liquidity`},{type:`address`,name:`to`}],outputs:[{type:`uint256`,name:`amountUserToken`},{type:`uint256`,name:`amountValidatorToken`}]},{name:`totalSupply`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`poolId`}],outputs:[{type:`uint256`}]},{name:`liquidityBalances`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`poolId`},{type:`address`,name:`user`}],outputs:[{type:`uint256`}]},{name:`rebalanceSwap`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`},{type:`uint256`,name:`amountOut`},{type:`address`,name:`to`}],outputs:[{type:`uint256`,name:`amountIn`}]},{name:`Mint`,type:`event`,inputs:[{type:`address`,name:`sender`},{type:`address`,name:`to`,indexed:!0},{type:`address`,name:`userToken`,indexed:!0},{type:`address`,name:`validatorToken`,indexed:!0},{type:`uint256`,name:`amountValidatorToken`},{type:`uint256`,name:`liquidity`}]},{name:`Burn`,type:`event`,inputs:[{type:`address`,name:`sender`,indexed:!0},{type:`address`,name:`userToken`,indexed:!0},{type:`address`,name:`validatorToken`,indexed:!0},{type:`uint256`,name:`amountUserToken`},{type:`uint256`,name:`amountValidatorToken`},{type:`uint256`,name:`liquidity`},{type:`address`,name:`to`}]},{name:`RebalanceSwap`,type:`event`,inputs:[{type:`address`,name:`userToken`,indexed:!0},{type:`address`,name:`validatorToken`,indexed:!0},{type:`address`,name:`swapper`,indexed:!0},{type:`uint256`,name:`amountIn`},{type:`uint256`,name:`amountOut`}]},{name:`IdenticalAddresses`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`InsufficientLiquidity`,type:`error`,inputs:[]},{name:`InsufficientReserves`,type:`error`,inputs:[]},{name:`InvalidAmount`,type:`error`,inputs:[]},{name:`DivisionByZero`,type:`error`,inputs:[]},{name:`InvalidSwapCalculation`,type:`error`,inputs:[]}],Gw=[{name:`getValidators`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`tuple[]`,name:`validators`,components:[{type:`bytes32`,name:`publicKey`},{type:`bool`,name:`active`},{type:`uint64`,name:`index`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}]}]},{name:`addValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newValidatorAddress`},{type:`bytes32`,name:`publicKey`},{type:`bool`,name:`active`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}],outputs:[]},{name:`updateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newValidatorAddress`},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}],outputs:[]},{name:`changeValidatorStatus`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`validator`},{type:`bool`,name:`active`}],outputs:[]},{name:`changeValidatorStatusByIndex`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`index`},{type:`bool`,name:`active`}],outputs:[]},{name:`owner`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`changeOwner`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newOwner`}],outputs:[]},{name:`getNextFullDkgCeremony`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`setNextFullDkgCeremony`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`epoch`}],outputs:[]},{name:`validatorsArray`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`index`}],outputs:[{type:`address`}]},{name:`validators`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validator`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`bool`,name:`active`},{type:`uint64`,name:`index`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}]}]},{name:`validatorCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`ValidatorAlreadyExists`,type:`error`,inputs:[]},{name:`ValidatorNotFound`,type:`error`,inputs:[]},{name:`InvalidPublicKey`,type:`error`,inputs:[]},{name:`NotHostPort`,type:`error`,inputs:[{type:`string`,name:`field`},{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]},{name:`NotIpPort`,type:`error`,inputs:[{type:`string`,name:`field`},{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]}],Kw=[{type:`error`,name:`DelegateCallNotAllowed`,inputs:[]},{type:`error`,name:`InvalidMode`,inputs:[]},{type:`function`,name:`balanceOf`,stateMutability:`view`,inputs:[{name:`account`,type:`address`}],outputs:[{type:`uint64`}]},{type:`function`,name:`modeOf`,stateMutability:`view`,inputs:[{name:`account`,type:`address`}],outputs:[{type:`uint8`}]},{type:`function`,name:`budgetOf`,stateMutability:`view`,inputs:[{name:`account`,type:`address`}],outputs:[{type:`uint64`}]},{type:`function`,name:`setMode`,stateMutability:`nonpayable`,inputs:[{name:`newMode`,type:`uint8`}],outputs:[]},{type:`function`,name:`setBudget`,stateMutability:`nonpayable`,inputs:[{name:`creditBudget`,type:`uint64`}],outputs:[]}],qw=[{name:`getActiveValidators`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`tuple[]`,name:`validators`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`getInitializedAtHeight`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`owner`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`validatorCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`validatorByIndex`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`index`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`validatorByAddress`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validatorAddress`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`validatorByPublicKey`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`publicKey`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`getNextNetworkIdentityRotationEpoch`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`isInitialized`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`addValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`validatorAddress`},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`bytes`,name:`signature`}],outputs:[{type:`uint64`,name:`index`}]},{name:`deactivateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`}],outputs:[]},{name:`rotateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`setFeeRecipient`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`address`,name:`feeRecipient`}],outputs:[]},{name:`setIpAddresses`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`}],outputs:[]},{name:`transferValidatorOwnership`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`address`,name:`newAddress`}],outputs:[]},{name:`transferOwnership`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newOwner`}],outputs:[]},{name:`setNetworkIdentityRotationEpoch`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`epoch`}],outputs:[]},{name:`migrateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`}],outputs:[]},{name:`initializeIfMigrated`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`ValidatorAdded`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`}]},{name:`ValidatorDeactivated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0}]},{name:`ValidatorRotated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`uint64`,name:`deactivatedIndex`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`oldPublicKey`},{type:`bytes32`,name:`newPublicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`caller`}]},{name:`FeeRecipientUpdated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`feeRecipient`},{type:`address`,name:`caller`}]},{name:`IpAddressesUpdated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`caller`}]},{name:`ValidatorOwnershipTransferred`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`oldAddress`,indexed:!0},{type:`address`,name:`newAddress`,indexed:!0},{type:`address`,name:`caller`}]},{name:`OwnershipTransferred`,type:`event`,inputs:[{type:`address`,name:`oldOwner`,indexed:!0},{type:`address`,name:`newOwner`,indexed:!0}]},{name:`ValidatorMigrated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`publicKey`}]},{name:`NetworkIdentityRotationEpochSet`,type:`event`,inputs:[{type:`uint64`,name:`previousEpoch`,indexed:!0},{type:`uint64`,name:`nextEpoch`,indexed:!0}]},{name:`Initialized`,type:`event`,inputs:[{type:`uint64`,name:`height`}]},{name:`SkippedValidatorMigration`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`publicKey`}]},{name:`AlreadyInitialized`,type:`error`,inputs:[]},{name:`IngressAlreadyExists`,type:`error`,inputs:[{type:`string`,name:`ingress`}]},{name:`EmptyV1ValidatorSet`,type:`error`,inputs:[]},{name:`InvalidMigrationIndex`,type:`error`,inputs:[]},{name:`InvalidOwner`,type:`error`,inputs:[]},{name:`InvalidPublicKey`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`InvalidSignatureFormat`,type:`error`,inputs:[]},{name:`InvalidValidatorAddress`,type:`error`,inputs:[]},{name:`MigrationNotComplete`,type:`error`,inputs:[]},{name:`NotInitialized`,type:`error`,inputs:[]},{name:`NotIp`,type:`error`,inputs:[{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]},{name:`NotIpPort`,type:`error`,inputs:[{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]},{name:`PublicKeyAlreadyExists`,type:`error`,inputs:[]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`AddressAlreadyHasValidator`,type:`error`,inputs:[]},{name:`ValidatorAlreadyDeactivated`,type:`error`,inputs:[]},{name:`ValidatorNotFound`,type:`error`,inputs:[]}],Jw=[...Pw,...Fw,...Iw,...Lw,...Rw,...zw,...Kw,...B,...Bw,...Vw,...Hw,...Uw,...Ww,...Gw,...qw];z();function Yw(e){let t=e.account;return t?.keyType&&t.keyType!==`secp256k1`||t?.source===`accessKey`||t?.source===`multisig`||e.calls!==void 0||e.feePayer!==void 0||e.feePayerSignature!==void 0||e.feeToken!==void 0||e.keyAuthorization!==void 0||e.multisig!==void 0||e.nonceKey!==void 0||e.signature!==void 0||e.signatures!==void 0||e.validBefore!==void 0||e.validAfter!==void 0?`tempo`:e.type?e.type:Wd(e)}function Xw(e){try{return Yw(e)===`tempo`}catch{return!1}}function Zw(e){let t=L(e,0,1);return t===`0x76`||t===`0x78`?$w(e):vy(e)}async function Qw(e,t){if(!Xw(e)){if(t&&`type`in t&&t.type!==`secp256k1`)throw Error(\"Unsupported signature type. Expected `secp256k1` but got `\"+t.type+\"`.\");if(t&&`type`in t){let{r:n,s:r,yParity:i}=t?.signature;return Ih(e,{r:I(n,{size:32}),s:I(r,{size:32}),yParity:i})}return Ih(e,t)}if(Yw(e)===`tempo`)return eT(e,t);throw Error(`Unsupported transaction type`)}function $w(e){let{feePayerSignature:t,nonce:n,...r}=Tw(e);return{...r,nonce:Number(n??0n),feePayerSignature:t&&{r:I(t.r,{size:32}),s:I(t.s,{size:32}),yParity:t.yParity}}}async function eT(e,t){let n=(()=>{if(e.signature)return e.signature;if(t&&`type`in t)return t;if(t)return lC({r:BigInt(t.r),s:BigInt(t.s),yParity:Number(t.yParity)})})(),{chainId:r,feePayer:i,nonce:a,...o}=e,s=(()=>{let t=e.feePayerSignature;if(t)return{r:BigInt(t.r),s:BigInt(t.s),yParity:Number(t.yParity)};if(t===null||i)return null})(),c=e.feePayerSignature!==void 0&&e.feePayerSignature!==null,l=i===!0&&(!n||!s)||typeof i==`object`&&!n||!n&&c,u={...o,calls:o.calls?.length?o.calls:[{to:o.to||(!o.data||o.data===`0x`?`0x0000000000000000000000000000000000000000`:void 0),value:o.value,data:o.data}],chainId:Number(r),feePayerSignature:s,type:`tempo`,...a?{nonce:BigInt(a)}:{}},d={...u};l&&delete d.feeToken;let f=(()=>{if(n)return n;if(!e.multisig||!e.signatures)return;let t=pC({payload:kw(Ew(d)),signatures:e.signatures.map(e=>lC(e)),genesisConfig:e.multisig});return lC({genesisConfig:e.multisig,signatures:t,...a||e.nonceKey?{}:{init:!0}})})();if(f&&typeof e.feePayer==`object`){let t=Ew(u,{signature:f}),n=jw(t,{sender:e.from??aC({payload:kw(t),root:!0,signature:f})});return Dw(t,{feePayerSignature:Vv(await e.feePayer.sign({hash:n}))})}return i===!0||!f&&c?f&&s?Dw(d,{signature:f}):f?Dw(d,{format:`feePayer`,sender:e.from,signature:f}):Dw(d,{feePayerSignature:null}):Dw(d,{feePayerSignature:void 0,signature:f})}z(),ma(),di();function tT(e){let{access:t}=e;return t?pT(e):fT(e)}function nT(e,t){let{access:n,keyAuthorizationManager:r,rpId:i,origin:a,internal_version:o}=t,s=Fx({privateKey:e});return tT({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:o,keyType:`webAuthn`,publicKey:s,async sign({hash:n}){let{metadata:r,payload:o}=LS({...t,challenge:n,rpId:i,origin:a});return fC({metadata:r,signature:Ix({payload:o,privateKey:e,hash:!0}),publicKey:s,type:`webAuthn`})}})}function rT(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=Fx({privateKey:e});return tT({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:t}){return fC({signature:Ix({payload:t,privateKey:e}),publicKey:a,type:`p256`})}})}function iT(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=sy({privateKey:e});return tT({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`secp256k1`,publicKey:a,async sign(t){let{hash:n}=t;return Gv(uy({payload:n,privateKey:e}))}})}function aT(e,t={}){let{id:n}=e,r=S_(e.publicKey);return tT({keyType:`webAuthn`,publicKey:r,async sign({hash:e}){let{metadata:i,signature:a}=await RS({...t,challenge:e,credentialId:n});return fC({publicKey:r,metadata:i,signature:a,type:`webAuthn`})}})}function oT(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,{publicKey:a,privateKey:o}=e;return tT({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:e}){return fC({signature:await VS({payload:e,privateKey:o}),prehash:!0,publicKey:a,type:`p256`})}})}async function sT(e,t){let n=cT(t);return lT(e)?e.sign({hash:n,raw:!0}):e.sign({hash:n})}function cT(e){let{chainId:t,channel:n,cumulativeAmount:r}=e;return JC({chainId:t,channelId:typeof n==`string`?n:KC(n,{chainId:t}),cumulativeAmount:r})}function lT(e){return e.source===`accessKey`&&`accessKeyAddress`in e}async function uT(e,t){let{chainId:n,key:r,expiry:i,limits:a,scopes:o,witness:s,admin:c}=t,{accessKeyAddress:l,keyType:u}=mT(r),d=lT(e),f=d?{account:e.address}:{},p=c?{}:{expiry:i,limits:a,scopes:o},m=$C({address:l,chainId:n,type:u,witness:s,...c?{isAdmin:!0}:{},...f,...p});return XC({address:l,chainId:n,signature:lC(d?await e.sign({hash:m,raw:!0}):await e.sign({hash:m})),type:u,...s?{witness:s}:{},...c?{isAdmin:!0}:{},...f,...p})}function dT(e){let{keyType:t=`secp256k1`,parentAddress:n,source:r=`privateKey`,internal_version:i=`v2`}=e,a=n??P_(e.publicKey),o=w_(e.publicKey,{includePrefix:!1});async function s({hash:t,raw:r}){if(r)return await e.sign({hash:t});let a=n&&i===`v2`?ui(F(`0x04`,t,n)):t,o=await e.sign({hash:a});return n?fC(lC({userAddress:n,inner:lC(o),type:`keychain`,version:i})):o}return{address:M_(a),keyType:t,sign:s,async signAuthorization(e){let{chainId:t,nonce:n}=e,r=e.contractAddress??e.address,i=lC(await s({hash:Pu({address:r,chainId:t,nonce:n})}));if(i.type!==`secp256k1`)throw Error(\"Unsupported signature type. Expected `secp256k1` but got `\"+i.type+\"`.\");let{r:a,s:o,yParity:c}=i.signature;return{address:r,chainId:t,nonce:n,r:I(a,{size:32}),s:I(o,{size:32}),yParity:c}},async signMessage(e){let{message:t}=e;return await s({hash:dg(t)})},async signTransaction(e,t){let{serializer:n=Qw}=t??{},r=ui(await n(`feePayerSignature`in e&&e.feePayerSignature?{...e,feePayerSignature:null}:e)),i=e.multisig;return i?await s({hash:JS({payload:r,genesisConfig:i}),raw:!0}):await n(e,lC(await s({hash:r})))},async signTypedData(e){return await s({hash:yg(e)})},async signVoucher(e){let t=cT(e);return n?await s({hash:t,raw:!0}):await s({hash:t})},publicKey:o,source:r,type:`local`}}function fT(e){let t=dT(e);return{...t,source:`root`,async signKeyAuthorization(e,n){let{chainId:r,expiry:i,limits:a,scopes:o,witness:s,admin:c}=n,{accessKeyAddress:l,keyType:u}=mT(e),d=c?{}:{expiry:i,limits:a,scopes:o};return XC({address:l,chainId:r,signature:lC(await t.sign({hash:$C({address:l,chainId:r,type:u,witness:s,...c?{isAdmin:!0}:{},...d})})),type:u,...s?{witness:s}:{},...c?{isAdmin:!0}:{},...d})}}}function pT(e){let{access:t,keyAuthorizationManager:n}=e,{address:r}=N(t);return{...dT({...e,parentAddress:r}),accessKeyAddress:P_(e.publicKey),keyAuthorizationManager:n,source:`accessKey`}}function mT(e){return`accessKeyAddress`in e?{accessKeyAddress:e.accessKeyAddress,keyType:e.keyType}:`publicKey`in e&&e.publicKey?{accessKeyAddress:P_(S_(e.publicKey)),keyType:e.type}:{accessKeyAddress:e.address,keyType:e.type}}let hT=`0xaAAAaaAA00000000000000000000000000000000`,gT=`0xdec0000000000000000000000000000000000000`,_T=[`genesis`,`t0`,`t1`,`t1a`,`t1b`,`t1c`,`t2`,`t3`,`t4`,`t5`,`t6`];function vT(e,t){return _T.indexOf(e)<_T.indexOf(t)}tf(),ya();function yT(e,t){let{decimals:n,token:r}=t;if(e&&typeof r==`string`){let t=xT(e,r);if(t)return{address:t.address,decimals:n??t.decimals}}let i=FC(r);return{address:i,decimals:n??(e?CT(e,i):void 0)}}function bT(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;if(typeof t==`string`){let n=xT(e,t);if(n)return n}let i=FC(t);for(let e of n){let t=ST(e,r);if(t&&ef(t.address,i))return t}}function xT(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;let i=t.toLowerCase();for(let e of n)if(e.symbol?.toLowerCase()===i)return ST(e,r)}function ST(e,t){let n=e.addresses[t];if(n)return{address:n,currency:e.currency,decimals:e.decimals,name:e.name,popular:e.popular,symbol:e.symbol}}function CT(e,t){let n=e.tokens,r=e.chain?.id;if(n&&r!==void 0)for(let e of n){let n=ST(e,r);if(n&&ef(n.address,t))return n.decimals}}async function wT(e,t){let{address:n,decimals:r}=yT(e,t);return r===void 0?{address:n,decimals:await Km(e,{abi:B,address:n,functionName:`decimals`})}:{address:n,decimals:r}}function TT(e){let{account:t,chain:n,feePayer:r,feeToken:i,gas:a,keyAuthorization:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,nonceKey:u,validAfter:d,validBefore:f}=e;return{account:t,chain:n,feePayer:r,feeToken:i,gas:a,keyAuthorization:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,nonceKey:u,validAfter:d,validBefore:f}}function ET(e){return e.length===2?e:[void 0,e[0]]}function V(e){return{...e,data:va(e),to:e.address}}ma();let DT={0:`secp256k1`,1:`p256`,2:`webAuthn`},OT={true:`limited`,false:`unlimited`};async function kT(e,t){return kT.inner(dh,e,t)}(function(e){async function t(e,t,n){let{accessKey:r,admin:i,chainId:a=t.chain?.id,expiry:o,limits:s,scopes:c,witness:l,...u}=n,d=u.account??t.account;if(!d)throw Error(`account is required.`);if(!a)throw Error(`chainId is required.`);let f=await uT(N(d),{chainId:BigInt(a),key:r,admin:i,expiry:o,limits:s,scopes:c,witness:l});return await e(t,{...u,keyAuthorization:f})}e.inner=t;function n(e){let[t]=sf({abi:Pw,logs:e,eventName:`KeyAuthorized`,strict:!0});if(!t)throw Error(\"`KeyAuthorized` event not found.\");return t}e.extractEvent=n})(kT||={});async function AT(e,t){return AT.inner(fh,e,t)}(function(e){async function t(t,n,r){let{witness:i,...a}=r,o=e.call({witness:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{witness:t}=e;return V({address:hT,abi:Pw,functionName:`burnKeyAuthorizationWitness`,args:[t]})}e.call=n;function r(e){let[t]=sf({abi:Pw,logs:e,eventName:`KeyAuthorizationWitnessBurned`,strict:!0});if(!t)throw Error(\"`KeyAuthorizationWitnessBurned` event not found.\");return t}e.extractEvent=r})(AT||={});async function jT(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=N(n),o=await Km(e,{...i,account:null,...jT.call({account:a.address,accessKey:r})});return{address:o.keyId,keyType:DT[o.signatureType]??`secp256k1`,expiry:o.expiry,spendPolicy:OT[`${o.enforceLimits}`],isRevoked:o.isRevoked}}(function(e){function t(e){let{account:t,accessKey:n}=e;return V({address:hT,abi:Pw,functionName:`getKey`,args:[t,RT(n)]})}e.call=t})(jT||={});async function MT(e,t){let{account:n=e.account,accessKey:r,token:i,...a}=t;if(!n)throw Error(`account is required.`);let o=N(n),s=e.chain?.hardfork;if(s&&vT(s,`t3`))return{remaining:await Km(e,{...a,...MT.call({account:o.address,accessKey:r,token:i})}),periodEnd:void 0};let[c,l]=await Km(e,{...a,...MT.callWithPeriod({account:o.address,accessKey:r,token:i})});return{remaining:c,periodEnd:l}}(function(e){function t(e){let{account:t,accessKey:n,token:r}=e;return V({address:hT,abi:Pw,functionName:`getRemainingLimit`,args:[t,RT(n),r]})}e.call=t;function n(e){let{account:t,accessKey:n,token:r}=e;return V({address:hT,abi:Pw,functionName:`getRemainingLimitWithPeriod`,args:[t,RT(n),r]})}e.callWithPeriod=n})(MT||={});async function NT(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=N(n);return Km(e,{...i,account:null,...NT.call({account:a.address,accessKey:r})})}(function(e){function t(e){let{account:t,accessKey:n}=e;return V({address:hT,abi:Pw,functionName:`isAdminKey`,args:[t,RT(n)]})}e.call=t})(NT||={});async function PT(e,t){let{account:n=e.account,witness:r,...i}=t;if(!n)throw Error(`account is required.`);let a=N(n);return Km(e,{...i,account:null,...PT.call({account:a.address,witness:r})})}(function(e){function t(e){let{account:t,witness:n}=e;return V({address:hT,abi:Pw,functionName:`isKeyAuthorizationWitnessBurned`,args:[t,n]})}e.call=t})(PT||={});async function FT(e,t){return FT.inner(fh,e,t)}(function(e){async function t(t,n,r){let{accessKey:i,...a}=r,o=e.call({accessKey:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{accessKey:t}=e;return V({address:hT,abi:Pw,functionName:`revokeKey`,args:[RT(t)]})}e.call=n;function r(e){let[t]=sf({abi:Pw,logs:e,eventName:`KeyRevoked`,strict:!0});if(!t)throw Error(\"`KeyRevoked` event not found.\");return t}e.extractEvent=r})(FT||={});async function IT(e,t){return IT.inner(fh,e,t)}(function(e){async function t(t,n,r){let{accessKey:i,token:a,limit:o,...s}=r,c=e.call({accessKey:i,token:a,limit:o});return await t(n,{...s,...c})}e.inner=t;function n(e){let{accessKey:t,token:n,limit:r}=e;return V({address:hT,abi:Pw,functionName:`updateSpendingLimit`,args:[RT(t),n,r]})}e.call=n;function r(e){let[t]=sf({abi:Pw,logs:e,eventName:`SpendingLimitUpdated`,strict:!0});if(!t)throw Error(\"`SpendingLimitUpdated` event not found.\");return t}e.extractEvent=r})(IT||={});async function LT(e,t){let{account:n,admin:r,hash:i,signature:a,...o}=t;return Km(e,{...o,...LT.call({account:n,admin:r,hash:i,signature:a})})}(function(e){function t(e){let{account:t,admin:n=!0,hash:r,signature:i}=e;return V({address:`0x5165300000000000000000000000000000000000`,abi:Rw,functionName:n?`verifyKeychainAdmin`:`verifyKeychain`,args:[t,r,i]})}e.call=t})(LT||={});function RT(e){return typeof e==`string`?e:e.accessKeyAddress}z(),ma();async function zT(e,t){return zT.inner(fh,e,t)}(function(e){async function t(t,n,r){let{tokenIn:i,tokenOut:a,amountOut:o,maxAmountIn:s,...c}=r,l=e.call({tokenIn:i,tokenOut:a,amountOut:o,maxAmountIn:s});return await t(n,{...c,...l})}e.inner=t;function n(e){let{tokenIn:t,tokenOut:n,amountOut:r,maxAmountIn:i}=e;return V({address:gT,abi:zw,functionName:`swapExactAmountOut`,args:[t,n,r,i]})}e.call=n})(zT||={});async function BT(e,t){return BT.inner(fh,e,t)}(function(e){async function t(t,n,r){let{orderId:i,...a}=r,o=e.call({orderId:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{orderId:t}=e;return V({address:gT,abi:zw,functionName:`cancel`,args:[t]})}e.call=n;function r(e){let[t]=sf({abi:zw,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(BT||={});async function VT(e,t){return VT.inner(fh,e,t)}(function(e){async function t(t,n,r){let{orderId:i,...a}=r,o=e.call({orderId:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{orderId:t}=e;return V({address:gT,abi:zw,functionName:`cancelStaleOrder`,args:[t]})}e.call=n;function r(e){let[t]=sf({abi:zw,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(VT||={});async function HT(e,t){return HT.inner(fh,e,t)}(function(e){async function t(t,n,r){let{base:i,...a}=r,o=e.call({base:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{base:t}=e;return V({address:gT,abi:zw,functionName:`createPair`,args:[t]})}e.call=n;function r(e){let[t]=sf({abi:zw,logs:e,eventName:`PairCreated`,strict:!0});if(!t)throw Error(\"`PairCreated` event not found.\");return t}e.extractEvent=r})(HT||={});async function UT(e,t){let{account:n=e.account,token:r,...i}=t,a=n?N(n).address:void 0;if(!a)throw Error(`account is required.`);return Km(e,{...i,...UT.call({account:a,token:r})})}(function(e){function t(e){let{account:t,token:n}=e;return V({address:gT,abi:zw,args:[t,n],functionName:`balanceOf`})}e.call=t})(UT||={});async function WT(e,t){let{tokenIn:n,tokenOut:r,amountOut:i,...a}=t;return Km(e,{...a,...WT.call({tokenIn:n,tokenOut:r,amountOut:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountOut:r}=e;return V({address:gT,abi:zw,args:[t,n,r],functionName:`quoteSwapExactAmountOut`})}e.call=t})(WT||={});async function GT(e,t){let{orderId:n,...r}=t;return Km(e,{...r,...GT.call({orderId:n})})}(function(e){function t(e){let{orderId:t}=e;return V({address:gT,abi:zw,args:[t],functionName:`getOrder`})}e.call=t})(GT||={});async function KT(e,t){let{base:n,quote:r,...i}=t;return Km(e,{...i,...KT.call({base:n,quote:r})})}(function(e){function t(e){let{base:t,quote:n}=e,r=$T(t,n);return V({address:gT,abi:zw,args:[r],functionName:`books`})}e.call=t})(KT||={});async function qT(e,t){let{base:n,tick:r,isBid:i,...a}=t,[o,s,c]=await Km(e,{...a,...qT.call({base:n,tick:r,isBid:i})});return{head:o,tail:s,totalLiquidity:c}}(function(e){function t(e){let{base:t,tick:n,isBid:r}=e;return V({address:gT,abi:zw,args:[t,n,r],functionName:`getTickLevel`})}e.call=t})(qT||={});async function JT(e,t){let{tokenIn:n,tokenOut:r,amountIn:i,...a}=t;return Km(e,{...a,...JT.call({tokenIn:n,tokenOut:r,amountIn:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountIn:r}=e;return V({address:gT,abi:zw,args:[t,n,r],functionName:`quoteSwapExactAmountIn`})}e.call=t})(JT||={});async function YT(e,t){return YT.inner(fh,e,t)}(function(e){async function t(t,n,r){let{amount:i,token:a,type:o,tick:s,...c}=r,l=e.call({amount:i,token:a,type:o,tick:s});return await t(n,{...c,...l})}e.inner=t;function n(e){let{token:t,amount:n,type:r,tick:i}=e;return V({address:gT,abi:zw,functionName:`place`,args:[t,n,r===`buy`,i]})}e.call=n;function r(e){let[t]=sf({abi:zw,logs:e,eventName:`OrderPlaced`,strict:!0});if(!t)throw Error(\"`OrderPlaced` event not found.\");return t}e.extractEvent=r})(YT||={});async function XT(e,t){return XT.inner(fh,e,t)}(function(e){async function t(t,n,r){let{amount:i,flipTick:a,tick:o,token:s,type:c,...l}=r,u=e.call({amount:i,flipTick:a,tick:o,token:s,type:c});return await t(n,{...l,...u})}e.inner=t;function n(e){let{token:t,amount:n,type:r,tick:i,flipTick:a}=e;return V({address:gT,abi:zw,functionName:`placeFlip`,args:[t,n,r===`buy`,i,a]})}e.call=n;function r(e){let t=sf({abi:zw,logs:e,eventName:`OrderPlaced`,strict:!0}).find(e=>e.args.isFlipOrder);if(!t)throw Error(\"`OrderPlaced` event (flip order) not found.\");return t}e.extractEvent=r})(XT||={});async function ZT(e,t){return ZT.inner(fh,e,t)}(function(e){async function t(t,n,r){let{tokenIn:i,tokenOut:a,amountIn:o,minAmountOut:s,...c}=r,l=e.call({tokenIn:i,tokenOut:a,amountIn:o,minAmountOut:s});return await t(n,{...c,...l})}e.inner=t;function n(e){let{tokenIn:t,tokenOut:n,amountIn:r,minAmountOut:i}=e;return V({address:gT,abi:zw,functionName:`swapExactAmountIn`,args:[t,n,r,i]})}e.call=n})(ZT||={});async function QT(e,t){return QT.inner(fh,e,t)}(function(e){async function t(t,n,r){let{token:i,amount:a,...o}=r,s=e.call({token:i,amount:a});return await t(n,{...o,...s})}e.inner=t;function n(e){let{token:t,amount:n}=e;return V({address:gT,abi:zw,functionName:`withdraw`,args:[t,n]})}e.call=n})(QT||={});function $T(e,t){return h_(F(e,t))}z(),ma(),sd();function eE(e){if(!Xw(e))return xd(e);let t=e.blockTimestamp==null?void 0:BigInt(e.blockTimestamp),{feePayerSignature:n,gasPrice:r,nonce:i,...a}=xw(e);return{...a,accessList:a.accessList,...t!==void 0&&{blockTimestamp:t},feePayerSignature:n?{r:I(n.r,{size:32}),s:I(n.s,{size:32}),v:BigInt(n.v??27),yParity:n.yParity}:void 0,nonce:Number(i),typeHex:yw[a.type],type:a.type}}function tE(e){return gh(e)}function nE(e,t){let n=e,r=n.account?N(n.account):void 0;if(!Xw(n))return rd(e,t);t&&(n.calls=n.calls??[{to:e.to||(!e.data||e.data===`0x`?`0x0000000000000000000000000000000000000000`:void 0),value:e.value,data:e.data}]),n.feePayer===!0&&!n.feePayerSignature&&delete n.feeToken;let{multisig:i,multisigInit:a,multisigSignatureCount:o,signatures:s,...c}=n,l=Sw({...c,type:`tempo`});t===`estimateGas`&&(l.maxFeePerGas=void 0,l.maxPriorityFeePerGas=void 0),l.to=void 0,l.data=void 0,l.value=void 0;let[u,d]=(()=>{let e=r&&`keyType`in r?r.keyType:r?.source;return e?e===`webAuthn`?[`webAuthn`,`0x0578`]:[`p256`,`secp256k1`].includes(e)?[e,void 0]:[n.keyType,rE(n.keyData)]:[n.keyType,rE(n.keyData)]})(),f=r&&`accessKeyAddress`in r?r.accessKeyAddress:n.keyId;return r&&(l.from=r.address),{...l,...a?{multisigInit:a}:{},...o===void 0?{}:{multisigSignatureCount:o},...n.capabilities?{capabilities:n.capabilities}:{},...d?{keyData:d}:{},...f?{keyId:f}:{},...u?{keyType:u}:{},...n.feePayer===void 0?{}:{feePayer:typeof n.feePayer==`object`?N(n.feePayer):n.feePayer},...`feePayerSignature`in n&&n.feePayerSignature!==void 0?{feePayerSignature:n.feePayerSignature}:{}}}function rE(e){if(!e)return e;let t=(e.length-2)/2;return t<=4?e:I(t,{size:2})}let iE=new Map;async function aE(e){iE.set(e,(iE.get(e)??0)+1),await Promise.resolve();let t=(iE.get(e)??0)>1;return queueMicrotask(()=>{let t=iE.get(e)??0;t<=1?iE.delete(e):iE.set(e,t-1)}),t}z(),pd(),tf(),sd(),di();function oE(){let e=BigInt(Math.floor(Date.now()/1e3))-60n;return e<=0n?0:Number(BigInt(gp(8))%e)}let sE={blockTime:1e3,extendSchema:Zh(),formatters:{transaction:Sd({exclude:[`aaAuthorizationList`],format:eE}),transactionReceipt:_h({format:tE}),transactionRequest:od({format:nE})},prepareTransactionRequest:[async(e,{client:t,phase:n})=>{let r=e;if(n===`afterFillParameters`)return r.gas!==void 0&&r.feePayer&&!r.feePayerSignature&&(r.keyAuthorization?.signature.type===`webAuthn`?r.gas=(r.gas??0n)+20000n:r.account?.source===`accessKey`&&(r.gas=(r.gas??0n)+10000n)),r;let i=r.multisig??(r.account?.source===`multisig`?r.account.config:void 0);if(i){let e=GS(i);r.multisig=e,r.from=qS(e),r.multisigInit={salt:e.salt??US,threshold:Number(e.threshold),owners:e.owners.map(e=>({owner:e.owner,weight:Number(e.weight)}))},r.multisigSignatureCount??=cE(e),r.account?.source!==`multisig`&&delete r.account}if(!r.keyAuthorization&&r.account?.source===`accessKey`){let e=r.account.keyAuthorizationManager;if(e){let n=r.chainId??r.chain?.id;if(n!==void 0){let i=r.account.address,a=r.account.accessKeyAddress,o={address:i,accessKey:a,chainId:n},s=await e.get(o);if(s){let n=BigInt(Math.floor(Date.now()/1e3));if(s.expiry!=null&&BigInt(s.expiry)<=n)await e.remove(o);else{let c=await E(t,jT,`getMetadata`)({account:i,accessKey:a});ef(c.address,a)&&!c.isRevoked&&c.expiry>n?await e.remove(o):r.keyAuthorization=s}}}}}return await(async()=>{if(r.nonceKey===`expiring`)return!0;if(i)return!1;if(r.feePayer&&r.nonceKey===void 0)return!0;let e=r.account?.address;return e&&r.nonceKey===void 0?await aE(e):!1})()?(r.nonceKey=fd,r.nonce=0,r.validAfter===void 0&&(r.validAfter=oE()),r.validBefore===void 0&&(r.validBefore=Math.floor(Date.now()/1e3)+25)):r.nonceKey!==void 0&&(r.nonce=typeof r.nonce==`number`?r.nonce:0),!r.feeToken&&r.chain?.feeToken&&(r.feeToken=r.chain.feeToken),r},{runAt:[`beforeFillTransaction`,`afterFillParameters`]}],serializers:{transaction:((e,t)=>Qw(e,t))},async verifyHash(e,t){let{address:n,hash:r,signature:i,mode:a}=t,o=(()=>{if(typeof i==`string`)try{return sC(i)}catch{return}})();if(o){if(o?.type===`keychain`&&a===`allowAccessKey`){let i=o.version===`v2`?ui(F(`0x04`,r,n)):r,a=(()=>{try{return aC({payload:i,signature:o.inner})}catch{return}})();if(!a)return!1;let s=await jT(e,{account:n,accessKey:a,blockHash:t.blockHash,blockNumber:t.blockNumber,blockTag:t.blockTag,requireCanonical:t.requireCanonical});return s.isRevoked||s.expiry<=BigInt(Math.floor(Date.now()/1e3))?!1:hC(o.inner,{address:a,payload:i})}if(o.type===`p256`||o.type===`webAuthn`){let i=await kh(e,{address:n,blockHash:t.blockHash,blockNumber:t.blockNumber,blockTag:t.blockTag,requireCanonical:t.requireCanonical});if(!i||i===`0xef01007702c00000000000000000000000000000000000`)return hC(o,{address:n,payload:r})}}return await E(e,Yy,`verifyHash`)({...t,chain:null})}};function cE(e){let t=Number(e.threshold),n=e.owners.map(e=>Number(e.weight)).sort((e,t)=>t-e),r=0;for(let[e,i]of n.entries())if(r+=i,r>=t)return e+1;return n.length}let lE=Xh({...sE,id:4217,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.tempo.xyz`}},name:`Tempo Mainnet`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.tempo.xyz`],webSocket:[`wss://rpc.tempo.xyz`]}}}),uE=Xh({...sE,id:42431,hardfork:`t5`,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.testnet.tempo.xyz`}},name:`Tempo Testnet (Moderato)`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.moderato.tempo.xyz`],webSocket:[`wss://rpc.moderato.tempo.xyz`]}},testnet:!0});z(),ma(),ya();async function dE(e,t){return dE.inner(fh,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(...e){let[t,n]=ET(e),{amount:r,spender:i,token:a}=n,{address:o,decimals:s}=yT(t,{token:a});return V({address:o,abi:B,functionName:`approve`,args:[i,ob(r,s)]})}e.call=n;async function r(t,n){return $d(t,{...TT(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return qm(t,{...TT(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=sf({abi:B,logs:e,eventName:`Approval`});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=a})(dE||={});async function fE(e,t){return fE.inner(fh,e,t)}(function(e){async function t(t,n,r){let{amount:i,from:a,token:o,...s}=r,c=e.call(n,{amount:i,from:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(...e){let[t,n]=ET(e),{from:r,amount:i,token:a}=n,{address:o,decimals:s}=yT(t,{token:a});return V({address:o,abi:B,functionName:`burnBlocked`,args:[r,ob(i,s)]})}e.call=n;function r(e){let[t]=sf({abi:B,logs:e,eventName:`BurnBlocked`});if(!t)throw Error(\"`BurnBlocked` event not found.\");return t}e.extractEvent=r})(fE||={});async function pE(e,t){return pE.inner(fh,e,t)}(function(e){async function t(t,n,r){let{amount:i,memo:a,token:o,...s}=r,c=e.call(n,{amount:i,memo:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(...e){let[t,n]=ET(e),{amount:r,memo:i,token:a}=n,{address:o,decimals:s}=yT(t,{token:a}),c=ob(r,s),l=i?{functionName:`burnWithMemo`,args:[c,mp(i,32)]}:{functionName:`burn`,args:[c]};return V({address:o,abi:B,...l})}e.call=n;function r(e){let[t]=sf({abi:B,logs:e,eventName:`Burn`});if(!t)throw Error(\"`Burn` event not found.\");return t}e.extractEvent=r})(pE||={});async function mE(e,t){return mE.inner(fh,e,t)}(function(e){async function t(t,n,r){let{policyId:i,token:a,...o}=r,s=e.call(n,{policyId:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(...e){let[t,n]=ET(e),{token:r,policyId:i}=n;return V({address:yT(t,{token:r}).address,abi:B,functionName:`changeTransferPolicyId`,args:[i]})}e.call=n;function r(e){let[t]=sf({abi:B,logs:e,eventName:`TransferPolicyUpdate`});if(!t)throw Error(\"`TransferPolicyUpdate` event not found.\");return t}e.extractEvent=r})(mE||={});async function hE(e,t){return hE.inner(fh,e,t)}(function(e){async function t(t,n,r){let{account:i=n.account,admin:a=n.account,chain:o=n.chain,...s}=r,c=a?N(a):void 0;if(!c)throw Error(`admin is required.`);let l=e.call(n,{...s,admin:c.address});return await t(n,{...r,account:i,chain:o,...l})}e.inner=t;function n(...e){let[t,n]=ET(e),{name:r,symbol:i,currency:a,logoURI:o,quoteToken:s=`0x20c0000000000000000000000000000000000000`,admin:c,salt:l=gp(32)}=n;return V({address:`0x20fc000000000000000000000000000000000000`,abi:Vw,args:typeof o==`string`?[r,i,a,yT(t,{token:s}).address,c,l,o]:[r,i,a,yT(t,{token:s}).address,c,l],functionName:`createToken`})}e.call=n;function r(e){let[t]=sf({abi:Vw,logs:e,eventName:`TokenCreated`,strict:!0});if(!t)throw Error(\"`TokenCreated` event not found.\");return t}e.extractEvent=r})(hE||={});async function gE(e,t){let{account:n,decimals:r,spender:i,token:a,...o}=t,[s,{decimals:c}]=await Promise.all([Km(e,{...o,...gE.call(e,{account:n,spender:i,token:a})}),wT(e,{decimals:r,token:a})]);return ab(s,c)}(function(e){function t(...e){let[t,n]=ET(e);return V({address:yT(t,n).address,abi:B,functionName:`allowance`,args:[n.account,n.spender]})}e.call=t})(gE||={});async function _E(e,t){let{account:n=e.account,decimals:r,token:i,...a}=t;if(!n)throw new oh;let o=N(n).address,[s,{decimals:c}]=await Promise.all([Km(e,{...a,..._E.call(e,{account:o,token:i})}),wT(e,{decimals:r,token:i})]);return ab(s,c)}(function(e){function t(...e){let[t,n]=ET(e),r=n.account??t?.account;if(!r)throw new oh;let i=N(r).address;return V({address:yT(t,n).address,abi:B,functionName:`balanceOf`,args:[i]})}e.call=t})(_E||={});async function vE(e,t){let{token:n,...r}=t,{address:i}=yT(e,{token:n}),a=B,o=bT(e,n),s={...o?.decimals==null?{}:{decimals:o.decimals},...o?.name==null?{}:{name:o.name},...o?.symbol==null?{}:{symbol:o.symbol}};return PC(i)===PC(`0x20c0000000000000000000000000000000000000`)?My(e,{...r,contracts:[{address:i,abi:a,functionName:`currency`},{address:i,abi:a,functionName:`decimals`},{address:i,abi:a,functionName:`logoURI`},{address:i,abi:a,functionName:`name`},{address:i,abi:a,functionName:`symbol`},{address:i,abi:a,functionName:`totalSupply`}],allowFailure:!0,deployless:!0}).then(([e,t,n,r,i,a])=>({name:yE(r),symbol:yE(i),currency:yE(e),decimals:yE(t),logoURI:yE(n,``),totalSupply:yE(a),...s})):My(e,{...r,contracts:[{address:i,abi:a,functionName:`currency`},{address:i,abi:a,functionName:`decimals`},{address:i,abi:a,functionName:`logoURI`},{address:i,abi:a,functionName:`quoteToken`},{address:i,abi:a,functionName:`name`},{address:i,abi:a,functionName:`paused`},{address:i,abi:a,functionName:`supplyCap`},{address:i,abi:a,functionName:`symbol`},{address:i,abi:a,functionName:`totalSupply`},{address:i,abi:a,functionName:`transferPolicyId`}],allowFailure:!0,deployless:!0}).then(([e,t,n,r,i,a,o,c,l,u])=>({name:yE(i),symbol:yE(c),currency:yE(e),decimals:yE(t),logoURI:yE(n,``),quoteToken:yE(r),totalSupply:yE(l),paused:yE(a),supplyCap:yE(o),transferPolicyId:yE(u),...s}))}function yE(e,...t){if(e.status===`failure`){if(t.length>0)return t[0];throw e.error}return e.result}async function bE(e,t){let{decimals:n,token:r,...i}=t,[a,{decimals:o}]=await Promise.all([Km(e,{...i,...bE.call(e,{token:r})}),wT(e,{decimals:n,token:r})]);return ab(a,o)}(function(e){function t(...e){let[t,n]=ET(e);return V({address:yT(t,n).address,abi:B,args:[],functionName:`totalSupply`})}e.call=t})(bE||={});async function xE(e,t){return Km(e,{...t,...xE.call(e,t)})}(function(e){function t(...e){let[t,n]=ET(e),{role:r,token:i}=n;return V({address:yT(t,{token:i}).address,abi:B,functionName:`getRoleAdmin`,args:[vw(r)]})}e.call=t})(xE||={});async function SE(e,t){let{account:n=e.account}=t,r=n?N(n).address:void 0;if(!r)throw Error(`account is required.`);return Km(e,{...t,...SE.call(e,{...t,account:r})})}(function(e){function t(...e){let[t,n]=ET(e),{account:r,role:i,token:a}=n;return V({address:yT(t,{token:a}).address,abi:B,functionName:`hasRole`,args:[r,vw(i)]})}e.call=t})(SE||={});async function CE(e,t){return CE.inner(dh,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,calls:r.roles.map(t=>{let i=e.call(n,{...r,role:t});return{...i,data:va(i)}})})}e.inner=t;function n(...e){let[t,n]=ET(e),{token:r,to:i,role:a}=n,o=vw(a);return V({address:yT(t,{token:r}).address,abi:B,functionName:`grantRole`,args:[o,i]})}e.call=n;function r(e){let t=sf({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(CE||={});async function wE(e,t){return wE.inner(fh,e,t)}(function(e){async function t(t,n,r){let{amount:i,memo:a,to:o,token:s,...c}=r,l=e.call(n,{amount:i,memo:a,to:o,token:s});return await t(n,{...c,...l})}e.inner=t;function n(...e){let[t,n]=ET(e),{to:r,amount:i,memo:a,token:o}=n,{address:s,decimals:c}=yT(t,{token:o}),l=ob(i,c),u=a?{functionName:`mintWithMemo`,args:[r,l,mp(a,32)]}:{functionName:`mint`,args:[r,l]};return V({address:s,abi:B,...u})}e.call=n;function r(e){let[t]=sf({abi:B,logs:e,eventName:`Mint`});if(!t)throw Error(\"`Mint` event not found.\");return t}e.extractEvent=r})(wE||={});async function TE(e,t){return TE.inner(fh,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call(n,{token:i});return await t(n,{...a,...o})}e.inner=t;function n(...e){let[t,n]=ET(e),{token:r}=n;return V({address:yT(t,{token:r}).address,abi:B,functionName:`pause`,args:[]})}e.call=n;function r(e){let[t]=sf({abi:B,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(TE||={});async function EE(e,t){return EE.inner(dh,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,calls:r.roles.map(t=>{let i=e.call(n,{...r,role:t});return{...i,data:va(i)}})})}e.inner=t;function n(...e){let[t,n]=ET(e),{token:r,role:i}=n,a=vw(i);return V({address:yT(t,{token:r}).address,abi:B,functionName:`renounceRole`,args:[a]})}e.call=n;function r(e){let t=sf({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(EE||={});async function DE(e,t){return DE.inner(dh,e,t)}(function(e){async function t(t,n,r){let{from:i,...a}=r;return await t(n,{...a,calls:r.roles.map(t=>{let i=e.call(n,{...r,role:t});return{...i,data:va(i)}})})}e.inner=t;function n(...e){let[t,n]=ET(e),{token:r,from:i,role:a}=n,o=vw(a);return V({address:yT(t,{token:r}).address,abi:B,functionName:`revokeRole`,args:[o,i]})}e.call=n;function r(e){let t=sf({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(DE||={});async function OE(e,t){return OE.inner(fh,e,t)}(function(e){async function t(t,n,r){let{supplyCap:i,token:a,...o}=r,s=e.call(n,{supplyCap:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(...e){let[t,n]=ET(e),{token:r,supplyCap:i}=n;return V({address:yT(t,{token:r}).address,abi:B,functionName:`setSupplyCap`,args:[i]})}e.call=n;function r(e){let[t]=sf({abi:B,logs:e,eventName:`SupplyCapUpdate`});if(!t)throw Error(\"`SupplyCapUpdate` event not found.\");return t}e.extractEvent=r})(OE||={});async function kE(e,t){return kE.inner(fh,e,t)}(function(e){async function t(t,n,r){let{adminRole:i,role:a,token:o,...s}=r,c=e.call(n,{adminRole:i,role:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(...e){let[t,n]=ET(e),{token:r,role:i,adminRole:a}=n,o=vw(i),s=vw(a);return V({address:yT(t,{token:r}).address,abi:B,functionName:`setRoleAdmin`,args:[o,s]})}e.call=n;function r(e){let[t]=sf({abi:B,logs:e,eventName:`RoleAdminUpdated`});if(!t)throw Error(\"`RoleAdminUpdated` event not found.\");return t}e.extractEvent=r})(kE||={});async function AE(e,t){return AE.inner(fh,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(...e){let[t,n]=ET(e),{from:r,memo:i,to:a,token:o}=n,{address:s,decimals:c}=yT(t,{token:o}),l=ob(n.amount,c),u=i&&r?{functionName:`transferFromWithMemo`,args:[r,a,l,mp(i,32)]}:i?{functionName:`transferWithMemo`,args:[a,l,mp(i,32)]}:r?{functionName:`transferFrom`,args:[r,a,l]}:{functionName:`transfer`,args:[a,l]};return V({address:s,abi:B,...u})}e.call=n;async function r(t,n){return $d(t,{...TT(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return qm(t,{...TT(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=sf({abi:B,logs:e,eventName:`Transfer`});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=a})(AE||={});async function jE(e,t){return jE.inner(fh,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call(n,{token:i});return await t(n,{...a,...o})}e.inner=t;function n(...e){let[t,n]=ET(e),{token:r}=n;return V({address:yT(t,{token:r}).address,abi:B,functionName:`unpause`,args:[]})}e.call=n;function r(e){let[t]=sf({abi:B,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(jE||={});async function ME(e,t){return ME.inner(fh,e,t)}(function(e){async function t(t,n,r){let{quoteToken:i,token:a,...o}=r,s=e.call(n,{quoteToken:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(...e){let[t,n]=ET(e),{token:r,quoteToken:i}=n;return V({address:yT(t,{token:r}).address,abi:B,functionName:`setNextQuoteToken`,args:[yT(t,{token:i}).address]})}e.call=n;function r(e){let[t]=sf({abi:B,logs:e,eventName:`NextQuoteTokenSet`});if(!t)throw Error(\"`NextQuoteTokenSet` event not found.\");return t}e.extractEvent=r})(ME||={});async function NE(e,t){return NE.inner(fh,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call(n,{token:i});return await t(n,{...a,...o})}e.inner=t;function n(...e){let[t,n]=ET(e),{token:r}=n;return V({address:yT(t,{token:r}).address,abi:B,functionName:`completeQuoteTokenUpdate`,args:[]})}e.call=n;function r(e){let[t]=sf({abi:B,logs:e,eventName:`QuoteTokenUpdate`});if(!t)throw Error(\"`QuoteTokenUpdateCompleted` event not found.\");return t}e.extractEvent=r})(NE||={});let PE=Xh({...sE,id:31318,name:`Tempo Devnet`,hardfork:`t3`,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.devnet.tempo.xyz`}},nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.devnet.tempoxyz.dev`],webSocket:[`wss://rpc.devnet.tempoxyz.dev`]}},testnet:!0}),FE=Xh({...sE,id:1337,name:`Tempo`,hardfork:`t3`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`http://localhost:8545`]}}});function IE(e){return e.source}function LE(e,t,n){let{policy:r=`sign-only`}=n??{};return n=>{let i=e(n),a=t(n);return Wb({key:LE.type,name:`Relay Proxy`,async request({method:e,params:t},n){if(e===`eth_fillTransaction`){let r=t?.[0];if(r&&typeof r==`object`&&`feePayer`in r&&r.feePayer===!0)return a.request({method:e,params:t},n)}if(e===`eth_sendRawTransactionSync`||e===`eth_sendRawTransaction`){let o=t[0];if(Zw(o).feePayerSignature===null){if(r===`sign-and-broadcast`)return a.request({method:e,params:t},n);{let t=await a.request({method:`eth_signRawTransaction`,params:[o]},n);return i.request({method:e,params:[t]},n)}}}return await i.request({method:e,params:t},n)},type:LE.type})}}Xa();let RE={AddressAlreadyHasValidator:`This address already has a validator.`,AddressNotReserved:`Address is not reserved.`,AddressReserved:`Address is reserved.`,AlreadyInitialized:`Already initialized.`,AmountExceedsDeposit:`Amount exceeds deposit.`,AmountNotIncreasing:`Amount is not increasing.`,BelowMinimumOrderSize:`Order size is below the minimum allowed ({0}).`,CallNotAllowed:`This call is not allowed.`,CannotChangeWithinBlock:`Cannot change within the same block.`,CaptureAmountInvalid:`Capture amount is invalid.`,ChannelAlreadyExists:`Channel already exists.`,ChannelNotFound:`Channel not found.`,CloseNotReady:`Channel is not ready to close.`,ContractPaused:`Contract is paused.`,DepositOverflow:`Deposit overflow.`,DivisionByZero:`Division by zero.`,EmptyV1ValidatorSet:`Validator set is empty.`,ExpiringNonceHashNotSet:`Expiring nonce hash is not set.`,ExpiringNonceReplay:`Expiring nonce has already been used.`,ExpiringNonceSetFull:`Expiring nonce set is full.`,ExpiryInPast:`Expiry is in the past.`,IdenticalAddresses:`Addresses must be different.`,IdenticalTokens:`Cannot swap a token for itself \u2014 input and output tokens must be different.`,IncompatiblePolicyType:`Incompatible policy type.`,IngressAlreadyExists:`Ingress \"{0}\" already exists.`,InsufficientAllowance:`Insufficient allowance.`,InsufficientBalance:`Insufficient balance. Required: {1}, available: {0}.`,InsufficientFeeTokenBalance:`Insufficient fee token balance.`,InsufficientLiquidity:`Not enough liquidity in the order book to fill this trade.`,InsufficientOutput:`The output amount is below the slippage minimum \u2014 try increasing slippage tolerance.`,InsufficientReserves:`Insufficient reserves.`,InvalidAmount:`Invalid amount.`,InvalidBaseToken:`This token is not a valid base token for the requested pair.`,InvalidCallScope:`Invalid call scope.`,InvalidClaimAddress:`Invalid claim address.`,InvalidCurrency:`Invalid currency.`,InvalidExpiringNonceExpiry:`Invalid expiring nonce expiry.`,InvalidFlipTick:`The flip-order price tick is invalid.`,InvalidFormat:`Invalid format.`,InvalidKeyAuthorizationWitness:`Invalid key authorization witness.`,InvalidKeyId:`Invalid key ID.`,InvalidLogoURI:`Invalid logo URI.`,InvalidMasterAddress:`Invalid master address.`,InvalidMigrationIndex:`Invalid migration index.`,InvalidNonceKey:`Invalid nonce key.`,InvalidOwner:`Invalid owner.`,InvalidPayee:`Invalid payee.`,InvalidPayload:`Invalid payload.`,InvalidPolicyType:`Invalid policy type.`,InvalidPublicKey:`Invalid public key.`,InvalidQuoteToken:`Invalid quote token.`,InvalidReceipt:`Invalid receipt.`,InvalidReceivePolicyType:`Invalid receive policy type.`,InvalidRecipient:`Invalid recipient.`,InvalidRecoveryAuthority:`Invalid recovery authority.`,InvalidSignature:`Invalid signature.`,InvalidSignatureFormat:`Invalid signature format.`,InvalidSignatureType:`Invalid signature type.`,InvalidSpendingLimit:`Invalid spending limit.`,InvalidSupplyCap:`Invalid supply cap.`,InvalidSwapCalculation:`Invalid swap calculation.`,InvalidTick:`The price tick is invalid.`,InvalidToken:`This token is not supported on the exchange.`,InvalidTransferPolicyId:`Invalid transfer policy.`,InvalidValidatorAddress:`Invalid validator address.`,KeyAlreadyExists:`Key already exists.`,KeyAlreadyRevoked:`Key has already been revoked.`,KeyAuthorizationWitnessAlreadyBurned:`Key authorization witness has already been burned.`,KeyExpired:`Key has expired.`,KeyNotFound:`Key not found.`,LegacyAuthorizeKeySelectorChanged:`Legacy authorize key selector changed to {0}.`,LogoURITooLong:`Logo URI is too long.`,MasterIdCollision:`Master ID collision with {0}.`,MaxInputExceeded:`The required input exceeds the slippage maximum \u2014 try increasing slippage tolerance.`,MigrationNotComplete:`Migration is not complete.`,NoOptedInSupply:`No opted-in supply.`,NonceOverflow:`Nonce overflow.`,NotHostPort:`\"{1}\" is not a valid host:port for {0}.`,NotInitialized:`Not initialized.`,NotIp:`\"{0}\" is not a valid IP address.`,NotIpPort:`\"{1}\" is not a valid IP:port for {0}.`,NotPayeeOrOperator:`Not payee or operator.`,NotPayer:`Not payer.`,OrderDoesNotExist:`No order exists with the given ID.`,OrderNotStale:`This order is not yet eligible for stale-cleanup.`,PairAlreadyExists:`A trading pair for these tokens has already been created.`,PairDoesNotExist:`No trading pair exists for these tokens.`,PermitExpired:`Permit has expired.`,PolicyForbids:`Forbidden by policy.`,PolicyNotFound:`Policy not found.`,PolicyNotSimple:`Policy is not a simple policy.`,ProofOfWorkFailed:`Proof of work failed.`,ProtectedAddress:`Address is protected.`,ProtocolNonceNotSupported:`Protocol nonce is not supported.`,PublicKeyAlreadyExists:`Public key already exists.`,SignatureTypeMismatch:`Signature type mismatch. Expected {0}, got {1}.`,SpendingLimitExceeded:`Spending limit exceeded.`,SupplyCapExceeded:`Supply cap exceeded.`,TickOutOfBounds:`Price tick {0} is outside the allowed range.`,TokenAlreadyExists:`Token {0} already exists.`,Unauthorized:`Unauthorized.`,UnauthorizedCaller:`Unauthorized caller.`,UnauthorizedClaimer:`Unauthorized claimer.`,Uninitialized:`Uninitialized.`,ValidatorAlreadyDeactivated:`Validator is already deactivated.`,ValidatorAlreadyExists:`Validator already exists.`,ValidatorNotFound:`Validator not found.`,VirtualAddressNotAllowed:`Virtual address is not allowed.`,VirtualAddressUnregistered:`Virtual address is not registered.`,ZeroDeposit:`Deposit cannot be zero.`,ZeroPublicKey:`Public key cannot be zero.`};function zE(e,t){return t?e.replace(/\\{(\\d+)\\}/g,(e,n)=>{let r=t[Number(n)];return r===void 0?`{${n}}`:String(r)}):e}function BE(e){let t=e.details??e.shortMessage??e.message,n=VE(e);if(n)try{let e=Ya({abi:Jw,data:n}),r=RE[e.errorName];return{...e,data:n,message:r?zE(r,e.args):t.replace(/^execution reverted:\\s*/i,``)}}catch{}let r=/:\\s*(\\w+)\\(\\w+/.exec(t)?.[1];return r&&r in RE?{errorName:`unknown`,message:RE[r]}:{errorName:`unknown`,message:t.replace(/^execution reverted:\\s*/i,``)}}function VE(e){if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.data==`string`&&t.data.startsWith(`0x`))return t.data;if(t.cause)return VE(t.cause);if(t.error)return VE(t.error);if(typeof t.walk==`function`){let e=t.walk(e=>typeof e.data==`string`);if(e)return VE(e)}return null}function HE(e={}){let{extractable:t=!1}=e;return{requiresStructuredClone:!t,async createKey(){if(!globalThis.crypto?.subtle)throw Error(\"`webCryptoP256` keystore requires WebCrypto (`crypto.subtle`) support.\");let e=await BS({extractable:t}),n=w_(e.publicKey);return t?{handle:{jwk:await globalThis.crypto.subtle.exportKey(`jwk`,e.privateKey),kind:`webcrypto-p256`},publicKey:n}:{handle:{keyPair:e,kind:`webcrypto-p256`},publicKey:n}},async toAccount(e,t){let n=e.handle;if(n?.kind!==`webcrypto-p256`)throw Error(\"Unrecognized `webCryptoP256` keystore handle.\");let r={access:t.access,keyAuthorizationManager:t.keyAuthorizationManager};if(n.keyPair){if(!UE(n.keyPair.privateKey))throw new WE(\"`webCryptoP256` key material did not survive storage.\");return oT(n.keyPair,r)}if(n.jwk)return oT({privateKey:await globalThis.crypto.subtle.importKey(`jwk`,n.jwk,{name:`ECDSA`,namedCurve:`P-256`},!1,[`sign`]).catch(e=>{throw new WE(\"`webCryptoP256` keystore handle holds unusable key material.\",{cause:e})}),publicKey:S_(e.publicKey)},r);throw Error(\"Unrecognized `webCryptoP256` keystore handle.\")}}}function UE(e){return typeof CryptoKey<`u`&&e instanceof CryptoKey||!!e&&typeof e==`object`&&`algorithm`in e&&e.type===`private`}var WE=class extends Error{constructor(e,t){super(e??`Keystore key material is permanently unavailable.`,t),this.name=`Keystore.KeyUnavailableError`}};function GE(e){return e instanceof WE||e instanceof Error&&e.name===`Keystore.KeyUnavailableError`}let KE={p256:HE()};var qE;function H(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,\"_zod\",{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,\"name\",{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,\"init\",{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,\"name\",{value:e}),o}var JE=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},YE=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(qE=globalThis).__zod_globalConfig??(qE.__zod_globalConfig={});let XE=globalThis.__zod_globalConfig;function ZE(e){return e&&Object.assign(XE,e),XE}function QE(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function $E(e,t){return typeof t==`bigint`?t.toString():t}function eD(e){return{get value(){{let t=e();return Object.defineProperty(this,\"value\",{value:t}),t}}}}function tD(e){return e==null}function nD(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}let rD=Symbol(`evaluating`);function iD(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==rD)return r===void 0&&(r=rD,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function aD(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function oD(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}let sD=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function cD(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function lD(e){if(cD(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return cD(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}let uD=new Set([`string`,`number`,`symbol`]),dD=new Set([`string`,`number`,`bigint`,`boolean`,`symbol`,`undefined`]);function fD(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,`\\\\$&`)}function pD(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function mD(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error(\"Cannot specify both `message` and `error` params\");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function hD(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}-Number.MAX_VALUE,Number.MAX_VALUE;function gD(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);return pD(e,oD(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: \"${e}\"`);t[e]&&delete r[e]}return aD(this,`shape`,r),r},checks:[]}))}function _D(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function vD(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function yD(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function bD(e){return typeof e==`string`?e:e?.message}function xD(e,t,n){let r=e.message?e.message:bD(e.inst?._zod.def?.error?.(e))??bD(t?.error?.(e))??bD(n.customError?.(e))??bD(n.localeError?.(e))??`Invalid input`,{inst:i,continue:a,input:o,...s}=e;return s.path??=[],s.message=r,t?.reportInput&&(s.input=o),s}function SD(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function CD(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}let wD=(e,t)=>{e.name=`$ZodError`,Object.defineProperty(e,\"_zod\",{value:e._zod,enumerable:!1}),Object.defineProperty(e,\"issues\",{value:t,enumerable:!1}),e.message=JSON.stringify(t,$E,2),Object.defineProperty(e,\"toString\",{value:()=>e.message,enumerable:!1})},TD=H(`$ZodError`,wD),ED=H(`$ZodError`,wD,{Parent:Error}),DD=e=>(t,n,r,i)=>{let a=r?{...r,async:!1}:{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new JE;if(o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>xD(e,a,ZE())));throw sD(t,i?.callee),t}return o.value},OD=DD(ED),kD=(e=>async(t,n,r,i)=>{let a=r?{...r,async:!0}:{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>xD(e,a,ZE())));throw sD(t,i?.callee),t}return o.value})(ED),AD=(e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new JE;return a.issues.length?{success:!1,error:new(e??TD)(a.issues.map(e=>xD(e,i,ZE())))}:{success:!0,data:a.value}})(ED),jD=(e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>xD(e,i,ZE())))}:{success:!0,data:a.value}})(ED),MD=(e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return DD(e)(t,n,i)})(ED),ND=e=>{let t=e?`[\\\\s\\\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\\\s\\\\S]*`;return RegExp(`^${t}$`)},PD=/^-?\\d+n?$/,FD=/^-?\\d+(?:\\.\\d+)?$/,ID=/^(?:true|false)$/i,LD=/^null$/i,RD=/^undefined$/i,zD=H(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),BD={number:`number`,bigint:`bigint`,object:`date`},VD=H(`$ZodCheckLessThan`,(e,t)=>{zD.init(e,t);let n=BD[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),HD=H(`$ZodCheckGreaterThan`,(e,t)=>{zD.init(e,t);let n=BD[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),UD=H(`$ZodCheckMaxLength`,(e,t)=>{var n;zD.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!tD(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value;if(r.length<=t.maximum)return;let i=SD(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),WD=H(`$ZodCheckMinLength`,(e,t)=>{var n;zD.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!tD(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=SD(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),GD=H(`$ZodCheckStringFormat`,(e,t)=>{var n,r;zD.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),KD=H(`$ZodCheckRegex`,(e,t)=>{GD.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),qD={major:4,minor:4,patch:3},JD=H(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=qD;let r=[...e._zod.def.checks??[]];e._zod.traits.has(`$ZodCheck`)&&r.unshift(e);for(let t of r)for(let n of t._zod.onattach)n(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(e,t,n)=>{let r=_D(e),i;for(let a of t){if(a._zod.def.when){if(vD(e)||!a._zod.def.when(e))continue}else if(r)continue;let t=e.issues.length,o=a._zod.check(e);if(o instanceof Promise&&n?.async===!1)throw new JE;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=_D(e,t))});else{if(e.issues.length===t)continue;r||=_D(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(_D(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new JE;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(i,a)=>{if(a.skipChecks)return e._zod.parse(i,a);if(a.direction===`backward`){let t=e._zod.parse({value:i.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,i,a)):n(t,i,a)}let o=e._zod.parse(i,a);if(o instanceof Promise){if(a.async===!1)throw new JE;return o.then(e=>t(e,r,a))}return t(o,r,a)}}iD(e,`~standard`,()=>({validate:t=>{try{let n=AD(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return jD(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),YD=H(`$ZodString`,(e,t)=>{JD.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??ND(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),XD=H(`$ZodNumber`,(e,t)=>{JD.init(e,t),e._zod.pattern=e._zod.bag.pattern??FD,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:`Infinity`:void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),ZD=H(`$ZodBoolean`,(e,t)=>{JD.init(e,t),e._zod.pattern=ID,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n}}),QD=H(`$ZodBigInt`,(e,t)=>{JD.init(e,t),e._zod.pattern=PD,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=BigInt(n.value)}catch{}return typeof n.value==`bigint`||n.issues.push({expected:`bigint`,code:`invalid_type`,input:n.value,inst:e}),n}}),$D=H(`$ZodUndefined`,(e,t)=>{JD.init(e,t),e._zod.pattern=RD,e._zod.values=new Set([void 0]),e._zod.parse=(t,n)=>{let r=t.value;return r===void 0||t.issues.push({expected:`undefined`,code:`invalid_type`,input:r,inst:e}),t}}),eO=H(`$ZodNull`,(e,t)=>{JD.init(e,t),e._zod.pattern=LD,e._zod.values=new Set([null]),e._zod.parse=(t,n)=>{let r=t.value;return r===null||t.issues.push({expected:`null`,code:`invalid_type`,input:r,inst:e}),t}}),tO=H(`$ZodUnknown`,(e,t)=>{JD.init(e,t),e._zod.parse=e=>e});function nO(e,t,n){e.issues.length&&t.issues.push(...yD(n,e.issues)),t.value[n]=e.value}let rO=H(`$ZodArray`,(e,t)=>{JD.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({expected:`array`,code:`invalid_type`,input:i,inst:e}),n;n.value=Array(i.length);let a=[];for(let e=0;e<i.length;e++){let o=i[e],s=t.element._zod.run({value:o,issues:[]},r);s instanceof Promise?a.push(s.then(t=>nO(t,n,e))):nO(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function iO(e,t,n,r,i,a){let o=n in r;if(e.issues.length){if(i&&a&&!o)return;t.issues.push(...yD(n,e.issues))}if(!o&&!i){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?o&&(t.value[n]=void 0):t.value[n]=e.value}function aO(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key \"${n}\": expected a Zod schema`);let n=hD(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function oO(e,t,n,r,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optin===`optional`,d=c.optout===`optional`;for(let i in t){if(i===`__proto__`||s.has(i))continue;if(l===`never`){o.push(i);continue}let a=c.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>iO(e,n,i,t,u,d))):iO(a,n,i,t,u,d)}return o.length&&n.issues.push({code:`unrecognized_keys`,keys:o,input:t,inst:a}),e.length?Promise.all(e).then(()=>n):n}let sO=H(`$ZodObject`,(e,t)=>{if(JD.init(e,t),!Object.getOwnPropertyDescriptor(t,`shape`)?.get){let e=t.shape;Object.defineProperty(t,\"shape\",{get:()=>{let n={...e};return Object.defineProperty(t,\"shape\",{value:n}),n}})}let n=eD(()=>aO(t));iD(e._zod,`propValues`,()=>{let e=t.shape,n={};for(let t in e){let r=e[t]._zod;if(r.values){n[t]??(n[t]=new Set);for(let e of r.values)n[t].add(e)}}return n});let r=cD,i=t.catchall,a;e._zod.parse=(t,o)=>{a??=n.value;let s=t.value;if(!r(s))return t.issues.push({expected:`object`,code:`invalid_type`,input:s,inst:e}),t;t.value={};let c=[],l=a.shape;for(let e of a.keys){let n=l[e],r=n._zod.optin===`optional`,i=n._zod.optout===`optional`,a=n._zod.run({value:s[e],issues:[]},o);a instanceof Promise?c.push(a.then(n=>iO(n,t,e,s,r,i))):iO(a,t,e,s,r,i)}return i?oO(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}});function cO(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!_D(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>xD(e,r,ZE())))}),t)}let lO=H(`$ZodUnion`,(e,t)=>{JD.init(e,t),iD(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),iD(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),iD(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),iD(e._zod,`pattern`,()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>nD(e.source)).join(`|`)})$`)}});let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,i)=>{if(n)return n(r,i);let a=!1,o=[];for(let e of t.options){let t=e._zod.run({value:r.value,issues:[]},i);if(t instanceof Promise)o.push(t),a=!0;else{if(t.issues.length===0)return t;o.push(t)}}return a?Promise.all(o).then(t=>cO(t,r,e,i)):cO(o,r,e,i)}}),uO=H(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,lO.init(e,t);let n=e._zod.parse;iD(e._zod,`propValues`,()=>{let e={};for(let n of t.options){let r=n._zod.propValues;if(!r||Object.keys(r).length===0)throw Error(`Invalid discriminated union option at index \"${t.options.indexOf(n)}\"`);for(let[t,n]of Object.entries(r)){e[t]||(e[t]=new Set);for(let r of n)e[t].add(r)}}return e});let r=eD(()=>{let e=t.options,n=new Map;for(let r of e){let e=r._zod.propValues?.[t.discriminator];if(!e||e.size===0)throw Error(`Invalid discriminated union option at index \"${t.options.indexOf(r)}\"`);for(let t of e){if(n.has(t))throw Error(`Duplicate discriminator value \"${String(t)}\"`);n.set(t,r)}}return n});e._zod.parse=(i,a)=>{let o=i.value;if(!cD(o))return i.issues.push({code:`invalid_type`,expected:`object`,input:o,inst:e}),i;let s=r.value.get(o?.[t.discriminator]);return s?s._zod.run(i,a):t.unionFallback||a.direction===`backward`?n(i,a):(i.issues.push({code:`invalid_union`,errors:[],note:`No matching discriminator`,discriminator:t.discriminator,options:Array.from(r.value.keys()),input:o,path:[t.discriminator],inst:e}),i)}}),dO=H(`$ZodTuple`,(e,t)=>{JD.init(e,t);let n=t.items;e._zod.parse=(r,i)=>{let a=r.value;if(!Array.isArray(a))return r.issues.push({input:a,inst:e,expected:`tuple`,code:`invalid_type`}),r;r.value=[];let o=[],s=fO(n,`optin`),c=fO(n,`optout`);if(!t.rest){if(a.length<s)return r.issues.push({code:`too_small`,minimum:s,inclusive:!0,input:a,inst:e,origin:`array`}),r;a.length>n.length&&r.issues.push({code:`too_big`,maximum:n.length,inclusive:!0,input:a,inst:e,origin:`array`})}let l=Array(n.length);for(let e=0;e<n.length;e++){let t=n[e]._zod.run({value:a[e],issues:[]},i);t instanceof Promise?o.push(t.then(t=>{l[e]=t})):l[e]=t}if(t.rest){let e=n.length-1,s=a.slice(n.length);for(let n of s){e++;let a=t.rest._zod.run({value:n,issues:[]},i);a instanceof Promise?o.push(a.then(t=>pO(t,r,e))):pO(a,r,e)}}return o.length?Promise.all(o).then(()=>mO(l,r,n,a,c)):mO(l,r,n,a,c)}});function fO(e,t){for(let n=e.length-1;n>=0;n--)if(e[n]._zod[t]!==`optional`)return n+1;return 0}function pO(e,t,n){e.issues.length&&t.issues.push(...yD(n,e.issues)),t.value[n]=e.value}function mO(e,t,n,r,i){for(let a=0;a<n.length;a++){let n=e[a],o=a<r.length;if(n.issues.length){if(!o&&a>=i){t.value.length=a;break}t.issues.push(...yD(a,n.issues))}t.value[a]=n.value}for(let e=t.value.length-1;e>=r.length&&n[e]._zod.optout===`optional`&&t.value[e]===void 0;e--)t.value.length=e;return t}let hO=H(`$ZodRecord`,(e,t)=>{JD.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!lD(i))return n.issues.push({expected:`record`,code:`invalid_type`,input:i,inst:e}),n;let a=[],o=t.keyType._zod.values;if(o){n.value={};let s=new Set;for(let c of o)if(typeof c==`string`||typeof c==`number`||typeof c==`symbol`){s.add(typeof c==`number`?c.toString():c);let o=t.keyType._zod.run({value:c,issues:[]},r);if(o instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(o.issues.length){n.issues.push({code:`invalid_key`,origin:`record`,issues:o.issues.map(e=>xD(e,r,ZE())),input:c,path:[c],inst:e});continue}let l=o.value,u=t.valueType._zod.run({value:i[c],issues:[]},r);u instanceof Promise?a.push(u.then(e=>{e.issues.length&&n.issues.push(...yD(c,e.issues)),n.value[l]=e.value})):(u.issues.length&&n.issues.push(...yD(c,u.issues)),n.value[l]=u.value)}let c;for(let e in i)s.has(e)||(c??=[],c.push(e));c&&c.length>0&&n.issues.push({code:`unrecognized_keys`,input:i,inst:e,keys:c})}else{n.value={};for(let o of Reflect.ownKeys(i)){if(o===`__proto__`||!Object.prototype.propertyIsEnumerable.call(i,o))continue;let s=t.keyType._zod.run({value:o,issues:[]},r);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof o==`string`&&FD.test(o)&&s.issues.length){let e=t.keyType._zod.run({value:Number(o),issues:[]},r);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(s=e)}if(s.issues.length){t.mode===`loose`?n.value[o]=i[o]:n.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>xD(e,r,ZE())),input:o,path:[o],inst:e});continue}let c=t.valueType._zod.run({value:i[o],issues:[]},r);c instanceof Promise?a.push(c.then(e=>{e.issues.length&&n.issues.push(...yD(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...yD(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),gO=H(`$ZodEnum`,(e,t)=>{JD.init(e,t);let n=QE(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>uD.has(typeof e)).map(e=>typeof e==`string`?fD(e):e.toString()).join(`|`)})$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),_O=H(`$ZodLiteral`,(e,t)=>{if(JD.init(e,t),t.values.length===0)throw Error(`Cannot create literal schema with no valid values`);let n=new Set(t.values);e._zod.values=n,e._zod.pattern=RegExp(`^(${t.values.map(e=>typeof e==`string`?fD(e):e?fD(e.toString()):String(e)).join(`|`)})$`),e._zod.parse=(r,i)=>{let a=r.value;return n.has(a)||r.issues.push({code:`invalid_value`,values:t.values,input:a,inst:e}),r}}),vO=H(`$ZodTransform`,(e,t)=>{JD.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new YE(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n.fallback=!0,n));if(i instanceof Promise)throw new JE;return n.value=i,n.fallback=!0,n}});function yO(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}let bO=H(`$ZodOptional`,(e,t)=>{JD.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,iD(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),iD(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${nD(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=e.value,i=t.innerType._zod.run(e,n);return i instanceof Promise?i.then(e=>yO(e,r)):yO(i,r)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),xO=H(`$ZodNullable`,(e,t)=>{JD.init(e,t),iD(e._zod,`optin`,()=>t.innerType._zod.optin),iD(e._zod,`optout`,()=>t.innerType._zod.optout),iD(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${nD(e.source)}|null)$`):void 0}),iD(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),SO=H(`$ZodPipe`,(e,t)=>{JD.init(e,t),iD(e._zod,`values`,()=>t.in._zod.values),iD(e._zod,`optin`,()=>t.in._zod.optin),iD(e._zod,`optout`,()=>t.out._zod.optout),iD(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>CO(e,t.in,n)):CO(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>CO(e,t.out,n)):CO(r,t.out,n)}});function CO(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},n)}let wO=H(`$ZodCodec`,(e,t)=>{JD.init(e,t),iD(e._zod,`values`,()=>t.in._zod.values),iD(e._zod,`optin`,()=>t.in._zod.optin),iD(e._zod,`optout`,()=>t.out._zod.optout),iD(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if((n.direction||`forward`)===`forward`){let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>TO(e,t,n)):TO(r,t,n)}else{let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>TO(e,t,n)):TO(r,t,n)}}});function TO(e,t,n){if(e.issues.length)return e.aborted=!0,e;if((n.direction||`forward`)===`forward`){let r=t.transform(e.value,e);return r instanceof Promise?r.then(r=>EO(e,r,t.out,n)):EO(e,r,t.out,n)}else{let r=t.reverseTransform(e.value,e);return r instanceof Promise?r.then(r=>EO(e,r,t.in,n)):EO(e,r,t.in,n)}}function EO(e,t,n,r){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:t,issues:e.issues},r)}let DO=H(`$ZodReadonly`,(e,t)=>{JD.init(e,t),iD(e._zod,`propValues`,()=>t.innerType._zod.propValues),iD(e._zod,`values`,()=>t.innerType._zod.values),iD(e._zod,`optin`,()=>t.innerType?._zod?.optin),iD(e._zod,`optout`,()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(OO):OO(r)}});function OO(e){return e.value=Object.freeze(e.value),e}let kO=H(`$ZodTemplateLiteral`,(e,t)=>{JD.init(e,t);let n=[];for(let e of t.parts)if(typeof e==`object`&&e){if(!e._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...e._zod.traits].shift()}`);let t=e._zod.pattern instanceof RegExp?e._zod.pattern.source:e._zod.pattern;if(!t)throw Error(`Invalid template literal part: ${e._zod.traits}`);let r=+!!t.startsWith(`^`),i=t.endsWith(`$`)?t.length-1:t.length;n.push(t.slice(r,i))}else if(e===null||dD.has(typeof e))n.push(fD(`${e}`));else throw Error(`Invalid template literal part: ${e}`);e._zod.pattern=RegExp(`^${n.join(``)}$`),e._zod.parse=(n,r)=>typeof n.value==`string`?(e._zod.pattern.lastIndex=0,e._zod.pattern.test(n.value)||n.issues.push({input:n.value,inst:e,code:`invalid_format`,format:t.format??`template_literal`,pattern:e._zod.pattern.source}),n):(n.issues.push({input:n.value,inst:e,expected:`string`,code:`invalid_type`}),n)}),AO=H(`$ZodCustom`,(e,t)=>{zD.init(e,t),JD.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>jO(t,n,r,e));jO(i,n,r,e)}});function jO(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(CD(e))}}function MO(e,t){return new e({type:`string`,...mD(t)})}function NO(e,t){return new e({type:`number`,checks:[],...mD(t)})}function PO(e,t){return new e({type:`boolean`,...mD(t)})}function FO(e,t){return new e({type:`bigint`,...mD(t)})}function IO(e,t){return new e({type:`undefined`,...mD(t)})}function LO(e,t){return new e({type:`null`,...mD(t)})}function RO(e){return new e({type:`unknown`})}function zO(e,t){return new VD({check:`less_than`,...mD(t),value:e,inclusive:!0})}function BO(e,t){return new HD({check:`greater_than`,...mD(t),value:e,inclusive:!0})}function VO(e,t){return new UD({check:`max_length`,...mD(t),maximum:e})}function HO(e,t){return new WD({check:`min_length`,...mD(t),minimum:e})}function UO(e,t){return new KD({check:`string_format`,format:`regex`,...mD(t),pattern:e})}function WO(e,t,n){let r=mD(n);return r.abort??=!0,new e({type:`custom`,check:`custom`,fn:t,...r})}function GO(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...mD(n)})}let KO=H(`ZodMiniType`,(e,t)=>{if(!e._zod)throw Error(`Uninitialized schema in ZodMiniType.`);JD.init(e,t),e.def=t,e.type=t.type,e.parse=(t,n)=>OD(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>AD(e,t,n),e.parseAsync=async(t,n)=>kD(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>jD(e,t,n),e.check=(...n)=>e.clone({...t,checks:[...t.checks??[],...n.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]},{parent:!0}),e.with=e.check,e.clone=(t,n)=>pD(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.apply=t=>t(e)}),qO=H(`ZodMiniString`,(e,t)=>{YD.init(e,t),KO.init(e,t)});function U(e){return MO(qO,e)}let JO=H(`ZodMiniNumber`,(e,t)=>{XD.init(e,t),KO.init(e,t)});function YO(e){return NO(JO,e)}let XO=H(`ZodMiniBoolean`,(e,t)=>{ZD.init(e,t),KO.init(e,t)});function ZO(e){return PO(XO,e)}let QO=H(`ZodMiniBigInt`,(e,t)=>{QD.init(e,t),KO.init(e,t)});function $O(e){return FO(QO,e)}let ek=H(`ZodMiniUndefined`,(e,t)=>{$D.init(e,t),KO.init(e,t)});function tk(e){return IO(ek,e)}let nk=H(`ZodMiniNull`,(e,t)=>{eO.init(e,t),KO.init(e,t)});function rk(e){return LO(nk,e)}let ik=H(`ZodMiniUnknown`,(e,t)=>{tO.init(e,t),KO.init(e,t)});function ak(){return RO(ik)}let ok=H(`ZodMiniArray`,(e,t)=>{rO.init(e,t),KO.init(e,t)});function W(e,t){return new ok({type:`array`,element:e,...mD(t)})}let sk=H(`ZodMiniObject`,(e,t)=>{sO.init(e,t),KO.init(e,t),iD(e,`shape`,()=>t.shape)});function G(e,t){let n={type:`object`,shape:e??{},...mD(t)};return new sk(n)}function ck(e,t){return gD(e,t)}let lk=H(`ZodMiniUnion`,(e,t)=>{lO.init(e,t),KO.init(e,t)});function K(e,t){return new lk({type:`union`,options:e,...mD(t)})}let uk=H(`ZodMiniDiscriminatedUnion`,(e,t)=>{uO.init(e,t),KO.init(e,t)});function dk(e,t,n){return new uk({type:`union`,options:t,discriminator:e,...mD(n)})}let fk=H(`ZodMiniTuple`,(e,t)=>{dO.init(e,t),KO.init(e,t)});function pk(e,t,n){let r=t instanceof JD;return new fk({type:`tuple`,items:e,rest:r?t:null,...mD(r?n:t)})}let mk=H(`ZodMiniRecord`,(e,t)=>{hO.init(e,t),KO.init(e,t)});function hk(e,t,n){return!t||!t._zod?new mk({type:`record`,keyType:U(),valueType:e,...mD(t)}):new mk({type:`record`,keyType:e,valueType:t,...mD(n)})}let gk=H(`ZodMiniEnum`,(e,t)=>{gO.init(e,t),KO.init(e,t),e.options=Object.values(t.entries)});function _k(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new gk({type:`enum`,entries:n,...mD(t)})}let vk=H(`ZodMiniLiteral`,(e,t)=>{_O.init(e,t),KO.init(e,t)});function q(e,t){return new vk({type:`literal`,values:Array.isArray(e)?e:[e],...mD(t)})}let yk=H(`ZodMiniTransform`,(e,t)=>{vO.init(e,t),KO.init(e,t)});function bk(e){return new yk({type:`transform`,transform:e})}let xk=H(`ZodMiniOptional`,(e,t)=>{bO.init(e,t),KO.init(e,t)});function J(e){return new xk({type:`optional`,innerType:e})}let Sk=H(`ZodMiniNullable`,(e,t)=>{xO.init(e,t),KO.init(e,t)});function Ck(e){return new Sk({type:`nullable`,innerType:e})}let wk=H(`ZodMiniPipe`,(e,t)=>{SO.init(e,t),KO.init(e,t)});function Tk(e,t){return new wk({type:`pipe`,in:e,out:t})}let Ek=H(`ZodMiniCodec`,(e,t)=>{wk.init(e,t),wO.init(e,t)});function Dk(e,t,n){return new Ek({type:`pipe`,in:e,out:t,transform:n.decode,reverseTransform:n.encode})}let Ok=H(`ZodMiniReadonly`,(e,t)=>{DO.init(e,t),KO.init(e,t)});function Y(e){return new Ok({type:`readonly`,innerType:e})}let kk=H(`ZodMiniTemplateLiteral`,(e,t)=>{kO.init(e,t),KO.init(e,t)});function Ak(e,t){return new kk({type:`template_literal`,parts:e,...mD(t)})}let jk=H(`ZodMiniCustom`,(e,t)=>{AO.init(e,t),KO.init(e,t)});function Mk(e,t){return WO(jk,e??(()=>!0),t)}function Nk(e,t={}){return GO(jk,e,t)}function Pk(e){return e}function Fk(e){return e}z();let X=()=>Ak([`0x`,U().check(UO(/^[0-9a-fA-F]{40}$/))],`Expected address`),Ik=()=>Dk(K([Z(),$O()]),$O(),{decode:e=>typeof e==`bigint`?e:e===`0x`?0n:vp(e),encode:e=>I(e)}),Z=()=>Ak([`0x`,U()],`Expected hex value`),Lk=()=>Dk(K([Z(),YO()]),YO(),{decode:e=>typeof e==`number`?e:e===`0x`?0:bp(e),encode:e=>I(e)});z();let Rk=G({address:X(),blockHash:Z(),blockNumber:Ik(),data:Z(),logIndex:Lk(),removed:ZO(),topics:Y(W(Z())),transactionHash:Z(),transactionIndex:Lk()}),zk=G({blobGasPrice:J(Ik()),blobGasUsed:J(Ik()),blockHash:Z(),blockNumber:Ik(),contractAddress:Ck(X()),cumulativeGasUsed:Ik(),effectiveGasPrice:Ik(),feePayer:J(X()),feeToken:J(X()),from:X(),gasUsed:Ik(),logs:W(Rk),logsBloom:Z(),root:J(Z()),status:Dk(Z(),_k([`success`,`reverted`]),{decode:e=>e===`0x1`?`success`:`reverted`,encode:e=>e===`success`?`0x1`:`0x0`}),to:Ck(X()),transactionHash:Z(),transactionIndex:Lk(),type:Z()}),Bk=Mk(),Vk=K([q(`secp256k1`),q(`p256`),q(`webAuthn`)]),Hk=Dk(G({allowedCalls:J(Y(W(G({target:X(),selectorRules:J(Y(W(G({selector:Z(),recipients:J(Y(W(X())))}))))})))),address:J(X()),chainId:Ik(),expiry:K([Lk(),rk(),tk()]),keyId:X(),keyType:Vk,limits:J(Y(W(G({token:X(),limit:Ik(),period:J(Lk())})))),signature:Bk}),Mk(),{decode(e){return ZC({chainId:I(e.chainId),expiry:e.expiry==null?null:I(e.expiry),keyId:e.keyId,keyType:e.keyType,limits:e.limits?.map(({limit:e,period:t,token:n})=>({token:n,limit:I(e),...typeof t==`number`?{period:I(t)}:{}})),signature:e.signature,...e.allowedCalls?{allowedCalls:e.allowedCalls.map(({selectorRules:e,target:t})=>({target:t,...e?{selectorRules:e.map(({recipients:e,selector:t})=>({selector:t,...e?{recipients:e}:{}}))}:{}}))}:{}})},encode(e){let t=rw(e);return{chainId:t.chainId===`0x`?0n:vp(t.chainId),expiry:t.expiry==null?null:bp(t.expiry),keyId:t.keyId,keyType:t.keyType,limits:t.limits?.map(({limit:e,period:t,token:n})=>({token:n,limit:vp(e),...t?{period:bp(t)}:{}})),signature:t.signature,address:t.keyId,...t.allowedCalls?{allowedCalls:t.allowedCalls.map(({selectorRules:e,target:t})=>({target:t,...e?{selectorRules:e.map(({recipients:e,selector:t})=>({selector:t,...e?{recipients:e}:{}}))}:{}}))}:{}}}}),Uk=G({data:J(Z()),to:J(X()),value:J(Ik())}),Wk=G({accessList:J(W(G({address:X(),storageKeys:W(Z())}))),calls:J(Y(W(Uk))),chainId:J(Lk()),data:J(Z()),feePayer:J(K([ZO(),U()])),feePayerSignature:J(hk(U(),ak())),feeToken:J(X()),from:J(X()),gas:J(Ik()),keyAuthorization:J(Hk),keyData:J(Z()),keyId:J(X()),keyType:J(Vk),maxFeePerGas:J(Ik()),maxPriorityFeePerGas:J(Ik()),nonce:J(Lk()),nonceKey:J(Ik()),to:J(X()),validAfter:J(Lk()),validBefore:J(Lk()),value:J(Ik())});var Gk;(function(e){e.schema=Pk({method:q(`eth_accounts`),params:void 0,returns:Y(W(X()))})})(Gk||={});var Kk;(function(e){e.schema=Pk({method:q(`eth_chainId`),params:void 0,returns:Z()})})(Kk||={});var qk;(function(e){e.schema=Pk({method:q(`eth_requestAccounts`),params:void 0,returns:Y(W(X()))})})(qk||={});var Jk;(function(e){e.schema=Pk({method:q(`eth_sendTransaction`),params:Y(pk([Wk])),returns:Z()})})(Jk||={});var Yk;(function(e){let t=G({address:X(),decimals:YO(),direction:_k([`incoming`,`outgoing`]),formatted:U(),name:U(),recipients:Y(W(X())),symbol:U(),value:Z()}),n=G({decimals:YO(),formatted:U(),name:U(),symbol:U(),token:X(),value:Z()});e.schema=Pk({method:q(`eth_fillTransaction`),params:Y(pk([Wk])),returns:G({capabilities:G({balanceDiffs:J(hk(X(),Y(W(t)))),error:J(G({abiItem:J(hk(U(),ak())),data:J(Z()),errorName:U(),message:U()})),fee:J(G({amount:Z(),decimals:YO(),formatted:U(),symbol:U()})),requireFunds:J(G({amount:Z(),decimals:YO(),formatted:U(),token:X(),symbol:U()})),autoSwap:J(G({maxIn:n,minOut:n,slippage:YO()})),sponsor:J(G({address:X(),name:J(U()),url:J(U())})),sponsored:ZO()}),tx:hk(U(),ak())})})})(Yk||={});var Xk;(function(e){e.schema=Pk({method:q(`eth_signTransaction`),params:Y(pk([Wk])),returns:Z()})})(Xk||={});var Zk;(function(e){e.schema=Pk({method:q(`eth_sendTransactionSync`),params:Y(pk([Wk])),returns:zk})})(Zk||={});var Qk;(function(e){e.schema=Pk({method:q(`eth_signTypedData_v4`),params:Y(pk([X(),U()])),returns:Z()})})(Qk||={});var $k;(function(e){e.schema=Pk({method:q(`personal_sign`),params:Y(pk([Z(),X()])),returns:Z()})})($k||={});let eA=J(G({feePayer:J(K([ZO(),U()])),sync:J(ZO())}));var tA;(function(e){e.schema=Pk({method:q(`wallet_sendCalls`),params:J(Y(pk([G({atomicRequired:J(ZO()),calls:Y(W(Uk)),capabilities:eA,chainId:J(Lk()),from:J(X()),version:J(U())})]))),returns:G({atomic:J(ZO()),capabilities:eA,chainId:J(Lk()),id:U(),receipts:J(W(zk)),status:J(YO()),version:J(U())})})})(tA||={});var nA;(function(e){e.schema=Pk({method:q(`wallet_getBalances`),params:J(Y(pk([G({account:J(X()),chainId:J(Lk()),tokens:J(Y(W(X())))})]))),returns:Y(W(G({address:X(),balance:Ik(),decimals:YO(),display:U(),name:U(),symbol:U()})))})})(nA||={});var rA;(function(e){e.schema=Pk({method:q(`wallet_getCapabilities`),params:J(Y(K([pk([X()]),pk([X(),Y(W(Z()))])]))),returns:hk(Z(),G({accessKeys:J(G({status:K([q(`supported`),q(`unsupported`)])})),atomic:G({status:K([q(`supported`),q(`ready`),q(`unsupported`)])}),feePayer:J(G({status:K([q(`supported`),q(`unsupported`)])}))}))})})(rA||={});var iA;(function(e){e.showDeposit=J(K([ZO(),G({amount:J(U()),displayName:J(U()),token:J(K([X(),U()]))})])),e.parameters=G({address:J(X()),chainId:J(Ik()),expiry:YO(),keyType:J(Vk),limits:J(Y(W(G({token:X(),limit:Ik(),period:J(YO())})))),publicKey:J(Z()),scopes:J(Y(W(G({address:X(),selector:J(K([Z(),U()])),recipients:J(Y(W(X())))})))),showDeposit:e.showDeposit}),e.returns=G({keyAuthorization:Hk,rootAddress:X()}),e.schema=Pk({method:q(`wallet_authorizeAccessKey`),params:Y(pk([e.parameters])),returns:e.returns})})(iA||={});var aA;(function(e){e.parameters=G({address:J(X()),expiry:YO(),keyType:J(Vk),limits:Y(W(G({token:X(),limit:Ik(),period:J(YO())})).check(HO(1))),publicKey:J(Z()),scopes:Y(W(G({address:X(),selector:J(K([Z(),U()])),recipients:J(Y(W(X())))})).check(HO(1))),showDeposit:iA.showDeposit})})(aA||={});var oA;(function(e){e.schema=Pk({method:q(`wallet_revokeAccessKey`),params:Y(pk([G({address:X(),accessKeyAddress:X()})])),returns:void 0})})(oA||={});var sA;(function(e){e.parameters=G({address:X(),accessKeyAddress:X(),chainId:J(Ik()),limits:Y(W(G({token:X(),limit:Ik()})).check(HO(1)))}),e.schema=Pk({method:q(`wallet_updateAccessKey`),params:Y(pk([e.parameters])),returns:void 0})})(sA||={});var cA;(function(e){e.authorizeAccessKey=J(ck(iA.parameters,{showDeposit:!0})),e.showDeposit=J(K([ZO(),G({amount:J(U()),displayName:J(U()),on:J(K([q(`login`),q(`register`)])),token:J(K([X(),U()]))})])),e.auth=J(K([U(),G({url:J(U()),challenge:J(U()),verify:J(U()),logout:J(U()),returnToken:J(ZO())})])),e.personalSign=J(G({message:U()})),e.identity=J(G({email:J(K([ZO(),G({nonce:J(U())})]))})),e.capabilities={request:J(K([G({digest:J(Z()),authorizeAccessKey:e.authorizeAccessKey,auth:e.auth,identity:e.identity,method:q(`register`),name:J(U()),personalSign:e.personalSign,showDeposit:e.showDeposit,userId:J(U())}),G({digest:J(Z()),credentialId:J(U()),authorizeAccessKey:e.authorizeAccessKey,auth:e.auth,identity:e.identity,method:J(q(`login`)),personalSign:e.personalSign,selectAccount:J(ZO()),showDeposit:e.showDeposit})])),result:G({identity:J(G({email:J(Ck(U())),idToken:J(U())})),keyAuthorization:J(Hk),personalSign:J(G({message:U(),keyAuthorization:J(Z())})),signature:J(Z()),username:J(Ck(U())),auth:J(G({token:J(U())}))})},e.schema=Pk({method:q(`wallet_connect`),params:J(Y(pk([G({capabilities:e.capabilities.request,chainId:J(Lk()),version:J(U())})]))),returns:G({accounts:Y(W(G({address:X(),capabilities:e.capabilities.result})))})})})(cA||={});var lA;(function(e){let t=J(ck(aA.parameters,{showDeposit:!0})),n=cA.auth,r=cA.identity,i=cA.personalSign,a=cA.showDeposit;e.parameters=G({capabilities:J(K([G({digest:J(Z()),authorizeAccessKey:t,auth:n,identity:r,method:q(`register`),name:J(U()),personalSign:i,showDeposit:a,userId:J(U())}),G({digest:J(Z()),credentialId:J(U()),authorizeAccessKey:t,auth:n,identity:r,method:J(q(`login`)),personalSign:i,selectAccount:J(ZO()),showDeposit:a})])),chainId:J(Lk()),version:J(U())})})(lA||={});var uA;(function(e){e.schema=Pk({method:q(`wallet_disconnect`),params:void 0,returns:void 0})})(uA||={});var dA;(function(e){e.schema=Pk({method:q(`wallet_getCallsStatus`),params:J(Y(pk([U()]))),returns:G({atomic:ZO(),chainId:Lk(),id:U(),receipts:J(W(zk)),status:YO(),version:U()})})})(dA||={});var fA;(function(e){e.parameters=dk(`editable`,[G({amount:U(),chainId:J(Lk()),editable:J(q(!1)),feePayer:J(K([ZO(),U()])),from:J(X()),memo:J(U()),to:X(),token:K([X(),U()])}),G({amount:J(U()),chainId:J(Lk()),editable:q(!0),feePayer:J(K([ZO(),U()])),memo:J(U()),to:J(X()),token:J(K([X(),U()]))})]),e.schema=Pk({method:q(`wallet_transfer`),params:J(Y(pk([e.parameters]))),returns:G({chainId:Lk(),receipt:zk})})})(fA||={});let pA=G({amount:J(U()),pairToken:J(X()),slippage:J(YO().check(BO(0),zO(1))),token:J(X()),type:J(K([q(`buy`),q(`sell`)]))});var mA;(function(e){e.schema=Pk({method:q(`wallet_swap`),params:J(Y(pk([pA]))),returns:G({receipt:zk})})})(mA||={});var hA;(function(e){e.schema=Pk({method:q(`wallet_switchEthereumChain`),params:Y(pk([G({chainId:Lk()})])),returns:void 0})})(hA||={});var gA;(function(e){e.schema=Pk({method:q(`wallet_deposit`),params:J(Y(pk([G({address:J(X()),amount:J(U()),chainId:J(Lk()),displayName:J(U()),intent:J(K([q(`applePay`),q(`credits`),q(`crypto`),q(`faucet`),q(`referralCode`),q(`x`)])),token:J(K([X(),U()]))})]))),returns:J(G({receipts:J(Y(W(zk)))}))})})(gA||={});var _A;(function(e){e.parameters=G({amount:J(U()),feePayer:J(K([ZO(),U()])),token:J(X()),zoneId:J(Lk())}),e.schema=Pk({method:q(`wallet_depositZone`),params:J(Y(pk([e.parameters]))),returns:G({receipt:zk})})})(_A||={});var vA;(function(e){e.parameters=G({amount:J(U()),token:J(X()),zoneId:J(Lk())}),e.schema=Pk({method:q(`wallet_withdrawZone`),params:J(Y(pk([e.parameters]))),returns:G({receipt:zk})})})(vA||={}),aA.parameters,lA.parameters;let yA=Fk([Gk.schema,Kk.schema,Yk.schema,qk.schema,Jk.schema,Zk.schema,Xk.schema,Qk.schema,$k.schema,iA.schema,cA.schema,gA.schema,_A.schema,uA.schema,nA.schema,dA.schema,rA.schema,oA.schema,sA.schema,fA.schema,tA.schema,mA.schema,hA.schema,vA.schema]),bA=bS();function xA(e){return e.params?G({method:e.method,params:e.params}):G({method:e.method})}let SA=dk(`method`,yA.map(xA));function CA(e){let t=new CustomEvent(`eip6963:announceProvider`,{detail:Object.freeze(e)});window.dispatchEvent(t);let n=()=>window.dispatchEvent(t);return window.addEventListener(`eip6963:requestProvider`,n),()=>window.removeEventListener(`eip6963:requestProvider`,n)}let Q={acceptPayment:`Accept-Payment`,authorization:`Authorization`,paymentReceipt:`Payment-Receipt`,paymentSession:`Payment-Session`,paymentSessionSnapshot:`Payment-Session-Snapshot`,wwwAuthenticate:`WWW-Authenticate`},wA={payment:`Payment`},TA={evm:`evm`,stripe:`stripe`,tempo:`tempo`},EA={charge:`charge`,session:`session`,subscription:`subscription`},DA={sessionProtocol:`sessionProtocol`,sessionSnapshot:`sessionSnapshot`},OA={v1:`v1`,v2:`v2`};function kA(e,t){if(!(!e||typeof e!=`object`))return e[t]}var AA=class extends Error{details;status=402;hint;constructor(e,t={}){super(e),this.details=t.details}toProblemDetails(e){return{type:this.type,title:this.title,status:this.status,detail:this.message,...this.details&&Object.keys(this.details).length>0&&{details:this.details},...this.hint&&{hint:this.hint},...e&&{challengeId:e}}}},jA=class extends AA{name=`InvalidChallengeError`;title=`Invalid Challenge`;status=402;type=`https://paymentauth.org/problems/invalid-challenge`;constructor(e={}){let{id:t,reason:n}=e,r=t?` \"${t}\"`:``,i=n?`: ${n}`:``;super(`Challenge${r} is invalid${i}.`)}},$=class extends AA{name=`VerificationFailedError`;title=`Verification Failed`;type=`https://paymentauth.org/problems/verification-failed`;constructor(e={}){let{details:t,reason:n}=e;super(n?`Payment verification failed: ${n}.`:`Payment verification failed.`,{details:t})}},MA=class extends AA{name=`PaymentExpiredError`;title=`Payment Expired`;type=`https://paymentauth.org/problems/payment-expired`;constructor(e={}){let{expires:t}=e;super(t?`Payment expired at ${t}.`:`Payment has expired.`)}};function NA(e,t){if(!e)throw new jA({...t&&{id:t},reason:`missing required expires field`});if(Number.isNaN(new Date(e).getTime()))throw new jA({...t&&{id:t},reason:`malformed expires timestamp`});if(new Date(e)<new Date)throw new MA({expires:e})}If();function PA(e){let t=cx(e);return JSON.parse(t)}function FA(e){return ox(Mf(e),{pad:!1,url:!0})}function IA(){return U().check(UO(/^\\d+(\\.\\d+)?$/,`Invalid amount`))}function LA(){return U().check(UO(/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$/,`Invalid ISO 8601 datetime`))}function RA(e=`Invalid ISO 8601 datetime`){return Tk(K([LA(),Mk(e=>e instanceof Date)]),bk(zA)).check(Nk(e=>Number.isFinite(e.getTime()),e))}function zA(e){return e instanceof Date?e:new Date(e)}function BA(e){return e instanceof Date?Number.isFinite(e.getTime())?e.toISOString():`Invalid Date`:e}function VA(){return U().check(UO(/^0x[0-9a-fA-F]{40}$/,`Invalid address`))}function HA(){return U().check(UO(/^0x[0-9a-fA-F]{64}$/,`Invalid hash`))}function UA(){return U().check(UO(/^0x[0-9a-fA-F]+$/,`Invalid signature`))}cp();let WA=G({description:J(U()),digest:J(U().check(UO(/^sha-256=/,`Invalid digest format`))),expires:J(LA()),id:U().check(HO(1)),intent:U(),method:U(),meta:J(hk(U(),U())),opaque:J(U()),realm:U(),request:hk(U(),ak())});function GA(e,t){let{description:n,digest:r,meta:i,method:a,intent:o,realm:s,request:c,secretKey:l}=e,u=e.expires?BA(e.expires):void 0,d=e.opaque??(i===void 0?void 0:FA(i)),f=l?ij({...e,expires:u,...i!==void 0&&{meta:i},opaque:d},{secretKey:l}):e.id;return WA.parse({id:f,realm:s,method:a,intent:o,request:c,...n&&{description:n},...r&&{digest:r},...u&&{expires:u},...i!==void 0&&{meta:i},...d!==void 0&&{opaque:d}})}function KA(e){let t=[qA(`id`,e.id),qA(`realm`,e.realm),qA(`method`,e.method),qA(`intent`,e.intent),qA(`request`,FA(e.request))];return e.description!==void 0&&t.push(qA(`description`,e.description)),e.digest!==void 0&&t.push(qA(`digest`,e.digest)),e.expires!==void 0&&t.push(qA(`expires`,e.expires)),e.opaque===void 0?e.meta!==void 0&&t.push(qA(`opaque`,FA(e.meta))):t.push(qA(`opaque`,e.opaque)),`${wA.payment} ${t.join(`, `)}`}function qA(e,t){if(/[\\r\\n]/.test(t))throw Error(`Invalid quoted-string value.`);return`${e}=\"${t.replace(/\\\\/g,`\\\\\\\\`).replace(/\"/g,`\\\\\"`)}\"`}function JA(e,t){let n=YA(e);if(!n)throw Error(`Missing Payment scheme.`);let{request:r,opaque:i,...a}=XA(n);if(!r)throw Error(`Missing request parameter.`);if(r.length>16384)throw Error(`Request parameter too large.`);if(a.method&&!/^[a-z][a-z0-9:_-]*$/.test(a.method))throw Error(`Invalid method: \"${a.method}\". Must be lowercase per spec.`);return GA({...a,request:PA(r),...i&&{opaque:i}},t)}function YA(e){let t=wA.payment,n=!1,r=!1;for(let i=0;i<e.length;i++){let a=e[i];if(n){r?r=!1:a===`\\\\`?r=!0:a===`\"`&&(n=!1);continue}if(a===`\"`){n=!0;continue}if(!$A(e,i,t))continue;let o=e.slice(0,i);if(o.trim()&&!o.trimEnd().endsWith(`,`))continue;let s=i+t.length;for(;s<e.length&&/\\s/.test(e[s]??``);)s++;return e.slice(s)}return null}function XA(e){let t={},n=0;for(;n<e.length;){for(;n<e.length&&/[\\s,]/.test(e[n]??``);)n++;if(n>=e.length)break;let r=n;for(;n<e.length&&/[A-Za-z0-9_-]/.test(e[n]??``);)n++;let i=e.slice(r,n);if(!i)throw Error(`Malformed auth-param.`);for(;n<e.length&&/\\s/.test(e[n]??``);)n++;if(e[n]!==`=`)break;for(n++;n<e.length&&/\\s/.test(e[n]??``);)n++;let[a,o]=ZA(e,n);if(n=o,i in t)throw Error(`Duplicate parameter: ${i}`);t[i]=a}return t}function ZA(e,t){if(e[t]===`\"`)return QA(e,t+1);let n=t;for(;n<e.length&&e[n]!==`,`;)n++;return[e.slice(t,n).trim(),n]}function QA(e,t){let n=t,r=!1,i=t,a;for(;n<e.length;){let o=e[n];if(n++,r){a??=[],a.push(o),i=n,r=!1;continue}if(o===`\\\\`){a??=[],a.push(e.slice(i,n-1)),i=n,r=!0;continue}if(o===`\"`)return[a?[...a,e.slice(i,n-1)].join(``):e.slice(t,n-1),n]}throw Error(`Unterminated quoted-string.`)}function $A(e,t,n){if(!e.slice(t).toLowerCase().startsWith(n.toLowerCase()))return!1;let r=e[t+n.length];return!!(r&&/\\s/.test(r))}function ej(e,t){if(e.status!==402)throw Error(`Response status is not 402.`);return tj(e.headers,t)}function tj(e,t){let n=e.get(Q.wwwAuthenticate);if(!n)throw Error(`Missing ${Q.wwwAuthenticate} header.`);return nj(n,t)}function nj(e,t){let n=[],r=RegExp(`${wA.payment}\\\\s+`,`gi`);for(let t of e.matchAll(r))n.push(t.index);if(n.length===0)throw Error(`No Payment schemes found.`);return n.map((r,i)=>{let a=i+1<n.length?n[i+1]:e.length;return JA(e.slice(r,a).replace(/,\\s*$/,``),t)})}function rj(e){return[e.realm,e.method,e.intent,FA(e.request),e.expires??``,e.digest??``,e.opaque??(e.meta?FA(e.meta):``)].join(`|`)}function ij(e,t){let n=rj(e);return ix(g_(Hf(t.secretKey),Hf(n),{as:`Bytes`}),{url:!0,pad:!1})}let aj=Symbol.for(`mppx.x402.challenge`);function oj(e){return Object.defineProperty(e,aj,{value:!0}),e}function sj(e){return!!e?.[aj]}function cj(e){let t={};for(let n of e){let e=t[n.name]??={};e[n.intent]=pj(n)}return t}function lj(e,t){let n=cj(e),r=bj(e,n,t),i=e.map((e,t)=>({intent:e.intent,method:e.name,q:r[pj(e)]??1,index:t}));return{definition:r,entries:i,header:dj(i),keys:n}}function uj(e){let t=e.split(/\\s*,\\s*/).map(e=>e.trim()).filter(Boolean);if(t.length===0)throw Error(`Accept-Payment header is empty.`);return t.map((e,t)=>vj(e,t))}function dj(e){return e.map(({method:e,intent:t,q:n})=>{let r=`${e}/${t}`;return n===1?r:`${r};q=${wj(n)}`}).join(`, `)}function fj(e,t,n){let r=new Map;for(let e of t){let t=pj(e),n=r.get(t);n?n.push(e):r.set(t,[e])}return e.flatMap((e,t)=>{let i=r.get(pj(e));if(!i)return[];let a=mj(e,n);return!a||a.q<=0?[]:i.filter(t=>t.canHandleChallenge?.({challenge:e})??!0).map(n=>({challenge:e,index:t,match:a,method:n}))}).sort((e,t)=>_j(e.challenge)-_j(t.challenge)||t.match.q-e.match.q||e.index-t.index).map(e=>{let{match:t,...n}=e;return n})}function pj(e){let t=e.method??e.name;if(!t)throw Error(`Missing payment method name.`);return`${t}/${e.intent}`}function mj(e,t){let n;for(let r of t){if(!hj(e,r))continue;let t={...r,specificity:gj(r)};(!n||t.specificity>n.specificity||t.specificity===n.specificity&&t.q>n.q||t.specificity===n.specificity&&t.q===n.q&&t.index<n.index)&&(n=t)}return n}function hj(e,t){return(t.method===`*`||t.method===e.method)&&(t.intent===`*`||t.intent===e.intent)}function gj(e){return Number(e.method!==`*`)+Number(e.intent!==`*`)}function _j(e){return+!!sj(e)}function vj(e,t){let n=/^(?<method>[^/;\\s]+|\\*)\\s*\\/\\s*(?<intent>[^/;\\s]+|\\*)(?<params>(?:\\s*;\\s*.+)?)$/u.exec(e),r=n?.groups?.method,i=n?.groups?.intent;if(!r||!i)throw Error(`Invalid Accept-Payment entry: ${e}`);Tj(r,`method`),Tj(i,`intent`);let a=1;for(let t of yj(n.groups?.params)){if(!t)continue;let n=/^(?<name>[A-Za-z0-9_-]+)\\s*=\\s*(?<value>\\S+)$/u.exec(t),r=n?.groups?.name,i=n?.groups?.value;if(!r||!i)throw Error(`Invalid Accept-Payment parameter: ${t}`);r===`q`&&(a=Sj(i,`Accept-Payment entry \"${e}\"`))}return{intent:i,method:r,q:a,index:t}}function yj(e){return e?e.split(/\\s*;\\s*/).filter(Boolean):[]}function bj(e,t,n){if(!n)return{};let r=typeof n==`function`?n(t):n,i=new Set(e.map(e=>pj(e))),a={};for(let[e,t]of Object.entries(r??{})){if(!i.has(e))throw Error(`Unknown payment preference \"${e}\". Available: ${[...i].join(`, `)}`);a[e]=xj(t,`payment preference \"${e}\"`)}return a}function xj(e,t){if(typeof e!=`number`||Number.isNaN(e)||!Number.isFinite(e))throw Error(`Invalid q-value for ${t}. Expected a finite number.`);return Cj(e,t)}function Sj(e,t){if(!/^0(?:\\.\\d{0,3})?$|^1(?:\\.0{0,3})?$/.test(e))throw Error(`Invalid q-value for ${t}. Expected an HTTP qvalue.`);return Cj(Number(e),t)}function Cj(e,t){if(e<0||e>1)throw Error(`Invalid q-value for ${t}. Expected a value between 0 and 1.`);let n=Math.round(e*1e3);if(Math.abs(e*1e3-n)>1e-9)throw Error(`Invalid q-value for ${t}. Expected at most 3 decimal places.`);return n/1e3}function wj(e){return e.toFixed(3).replace(/\\.0+$/,``).replace(/(\\.\\d*?)0+$/,`$1`)}function Tj(e,t){if(e!==`*`&&!/^[a-z0-9-]+$/.test(e))throw Error(`Invalid Accept-Payment ${t}: ${e}`)}var Ej=class extends Error{name=`MissingPaymentSchemeError`;constructor(){super(`Missing Payment scheme.`)}},Dj=class extends Error{name=`InvalidCredentialEncodingError`;constructor(){super(`Invalid base64url or JSON.`)}};function Oj(e){let t=e.match(RegExp(`^${wA.payment}\\\\s+(.+)$`,`i`));if(!t?.[1])throw new Ej;try{let e=cx(t[1]),n=JSON.parse(e),{opaque:r,request:i,meta:a,...o}=n.challenge,{meta:s,opaque:c}=kj(r);return{challenge:WA.parse({...o,...s!==void 0&&{meta:s},...c!==void 0&&{opaque:c},request:PA(i)}),payload:n.payload,...n.source&&{source:n.source}}}catch{throw new Dj}}function kj(e){if(e===void 0)return{};if(typeof e==`string`)return{opaque:e};if(!Aj(e))throw Error(`Invalid opaque.`);return{meta:e,opaque:FA(e)}}function Aj(e){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.values(e).every(e=>typeof e==`string`)}function jj(e){let{meta:t,opaque:n,request:r,...i}=e.challenge,a=n??(t===void 0?void 0:FA(t)),o={challenge:{...i,...a!==void 0&&{opaque:a},request:FA(r)},payload:e.payload,...e.source&&{source:e.source}},s=ox(JSON.stringify(o),{pad:!1,url:!0});return`${wA.payment} ${s}`}var Mj=class extends Error{constructor(e,t){super(e),this.name=`ParseError`,this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}};function Nj(e){}function Pj(e){if(typeof e==`function`)throw TypeError(\"`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?\");let{onEvent:t=Nj,onError:n=Nj,onRetry:r=Nj,onComment:i,maxBufferSize:a}=e,o=[],s=0,c=!0,l,u=``,d=0,f,p=!1;function m(e){if(p)throw Error(\"Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.\");if(c&&(c=!1,e.charCodeAt(0)===239&&e.charCodeAt(1)===187&&e.charCodeAt(2)===191&&(e=e.slice(3))),o.length===0){let t=g(e);t!==``&&(o.push(t),s=t.length),h();return}if(e.indexOf(`\n`)===-1&&e.indexOf(`\\r`)===-1){o.push(e),s+=e.length,h();return}o.push(e);let t=o.join(``);o.length=0,s=0;let n=g(t);n!==``&&(o.push(n),s=n.length),h()}function h(){a!==void 0&&(s+u.length<=a||(p=!0,o.length=0,s=0,l=void 0,u=``,d=0,f=void 0,n(new Mj(`Buffered data exceeded max buffer size of ${a} characters`,{type:`max-buffer-size-exceeded`}))))}function g(e){let n=0;if(e.indexOf(`\\r`)===-1){let r=e.indexOf(`\n`,n);for(;r!==-1;){if(n===r){d>0&&t({id:l,event:f,data:u}),l=void 0,u=``,d=0,f=void 0,n=r+1,r=e.indexOf(`\n`,n);continue}let i=e.charCodeAt(n);if(Fj(e,n,i)){let i=e.charCodeAt(n+5)===32?n+6:n+5,a=e.slice(i,r);if(d===0&&e.charCodeAt(r+1)===10){t({id:l,event:f,data:a}),l=void 0,u=``,f=void 0,n=r+2,r=e.indexOf(`\n`,n);continue}u=d===0?a:`${u}\n${a}`,d++}else Ij(e,n,i)?f=e.slice(e.charCodeAt(n+6)===32?n+7:n+6,r)||void 0:_(e,n,r);n=r+1,r=e.indexOf(`\n`,n)}return e.slice(n)}for(;n<e.length;){let t=e.indexOf(`\\r`,n),r=e.indexOf(`\n`,n),i=-1;if(t!==-1&&r!==-1?i=t<r?t:r:t===-1?r!==-1&&(i=r):i=t===e.length-1?-1:t,i===-1)break;_(e,n,i),n=i+1,e.charCodeAt(n-1)===13&&e.charCodeAt(n)===10&&n++}return e.slice(n)}function _(e,t,n){if(t===n){y();return}let r=e.charCodeAt(t);if(Fj(e,t,r)){let r=e.charCodeAt(t+5)===32?t+6:t+5,i=e.slice(r,n);u=d===0?i:`${u}\n${i}`,d++;return}if(Ij(e,t,r)){f=e.slice(e.charCodeAt(t+6)===32?t+7:t+6,n)||void 0;return}if(r===105&&e.charCodeAt(t+1)===100&&e.charCodeAt(t+2)===58){let r=e.slice(e.charCodeAt(t+3)===32?t+4:t+3,n);l=r.includes(`\\0`)?void 0:r;return}if(r===58){if(i){let r=e.slice(t,n);i(r.slice(e.charCodeAt(t+1)===32?2:1))}return}let a=e.slice(t,n),o=a.indexOf(`:`);if(o===-1){v(a,``,a);return}let s=a.slice(0,o),c=a.charCodeAt(o+1)===32?2:1;v(s,a.slice(o+c),a)}function v(e,t,i){switch(e){case`event`:f=t||void 0;break;case`data`:u=d===0?t:`${u}\n${t}`,d++;break;case`id`:l=t.includes(`\\0`)?void 0:t;break;case`retry`:/^\\d+$/.test(t)?r(parseInt(t,10)):n(new Mj(`Invalid \\`retry\\` value: \"${t}\"`,{type:`invalid-retry`,value:t,line:i}));break;default:n(new Mj(`Unknown field \"${e.length>20?`${e.slice(0,20)}\\u2026`:e}\"`,{type:`unknown-field`,field:e,value:t,line:i}));break}}function y(){d>0&&t({id:l,event:f,data:u}),l=void 0,u=``,d=0,f=void 0}function b(e={}){if(e.consume&&o.length>0){let e=o.join(``);_(e,0,e.length)}c=!0,l=void 0,u=``,d=0,f=void 0,o.length=0,s=0,p=!1}return{feed:m,reset:b}}function Fj(e,t,n){return n===100&&e.charCodeAt(t+1)===97&&e.charCodeAt(t+2)===116&&e.charCodeAt(t+3)===97&&e.charCodeAt(t+4)===58}function Ij(e,t,n){return n===101&&e.charCodeAt(t+1)===118&&e.charCodeAt(t+2)===101&&e.charCodeAt(t+3)===110&&e.charCodeAt(t+4)===116&&e.charCodeAt(t+5)===58}let Lj=[`exact`],Rj=`PAYMENT-REQUIRED`,zj=`PAYMENT-SIGNATURE`,Bj=U().check(HO(1)),Vj=YO().check(Nk(e=>e>0,`Must be positive`)),Hj=U().check(UO(/^\\d+$/,`Invalid atomic amount`)),Uj=VA(),Wj=U().check(UO(RegExp(`^eip155:\\\\d+$`),`Invalid EVM CAIP-2 network`)),Gj=G({description:J(U()),iconUrl:J(U()),mimeType:J(U()),serviceName:J(U()),tags:J(W(U())),url:Bj}),Kj=G({amount:Hj,asset:Bj,extra:J(hk(U(),ak())),maxTimeoutSeconds:Vj,network:Wj,payTo:Bj,scheme:_k(Lj)}),qj=hk(U(),G({info:hk(U(),ak()),schema:hk(U(),ak())})),Jj=G({accepts:W(Kj).check(HO(1)),error:J(U()),extensions:J(qj),resource:Gj,x402Version:q(2)}),Yj=K([G({authorization:G({from:Uj,nonce:HA(),to:Uj,validAfter:Hj,validBefore:Hj,value:Hj}),signature:UA()}),G({permit2Authorization:G({deadline:Hj,from:Uj,nonce:Hj,permitted:G({amount:Hj,token:Uj}),spender:Uj,witness:G({to:Uj,validAfter:Hj})}),signature:UA()})]),Xj=G({accepted:Kj,extensions:J(qj),payload:Yj,resource:J(Gj),x402Version:q(2)}),Zj=G({amount:J(Hj),errorMessage:J(U()),errorReason:J(U()),extensions:J(qj),extra:J(hk(U(),ak())),network:Bj,payer:J(U()),success:ZO(),transaction:U()}),Qj=[Q.authorization,Rj,`PAYMENT-RESPONSE`,zj];function $j(e,t,n){let r=new Headers(e.headers);for(let e of Qj)r.delete(e);return r.set(t,n),{...e,headers:r}}function eM(e){if(typeof e==`string`)try{let t=JSON.parse(e),n=t?.id;return t?.jsonrpc!==`2.0`||typeof t?.method!=`string`?void 0:typeof n==`string`||typeof n==`number`?n:void 0}catch{return}}let tM=new WeakMap;function nM(e){let t=eM(e?.body);if(t===void 0)return;let n=new Headers(e?.headers);if(n.has(`mcp-method`))return t;let r=n.get(`accept`)?.toLowerCase()??``;return r.includes(`application/json`)&&r.includes(`text/event-stream`)?t:void 0}function rM(e){if(!e||typeof e!=`object`)return;let t=e,n=t.id;if(t.jsonrpc!==`2.0`||n!==void 0&&typeof n!=`string`&&typeof n!=`number`)return;let r=`error`in t;if(r!==`result`in t)return r?Number.isInteger(t.error?.code)&&typeof t.error?.message==`string`?e:void 0:n!==void 0&&typeof t.result==`object`?e:void 0}function iM(e){if(!e||typeof e!=`object`)return;let t=e?.challenges;if(!Array.isArray(t)||t.length===0)return;let n=[];for(let e of t){let t=WA.safeParse(e);if(!t.success)return;n.push(t.data)}let{httpStatus:r,problem:i}=e;return{challenges:n,...typeof r==`number`?{httpStatus:r}:{},...i===void 0?{}:{problem:i}}}function aM(e){if(e)return`error`in e?e.error?.code===-32042?iM(e.error.data):void 0:iM(e.result?._meta?.[`org.paymentauth/payment-required`])}function oM(e,t){return!e||e.id!==t?[]:aM(e)?.challenges??[]}async function sM(e){let t=e.clone().body?.getReader();if(!t)return;let n=new TextDecoder,r=!1,i,a=Pj({onEvent(e){if(!(r||!e.data)&&(r=!0,!(e.event&&e.event!==`message`)))try{i=rM(JSON.parse(e.data))}catch{}}});try{for(;;){if(r)return i;let{done:e,value:o}=await t.read();if(e)return a.feed(n.decode()),a.reset({consume:!0}),i;a.feed(n.decode(o,{stream:!0}))}}finally{t.cancel().catch(()=>{})}}function cM(e){let t=tM.get(e);if(t)return t;let n=(async()=>{let t=e.headers.get(`content-type`)?.toLowerCase()??``;if(t.includes(`application/json`))return e.clone().json().then(rM).catch(()=>void 0);if(t.includes(`text/event-stream`))return sM(e)})();return tM.set(e,n),n}function lM(){return{getChallenges(e,t){let n=nM(t);return e.status===402||n===void 0?[]:cM(e).then(e=>oM(e,n))},setCredential(e,t){let n=JSON.parse(e.body),r=Oj(t);return{...e,body:JSON.stringify({...n,params:{...n.params,_meta:{...n.params?._meta,\"org.paymentauth/credential\":r}}})}}}}function uM(){return{getChallenges(e){return e.status!==402||!e.headers.has(Q.wwwAuthenticate)?[]:ej(e)},setCredential(e,t){return $j(e,Q.authorization,t)}}}function dM(e){return{encode(t){return ox(JSON.stringify(e.parse(t)))},decode(t){try{return e.parse(JSON.parse(cx(t)))}catch{throw new fM}}}}var fM=class extends Error{name=`InvalidJsonHeaderError`;constructor(){super(`Invalid base64 JSON header.`)}};let pM=dM(Jj),mM=dM(Xj),hM=dM(Zj);pM.encode,pM.decode;function gM(e){try{let t=JSON.parse(cx(e));return _M(t)}catch{throw new fM}}mM.encode,mM.decode,hM.encode,hM.decode;let _M=e=>{if(!e||typeof e!=`object`||Array.isArray(e))throw new fM;let t=e;if(t.x402Version!==2||!Array.isArray(t.accepts))throw new fM;let n=Gj.parse(t.resource),r=t.extensions===void 0?void 0:qj.safeParse(t.extensions).data;return{accepts:t.accepts,...r?{extensions:r}:{},resource:n,x402Version:2}};function vM(){return{getChallenges(e){if(e.status!==402)return[];let t=e.headers.get(Rj);if(!t)return[];let n=gM(t);if(e.url&&n.resource.url!==e.url)throw Error(`x402 payment-required resource does not match response URL.`);return n.accepts.flatMap((e,t)=>{let r=Kj.safeParse(e);if(!r.success)return[];let i=r.data;return oj(GA({id:`x402:${t}`,intent:`charge`,method:`evm`,realm:new URL(n.resource.url).host,request:{...i,...n.extensions?{extensions:n.extensions}:{},resource:n.resource}}))})},setCredential(e,t){return $j(e,zj,t)}}}function yM(e){return e}function bM(){let e=[uM(),vM(),lM()],t=new WeakMap,n=(e,n)=>{for(let r of n)t.set(r,e);return n},r=(t,r)=>{let i=(a,o)=>{for(let s=a;s<e.length;s++){let a=e[s],c=a.getChallenges(t,r);if(c instanceof Promise)return c.then(e=>i(s+1,[...o,...n(a,e)]));o.push(...n(a,c))}return o};return i(0,[])};return yM({name:`http`,isPaymentRequired(e,t){if(e.status===402)return!0;let n=r(e,t);return n instanceof Promise?n.then(e=>e.length>0):n.length>0},getChallenges(e,t){return r(e,t)},getChallenge(e,t){let n=e=>{let t=e[0];if(!t)throw Error(`No challenge in response.`);return t},i=r(e,t);return i instanceof Promise?i.then(n):n(i)},setCredential(n,r,i){let a=i?.challenge?t.get(i.challenge):void 0,o=e[0];if(!a&&!o)throw Error(`No protocol to attach the credential.`);return(a??o).setCredential(n,r)}})}let xM=new WeakMap;function SM(e,t){return xM.set(e,t),e}function CM(e){return xM.has(e)}function wM(e,t){return Promise.resolve(xM.get(e)?.(t))}let TM=new WeakMap,EM=new WeakMap;function DM(e,t){return TM.set(e,t),e}function OM(e){TM.delete(e)}function kM(e,t,n){TM.has(e)&&EM.set(t,n)}function AM(e){return EM.get(e)}function jM(e,t){return Promise.resolve(TM.get(e)?.(t)??t.response)}let MM=Symbol.for(`mppx.fetch.wrapper`),NM,PM=new WeakMap;async function FM(e,t){let n=e?.attempt.settle;if(!n)return t.status!==`pending`;e.attempt.settle=void 0;let r=await n(t);return r||(e.attempt.settle=n),r}function IM(e){let{acceptPayment:t,acceptPaymentPolicy:n=`always`,fetch:r=globalThis.fetch,maxPaymentRetries:i=3,methods:a,onChallenge:o,orderChallenges:s,transport:c=bM()}=e,l=e.eventDispatcher??zM(),u=t??lj(a),d=oN(r),f=async(e,t,r)=>{let p=aN(e,t?.headers),m=p.has(Q.acceptPayment),h=dN(p,u),g=rN(e,t,p),_=nN(e,t,p,h.header,m,n),v=await d(sN(_.input),_.init),y=iN(_.init,await g);if(!await c.isPaymentRequired(v,y))return v;let b=t?.context,{context:x,orderChallenges:S,...C}=y??{},w,T,ee,te;try{for(let n=0;n<i;n++){T=c.getChallenges?await c.getChallenges(v,y):[await c.getChallenge(v,y)];let i=(await fN(fj(T,a,h.entries),S??s))[0];if(!i){if(await FM(te,{challenges:T,response:v,status:`rejected`}),n>0)return v;throw Error(`No method found for challenges: ${T.map(e=>`${e.method}.${e.intent}`).join(`, `)}. Available: ${a.map(e=>`${e.name}.${e.intent}`).join(`, `)}`)}let u=i.challenge;w=u,ee=i.method,w.expires&&NA(w.expires,w.id);let p=_N(v,_.input,_.input),m=te,g=KA(u),x=m?.method===i.method&&m?.key===g,ne=!1;if(m){let e=await FM(m,{challenges:T,response:v,status:x?`pending`:`rejected`});ne=x&&!e}te=ne?m:void 0;let re=WM(async e=>{if(e===void 0&&ne&&m)return m.promise;ne&&m&&(await FM(m,{status:`rejected`}),te=void 0);let t=e??b;if(!CM(i.method))return uN(u,i.method,t);let n={prepare:()=>wM(i.method,{challenge:u,context:t,fetch:d,input:p})},r=n.prepare().then(()=>uN(u,i.method,t,n));return te={attempt:n,key:e===void 0?g:void 0,method:i.method,promise:r},r}),ie=await l.emit(`challenge.received`,GM({challenge:u,challenges:T,createCredential:re,init:t,input:e,method:i.method,response:v}))??(o?await o(w,{createCredential:re}):void 0)??await re(),ae=te;ae&&await ae.promise.catch(()=>void 0)!==ie&&(await FM(ae,{status:`rejected`}),te=void 0),lN(ie),await l.emit(`credential.created`,KM({challenge:u,credential:ie,init:t,input:e,method:i.method,response:v})),v=await d(p,c.setCredential({...C,headers:_.headers},ie,{challenge:u}));let oe=await c.isPaymentRequired(v,y);if(oe||(await FM(ae,{response:v,status:v.ok?`accepted`:`rejected`}),te=void 0),v.ok&&BM(l,`payment.response`)&&await l.emit(`payment.response`,qM({challenge:u,credential:ie,init:t,input:e,method:i.method,response:v})),!oe)return v.ok?jM(i.method,{challenge:u,credential:ie,fetch:d,headers:_.headers,input:p,...r?{refetch:()=>f(sN(_.input),t,!1)}:{},response:v,signal:cN(e,t)}):v}T=void 0;try{T=c.getChallenges?await c.getChallenges(v,y):[await c.getChallenge(v,y)]}catch{}return await FM(te,{challenges:T,response:v,status:`rejected`}),v}catch(n){throw await FM(te,{challenges:T,response:v,status:`rejected`}),await l.emit(`payment.failed`,JM({challenge:w,challenges:T,error:n,init:t,input:e,method:ee,response:v})),n}},p=(e,t)=>f(e,t,!0);return p[MM]=d,p}function LM(e){let t=Object.getOwnPropertyDescriptor(globalThis,`fetch`);if(!t||!t.writable&&!t.set)throw Error(`globalThis.fetch is not writable`);NM||=globalThis.fetch,globalThis.fetch=IM({...e,acceptPaymentPolicy:e.acceptPaymentPolicy??(hN()?`same-origin`:`always`),fetch:globalThis.fetch})}function RM(e){if(!e)return{};if(e instanceof Headers){let t={};return e.forEach((e,n)=>{t[n]=e}),t}return Array.isArray(e)?Object.fromEntries(e):e}function zM(){let e={\"*\":new Set,\"challenge.received\":new Set,\"credential.created\":new Set,\"payment.failed\":new Set,\"payment.response\":new Set},t={async emit(t,n){switch(t){case`challenge.received`:{let r;for(let t of e[`challenge.received`]){let e=await VM(t,n);if(typeof e==`string`&&e.length>0){r=e;break}}return await UM(e[`*`],t,n),r}case`credential.created`:await HM(e[`credential.created`],n),await UM(e[`*`],t,n);return;case`payment.failed`:await HM(e[`payment.failed`],n),await UM(e[`*`],t,n);return;case`payment.response`:await HM(e[`payment.response`],n),await UM(e[`*`],t,n);return}},on:(t,n)=>{switch(t){case`*`:case`challenge.received`:case`credential.created`:case`payment.failed`:case`payment.response`:return e[t].add(n),()=>e[t].delete(n);default:throw Error(`Unknown client event \"${String(t)}\".`)}}};return PM.set(t,t=>e[t].size>0||e[`*`].size>0),t}function BM(e,t){return PM.get(e)?.(t)??!0}async function VM(e,t){try{return await e(t)}catch{return}}async function HM(e,t){for(let n of e)try{await n(t)}catch{}}async function UM(e,t,n){await HM(e,Object.freeze({name:t,payload:n}))}function WM(e){let t;return n=>(t??=e(n),t)}function GM(e){return Object.freeze({challenge:$M(e.challenge),challenges:e.challenges.map(e=>$M(e)),createCredential:e.createCredential,init:YM(e.init),input:XM(e.input),method:ZM(e.method),response:QM(e.response)})}function KM(e){return Object.freeze({challenge:$M(e.challenge),credential:e.credential,init:YM(e.init),input:XM(e.input),method:ZM(e.method),...e.response===void 0?{}:{response:QM(e.response)}})}function qM(e){return Object.freeze({challenge:$M(e.challenge),credential:e.credential,init:YM(e.init),input:XM(e.input),method:ZM(e.method),response:QM(e.response)})}function JM(e){return Object.freeze({...e.challenge?{challenge:$M(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>$M(e))}:{},error:e.error,init:YM(e.init),input:XM(e.input),...e.method?{method:ZM(e.method)}:{},...e.response===void 0?{}:{response:QM(e.response)}})}function YM(e){if(e)return tN({...e,...e.headers?{headers:new Headers(e.headers)}:{}})}function XM(e){if(e instanceof Request)try{return e.clone()}catch{return e}return e instanceof URL?new URL(e):e}function ZM(e){return tN(Object.assign({},e))}function QM(e){return e instanceof Response?e.clone():$M(e)}function $M(e){try{return eN(structuredClone(e))}catch{return tN(e)}}function eN(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))eN(t);return e}function tN(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function nN(e,t,n,r,i,a){let o=!!r&&!i&&pN(e,a);if(!o)return{headers:n,init:t,input:e};let s=new Headers(e instanceof Request?e.headers:void 0);return n.forEach((e,t)=>{s.set(t,e)}),s.set(Q.acceptPayment,r),t?(t.headers=s,{headers:s,init:t,input:e}):{headers:s,init:o?{headers:s}:void 0,input:e}}function rN(e,t,n){if(!(!(e instanceof Request)||t?.body!==void 0||!e.body||e.bodyUsed)){if(!n.has(`mcp-method`)){let e=n.get(`accept`)?.toLowerCase()??``;if(!e.includes(`application/json`)||!e.includes(`text/event-stream`))return}try{return e.clone().text().catch(()=>void 0)}catch{return}}}function iN(e,t){return t===void 0?e:{...e,body:t}}function aN(e,t){return t?new Headers(t):new Headers(e instanceof Request?e.headers:void 0)}function oN(e){let t=e;for(;t[MM];)t=t[MM];return t}function sN(e){if(!(e instanceof Request)||!e.body||e.bodyUsed)return e;try{return e.clone()}catch{return e}}function cN(e,t){return t?.signal??(e instanceof Request?e.signal:void 0)}function lN(e){if(!e.trim())throw Error(`Credential header value must be non-empty`);if(e.includes(`\\r`)||e.includes(`\n`))throw Error(`Credential header value contains illegal newline characters`)}async function uN(e,t,n,r){let i=t.context&&n!==void 0?t.context.parse(n):void 0,a=i===void 0?{challenge:e}:{challenge:e,context:i};return r&&kM(t,a,r),t.createCredential(a)}function dN(e,t){let n=e.get(Q.acceptPayment);if(!n)return t;try{return{...t,entries:uj(n),header:n}}catch{return t}}async function fN(e,t){return t?t(e):e}function pN(e,t){if(t===`always`)return!0;if(t===`never`)return!1;let n=gN(e);return t===`same-origin`?!hN()||n.origin===globalThis.location.origin:t.origins.some(e=>mN(n,e))}function mN(e,t){if(t.startsWith(`*.`)){let n=t.slice(1);return e.hostname.endsWith(n)||e.hostname===t.slice(2)}return e.origin===new URL(t).origin}function hN(){return globalThis.location!==void 0}function gN(e){return e instanceof URL?e:e instanceof Request?new URL(e.url):new URL(e,hN()?globalThis.location.href:void 0)}function _N(e,t,n){if(!e.url)return t;let r=new URL(e.url),i=gN(n);if(r.origin!==i.origin)throw Error(`Refusing to send payment credential across redirect from ${i.origin} to ${r.origin}`);return e.url}function vN(e){return e}function yN(e,t){let{canHandleChallenge:n,context:r,createCredential:i}=t;return{...e,canHandleChallenge:n,context:r,createCredential:i}}function bN(e={}){let{account:t}=e;return(e,{account:n}={})=>{let r=n??t;if(!r){if(!e.account)throw Error(\"No `account` provided. Pass `account` to parameters or context.\");return e.account}return N(r)}}let xN={[lE.id]:lE,[uE.id]:uE};function SN(e){let{chain:t,feePayerUrl:n,getClient:r,rpcUrl:i}=e;return r?!t?.serializers&&!n?r:async e=>{let i=await r(e),a=i;if(n&&i.transport.key!==`feePayer`){let e=i.request.bind(i),t=LE(Gb({request:t=>e(t)},{retryCount:0}),Xb(n,{retryCount:i.transport.retryCount}))({account:i.account,chain:i.chain,pollingInterval:i.pollingInterval,retryCount:0}),r=Wb({...t.config,retryCount:0},t.value);a=Object.assign({},i,{request:r.request,transport:{...r.config,...r.value}})}return!t?.serializers||a.chain?.serializers?.transaction?a:Object.assign({},a,{chain:{...t,...a.chain,formatters:a.chain?.formatters??t.formatters,prepareTransactionRequest:a.chain?.prepareTransactionRequest??t.prepareTransactionRequest,serializers:a.chain?.serializers?.transaction?a.chain.serializers:t.serializers}})}:({chainId:e})=>{if(!i)throw Error(\"No `rpcUrl` provided.\");let r=e||Number(Object.keys(i)[0]),a=i[r];if(!a)throw Error(`No \\`rpcUrl\\` configured for \\`chainId\\` (${r}).`);let o=n?LE(Xb(a),Xb(n)):Xb(a);return Eh({chain:xN[r]??{...t,id:r},transport:o})}}let CN={mainnet:4217,testnet:42431},wN={usdc:`0x20C000000000000000000000b9537d11c60E8b50`,pathUsd:`0x20c0000000000000000000000000000000000000`};CN.mainnet,wN.usdc,CN.testnet,wN.pathUsd;let TN={[CN.mainnet]:`0x33b901018174DDabE4841042ab76ba85D4e24f25`,[CN.testnet]:`0xe1c4d3dce17bc111181ddf716f75bae49e61a336`},EN={[CN.mainnet]:`https://rpc.tempo.xyz`,[CN.testnet]:`https://rpc.moderato.tempo.xyz`},DN=[`push`,`pull`],ON=G({amount:IA(),memo:J(HA()),recipient:Tk(U(),bk(e=>e))}),kN=(1n<<64n)-1n,AN={dev_second:1n,day:86400n,week:604800n},jN=Tk(VA(),bk(e=>e.toLowerCase())),MN=G({accessKeyAddress:jN,keyType:_k([`p256`,`secp256k1`,`webAuthn`])}),NN=G({accessKey:J(MN),chainId:J(YO())}),PN=RA(`subscriptionExpires must be a valid date`).check(Nk(e=>e.getTime()%1e3==0,`subscriptionExpires must be representable as whole seconds`)),FN=_k([`dev_second`,`day`,`week`]),IN=Tk(K([U(),$O(),Mk(e=>typeof e==`number`&&Number.isSafeInteger(e))]),bk(e=>e.toString())).check(UO(/^[1-9]\\d*$/,`Invalid periodCount`),Nk(e=>{try{return BigInt(e)<=kN}catch{return!1}},`periodCount exceeds uint64`));function LN(e){return Nk(e=>{let{amount:t,decimals:n}=e;return ky(t,n)>0n},e)}function RN(e){let{periodCount:t,periodUnit:n}=e;try{let e=AN[n];return e!==void 0&&BigInt(t)*e<=kN}catch{return!1}}let zN=vN({name:`tempo`,intent:`charge`,schema:{credential:{payload:dk(`type`,[G({hash:HA(),type:q(`hash`)}),G({signature:UA(),type:q(`transaction`)}),G({signature:UA(),type:q(`proof`)})])},request:Tk(G({amount:IA(),chainId:J(YO()),currency:U(),decimals:YO(),description:J(U()),externalId:J(U()),feePayer:J(Tk(K([ZO(),Mk()]),bk(e=>typeof e==`object`||e))),memo:J(HA()),recipient:J(U()),splits:J(W(ON).check(HO(1),VO(10))),supportedModes:J(W(_k(DN)).check(HO(1)))}).check(Nk(({amount:e,decimals:t,splits:n})=>{if(!n)return!0;let r=ky(e,t),i=n.reduce((e,n)=>e+ky(n.amount,t),0n);return n.every(e=>ky(e.amount,t)>0n)&&i<r},`Invalid splits`)),bk(({amount:e,chainId:t,decimals:n,feePayer:r,memo:i,splits:a,supportedModes:o,...s})=>({...s,amount:ky(e,n).toString(),...t!==void 0||r!==void 0||i!==void 0||a!==void 0||o!==void 0?{methodDetails:{...t!==void 0&&{chainId:t},...r!==void 0&&{feePayer:r},...i!==void 0&&{memo:i},...a!==void 0&&{splits:a.map(e=>({...e,amount:ky(e.amount,n).toString()}))},...o!==void 0&&{supportedModes:o}}}:{}})))}}),BN=vN({name:`tempo`,intent:`session`,schema:{credential:{payload:dk(`action`,[G({action:q(`open`),authorizedSigner:J(U()),channelId:HA(),cumulativeAmount:IA(),descriptor:J(Mk()),signature:UA(),transaction:UA(),type:q(`transaction`)}),G({action:q(`topUp`),additionalDeposit:IA(),channelId:HA(),descriptor:J(Mk()),transaction:UA(),type:q(`transaction`)}),G({action:q(`voucher`),channelId:HA(),cumulativeAmount:IA(),descriptor:J(Mk()),signature:UA()}),G({action:q(`close`),channelId:HA(),cumulativeAmount:IA(),descriptor:J(Mk()),signature:UA()})])},request:Tk(G({amount:IA(),chainId:J(YO()),channelId:J(HA()),currency:U(),decimals:YO(),escrowContract:J(U()),feePayer:J(Tk(K([ZO(),Mk()]),bk(e=>typeof e==`object`||e))),minVoucherDelta:J(IA()),operator:J(VA()),recipient:J(U()),sessionProtocol:J(_k([OA.v2,OA.v1])),sessionSnapshot:J(Mk()),suggestedDeposit:J(IA()),unitType:U()}).check(Nk(({amount:e,decimals:t})=>ky(e,t)>0n,`Session amount must be greater than 0`)),bk(({amount:e,chainId:t,channelId:n,decimals:r,escrowContract:i,feePayer:a,minVoucherDelta:o,operator:s,sessionProtocol:c,sessionSnapshot:l,suggestedDeposit:u,...d})=>({...d,amount:ky(e,r).toString(),...u?{suggestedDeposit:ky(u,r).toString()}:{},methodDetails:{escrowContract:i,...n!==void 0&&{channelId:n},...o!==void 0&&{minVoucherDelta:ky(o,r).toString()},...t!==void 0&&{chainId:t},...a!==void 0&&{feePayer:a},...s!==void 0&&{operator:s},...c!==void 0&&{[DA.sessionProtocol]:c},...l!==void 0&&{[DA.sessionSnapshot]:l}}})))}}),VN=vN({name:`tempo`,intent:`subscription`,schema:{credential:{payload:G({signature:UA(),type:q(`keyAuthorization`)})},request:Tk(G({amount:IA(),accessKey:J(MN),chainId:J(YO()),currency:jN,decimals:YO(),description:J(U()),externalId:J(U()),methodDetails:J(NN),periodCount:IN,periodUnit:FN,recipient:jN,subscriptionExpires:PN}).check(LN(`Subscription amount must be greater than 0`),Nk(RN,`Subscription period exceeds uint64`)),bk(({accessKey:e,amount:t,chainId:n,decimals:r,methodDetails:i,subscriptionExpires:a,...o})=>{let s={...i,...e!==void 0&&{accessKey:e},...n!==void 0&&{chainId:n}};return{...o,amount:ky(t,r).toString(),subscriptionExpires:a.toISOString(),...Object.keys(s).length>0?{methodDetails:s}:{}}}))}});Pi(),tf();let HN=(1n<<64n)-1n,UN={dev_second:1n,day:86400n,week:604800n};function WN(e){return e instanceof Date?e:new Date(e)}function GN(e){let t=e.getTime();if(!Number.isFinite(t))throw new $({reason:`subscriptionExpires is invalid`});if(t%1e3!=0)throw new $({reason:`subscriptionExpires must be representable as whole seconds`});let n=t/1e3;if(n<=0||!Number.isSafeInteger(n))throw new $({reason:`subscriptionExpires cannot be represented in a Tempo key authorization`});return n}function KN(e){if(!/^[1-9]\\d*$/.test(e.periodCount))throw new $({reason:`periodCount is invalid`});let t=UN[e.periodUnit];if(t===void 0)throw new $({reason:`periodUnit is invalid`});let n=BigInt(e.periodCount)*t;if(n>HN)throw new $({reason:`subscription period cannot be represented as an unsigned 64-bit integer`});if(n>BigInt(2**53-1))throw new $({reason:`subscription period cannot be represented exactly by this Tempo client`});return Number(n)}function qN(e){let{challengeExpires:t,request:n}=e;KN(n);let r=GN(WN(n.subscriptionExpires));if(t){let e=Math.floor(new Date(t).getTime()/1e3);if(!Number.isFinite(e)||r<=e)throw new $({reason:`subscriptionExpires must be strictly later than challenge expires`})}}function JN(e){return[{address:oP(e.currency,`currency`),selector:`0x95777d59`,recipients:[oP(e.recipient,`recipient`)]}]}async function YN(e){let{accessKey:t,account:n,chainId:r,request:i}=e;if(typeof n.sign!=`function`)return;let a=ZN({accessKey:t,chainId:r,request:i}),o=await n.sign({hash:$C(a)}),s=lC(o);if(s.type===`keychain`||s.type===`multisig`)throw new $({reason:`keyAuthorization must use a primitive signature`});return XC(a,{signature:o})}function XN(e){let{accessKey:t,chainId:n,payload:r,request:i}=e;if(r.type!==`keyAuthorization`)throw new $({reason:`invalid keyAuthorization payload`});let a=QN(r.signature),o=$N(a);return eP({accessKey:t,authorization:a,chainId:n}),tP(a,i),rP(nP(a),i),iP(a.scopes,i),{authorization:a,source:{address:aP(a,o),chainId:n}}}function ZN(e){let{accessKey:t,chainId:n,request:r}=e;return XC({address:oP(t.accessKeyAddress,`accessKeyAddress`),chainId:BigInt(n),expiry:GN(WN(r.subscriptionExpires)),limits:[{token:oP(r.currency,`currency`),limit:BigInt(r.amount),period:KN(r)}],scopes:JN(r),type:t.keyType})}function QN(e){try{return ew(e)}catch(e){throw e instanceof gw?new $({reason:`keyAuthorization must use a primitive signature`}):new $({reason:`invalid keyAuthorization payload`})}}function $N(e){let t=e.signature;if(!t)throw new $({reason:`keyAuthorization must use a primitive signature`});return t}function eP(e){let{accessKey:t,authorization:n,chainId:r}=e;if(n.chainId!==BigInt(r))throw new $({reason:`keyAuthorization chainId mismatch`});if(t){if(!ef(n.address,oP(t.accessKeyAddress,`accessKeyAddress`)))throw new $({reason:`keyAuthorization access key mismatch`});if(n.type!==t.keyType)throw new $({reason:`keyAuthorization key type mismatch`})}}function tP(e,t){if(qN({request:t}),e.expiry!==GN(WN(t.subscriptionExpires)))throw new $({reason:`keyAuthorization expiry mismatch`})}function nP(e){let[t]=e.limits??[];if(!t||e.limits?.length!==1)throw new $({reason:`keyAuthorization must contain exactly one token limit`});return t}function rP(e,t){if(!ef(e.token,oP(t.currency,`currency`)))throw new $({reason:`keyAuthorization currency mismatch`});if(e.limit!==BigInt(t.amount))throw new $({reason:`keyAuthorization amount mismatch`});if(e.period!==KN(t))throw new $({reason:`keyAuthorization period mismatch`})}function iP(e,t){if(!e||e.length!==1)throw new $({reason:`keyAuthorization must contain a recipient-scoped transferWithMemo call`});let n=oP(t.currency,`currency`),r=oP(t.recipient,`recipient`),i=new Set;for(let t of e){if(!ef(t.address,n))throw new $({reason:`keyAuthorization call target mismatch`});let e=sP(t.selector);if(e!==`0xa9059cbb`&&e!==`0x95777d59`)throw new $({reason:`keyAuthorization selector not allowed`});if(i.has(e))throw new $({reason:`keyAuthorization duplicate selector`});if(i.add(e),t.recipients?.length!==1||!ef(t.recipients[0],r))throw new $({reason:`keyAuthorization recipient mismatch`})}if(!i.has(`0x95777d59`))throw new $({reason:`keyAuthorization must allow transferWithMemo`})}function aP(e,t){let n=$C(e);try{let e=aC({payload:n,signature:t});if(!hC(t,{address:e,payload:n}))throw new $({reason:`keyAuthorization signature is invalid`});return e}catch(e){throw e instanceof $?e:new $({reason:`keyAuthorization signature is invalid`})}}function oP(e,t){if(!ji(e))throw new $({reason:`${t} must be an address`});return e.toLowerCase()}function sP(e){return typeof e==`string`?e.toLowerCase():``}z(),tf();let cP=G({accessKey:J(Mk()),account:J(Mk())});function lP(e={}){let t=SN({chain:lE,getClient:e.getClient,rpcUrl:EN}),n=bN({account:e.account});return yN(VN,{context:cP,async createCredential({challenge:r,context:i}){let a=r.request.methodDetails?.chainId??CN.testnet,o=await t({chainId:a}),s=n(o,i),c=i?.accessKey??e.accessKey??r.request.methodDetails?.accessKey;if(!c)throw Error(\"No `accessKey` provided. The subscription challenge must include `accessKey`, or the client must pass one to parameters/context.\");dP(r.request),await e.validateRequest?.(r.request);let l=await uP(o,{accessKey:c,account:s,chainId:a,request:r.request});if(!ef(XN({accessKey:c,chainId:a,payload:{signature:nw(l),type:`keyAuthorization`},request:r.request}).source.address,s.address))throw Error(`keyAuthorization signer does not match the selected account`);return jj({challenge:r,payload:{signature:nw(l),type:`keyAuthorization`},source:`did:pkh:eip155:${a}:${s.address.toLowerCase()}`})}})}async function uP(e,t){let{accessKey:n,account:r,chainId:i,request:a}=t;return await YN({accessKey:n,account:r,chainId:i,request:a})||ZC((await e.request({method:`wallet_authorizeAccessKey`,params:[{address:n.accessKeyAddress,expiry:GN(WN(a.subscriptionExpires)),keyType:n.keyType,limits:[{token:a.currency,limit:I(BigInt(a.amount)),period:KN(a)}],scopes:JN(a)}]})).keyAuthorization)}function dP(e){KN(e),GN(WN(e.subscriptionExpires))}cp(),z();let fP=L(h_(Hf(`mpp`),{as:`Hex`}),0,4);function pP(e){return yp(L(h_(Hf(e),{as:`Hex`}),0,10))}function mP(e){let{serverId:t,clientId:n,challengeId:r}=e,i=new Uint8Array(32);return i.set(yp(fP),0),i[4]=1,i.set(pP(t),5),n&&i.set(pP(n),15),i.set(hP(r),25),fp(i)}function hP(e){return yp(L(h_(Hf(e),{as:`Hex`}),0,7))}function gP(e,t){return e.toLowerCase()===t.toLowerCase()}let _P=[wN.pathUsd,wN.usdc];function vP(e,t){let n=_E.call;return n.length>=2?n(e,t):n(t)}function yP(e,t){let n=dE.call;return n.length>=2?n(e,t):n(t)}function bP(e,t){let n=zT.call;return n.length>=2?n(e,t):n(t)}async function xP(e,t){let{account:n,amountOut:r,tokenOut:i,tokenIn:a,slippage:o}=t,s=a.filter(e=>!gP(e,i)),c=await Promise.allSettled([Km(e,vP(e,{account:n,token:i})),...s.map(t=>Km(e,vP(e,{account:n,token:t})))]),l=c[0];if(!(l.status===`fulfilled`&&l.value>=r)){for(let t=0;t<s.length;t++){let n=c[t+1];if(n.status!==`fulfilled`)continue;let a=n.value;if(a<=0n)continue;let l=s[t];try{let t=await WT(e,{tokenIn:l,tokenOut:i,amountOut:r});if(a>=t){let n=t+t*BigInt(Math.round(o*100))/10000n;return[yP(e,{amount:n,spender:gT,token:l}),bP(e,{tokenIn:l,tokenOut:i,amountOut:r,maxAmountIn:n})]}}catch{}}throw new CP({currency:i})}}function SP(e,t){return e?e===!0?{tokenIn:t,slippage:1}:{tokenIn:e.tokenIn?[...e.tokenIn,...t.filter(t=>!e.tokenIn.some(e=>gP(e,t)))]:t,slippage:e.slippage??1}:!1}var CP=class extends Error{name=`InsufficientFundsError`;constructor({currency:e}){super(`Insufficient funds: no balance in ${e} and no viable swap route from fallback currencies.`)}};function wP(e){let t=BigInt(e.amount),n=e.methodDetails?.splits??[],r=n.reduce((e,t)=>e+BigInt(t.amount),0n);if(r>=t)throw Error(`Invalid charge request: split total must be less than total amount.`);let i=t-r;if(i<=0n)throw Error(`Invalid charge request: primary transfer amount must be positive.`);return[{amount:i.toString(),memo:e.methodDetails?.memo,recipient:e.recipient},...n.map(e=>({amount:e.amount,memo:e.memo,recipient:e.recipient}))]}let TP={Proof:[{name:`account`,type:`address`},{name:`challengeId`,type:`string`},{name:`realm`,type:`string`}]};function EP(e){return{name:`MPP`,version:`3`,chainId:e}}function DP(e){let{account:t,challengeId:n,realm:r}=e;return{account:t,challengeId:n,realm:r}}function OP(e){let{account:t,chainId:n,challengeId:r,realm:i}=e;return{domain:EP(n),types:TP,primaryType:`Proof`,message:DP({account:t,challengeId:r,realm:i})}}function kP(e){return`did:pkh:eip155:${e.chainId}:${e.address}`}let AP=G({account:J(Mk()),autoSwap:J(Mk()),mode:J(_k(DN))});function jP(e,t){let n=AE.call;return n.length>=2?n(e,t):n(t)}function MP(e={}){let{clientId:t}=e,n=SN({chain:lE,getClient:e.getClient,rpcUrl:EN}),r=bN({account:e.account});return yN(zN,{context:AP,async createCredential({challenge:i,context:a}){let o=i.request.methodDetails?.chainId;if(e.expectedChainId!==void 0&&o!==void 0&&o!==e.expectedChainId)throw Error(`Chain ID mismatch: expected ${e.expectedChainId}, got ${o}.`);let s=o??e.expectedChainId,c=await n({chainId:s}),l=s??c.chain?.id;if(l===void 0)throw Error(\"No `chainId` provided. Pass a chain ID in the challenge or client.\");let{request:u}=i,{amount:d,methodDetails:f}=u,p=f?.supportedModes??[`pull`,`push`],m=r(c,a);if(BigInt(d)===0n)return jj({challenge:i,payload:{signature:await zb(c,{account:m,...OP({account:m.address,chainId:l,challengeId:i.id,realm:i.realm})}),type:`proof`},source:kP({address:m.address,chainId:l})});let h=u.currency;if(e.expectedRecipients){let t=new Set(e.expectedRecipients.map(e=>e.toLowerCase())),n=f?.splits;if(n){for(let e of n)if(!t.has(e.recipient.toLowerCase()))throw Error(`Unexpected split recipient: ${e.recipient}`)}}let g=f?.memo?f.memo:mP({challengeId:i.id,clientId:t,serverId:i.realm}),_=wP({amount:d,methodDetails:{...f,memo:g},recipient:u.recipient}).map(e=>jP(c,{amount:BigInt(e.amount),...e.memo&&{memo:e.memo},to:e.recipient,token:h})),v=SP(a?.autoSwap??e.autoSwap,_P),y=await e.resolveAccount?.({account:m,chainId:l,operation:{kind:`executeCalls`,...v?{}:{calls:_}}})??m,b=(()=>{let t=a?.mode??e.mode;if(t){if(!p.includes(t))throw Error(`Challenge does not support ${t} mode.`);return t}let n=y.type===`json-rpc`?`push`:`pull`;return p.includes(n)?n:p[0]})(),x=[...(v?await xP(c,{account:y.address,amountOut:BigInt(d),tokenOut:h,tokenIn:v.tokenIn,slippage:v.slippage}):void 0)??[],..._],S=(()=>{let e=Math.floor(Date.now()/1e3)+25;if(!i.expires)return e;let t=Math.floor(new Date(i.expires).getTime()/1e3);return Math.min(e,t)})();if(b===`push`){let{receipts:e}=await Pb(c,{account:y,calls:x,experimental_fallback:!0}),t=e?.[0]?.transactionHash;if(!t)throw Error(`No transaction receipt returned.`);return jj({challenge:i,payload:{hash:t,type:`hash`},source:kP({address:y.address,chainId:l})})}let C=await Zd(c,{account:y,calls:x,nonceKey:`expiring`,validBefore:S});if(C.gas=(C.gas??0n)+5000n,f?.feePayer){let e=C;delete e.feePayerSignature,delete e.feeToken,e.feePayer=!0}return jj({challenge:i,payload:{signature:await Rb(c,C),type:`transaction`},source:kP({address:y.address,chainId:l})})}})}function NP(e){return`accessKeyAddress`in e}function PP(e){return NP(e)?e.accessKeyAddress:e.address}function FP(e,t){return{name:`Tempo Stream Channel`,version:`1`,chainId:t,verifyingContract:e}}let IP={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint128`}]};function LP(e){return{channelId:e.channelId,cumulativeAmount:e.cumulativeAmount}}function RP(e,t,n){return yg({domain:FP(e,t),types:IP,primaryType:`Voucher`,message:LP(n)})}async function zP(e,t,n,r,i){return zb(e,{account:t,domain:FP(r,i),types:IP,primaryType:`Voucher`,message:LP(n)})}function BP(e){let t=lC(e);if(t.type===`keychain`){if(t.inner.type!==`secp256k1`)throw Error(`Session vouchers only unwrap secp256k1 keychain signatures; pass a direct voucherSigner for other key types.`);return Gv(t.inner.signature)}return fC(t)}function VP(e){return e.type!==`keychain`&&e.type===`secp256k1`}function HP(e){if(!VP(e))throw Error(`Session vouchers only support secp256k1 signatures until TIP-1020 voucher verification is enabled.`)}async function UP(e,t,n,r,i,a){let o=a??t,s=PP(o),c=RP(r,i,n),l=BP(NP(o)?await o.sign({hash:c,raw:!0}):await zP(e,o,n,r,i)),u=lC(l);if(HP(u),!hC(u,{address:s,payload:c}))throw Error(`voucher signature does not match voucher signer`);return l}function WP(e){return h_(gv(vv([`address payer`,`address payee`,`address token`,`bytes32 salt`,`address authorizedSigner`,`address escrowContract`,`uint256 chainId`]),[e.payer,e.payee,e.token,e.salt,e.authorizedSigner,e.escrowContract,BigInt(e.chainId)]))}let GP=[{type:`function`,name:`CLOSE_GRACE_PERIOD`,inputs:[],outputs:[{name:``,type:`uint64`,internalType:`uint64`}],stateMutability:`view`},{type:`function`,name:`VOUCHER_TYPEHASH`,inputs:[],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`channels`,inputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:`finalized`,type:`bool`,internalType:`bool`},{name:`closeRequestedAt`,type:`uint64`,internalType:`uint64`},{name:`payer`,type:`address`,internalType:`address`},{name:`payee`,type:`address`,internalType:`address`},{name:`token`,type:`address`,internalType:`address`},{name:`authorizedSigner`,type:`address`,internalType:`address`},{name:`deposit`,type:`uint128`,internalType:`uint128`},{name:`settled`,type:`uint128`,internalType:`uint128`}],stateMutability:`view`},{type:`function`,name:`close`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`},{name:`cumulativeAmount`,type:`uint128`,internalType:`uint128`},{name:`signature`,type:`bytes`,internalType:`bytes`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`computeChannelId`,inputs:[{name:`payer`,type:`address`,internalType:`address`},{name:`payee`,type:`address`,internalType:`address`},{name:`token`,type:`address`,internalType:`address`},{name:`salt`,type:`bytes32`,internalType:`bytes32`},{name:`authorizedSigner`,type:`address`,internalType:`address`}],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`domainSeparator`,inputs:[],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`eip712Domain`,inputs:[],outputs:[{name:`fields`,type:`bytes1`,internalType:`bytes1`},{name:`name`,type:`string`,internalType:`string`},{name:`version`,type:`string`,internalType:`string`},{name:`chainId`,type:`uint256`,internalType:`uint256`},{name:`verifyingContract`,type:`address`,internalType:`address`},{name:`salt`,type:`bytes32`,internalType:`bytes32`},{name:`extensions`,type:`uint256[]`,internalType:`uint256[]`}],stateMutability:`view`},{type:`function`,name:`getChannel`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:``,type:`tuple`,internalType:`struct TempoStreamChannel.Channel`,components:[{name:`finalized`,type:`bool`,internalType:`bool`},{name:`closeRequestedAt`,type:`uint64`,internalType:`uint64`},{name:`payer`,type:`address`,internalType:`address`},{name:`payee`,type:`address`,internalType:`address`},{name:`token`,type:`address`,internalType:`address`},{name:`authorizedSigner`,type:`address`,internalType:`address`},{name:`deposit`,type:`uint128`,internalType:`uint128`},{name:`settled`,type:`uint128`,internalType:`uint128`}]}],stateMutability:`view`},{type:`function`,name:`getChannelsBatch`,inputs:[{name:`channelIds`,type:`bytes32[]`,internalType:`bytes32[]`}],outputs:[{name:`channelStates`,type:`tuple[]`,internalType:`struct TempoStreamChannel.Channel[]`,components:[{name:`finalized`,type:`bool`,internalType:`bool`},{name:`closeRequestedAt`,type:`uint64`,internalType:`uint64`},{name:`payer`,type:`address`,internalType:`address`},{name:`payee`,type:`address`,internalType:`address`},{name:`token`,type:`address`,internalType:`address`},{name:`authorizedSigner`,type:`address`,internalType:`address`},{name:`deposit`,type:`uint128`,internalType:`uint128`},{name:`settled`,type:`uint128`,internalType:`uint128`}]}],stateMutability:`view`},{type:`function`,name:`getVoucherDigest`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`},{name:`cumulativeAmount`,type:`uint128`,internalType:`uint128`}],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`open`,inputs:[{name:`payee`,type:`address`,internalType:`address`},{name:`token`,type:`address`,internalType:`address`},{name:`deposit`,type:`uint128`,internalType:`uint128`},{name:`salt`,type:`bytes32`,internalType:`bytes32`},{name:`authorizedSigner`,type:`address`,internalType:`address`}],outputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`}],stateMutability:`nonpayable`},{type:`function`,name:`requestClose`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`settle`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`},{name:`cumulativeAmount`,type:`uint128`,internalType:`uint128`},{name:`signature`,type:`bytes`,internalType:`bytes`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`topUp`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`},{name:`additionalDeposit`,type:`uint256`,internalType:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`withdraw`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`event`,name:`ChannelClosed`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`},{name:`settledToPayee`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`refundedToPayer`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`ChannelExpired`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`}],anonymous:!1},{type:`event`,name:`ChannelOpened`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`},{name:`token`,type:`address`,indexed:!1,internalType:`address`},{name:`authorizedSigner`,type:`address`,indexed:!1,internalType:`address`},{name:`salt`,type:`bytes32`,indexed:!1,internalType:`bytes32`},{name:`deposit`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`CloseRequestCancelled`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`}],anonymous:!1},{type:`event`,name:`CloseRequested`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`},{name:`closeGraceEnd`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`Settled`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`},{name:`cumulativeAmount`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`deltaPaid`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`newSettled`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`TopUp`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`},{name:`additionalDeposit`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`newDeposit`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`error`,name:`AmountExceedsDeposit`,inputs:[]},{type:`error`,name:`AmountNotIncreasing`,inputs:[]},{type:`error`,name:`ChannelAlreadyExists`,inputs:[]},{type:`error`,name:`ChannelFinalized`,inputs:[]},{type:`error`,name:`ChannelNotFound`,inputs:[]},{type:`error`,name:`CloseNotReady`,inputs:[]},{type:`error`,name:`DepositOverflow`,inputs:[]},{type:`error`,name:`InvalidPayee`,inputs:[]},{type:`error`,name:`InvalidSignature`,inputs:[]},{type:`error`,name:`NotPayee`,inputs:[]},{type:`error`,name:`NotPayer`,inputs:[]},{type:`error`,name:`TransferFailed`,inputs:[]}];vm(),ya(),Hp(),pa(),la(),Gm();async function KP(e,t,n){return Km(e,{address:t,abi:GP,functionName:`getChannel`,args:[n]})}ua({abi:GP,name:`open`}),ua({abi:GP,name:`topUp`}),z(),ya();function qP(e,t){return t??e}function JP(e,t,n){let r=e.request.methodDetails?.escrowContract,i=n??r??TN[t];if(!i)throw Error(\"No `escrowContract` available. Provide it in parameters or ensure the server challenge includes it.\");return i}function YP(e,t,n,r){return jj({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}async function XP(e,t,n,r,i,a,o){let s=qP(t,o),c=await UP(e,t,{channelId:n,cumulativeAmount:r},i,a,s);return{action:`voucher`,channelId:n,cumulativeAmount:r.toString(),signature:c}}async function ZP(e,t,n){let{escrowContract:r,payee:i,currency:a,deposit:o,initialAmount:s,chainId:c,feePayer:l}=n,u=qP(t,n.voucherSigner),d=PP(u),f=gp(32),p=WP({authorizedSigner:d,chainId:c,escrowContract:r,payee:i,payer:t.address,salt:f,token:a}),m=va({abi:B,functionName:`approve`,args:[r,o]}),h=va({abi:GP,functionName:`open`,args:[i,a,o,f,d]}),g=Math.floor(Date.now()/1e3)+25,_=await Zd(e,{account:t,calls:[{to:a,data:m},{to:r,data:h}],feeToken:a,nonceKey:`expiring`,validBefore:g});_.gas=(_.gas??0n)+5000n,l&&(_.feePayer=!0);let v=await Rb(e,_),y=await UP(e,t,{channelId:p,cumulativeAmount:s},r,c,u);return{entry:{authorizedSigner:d,channelId:p,salt:f,cumulativeAmount:s,escrowContract:r,chainId:c,opened:!0},payload:{action:`open`,type:`transaction`,channelId:p,transaction:v,authorizedSigner:d,cumulativeAmount:s.toString(),signature:y}}}async function QP(e,t,n,r){try{let i=await KP(e,t,n);if(i.deposit>0n&&!i.finalized)return{authorizedSigner:BigInt(i.authorizedSigner)===0n?i.payer:i.authorizedSigner,channelId:n,salt:`0x`,cumulativeAmount:i.settled,escrowContract:t,chainId:r,opened:!0}}catch{}}let $P=G({account:J(Mk()),action:J(_k([`open`,`topUp`,`voucher`,`close`])),channelId:J(U()),cumulativeAmount:J(IA()),cumulativeAmountRaw:J(U()),transaction:J(U()),additionalDeposit:J(IA()),additionalDepositRaw:J(U()),depositRaw:J(U())});function eF(e={}){let{decimals:t=6}=e,n=SN({chain:lE,getClient:e.getClient,rpcUrl:EN}),r=bN({account:e.account}),i=e.maxDeposit===void 0?void 0:ky(e.maxDeposit,t),a=new Map,o=new Map,s=new Map;function c(t){e.onChannelUpdate?.(t)}function l(e,t,n){return`${e.toLowerCase()}:${t.toLowerCase()}:${n.toLowerCase()}`}function u(t,n,r){if(r){let e=a.get(r);if(e)return e}return JP(t,n,e.escrowContract)}async function d(r,d,f){let p=r.request.methodDetails,m=p?.chainId??0,h=await n({chainId:m}),g=u(r,m),_=r.request.recipient,v=r.request.currency,y=BigInt(r.request.amount),b=r.request.suggestedDeposit,x=b?BigInt(b):void 0,S=(()=>{if(f?.depositRaw)return BigInt(f.depositRaw);if(e.deposit!==void 0)return ky(e.deposit,t);if(x!==void 0&&i!==void 0)return x<i?x:i;if(i!==void 0)return i;if(x!==void 0)return x;throw Error(\"No deposit amount available. Set `deposit`, `maxDeposit`, or ensure the server challenge includes `suggestedDeposit`.\")})(),C=e.voucherSigner??d,w=l(_,v,g),T=o.get(w);if(!T){let e=f?.channelId??p?.channelId;if(e){let n=await QP(h,g,e,m);if(n){let e=f?.cumulativeAmountRaw?BigInt(f.cumulativeAmountRaw):f?.cumulativeAmount?ky(f.cumulativeAmount,t):void 0;e!==void 0&&(n.cumulativeAmount=e),o.set(w,n),s.set(n.channelId,w),a.set(n.channelId,g),T=n,c(T)}else if(f?.channelId)throw Error(`Channel ${f.channelId} cannot be reused (closed or not found on-chain).`)}}T?.opened&&T.authorizedSigner.toLowerCase()!==PP(C).toLowerCase()&&(T=void 0);let ee;if(T?.opened)T.cumulativeAmount+=y,ee=await XP(h,d,T.channelId,T.cumulativeAmount,g,m,C),c(T);else{let e=await ZP(h,d,{voucherSigner:C,escrowContract:g,payee:_,currency:v,deposit:S,initialAmount:y,chainId:m,feePayer:p?.feePayer});o.set(w,e.entry),s.set(e.entry.channelId,w),a.set(e.entry.channelId,g),ee=e.payload,c(e.entry)}return YP(r,ee,m,d)}async function f(r,i,l){let d=r.request.methodDetails?.chainId??0,f=await n({chainId:d}),p=l.action,{channelId:m,transaction:h}=l,g=e.voucherSigner??i,_=m,v=l.cumulativeAmountRaw?BigInt(l.cumulativeAmountRaw):l.cumulativeAmount?ky(l.cumulativeAmount,t):void 0,y=l.additionalDepositRaw?BigInt(l.additionalDepositRaw):l.additionalDeposit?ky(l.additionalDeposit,t):void 0,b=u(r,d,_);a.set(_,b);let x;switch(p){case`open`:{if(!h)throw Error(`transaction required for open action`);if(v===void 0)throw Error(`cumulativeAmount required for open action`);let e=await UP(f,i,{channelId:_,cumulativeAmount:v},b,d,g);x={action:`open`,type:`transaction`,channelId:_,transaction:h,authorizedSigner:PP(g),cumulativeAmount:v.toString(),signature:e};break}case`topUp`:if(!h)throw Error(`transaction required for topUp action`);if(y===void 0)throw Error(`additionalDeposit required for topUp action`);x={action:`topUp`,type:`transaction`,channelId:_,transaction:h,additionalDeposit:y.toString()};break;case`voucher`:{if(v===void 0)throw Error(`cumulativeAmount required for voucher action`);x=await XP(f,i,_,v,b,d,g);let e=s.get(_);if(e){let t=o.get(e);t&&(t.cumulativeAmount=t.cumulativeAmount>v?t.cumulativeAmount:v,c(t))}break}case`close`:{if(v===void 0)throw Error(`cumulativeAmount required for close action`);let e=await UP(f,i,{channelId:_,cumulativeAmount:v},b,d,g);x={action:`close`,channelId:_,cumulativeAmount:v.toString(),signature:e};let t=s.get(_);if(t){let e=o.get(t);e&&(e.opened=!1,e.cumulativeAmount=e.cumulativeAmount>v?e.cumulativeAmount:v,c(e))}break}}return YP(r,x,d,i)}return yN(BN,{canHandleChallenge({challenge:e}){let t=kA(e.request.methodDetails,DA.sessionProtocol);return t===void 0||t===OA.v1},context:$P,async createCredential({challenge:t,context:a}){let o=t.request.methodDetails?.chainId??0,s=await n({chainId:o}),c=r(s,a);if(!a?.action&&(e.deposit!==void 0||i!==void 0))return d(t,c,a);if(a?.action)return f(t,c,a);throw Error(\"No `action` in context and no `deposit` or `maxDeposit` configured. Either provide context with action/channelId/cumulativeAmount, or configure `deposit`/`maxDeposit` for auto-management.\")}})}let tF=(1n<<96n)-1n;function nF(e){return e>=0n&&e<=tF}function rF(e){return iF(e),e}function iF(e){if(!nF(e))throw Error(`Value ${e} is outside uint96 bounds.`)}let aF=new Set([`open`,`topUp`,`voucher`,`close`]);function oF(e){return typeof e==`object`&&!!e}function sF(e){return typeof e==`string`&&aF.has(e)}function cF(e){if(typeof e!=`object`||!e)return!1;let t=e;return!(typeof t.channelId!=`string`||t.action!==void 0&&!sF(t.action))}function lF(e,t=`No session credential context available.`){if(!cF(e))throw Error(t);return e}function uF(e){let t=e.request.amount;if(typeof t!=`string`)throw Error(`Session challenge is missing amount.`);return BigInt(t)}function dF(e){return oF(e)?typeof e.channelId==`string`&&typeof e.requiredCumulative==`string`&&typeof e.acceptedCumulative==`string`&&typeof e.deposit==`string`:!1}function fF(e){return oF(e)?e.method===`tempo`&&e.intent===`session`&&e.status===`success`&&typeof e.timestamp==`string`&&typeof e.reference==`string`&&typeof e.challengeId==`string`&&typeof e.channelId==`string`&&typeof e.acceptedCumulative==`string`&&typeof e.spent==`string`&&(e.units===void 0||typeof e.units==`number`)&&(e.txHash===void 0||typeof e.txHash==`string`):!1}function pF(e){let t=cx(e),n=JSON.parse(t);if(!fF(n))throw Error(`Invalid session receipt.`);return n}function mF(e){return e.headers.get(`content-type`)?.toLowerCase().startsWith(`text/event-stream`)??!1}function hF(e){let t=`message`,n=[];for(let r of e.split(`\n`))r.startsWith(`event: `)?t=r.slice(7).trim():r.startsWith(`data: `)?n.push(r.slice(6)):r===`data:`&&n.push(``);if(n.length===0)return null;let r=n.join(`\n`);switch(t){case`message`:return{type:`message`,data:r};case`payment-need-voucher`:{let e=gF(r);return dF(e)?{type:`payment-need-voucher`,data:e}:null}case`payment-receipt`:{let e=gF(r);return fF(e)?{type:`payment-receipt`,data:e}:null}default:return{type:`message`,data:r}}}function gF(e){try{return JSON.parse(e)}catch{return null}}function _F(e){return JSON.stringify({mpp:`authorization`,authorization:e})}function vF(){return JSON.stringify({mpp:`payment-close-request`})}function yF(e){let t=bF(e);return t?t.mpp===`authorization`&&typeof t.authorization==`string`?{mpp:`authorization`,authorization:t.authorization}:t.mpp===`message`&&typeof t.data==`string`?{mpp:`message`,data:t.data}:t.mpp===`payment-close-request`?{mpp:`payment-close-request`}:t.mpp===`payment-close-ready`&&fF(t.data)?{mpp:`payment-close-ready`,data:t.data}:t.mpp===`payment-error`&&typeof t.status==`number`&&typeof t.message==`string`?{mpp:`payment-error`,status:t.status,message:t.message}:t.mpp===`payment-need-voucher`&&dF(t.data)?{mpp:`payment-need-voucher`,data:t.data}:t.mpp===`payment-receipt`&&fF(t.data)?{mpp:`payment-receipt`,data:t.data}:null:null}function bF(e){try{let t=JSON.parse(e);return typeof t!=`object`||!t?null:t}catch{return null}}let xF=`0x4d50500000000000000000000000000000000000`,SF={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function CF(e){let t=e.fetch??globalThis.fetch,n=e.webSocket??globalThis.WebSocket,r=e.maxDeposit===void 0?null:ky(e.maxDeposit,e.decimals??6),i=null,a=null,o=null,s=0n,c=0n,l=null,u=null,d=null,f=null,p=null,m=null,h=null,g=0n,_=0n,v=eF({account:e.account,voucherSigner:e.voucherSigner,getClient:e.client?()=>e.client:e.getClient,escrowContract:e.escrowContract,decimals:e.decimals,maxDeposit:e.maxDeposit,onChannelUpdate(e){e.channelId!==i?.channelId&&(s=0n,c=0n),i=e}}),y=IM({fetch:t,methods:[v],onChallenge:async(e,t)=>{a=e},orderChallenges:e.orderChallenges});function b(e){if(!e||e.channelId!==i?.channelId)return;x(e);let t=BigInt(e.acceptedCumulative),n=BigInt(e.spent);s=s>t?s:t,c=c>n?c:n}function x(e){if(!i||e.channelId!==i.channelId)return;let t=BigInt(e.acceptedCumulative),n=BigInt(e.spent);if(n>t)throw Error(`receipt spent exceeds accepted cumulative voucher amount`);if(t>i.cumulativeAmount)throw Error(`receipt accepted cumulative exceeds local voucher state`);if(n>i.cumulativeAmount)throw Error(`receipt spent exceeds local voucher state`);re(t),re(n)}function S(e=()=>!0){if(h)throw Error(`receipt wait already in progress`);return new Promise((t,n)=>{h={predicate:e,resolve:t,reject:n}})}function C(){if(f)return Promise.resolve(f);if(p)throw Error(`close-ready wait already in progress`);return new Promise((e,t)=>{p={resolve:e,reject:t}})}function w(e){if(!h||!h.predicate(e))return;let t=h;h=null,t.resolve(e)}function T(e){if(f=e,!p)return;let t=p;p=null,t.resolve(e)}function ee(e){if(!h)return;let t=h;h=null,t.reject(e)}function te(e){if(!p)return;let t=p;p=null,t.reject(e)}function ne(e,t){if(f&&f.challengeId===e.id&&f.channelId===t)return f.spent;let n=i?.channelId===t?i.cumulativeAmount:0n;if(_>0n){let e=g*_,t=c>e?c:e;return(t>n?n:t).toString()}return(c>s?c:s).toString()}function re(e){if(r!==null&&!(e<=r))throw Error(`requested voucher amount ${e} exceeds local maxDeposit ${r}`)}function ie(e){let t=e.headers.get(Q.paymentReceipt),n=t?pF(t):null;return b(n),Object.assign(e,{receipt:n,challenge:a,channelId:i?.channelId??null,cumulative:i?.cumulativeAmount??0n})}async function ae(e,t){return o=e,ie(await y(e,t))}function oe(e){let t=new Map,n=!1,r=[],i=e.readyState,a=(e,n,i)=>{let a=t.get(e);if(a||(a=new Set,t.set(e,a)),a.add({once:typeof i==`object`&&i.once===!0,value:n}),e===`message`&&r){let e=r;r=null;for(let t of e)s(`message`,t)}},o=(e,n)=>{let r=t.get(e);if(r)for(let e of r)e.value===n&&r.delete(e)},s=(e,a)=>{if(e===`close`){if(n)return;n=!0,i=SF.CLOSED,r=null}if(e===`open`&&(i=SF.OPEN),e===`message`&&r){r.push(a);return}let o=`on${e}`,s=c[o];typeof s==`function`&&s(a);let l=t.get(e);if(l)for(let e of Array.from(l))typeof e.value==`function`?e.value(a):e.value.handleEvent(a),e.once&&l.delete(e)},c={addEventListener:a,close(t,n){e.close(t,n)},get bufferedAmount(){return e.bufferedAmount},get extensions(){return e.extensions},on(e,t){a(e,t)},onclose:null,onerror:null,_onmessage:null,get onmessage(){return c._onmessage},set onmessage(e){if(c._onmessage=e,e&&r){let e=r;r=null;for(let t of e)s(`message`,t)}},onopen:null,off(e,t){o(e,t)},get protocol(){return e.protocol},get readyState(){return i},removeEventListener:o,send(t){e.send(t)},get url(){return e.url}};return{emit:s,socket:c}}return{get channelId(){return i?.channelId},get cumulative(){return i?.cumulativeAmount??0n},get opened(){return i?.opened??!1},async open(e){if(i?.opened)return;if(!a)throw Error(`No challenge available. Make a request first to receive a 402 challenge, or pass a challenge via .fetch()/.sse().`);let n=e?.deposit,r=await v.createCredential({challenge:a,context:{...n!==void 0&&{depositRaw:n.toString()}}});if(!o)throw Error(`No URL available \u2014 call fetch() or sse() before open().`);let s=await t(o,{method:`POST`,headers:{[Q.authorization]:r}});if(!s.ok){let e=await s.text().catch(()=>``),t=s.headers.get(Q.wwwAuthenticate)??``;throw Error(`Open request failed with status ${s.status}${e?`: ${e}`:``}${t?` [${Q.wwwAuthenticate}: ${t}]`:``}`)}},fetch:ae,async sse(e,n){let{onReceipt:r,signal:o,...s}=n??{},c=await ae(e,{...s,headers:{...RM(s.headers),Accept:`text/event-stream`},...o?{signal:o}:{}}),l=a;if(!c.body)throw Error(`Response has no body.`);let u=c.body.getReader(),d=new TextDecoder;async function*f(){let n=``;try{for(;!o?.aborted;){let{done:a,value:o}=await u.read();if(a)break;n+=d.decode(o,{stream:!0});let s=n.split(`\n\n`);n=s.pop();for(let n of s){if(!n.trim())continue;let a=hF(n);if(a)switch(a.type){case`message`:yield a.data;break;case`payment-need-voucher`:{if(!i||!l)break;let n=BigInt(a.data.requiredCumulative);re(n),i.cumulativeAmount=i.cumulativeAmount>n?i.cumulativeAmount:n;let r=await v.createCredential({challenge:l,context:{action:`voucher`,channelId:i.channelId,cumulativeAmountRaw:i.cumulativeAmount.toString()}}),o=await t(e,{method:`POST`,headers:{Accept:`text/event-stream`,[Q.authorization]:r}});if(!o.ok)throw Error(`Voucher POST failed with status ${o.status}`);break}case`payment-receipt`:b(a.data),r?.(a.data);break}}}}finally{u.releaseLock()}}return f()},async ws(r,s){if(!n)throw Error(\"No WebSocket implementation available. Pass `webSocket` to sessionManager() in this runtime.\");let{onReceipt:c,protocols:p,signal:h}=s??{},y=new URL(r.toString()),x=new URL(y.toString());x.protocol===`ws:`&&(x.protocol=`http:`),x.protocol===`wss:`&&(x.protocol=`https:`),o=x.toString();let C=await t(x,h?{signal:h}:void 0);if(C.status!==402)throw Error(`Expected a 402 payment challenge from ${x}, received ${C.status} instead.`);let ne=(await wF(fj(ej(C),[v],lj([v]).entries),s?.orderChallenges??e.orderChallenges))[0]?.challenge;if(!ne)throw Error(`No payment challenge received from HTTP endpoint for this WebSocket URL. The server may not require payment or did not advertise a challenge.`);a=ne;let ie=await v.createCredential({challenge:ne,context:{}});f=null,l=ne,g=0n,_=BigInt(ne.request.amount);let ae=Oj(ie);u=ae.payload.channelId;let se=new n(y,p);d=se;let ce=oe(se),le=e=>{ee(Error(e)),te(Error(e)),(se.readyState===SF.CONNECTING||se.readyState===SF.OPEN)&&se.close(3008,e)},ue=e=>e.challengeId===ne.id&&e.channelId===u,de=new Promise((e,t)=>{let n=()=>{se.removeEventListener(`error`,r),ce.emit(`open`,{type:`open`}),e()},r=()=>{se.removeEventListener(`open`,n),t(Error(`WebSocket connection to ${y} failed to open.`))};se.addEventListener(`open`,n,{once:!0}),se.addEventListener(`error`,r,{once:!0})});return se.addEventListener(`close`,e=>{d===se&&(d=null),l===ne&&(l=null),u===ae.payload.channelId&&(u=null),m=null,ee(Error(`WebSocket closed before the payment flow completed.`)),te(Error(`WebSocket closed before the payment flow completed.`)),ce.emit(`close`,{code:e.code??1e3,reason:e.reason??``,type:`close`,wasClean:!0})}),se.addEventListener(`error`,()=>{ce.emit(`error`,{type:`error`})}),se.addEventListener(`message`,async e=>{let t=typeof e.data==`string`?e.data:void 0;if(!t)return;let n=yF(t);if(!n){ce.emit(`message`,{data:t,type:`message`});return}switch(n.mpp){case`authorization`:break;case`message`:g+=1n,ce.emit(`message`,{data:n.data,type:`message`});break;case`payment-close-ready`:if(!ue(n.data)){le(`received mismatched payment-close-ready frame`);break}if(BigInt(n.data.spent)>(i?.cumulativeAmount??0n)){le(`received payment-close-ready beyond local voucher state`);break}b(n.data),c?.(n.data),T(n.data),ce.emit(`close`,{code:1e3,reason:`stream complete`,type:`close`});break;case`payment-error`:ee(Error(n.message)),te(Error(n.message));break;case`payment-need-voucher`:{if(n.data.channelId!==u){le(`received mismatched payment-need-voucher frame`);break}let e=BigInt(n.data.requiredCumulative);try{re(e)}catch(e){le(e instanceof Error?e.message:`requested voucher amount exceeds local maxDeposit`);break}let t=(i?.cumulativeAmount??0n)>e?i?.cumulativeAmount??0n:e;i?.channelId===u&&(i.cumulativeAmount=t);let r=await v.createCredential({challenge:ne,context:{action:`voucher`,channelId:u,cumulativeAmountRaw:t.toString()}});se.send(_F(r));break}case`payment-receipt`:if(!ue(n.data)){le(`received mismatched payment-receipt frame`);break}if(m!==null&&n.data.txHash&&(n.data.acceptedCumulative!==m||n.data.spent!==m)){le(`received mismatched payment-close receipt frame`);break}b(n.data),c?.(n.data),w(n.data);break}}),h&&h.addEventListener(`abort`,()=>{ee(Error(`WebSocket payment flow aborted.`)),te(Error(`WebSocket payment flow aborted.`)),se.close()},{once:!0}),await de,se.send(_F(ie)),await S(),ce.socket},async close(){let e=l??a,n=u??i?.channelId;if(!i?.opened)return;if(!e)throw Error(`Cannot close session: no challenge available. This usually means close() was called on a SessionManager instance that was recreated after the session was opened. Use the same SessionManager instance that opened the session, or make a request first to receive a fresh 402 challenge.`);if(!n)throw Error(`Cannot close session: no channel ID available. The session may not have been fully opened.`);if(d?.readyState===SF.OPEN){let t=f??await(async()=>(d.send(vF()),C()))(),r=BigInt(t.spent);if(r>(i.cumulativeAmount>c?i.cumulativeAmount:c))throw Error(`close-ready spent exceeds local voucher state`);let a=await v.createCredential({challenge:e,context:{action:`close`,channelId:n,cumulativeAmountRaw:r.toString()}}),o=r.toString();m=o;try{let t=S(t=>!!t.txHash&&t.challengeId===e.id&&t.channelId===n&&t.acceptedCumulative===o&&t.spent===o);d.send(_F(a));let r=await t;return d.close(),f=null,r}finally{m=null}}let r=await v.createCredential({challenge:e,context:{action:`close`,channelId:n,cumulativeAmountRaw:(()=>{let t=BigInt(ne(e,n));if(t>i.cumulativeAmount)throw Error(`fallback close amount exceeds local voucher state`);return re(t),t.toString()})()}});if(!o)throw Error(`Cannot close session: no URL available. This usually means close() was called on a SessionManager instance that was recreated after the session was opened. Use the same SessionManager instance that opened the session, or call fetch()/sse() before close().`);let s=await t(o,{method:`POST`,headers:{[Q.authorization]:r}});if(!s.ok){let e=await s.text().catch(()=>``),t=(()=>{if(!e)return``;if(!s.headers.get(`Content-Type`)?.includes(`application/problem+json`))return e;try{return JSON.parse(e).detail??e}catch{return e}})(),n=s.headers.get(Q.wwwAuthenticate)??``;throw Error(`Close request failed with status ${s.status}${t?`: ${t}`:``}${n?` [${Q.wwwAuthenticate}: ${n}]`:``}`)}let p=s.headers.get(Q.paymentReceipt);return p?pF(p):void 0}}}async function wF(e,t){let n=t;return n?n(e):e}z();function TF(e){return BigInt(e.authorizedSigner)===0n?e.payer:e.authorizedSigner}function EF(e){return h_(gv(vv([`address payer`,`address payee`,`address operator`,`address token`,`bytes32 salt`,`address authorizedSigner`,`bytes32 expiringNonceHash`,`address escrow`,`uint256 chainId`]),[e.payer,e.payee,e.operator,e.token,e.salt,e.authorizedSigner,e.expiringNonceHash,e.escrow??`0x4d50500000000000000000000000000000000000`,BigInt(e.chainId)]))}function DF(e){return Ow(e)}function OF(e){let{feePayer:t,transaction:n}=e;return t?{...n,feePayerSignature:null}:n}function kF(e,t){return h_(F(DF(e),t.sender))}let AF=[{name:`payer`,type:`address`},{name:`payee`,type:`address`},{name:`operator`,type:`address`},{name:`token`,type:`address`},{name:`salt`,type:`bytes32`},{name:`authorizedSigner`,type:`address`},{name:`expiringNonceHash`,type:`bytes32`}],jF=[{name:`settled`,type:`uint96`},{name:`deposit`,type:`uint96`},{name:`closeRequestedAt`,type:`uint32`}],MF={name:`descriptor`,type:`tuple`,components:AF},NF=[{type:`function`,name:`CLOSE_GRACE_PERIOD`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{type:`function`,name:`VOUCHER_TYPEHASH`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{type:`function`,name:`open`,stateMutability:`nonpayable`,inputs:[{name:`payee`,type:`address`},{name:`operator`,type:`address`},{name:`token`,type:`address`},{name:`deposit`,type:`uint96`},{name:`salt`,type:`bytes32`},{name:`authorizedSigner`,type:`address`}],outputs:[{name:`channelId`,type:`bytes32`}]},{type:`function`,name:`settle`,stateMutability:`nonpayable`,inputs:[MF,{name:`cumulativeAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`topUp`,stateMutability:`nonpayable`,inputs:[MF,{name:`additionalDeposit`,type:`uint96`}],outputs:[]},{type:`function`,name:`close`,stateMutability:`nonpayable`,inputs:[MF,{name:`cumulativeAmount`,type:`uint96`},{name:`captureAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`requestClose`,stateMutability:`nonpayable`,inputs:[MF],outputs:[]},{type:`function`,name:`withdraw`,stateMutability:`nonpayable`,inputs:[MF],outputs:[]},{type:`function`,name:`getChannel`,stateMutability:`view`,inputs:[MF],outputs:[{type:`tuple`,components:[{name:`descriptor`,type:`tuple`,components:AF},{name:`state`,type:`tuple`,components:jF}]}]},{type:`function`,name:`getChannelState`,stateMutability:`view`,inputs:[{name:`channelId`,type:`bytes32`}],outputs:[{type:`tuple`,components:jF}]},{type:`function`,name:`getChannelStatesBatch`,stateMutability:`view`,inputs:[{name:`channelIds`,type:`bytes32[]`}],outputs:[{type:`tuple[]`,components:jF}]},{type:`function`,name:`computeChannelId`,stateMutability:`view`,inputs:[{name:`payer`,type:`address`},{name:`payee`,type:`address`},{name:`operator`,type:`address`},{name:`token`,type:`address`},{name:`salt`,type:`bytes32`},{name:`authorizedSigner`,type:`address`},{name:`expiringNonceHash`,type:`bytes32`}],outputs:[{type:`bytes32`}]},{type:`function`,name:`getVoucherDigest`,stateMutability:`view`,inputs:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint96`}],outputs:[{type:`bytes32`}]},{type:`function`,name:`domainSeparator`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{type:`event`,name:`ChannelOpened`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0},{name:`payer`,type:`address`,indexed:!0},{name:`payee`,type:`address`,indexed:!0},{name:`operator`,type:`address`},{name:`token`,type:`address`},{name:`authorizedSigner`,type:`address`},{name:`salt`,type:`bytes32`},{name:`expiringNonceHash`,type:`bytes32`},{name:`deposit`,type:`uint96`}]},{type:`event`,name:`Settled`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0},{name:`payer`,type:`address`,indexed:!0},{name:`payee`,type:`address`,indexed:!0},{name:`cumulativeAmount`,type:`uint96`},{name:`deltaPaid`,type:`uint96`},{name:`newSettled`,type:`uint96`}]},{type:`event`,name:`TopUp`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0},{name:`payer`,type:`address`,indexed:!0},{name:`payee`,type:`address`,indexed:!0},{name:`additionalDeposit`,type:`uint96`},{name:`newDeposit`,type:`uint96`}]},{type:`event`,name:`CloseRequested`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0},{name:`payer`,type:`address`,indexed:!0},{name:`payee`,type:`address`,indexed:!0},{name:`closeGraceEnd`,type:`uint256`}]},{type:`event`,name:`ChannelClosed`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0},{name:`payer`,type:`address`,indexed:!0},{name:`payee`,type:`address`,indexed:!0},{name:`settledToPayee`,type:`uint96`},{name:`refundedToPayer`,type:`uint96`}]},{type:`event`,name:`CloseRequestCancelled`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0},{name:`payer`,type:`address`,indexed:!0},{name:`payee`,type:`address`,indexed:!0}]}];function PF(e,t){return{name:`TIP20 Channel Reserve`,version:`1`,chainId:t,verifyingContract:e}}let FF={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint96`}]};function IF(e,t){return JC({chainId:e,channelId:t.channelId,cumulativeAmount:t.cumulativeAmount})}function LF(e,t,n){return e.toLowerCase()===`0x4d50500000000000000000000000000000000000`?IF(t,n):yg({domain:PF(e,t),types:FF,primaryType:`Voucher`,message:{channelId:n.channelId,cumulativeAmount:n.cumulativeAmount}})}function RF(e){return e===`secp256k1`||e===`p256`||e===`webAuthn`}function zF(e,t){return sT(e,{chainId:t.chainId,channel:t.channelId,cumulativeAmount:t.cumulativeAmount})}async function BF(e,t,n,r,i){let a=lC(await(async()=>{if(r.toLowerCase()===`0x4d50500000000000000000000000000000000000`)try{return await zF(t,{chainId:i,channelId:n.channelId,cumulativeAmount:n.cumulativeAmount})}catch{}return zb(e,{account:t,domain:PF(r,i),types:FF,primaryType:`Voucher`,message:n})})());if(!RF(a.type))throw Error(`TIP-1034 vouchers require a TIP-1020 primitive signature; received \"${a.type}\".`);return fC(a)}function VF(e,t,n,r){try{let i=lC(n.signature);if(!RF(i.type)||fC(i).toLowerCase()!==n.signature.toLowerCase())return!1;let a=LF(e,t,n),o=aC({payload:a,signature:i});return hC(i,{address:o,payload:a})&&gP(o,r)}catch{return!1}}z(),ya(),Pi();function HF(e){return typeof e==`object`&&!!e}function UF(e){return typeof e==`string`&&ji(e,{strict:!1})?e:void 0}function WF(e){return UF(e.accessKeyAddress)}function GF(){let e=BigInt(Math.floor(Date.now()/1e3))-60n;return e<=0n?0:Number(BigInt(gp(8))%e)}function KF(e){return WF(e)??e.address}async function qF(e,t){let{account:n,calls:r,feePayer:i,feeToken:a,validAfter:o}=t;return Zd(e,{account:n,calls:r,nonceKey:`expiring`,...i?{feePayer:!0}:{},feeToken:a,...o===void 0?{}:{validAfter:o}})}async function JF(e,t){return await Rb(e,t)}function YF(e,t){let n=e.request.methodDetails,r=HF(n)?UF(n.escrowContract)??UF(n.escrow):void 0;return t??r??`0x4d50500000000000000000000000000000000000`}function XF(e,t,n,r){return jj({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}function ZF(e,t){return e.toLowerCase()===t.toLowerCase()}async function QF(e,t,n,r,i,a=xF){let o=EF({...n,chainId:i,escrow:a}),s=rF(r),c=await BF(e,t,{channelId:o,cumulativeAmount:s},a,i);return{action:`voucher`,channelId:o,descriptor:n,cumulativeAmount:s.toString(),signature:c}}async function $F(e,t,n,r,i,a=xF){let o=await QF(e,t,n,r,i,a);return{action:`close`,channelId:o.channelId,descriptor:n,cumulativeAmount:o.cumulativeAmount,signature:o.signature}}async function eI(e,t,n){let r=KF(t),i=n.escrow??`0x4d50500000000000000000000000000000000000`,a=n.operator??`0x0000000000000000000000000000000000000000`,o=gp(32),s=rF(n.deposit),c=rF(n.initialAmount),l=va({abi:NF,functionName:`open`,args:[n.payee,a,n.token,s,o,r]}),u=await JF(e,await qF(e,{account:t,calls:[...n.prefixCalls??[],{to:i,data:l}],feePayer:n.feePayer,feeToken:n.token})),d=Zw(u),f={authorizedSigner:r,expiringNonceHash:kF(OF({...n.feePayer?{feePayer:!0}:{},transaction:d}),{sender:t.address}),operator:a,payee:n.payee,payer:t.address,salt:o,token:n.token},p=EF({...f,chainId:n.chainId,escrow:i});return{action:`open`,type:`transaction`,channelId:p,transaction:u,signature:await BF(e,t,{channelId:p,cumulativeAmount:c},i,n.chainId),descriptor:f,cumulativeAmount:c.toString(),authorizedSigner:f.authorizedSigner}}async function tI(e,t,n,r,i,a,o=xF,s=[]){let c=EF({...n,chainId:i,escrow:o}),l=rF(r);return{action:`topUp`,type:`transaction`,channelId:c,transaction:await JF(e,await qF(e,{account:t,calls:[...s,{to:o,data:va({abi:NF,functionName:`topUp`,args:[n,l]})}],feePayer:a,feeToken:n.token,validAfter:GF()})),descriptor:n,additionalDeposit:l.toString()}}function nI(e){let{payee:t,token:n,escrow:r,chainId:i}=e;return`${t.toLowerCase()}:${n.toLowerCase()}:${r.toLowerCase()}:${i}`}function rI(e){return nI({payee:e.descriptor.payee,token:e.descriptor.token,escrow:e.escrow,chainId:e.chainId})}function iI(){let e=new Map;return{get:t=>e.get(t),set(t){e.set(rI(t),t)},delete(t){e.delete(t)}}}Gm();let aI=2n**96n-1n;function oI(e){if(e<0n||e>aI)throw new $({reason:`amount exceeds uint96 range`})}async function sI(e,t,n=xF,r){return cI(await Km(e,{address:n,abi:NF,functionName:`getChannelState`,args:[t],...r===void 0?{}:{blockNumber:r}}))}function cI(e){return oI(e.settled),oI(e.deposit),{settled:e.settled,deposit:e.deposit,closeRequestedAt:e.closeRequestedAt}}Pi();let lI=Mk(e=>typeof e==`string`&&ji(e,{strict:!1})),uI=Mk(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e)),dI=dM(G({acceptedCumulative:U(),chainId:YO(),channelId:uI,closeRequestedAt:J(U()),deposit:U(),descriptor:G({authorizedSigner:lI,expiringNonceHash:uI,operator:lI,payee:lI,payer:lI,salt:uI,token:lI}),escrow:lI,highestVoucher:J(G({channelId:uI,cumulativeAmount:U(),signature:Mk(e=>typeof e==`string`&&/^0x[0-9a-fA-F]+$/.test(e))})),requiredCumulative:U(),settled:U(),spent:U(),units:J(YO())}));function fI(e){return dI.encode(e)}function pI(e){return dI.decode(e)}let mI={status:`idle`};function hI(e){return{status:`active`,...e}}function gI(e,t){switch(t.type){case`challengeReceived`:return e.status===`closing`||e.status===`closed`?xI(e,t):{state:{status:`challenged`,challengeId:t.challengeId},effects:[]};case`challenge`:return e.status!==`idle`&&e.status!==`active`?xI(e,t):t.snapshot?{state:{status:`hydrating`,challengeId:t.challengeId,snapshot:t.snapshot},effects:[{type:`hydrate`,snapshot:t.snapshot}]}:{state:{status:`opening`,challengeId:t.challengeId},effects:[{type:`open`}]};case`hydrated`:return e.status===`hydrating`?{state:yI(e.challengeId,t.snapshot),effects:[]}:xI(e,t);case`activated`:return e.status===`closing`||e.status===`closed`?xI(e,t):{state:NI({challengeId:t.challengeId,entry:t.entry,spent:t.spent,units:t.units??0}),effects:[]};case`opened`:return e.status===`opening`?{state:bI(e.challengeId,t.receipt,t.descriptor,t.deposit),effects:[]}:xI(e,t);case`receiptAccepted`:return e.status===`closing`||e.status===`closed`?xI(e,t):{state:II(t.receipt,t.entry),effects:[]};case`needVoucher`:return e.status===`active`?vI({challengeId:e.challengeId,descriptor:t.descriptor,event:t.event}):xI(e,t);case`topUpStarted`:return e.status===`voucherNeeded`?{state:{status:`toppingUp`,challengeId:e.challengeId,channelId:e.channelId,descriptor:e.descriptor,deposit:e.deposit},effects:[]}:xI(e,t);case`voucherAccepted`:return e.status!==`voucherNeeded`&&e.status!==`toppingUp`?xI(e,t):{state:bI(e.challengeId,t.receipt,e.descriptor,t.deposit??e.deposit),effects:[]};case`settleStarted`:return e.status===`active`?{state:{status:`settling`,channelId:e.channelId,descriptor:e.descriptor,deposit:e.deposit},effects:[{type:`settle`,channelId:e.channelId}]}:xI(e,t);case`settled`:return e.status===`settling`?{state:bI(t.receipt.challengeId,t.receipt,e.descriptor,t.deposit??e.deposit),effects:[]}:xI(e,t);case`closeRequested`:return e.status===`active`?{state:{status:`closeRequested`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`requestClose`,channelId:e.channelId}]}:xI(e,t);case`withdrawable`:return e.status===`closeRequested`?{state:{status:`withdrawable`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`withdraw`,channelId:e.channelId}]}:xI(e,t);case`closeStarted`:return e.status!==`active`&&e.status!==`withdrawable`&&e.status!==`closeRequested`?xI(e,t):{state:{status:`closing`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`close`,channelId:e.channelId}]};case`closed`:return e.status!==`closing`&&e.status!==`withdrawable`?xI(e,t):{state:{status:`closed`,channelId:e.channelId,descriptor:e.descriptor},effects:[]}}}function _I(e,t){let n=gI(e.state,t);return e.state=n.state,n}function vI(e){let{challengeId:t,descriptor:n,event:r}=e,i=BigInt(r.requiredCumulative),a=BigInt(r.deposit);return i>a?{state:{status:`toppingUp`,challengeId:t,channelId:r.channelId,descriptor:n,deposit:r.deposit},effects:[{type:`topUp`,channelId:r.channelId,amount:(i-a).toString()}]}:{state:{status:`voucherNeeded`,challengeId:t,channelId:r.channelId,descriptor:n,requiredCumulative:r.requiredCumulative,deposit:r.deposit},effects:[{type:`voucher`}]}}function yI(e,t){return hI({challengeId:e,channelId:t.channelId,descriptor:t.descriptor,acceptedCumulative:t.acceptedCumulative,deposit:t.deposit,spent:t.spent,units:t.units??0})}function bI(e,t,n,r){return hI({challengeId:e,channelId:t.channelId,descriptor:n,acceptedCumulative:t.acceptedCumulative,deposit:r,spent:t.spent,units:t.units??0})}function xI(e,t){throw Error(`Invalid session transition: ${e.status} + ${t.type}`)}function SI(e){let{cumulativeAmount:t,maxVoucherCumulative:n}=e;if(n!==null&&!(t<=n))throw Error(`requested voucher amount ${t} exceeds local maxDeposit ${n}`)}function CI(e){let{channel:t,maxVoucherCumulative:n,receipt:r}=e;if(!t||r.channelId!==t.channelId)return;let i=BigInt(r.acceptedCumulative),a=BigInt(r.spent);if(a>i)throw Error(`receipt spent exceeds accepted cumulative voucher amount`);if(i>t.cumulativeAmount)throw Error(`receipt accepted cumulative exceeds local voucher state`);if(a>t.cumulativeAmount)throw Error(`receipt spent exceeds local voucher state`);SI({cumulativeAmount:i,maxVoucherCumulative:n}),SI({cumulativeAmount:a,maxVoucherCumulative:n})}function wI(e){let{channel:t,maxVoucherCumulative:n,receipt:r,spent:i}=e;if(!r||r.channelId!==t?.channelId)return i;CI({channel:t,maxVoucherCumulative:n,receipt:r});let a=BigInt(r.spent);return i>a?i:a}function TI(e,t){return typeof e==`bigint`?e:ky(e,t)}function EI(e){let{contextDepositRaw:t,maxDeposit:n,requestAmount:r,suggestedDepositRaw:i}=e;if(OI(r,n),t!==void 0){let e=BigInt(t);if(e<r)throw Error(`opening deposit ${e} below request amount ${r}`);return e}let a=i===void 0?void 0:BigInt(i),o=a!==void 0&&a>r?a:r;return n===void 0||o<n?o:n}function DI(e){let{deposit:t,maxDeposit:n,requiredCumulative:r,suggestedDeposit:i,topUpAmount:a}=e;if(r<=t)return 0n;SI({cumulativeAmount:r,maxVoucherCumulative:n??null});let o=r-t,s=a??i??o,c=s>o?s:o;if(n==null)return c;let l=n-t;return c<l?c:l}function OI(e,t){SI({cumulativeAmount:e,maxVoucherCumulative:t??null})}function kI(e){let{channel:t,currentSocket:n,lastChallenge:r}=e;if(!t?.opened)return;let i=n?.challenge??r,a=n?.channelId??t.channelId;if(!i)throw Error(`Cannot close session: no challenge available. This usually means close() was called on a SessionManager instance that was recreated after the session was opened. Use the same SessionManager instance that opened the session, or make a request first to receive a fresh 402 challenge.`);if(!a)throw Error(`Cannot close session: no channel ID available. The session may not have been fully opened.`);return{challenge:i,channel:t,channelId:a}}function AI(e){let{cumulativeAmount:t,spent:n}=e;return t>n?t:n}function jI(e){let{cumulativeAmount:t,readySpent:n,spent:r}=e;if(n>AI({cumulativeAmount:t,spent:r}))throw Error(`close-ready spent exceeds local voucher state`)}function MI(e){let{challengeId:t,channelId:n,expectedCloseAmount:r,receipt:i}=e;return!!i.txHash&&i.challengeId===t&&i.channelId===n&&i.acceptedCumulative===r&&i.spent===r}function NI(e){return hI({challengeId:e.challengeId,channelId:e.entry.channelId,descriptor:e.entry.descriptor,acceptedCumulative:e.entry.cumulativeAmount.toString(),deposit:e.entry.deposit.toString(),spent:e.spent,units:e.units})}function PI(){return{channel:null,lastChallenge:null,lastUrl:null,spent:0n,socketSession:null,state:mI}}function FI(e){let{maxVoucherCumulative:t,receipt:n,runtime:r}=e;r.spent=wI({channel:r.channel,maxVoucherCumulative:t,receipt:n,spent:r.spent}),n&&r.channel?.channelId===n.channelId&&_I(r,{type:`receiptAccepted`,receipt:n,entry:r.channel})}function II(e,t){return hI({challengeId:e.challengeId,channelId:e.channelId,descriptor:t.descriptor,acceptedCumulative:e.acceptedCumulative,deposit:t.deposit.toString(),spent:e.spent,units:e.units??0})}function LI(e){let{challengeId:t,channelId:n,closeReadyReceipt:r,cumulativeAmount:i,deliveredChunks:a=0n,socketChallengeId:o,socketChannelId:s,spent:c,tickCost:l=0n}=e;if(r&&r.challengeId===t&&r.channelId===n)return BigInt(r.spent);if(o===t&&s===n&&l>0n){let e=a*l,t=c>e?c:e;return t>i?i:t}return c}function RI(e){let{channel:t,channelId:n,challengeId:r,cumulativeAmount:i,spent:a,state:o}=e;if(!(!t||t.channelId!==n)&&(t.cumulativeAmount=i,r))return gI(o,{type:`activated`,challengeId:r,entry:t,spent:a.toString(),units:o.status===`active`?o.units:0}).state}function zI(e){return{channel:e.channel===null?null:{entry:e.channel,cumulativeAmount:e.channel.cumulativeAmount,deposit:e.channel.deposit,opened:e.channel.opened},spent:e.spent,state:e.state}}function BI(e,t){return e.channel?(e.channel.entry.cumulativeAmount=e.channel.cumulativeAmount,e.channel.entry.deposit=e.channel.deposit,e.channel.entry.opened=e.channel.opened,{channel:e.channel.entry,spent:e.spent,state:e.state}):(t&&(t.opened=!1),{channel:null,spent:e.spent,state:e.state})}async function VI(e){let{activeSocket:t,currentSocket:n,target:r}=e,i=n.closeReadyReceipt??await(async()=>(t.send(vF()),e.waitForCloseReady()))(),a=BigInt(i.spent);jI({cumulativeAmount:r.channel.cumulativeAmount,readySpent:a,spent:e.spent});let o=await e.createSessionCredential(r.challenge,{action:`close`,channelId:r.channelId,descriptor:r.channel.descriptor,cumulativeAmountRaw:a.toString()}),s=a.toString();n.expectedCloseAmount=s;try{let i=e.waitForReceipt(e=>MI({challengeId:r.challenge.id,channelId:r.channelId,expectedCloseAmount:s,receipt:e}));t.send(_F(o));let a=await i;return t.close(),n.closeReadyReceipt=null,a}finally{n.expectedCloseAmount=null}}Pi();function HI(e){return`cumulativeAmount`in e}function UI(e){if(HI(e))return BigInt(e.cumulativeAmount)}async function WI(e,t){t.opened?await e.store.set(t):await e.store.delete(rI(t)),e.notifyUpdate(t)}async function GI(e,t,n){let r=UI(n);if(r===void 0)return;let i=await e.store.get(t);i&&i.channelId.toLowerCase()===n.channelId.toLowerCase()&&(i.cumulativeAmount=i.cumulativeAmount>r?i.cumulativeAmount:r,n.action===`close`&&(i.opened=!1),await WI(e,i))}let KI=Mk(e=>typeof e==`string`&&/^0x[0-9a-fA-F]*$/.test(e)),qI=G({account:J(Mk()),autoSwap:J(Mk()),action:J(_k([`open`,`topUp`,`voucher`,`close`])),channelId:J(Mk(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e))),cumulativeAmount:J(IA()),cumulativeAmountRaw:J(U()),transaction:J(KI),descriptor:J(Mk()),additionalDeposit:J(IA()),additionalDepositRaw:J(U()),depositRaw:J(U())});function JI(e){return e?.action!==void 0}function YI(e){return JI(e)&&e.descriptor!==void 0}function XI(e,t,n){let r=n===`additionalDeposit`?e.additionalDepositRaw:e.cumulativeAmountRaw,i=n===`additionalDeposit`?e.additionalDeposit:e.cumulativeAmount;if(r)return BigInt(r);if(i)return ky(i,t)}function ZI(e,t,n,r){let i=XI(e,t,n);if(i===void 0)throw Error(`${n} required for ${r} action`);return i}function QI(e){return typeof e==`object`&&!!e}function $I(e){return typeof e==`string`&&ji(e,{strict:!1})?e:void 0}function eL(e){let t=e.request.methodDetails;return QI(t)?{chainId:typeof t.chainId==`number`?t.chainId:void 0,escrowContract:$I(t.escrowContract),escrow:$I(t.escrow),feePayer:typeof t.feePayer==`boolean`?t.feePayer:void 0,operator:$I(t.operator),sessionSnapshot:kA(t,DA.sessionSnapshot)}:{}}function tL(e,t){if(typeof e==`string`&&ji(e,{strict:!1}))return e;throw Error(`tempo session challenge missing ${t}`)}function nL(e){if(typeof e==`string`)return BigInt(e);throw Error(`tempo session challenge missing amount`)}function rL(e){return typeof e==`string`?e:void 0}async function iL(e){let{challenge:t,escrowOverride:n,getClient:r}=e,i=eL(t),a=await r({chainId:i.chainId}),o=i.chainId??a.chain?.id;if(!o)throw Error(`No chainId configured for TIP-1034 session challenge.`);let s=YF(t,n),c=tL(t.request.recipient,`recipient`),l=tL(t.request.currency,`currency`);return{amount:nL(t.request.amount),challenge:t,chainId:o,client:a,escrow:s,feePayer:i.feePayer,key:nI({payee:c,token:l,escrow:s,chainId:o}),operator:i.operator,payee:c,snapshot:i.sessionSnapshot,suggestedDepositRaw:rL(t.request.suggestedDeposit),token:l}}async function aL(e){let{channelId:t,client:n,descriptor:r,expected:i,readChannelState:a=sI}=e,o=EF({...r,chainId:i.chainId,escrow:i.escrow});oL({channelId:t,descriptor:r,expectedChannelId:o,payee:i.payee,payer:i.payer,authorizedSigner:i.authorizedSigner,token:i.token});let s=await a(n,o,i.escrow);if(s.deposit===0n)throw Error(`Channel ${o} cannot be reused (closed or not found on-chain).`);if(s.closeRequestedAt!==0)throw Error(`Channel ${o} cannot be reused (pending close request).`);return{channelId:o,state:s}}function oL(e){let{authorizedSigner:t,channelId:n,descriptor:r,expectedChannelId:i,payee:a,payer:o,token:s}=e;if(n&&n.toLowerCase()!==i.toLowerCase())throw Error(`context channelId does not match descriptor`);if(!ZF(r.payee,a))throw Error(`context descriptor payee does not match challenge`);if(!ZF(r.token,s))throw Error(`context descriptor token does not match challenge`);if(!ZF(r.payer,o))throw Error(`context descriptor payer does not match account`);if(!ZF(TF(r),t))throw Error(`context descriptor authorizedSigner does not match account`)}function sL(e){let{context:t,snapshot:n}=e,r=t?.descriptor??n?.descriptor;if(r)return{...t,channelId:t?.channelId??n?.channelId,descriptor:r}}function cL(e){let{context:t,decimals:n,requestAmount:r,snapshot:i,settled:a}=e;if(i)return[BigInt(i.acceptedCumulative),BigInt(i.requiredCumulative),BigInt(i.spent)+r,a].reduce((e,t)=>t>e?t:e,0n);let o=XI(t,n,`cumulativeAmount`);return o===void 0?a+r:o+r}async function lL(e){let{account:t,client:n,readChannelState:r,snapshot:i}=e,a=i.highestVoucher;if(!a)throw Error(`session snapshot is missing its highest signed voucher`);if(a.channelId.toLowerCase()!==i.channelId.toLowerCase())throw Error(`session snapshot voucher channelId does not match snapshot channelId`);let o=BigInt(i.acceptedCumulative),s=BigInt(a.cumulativeAmount),c=BigInt(i.requiredCumulative),l=BigInt(i.deposit),u=BigInt(i.settled),d=BigInt(i.spent);if(s!==o)throw Error(`session snapshot voucher amount does not match acceptedCumulative`);if(d>o)throw Error(`session snapshot spent exceeds acceptedCumulative`);if(u>l)throw Error(`session snapshot settled amount exceeds deposit`);if(!VF(i.escrow,i.chainId,{channelId:a.channelId,cumulativeAmount:s,signature:a.signature},TF(i.descriptor)))throw Error(`session snapshot highest voucher signature is invalid`);let f=await aL({channelId:i.channelId,client:n,descriptor:i.descriptor,expected:{chainId:i.chainId,escrow:i.escrow,payee:i.descriptor.payee,payer:t.address,authorizedSigner:KF(t),token:i.descriptor.token},readChannelState:r}),p=[o,c,f.state.settled].reduce((e,t)=>t>e?t:e,0n);if(p>f.state.deposit)throw Error(`recovered session cumulative amount exceeds on-chain channel deposit`);return{entry:{channelId:f.channelId,cumulativeAmount:p,deposit:f.state.deposit,descriptor:i.descriptor,escrow:i.escrow,chainId:i.chainId,opened:!0},spent:d}}function uL(e,t){return ZF(e.address,t.payer)?ZF(KF(e),TF(t)):!1}function dL(e){let{account:t,entry:n,context:r,decimals:i,maxDeposit:a,resolved:o}=e;if(JI(r)){if(!YI(r))throw Error(`descriptor required for TIP-1034 session action`);return{type:`manual`,account:t,context:r,decimals:i,resolved:o}}if(!n&&r?.channelId&&!r.descriptor)throw Error(`descriptor required to reuse TIP-1034 channel`);let s=sL({context:r,snapshot:o.snapshot});return!n&&s&&uL(t,s.descriptor)?{type:`recover`,account:t,context:s,decimals:i,maxDeposit:a,resolved:o}:n?.opened&&uL(t,n.descriptor)?{type:`voucher`,account:t,entry:n,maxDeposit:a,resolved:o}:{type:`open`,account:t,context:r,maxDeposit:a,resolved:o}}async function fL(e,t,n=!1){switch(e.type){case`open`:return mL(e,t,n);case`recover`:return hL(e,t);case`voucher`:return gL(e,t);case`manual`:return _L(e,t,n)}}async function pL(e,t){if(e)return await xP(t.client,{account:t.account,amountOut:t.amountOut,tokenOut:t.tokenOut,tokenIn:e.tokenIn,slippage:e.slippage})}async function mL(e,t,n){let{account:r,resolved:i}=e,a=EI({contextDepositRaw:e.context?.depositRaw,maxDeposit:e.maxDeposit,requestAmount:i.amount,suggestedDepositRaw:i.suggestedDepositRaw}),o=await eI(i.client,r,{chainId:i.chainId,deposit:a,escrow:i.escrow,feePayer:i.feePayer,initialAmount:i.amount,operator:i.operator,payee:i.payee,prefixCalls:await pL(n,{account:r.address,amountOut:a,client:i.client,tokenOut:i.token}),token:i.token});return await WI(t,{channelId:o.channelId,cumulativeAmount:i.amount,deposit:a,descriptor:o.descriptor,escrow:i.escrow,chainId:i.chainId,opened:!0}),o}async function hL(e,t){let{account:n,context:r,decimals:i,maxDeposit:a,resolved:o}=e,{descriptor:s}=r,c=await aL({channelId:r.channelId,client:o.client,descriptor:s,expected:{chainId:o.chainId,escrow:o.escrow,payee:o.payee,payer:n.address,authorizedSigner:KF(n),token:o.token}}),l=cL({context:r,decimals:i,requestAmount:o.amount,settled:c.state.settled,snapshot:o.snapshot});if(l>c.state.deposit)throw Error(`recovered voucher amount exceeds on-chain channel deposit`);OI(l,a);let u=await QF(o.client,n,s,l,o.chainId,o.escrow);return await WI(t,{channelId:c.channelId,cumulativeAmount:l,deposit:c.state.deposit,descriptor:s,escrow:o.escrow,chainId:o.chainId,opened:!0}),u}async function gL(e,t){let{account:n,entry:r,resolved:i}=e,a=r.cumulativeAmount+i.amount;OI(a,e.maxDeposit);let o=await QF(i.client,n,r.descriptor,a,i.chainId,i.escrow);return r.cumulativeAmount=a,await WI(t,r),o}async function _L(e,t,n){let{account:r,context:i,decimals:a,resolved:o}=e,{descriptor:s}=i,c=EF({...s,chainId:o.chainId,escrow:o.escrow});oL({channelId:i.channelId,descriptor:s,expectedChannelId:c,payee:o.payee,payer:r.address,authorizedSigner:KF(r),token:o.token});let l=await vL({account:r,channelId:c,context:i,decimals:a,descriptor:s,resolved:o},n);return await GI(t,o.key,l),l}async function vL(e,t){switch(e.context.action){case`open`:return yL(e);case`topUp`:return bL(e,t);case`voucher`:return xL(e);case`close`:return SL(e)}}async function yL(e){let{account:t,channelId:n,context:r,decimals:i,descriptor:a,resolved:o}=e;if(!r.transaction)throw Error(`transaction required for open action`);let s=ZI(r,i,`cumulativeAmount`,`open`),c=await QF(o.client,t,a,s,o.chainId,o.escrow);return{action:`open`,type:`transaction`,channelId:n,transaction:r.transaction,signature:c.signature,descriptor:a,cumulativeAmount:s.toString(),authorizedSigner:a.authorizedSigner}}async function bL(e,t){let{account:n,channelId:r,context:i,decimals:a,descriptor:o,resolved:s}=e,c=ZI(i,a,`additionalDeposit`,`topUp`);return i.transaction?{action:`topUp`,type:`transaction`,channelId:r,transaction:i.transaction,descriptor:o,additionalDeposit:c.toString()}:tI(s.client,n,o,c,s.chainId,s.feePayer,s.escrow,await pL(t,{account:n.address,amountOut:c,client:s.client,tokenOut:s.token}))}function xL(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return QF(a.client,t,i,ZI(n,r,`cumulativeAmount`,`voucher`),a.chainId,a.escrow)}function SL(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return $F(a.client,t,i,ZI(n,r,`cumulativeAmount`,`close`),a.chainId,a.escrow)}z();let CL={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function wL(e){let t=new Map,n=!1,r=[],i=e.readyState,a=(e,n,i)=>{let a=t.get(e);if(a||(a=new Set,t.set(e,a)),a.add({once:typeof i==`object`&&i.once===!0,value:n}),e===`message`&&r){let e=r;r=null;for(let t of e)s(`message`,t)}},o=(e,n)=>{let r=t.get(e);if(r)for(let e of r)e.value===n&&r.delete(e)};function s(e,a){if(a.type===`close`){if(n)return;n=!0,i=CL.CLOSED,r=null}if(a.type===`open`&&(i=CL.OPEN),a.type===`message`&&r){r.push(a);return}switch(a.type){case`close`:l.onclose?.(a);break;case`error`:l.onerror?.(a);break;case`message`:l.onmessage?.(a);break;case`open`:l.onopen?.(a);break}let o=t.get(e);if(o)for(let e of Array.from(o))typeof e.value==`function`?e.value(a):e.value.handleEvent(a),e.once&&o.delete(e)}let c=null,l={addEventListener:a,close(t,n){e.close(t,n)},get bufferedAmount(){return e.bufferedAmount},get extensions(){return e.extensions},on(e,t){a(e,t)},onclose:null,onerror:null,get onmessage(){return c},set onmessage(e){if(c=e,e&&r){let e=r;r=null;for(let t of e)s(`message`,t)}},onopen:null,off(e,t){o(e,t)},get protocol(){return e.protocol},get readyState(){return i},removeEventListener:o,send(t){e.send(t)},get url(){return e.url}};return{emit:s,socket:l}}function TL(e){return{acceptedCumulative:BigInt(e.acceptedCumulative),deposit:BigInt(e.deposit),requiredCumulative:BigInt(e.requiredCumulative)}}function EL(e){let{amount:t,assertVoucherWithinLocalLimit:n,channel:r,decimals:i,lastChallenge:a,lastUrl:o}=e;if(!r?.opened)throw Error(`Cannot top up session: no open channel.`);if(!a)throw Error(`Cannot top up session: no challenge available. Make a request first.`);if(!o)throw Error(`Cannot top up session: no URL available. Call fetch(), sse(), or ws() first.`);let s=TI(t,i);if(s<=0n)throw Error(`Top-up amount must be greater than zero.`);return n(r.cumulativeAmount+s),{additionalDeposit:s,challenge:a,channelId:r.channelId,input:o}}function DL(e){let{additionalDeposit:t,channel:n,channelId:r,challengeId:i,currentState:a,knownDeposit:o,receipt:s,spent:c}=e;if(n?.channelId!==r)return;let l=o!==void 0&&o>n.deposit?o:n.deposit,u={...n,deposit:l+t};return s?{channel:u,state:II(s,u)}:i?{channel:u,state:NI({challengeId:i,entry:u,spent:c.toString(),units:a.status===`active`?a.units:0})}:{channel:u}}async function OL(e){if(e.event.channelId!==e.expectedChannelId)return{status:`ignored`,reason:`channel-mismatch`};let t=TL(e.event);e.assertVoucherWithinLocalLimit(t.requiredCumulative),await e.topUpIfNeeded({challenge:e.challenge,input:e.input,channelId:e.expectedChannelId,deposit:t.deposit,requiredCumulative:t.requiredCumulative});let n=e.getChannel();if(!n||n.channelId!==e.expectedChannelId)return{status:`ignored`,reason:`missing-channel`};let r=n.cumulativeAmount>t.requiredCumulative?n.cumulativeAmount:rF(t.requiredCumulative);return{status:`ready`,context:{action:`voucher`,channelId:e.expectedChannelId,descriptor:n.descriptor,cumulativeAmountRaw:r.toString()}}}function kL(e){return e.method===TA.tempo&&e.intent===EA.session}function AL(e){return kL(e)&&kA(e.request.methodDetails,DA.sessionProtocol)===OA.v2}function jL(e){return kA(e.request.methodDetails,DA.sessionSnapshot)}function ML(e,t,n){let r=e instanceof Request?e.headers:void 0;return{...t,headers:{...RM(r),...RM(t?.headers),[Q.authorization]:n}}}function NL(e){try{let t=typeof location>`u`?void 0:location.href,n=e instanceof Request?new URL(e.url):e instanceof URL?new URL(e):new URL(String(e),t);return n.hash=``,n}catch{return e}}function PL(e){let t=new URL(e.toString());return t.protocol===`ws:`&&(t.protocol=`http:`),t.protocol===`wss:`&&(t.protocol=`https:`),t}async function FL(e){let t=await e.text().catch(()=>``);if(!t)return``;if(!e.headers.get(`Content-Type`)?.includes(`application/problem+json`))return t;try{return JSON.parse(t).detail??t}catch{return t}}async function IL(e){let{channel:t,channelId:n}=e;if(!t?.descriptor||t.channelId!==n)throw Error(`Cannot top up session: no local channel descriptor available.`);let r=await LL({challenge:e.challenge,context:{action:`topUp`,channelId:n,descriptor:t.descriptor,additionalDepositRaw:e.additionalDeposit.toString()},createSessionCredential:e.createSessionCredential,fetch:e.fetch,input:e.input});if(!r.ok)throw Error(`Top-up POST failed with status ${r.status}`);let i=r.headers.get(Q.paymentReceipt);return i?pF(i):void 0}async function LL(e){let t=async t=>e.fetch(NL(e.input),{method:`POST`,headers:{[Q.authorization]:await e.createSessionCredential(t,e.context)}}),n=await t(e.challenge);if(n.status!==402)return n;let r=ej(n).find(AL);return r?t(r):n}async function RL(e){let t=zL({channel:e.getChannel(),response:e.response});if(!t)return;let{channel:n,challenge:r,snapshot:i}=t;e.setChallenge(r);let a=BigInt(i.requiredCumulative),o=n.cumulativeAmount;await e.topUpIfNeeded({challenge:r,input:e.input,channelId:i.channelId,deposit:BigInt(i.deposit),requiredCumulative:a});let s=e.getChannel();if(!s?.descriptor||s.channelId!==i.channelId)return;let c=s.cumulativeAmount>a?s.cumulativeAmount:a,l=()=>e.restoreCumulative(i.channelId,o),u;try{let t=await e.createSessionCredential(r,{action:`voucher`,channelId:i.channelId,descriptor:s.descriptor,cumulativeAmountRaw:c.toString()});u=await e.fetch(e.input,ML(e.input,e.init,t))}catch(e){throw await l(),e}return!u.ok&&!u.headers.get(Q.paymentReceipt)&&await l(),u}function zL(e){let t=ej(e.response).find(AL);if(!t)return;let n=jL(t);if(!n)return;let{channel:r}=e;if(!(!r?.descriptor||r.channelId!==n.channelId))return{channel:r,challenge:t,snapshot:n}}async function BL(e){if(!e.lastUrl)throw Error(`Cannot close session: no URL available. This usually means close() was called on a SessionManager instance that was recreated after the session was opened. Use the same SessionManager instance that opened the session, or call fetch()/sse() before close().`);let t=e.target.challenge,n=e.signedCloseAmount,r=async(r,i=!1)=>{t=r,n=(i?e.resolveSignedCloseAmount?.(r):void 0)??e.signedCloseAmount;let a=await e.createSessionCredential(r,{action:`close`,channelId:e.target.channelId,descriptor:e.target.channel.descriptor,cumulativeAmountRaw:n});return e.fetch(e.lastUrl,{method:`POST`,headers:{[Q.authorization]:a}})},i=await r(e.target.challenge);if(i.status===402){let t=ej(i).find(AL);t&&(e.setChallenge?.(t),i=await r(t,!0))}if(!i.ok){let e=await FL(i),t=i.headers.get(Q.wwwAuthenticate)??``;throw Error(`Close request failed with status ${i.status}${e?`: ${e}`:``}${t?` [${Q.wwwAuthenticate}: ${t}]`:``}`)}let a=i.headers.get(Q.paymentReceipt);if(!a)return;let o=pF(a);if(!o.txHash||!Sp(o.txHash,{strict:!0})||R(o.txHash)!==32||!MI({challengeId:t.id,channelId:e.target.channelId,expectedCloseAmount:n,receipt:o}))throw Error(`Session close response included a mismatched payment receipt.`);return o}async function VL(e,t,n){let{onReceipt:r,signal:i,...a}=t??{},o={...a,headers:{...RM(a.headers),Accept:`text/event-stream`},...i?{signal:i}:{}},s=await n.doFetch(e,o);return!mF(s)&&n.getChannel()?.opened&&(s=await n.doFetch(e,o)),HL(e,s,{onReceipt:r,signal:i},n)}function HL(e,t,n,r){if(!mF(t))throw Error(`SSE response is not an event stream.`);if(!t.body)throw Error(`Response has no body.`);let i=r.getChallenge();return UL({onNeedVoucher:t=>JL({challenge:i,driver:r,input:e},t),onReceipt(e){r.acceptReceipt(e),n?.onReceipt?.(e)},response:t,signal:n?.signal})}async function*UL(e){for await(let t of WL(e))t.data!==void 0&&(yield t.data)}async function*WL(e){if(!e.response.body)throw Error(`Response has no body.`);let t=e.response.body.getReader(),n=new TextDecoder,r=``,i=!1,a=()=>{t.cancel(e.signal?.reason).catch(()=>void 0)};e.signal?.addEventListener(`abort`,a,{once:!0}),e.signal?.aborted&&a();try{for(;!e.signal?.aborted;){let{done:a,value:o}=await t.read();for(a?(i=!0,r+=n.decode()):r+=n.decode(o,{stream:!0});;){let t=GL(r,a);if(!t)break;let n=t.index+t.length,i=r.slice(0,t.index),o=r.slice(0,n);if(r=r.slice(n),!i.trim())continue;let s=hF(i.replace(/\\r\\n|\\r/g,`\n`));if(!s){yield{raw:o};continue}switch(s.type){case`message`:yield{data:s.data,raw:o};break;case`payment-need-voucher`:await e.onNeedVoucher(s.data);break;case`payment-receipt`:e.onReceipt(s.data);break}}if(a)break}}finally{e.signal?.removeEventListener(`abort`,a),i||await t.cancel().catch(()=>void 0),t.releaseLock()}}function GL(e,t){for(let n=0;n<e.length;n++){let r=KL(e,n,t);if(!r)continue;let i=KL(e,n+r,t);if(i)return{index:n,length:r+i};n+=r-1}}function KL(e,t,n){return e[t]===`\n`?1:e[t]===`\\r`?e[t+1]===`\n`?2:t+1===e.length&&!n?0:1:0}function qL(e){let t=new AbortController,n=()=>t.abort(e.signal?.reason);e.signal?.addEventListener(`abort`,n,{once:!0}),e.signal?.aborted&&n();let r=WL({...e,signal:t.signal}),i=new TextEncoder,a=new Headers(e.response.headers);a.delete(`content-length`);let o=()=>e.signal?.removeEventListener(`abort`,n),s=new Response(new ReadableStream({async pull(e){try{let t=await r.next();if(t.done)return o(),e.close();e.enqueue(i.encode(t.value.raw))}catch(e){throw o(),e}},async cancel(){o(),t.abort(),await r.return(void 0)}}),{headers:a,status:e.response.status,statusText:e.response.statusText});for(let t of[`redirected`,`type`,`url`])Object.defineProperty(s,t,{configurable:!0,get:()=>e.response[t]});return s}async function JL(e,t){let n=e.driver.getChannel();if(!n||!e.challenge)return;let r=await OL({assertVoucherWithinLocalLimit:e.driver.assertVoucherWithinLocalLimit,challenge:e.challenge,event:t,expectedChannelId:n.channelId,getChannel:e.driver.getChannel,input:e.input,topUpIfNeeded:e.driver.topUpIfNeeded});if(r.status!==`ready`)return;let i=await LL({challenge:e.challenge,context:r.context,createSessionCredential:e.driver.createSessionCredential,fetch:e.driver.fetch,input:e.input});if(!i.ok)throw Error(`Voucher POST failed with status ${i.status}`)}async function YL(e){let t=new URL(e.input.toString()),n=PL(t);e.onProbeUrl?.(n);let r=await e.fetch(n,{...e.probeInit,...e.signal?{signal:e.signal}:{}});if(r.status!==402)throw Error(`Expected a 402 payment challenge from ${n}, received ${r.status} instead.`);let i=ej(r).find(AL);if(!i)throw Error(`No payment challenge received from HTTP endpoint for this WebSocket URL. The server may not require payment or did not advertise a challenge.`);return{challenge:i,httpUrl:n,wsUrl:t}}async function XL(e){let t=await YL(e);return{...t,credential:await e.createSessionCredential(t.challenge,{})}}function ZL(e){let{challenge:t,credential:n,socket:r}=e;return{challenge:t,channelId:Oj(n).payload.channelId,closeReadyReceipt:null,deliveredChunks:0n,expectedCloseAmount:null,socket:r,tickCost:uF(t)}}function QL(e){let{challengeId:t,channelId:n,receipt:r}=e;return r.challengeId===t&&r.channelId===n}function $L(e){if(!QL(e))return`received mismatched payment-close-ready frame`;if(BigInt(e.receipt.spent)>e.cumulativeAmount)return`received payment-close-ready beyond local voucher state`}function eR(e){let{challengeId:t,channelId:n,expectedCloseAmount:r,receipt:i}=e;if(!QL(e))return`received mismatched payment-receipt frame`;if(r!==null&&i.txHash&&!MI({challengeId:t,channelId:n,expectedCloseAmount:r,receipt:i}))return`received mismatched payment-close receipt frame`}async function tR(e){let{challenge:t,credential:n,options:r,WebSocket:i,wsUrl:a}=e,o=new i(a,r?.protocols),s=ZL({challenge:t,credential:n,socket:o});e.setSocketSession(s);let c=wL(o),l=t=>{e.rejectReceipt(Error(t)),e.rejectCloseReady(Error(t)),(o.readyState===CL.CONNECTING||o.readyState===CL.OPEN)&&o.close(3008,t)};return o.addEventListener(`close`,t=>{s.socket=null,s.expectedCloseAmount=null,e.rejectReceipt(Error(`WebSocket closed before the payment flow completed.`)),e.rejectCloseReady(Error(`WebSocket closed before the payment flow completed.`)),c.emit(`close`,{code:t.code??1e3,reason:t.reason??``,type:`close`,wasClean:!0})}),o.addEventListener(`error`,()=>{c.emit(`error`,{type:`error`})}),o.addEventListener(`message`,async t=>{let n=typeof t.data==`string`?t.data:void 0;n&&await rR({driver:e,failSocketFlow:l,managedEmit:c.emit,message:n,rawSocket:o,socketState:s})}),r?.signal?.addEventListener(`abort`,()=>{e.rejectReceipt(Error(`WebSocket payment flow aborted.`)),e.rejectCloseReady(Error(`WebSocket payment flow aborted.`)),o.close()},{once:!0}),await nR(o,c.emit,a),o.send(_F(n)),await e.waitForReceipt(),c.socket}function nR(e,t,n){return new Promise((r,i)=>{let a=()=>{e.removeEventListener(`error`,o),t(`open`,{type:`open`}),r()},o=()=>{e.removeEventListener(`open`,a),i(Error(`WebSocket connection to ${n} failed to open.`))};e.addEventListener(`open`,a,{once:!0}),e.addEventListener(`error`,o,{once:!0})})}async function rR(e){let t=yF(e.message);if(!t){e.managedEmit(`message`,{data:e.message,type:`message`});return}switch(t.mpp){case`authorization`:return;case`message`:e.socketState.deliveredChunks+=1n,e.managedEmit(`message`,{data:t.data,type:`message`});return;case`payment-close-ready`:iR(e,t.data);return;case`payment-error`:e.driver.rejectReceipt(Error(t.message)),e.driver.rejectCloseReady(Error(t.message));return;case`payment-need-voucher`:await aR(e,t.data);return;case`payment-receipt`:oR(e,t.data);return}}function iR(e,t){let n=e.driver.getChannel()?.cumulativeAmount??0n,r=$L({challengeId:e.driver.challenge.id,channelId:e.socketState.channelId,cumulativeAmount:n,receipt:t});if(r){e.failSocketFlow(r);return}e.driver.acceptReceipt(t),e.driver.options?.onReceipt?.(t),e.driver.settleCloseReady(t),e.managedEmit(`close`,{code:1e3,reason:`stream complete`,type:`close`,wasClean:!0})}async function aR(e,t){try{let n=e.driver.challenge;n.expires&&new Date(n.expires).getTime()<=Date.now()+5e3&&(n=await e.driver.refreshChallenge(),e.driver.challenge=n,e.socketState.challenge=n);let r=await OL({assertVoucherWithinLocalLimit:e.driver.assertVoucherWithinLocalLimit,challenge:n,event:t,expectedChannelId:e.socketState.channelId,getChannel:e.driver.getChannel,input:e.driver.httpUrl,topUpIfNeeded:e.driver.topUpIfNeeded});if(r.status===`ignored`){e.failSocketFlow(r.reason===`channel-mismatch`?`received mismatched payment-need-voucher frame`:`cannot create voucher: no active channel`);return}let i=await e.driver.createSessionCredential(n,r.context);e.rawSocket.send(_F(i))}catch(t){e.failSocketFlow(t instanceof Error?t.message:`failed to create websocket voucher`)}}function oR(e,t){let n=eR({challengeId:e.driver.challenge.id,channelId:e.socketState.channelId,expectedCloseAmount:e.socketState.expectedCloseAmount,receipt:t});if(n){e.failSocketFlow(n);return}e.driver.acceptReceipt(t),e.driver.options?.onReceipt?.(t),e.driver.settleReceipt(t)}let sR=new WeakMap;async function cR(e,t){let n=sR.get(e)??new Map;sR.set(e,n);let r=n.get(t),i,a=new Promise(e=>{i=e});return n.set(t,a),await r,()=>{i(),n.get(t)===a&&n.delete(t)}}function lR(e,t){try{return t?.channelId.toLowerCase()===e.channelId.toLowerCase()&&BigInt(t.acceptedCumulative)===e.cumulativeAmount}catch{return!1}}function uR(e,t,n){try{let r=e.response?.headers.get(Q.paymentReceipt);if(r){let e=pF(r);if(e.challengeId===t.id&&lR(n,e))return!0}}catch{}return e.challenges?.some(e=>AL(e)?lR(n,jL(e)):!1)??!1}function dR(e={}){let{account:t,autoSwap:n,channelStore:r,decimals:i=6,escrow:a,getClient:o,maxDeposit:s,topUpAmount:c,onChannelUpdate:l,resolveAccount:u}=e,d=SN({chain:lE,getClient:o,rpcUrl:EN}),f=bN({account:t}),p=s===void 0?void 0:ky(s,i),m=c===void 0?void 0:ky(c,i),h=r??iI(),g={store:h,notifyUpdate:e=>l?.(e)},_=async(e,t,n)=>{let r=f(e.client,t),i=t?.action?t.descriptor:n?.descriptor??sL({context:t,snapshot:e.snapshot})?.descriptor;return await u?.({account:r,chainId:e.chainId,operation:{kind:`authorizePaymentChannel`,...i?{authority:TF(i)}:{}}})??r},v=async(e,t,n)=>dL({account:await _(e,t,n),entry:n,context:t,decimals:i,maxDeposit:p,resolved:e}),y=yN(BN,{canHandleChallenge:({challenge:e})=>AL(e),context:qI,async createCredential(e){let{challenge:t,context:r}=e,i=await iL({challenge:t,escrowOverride:a,getClient:d}),o=AM(e),s=()=>{};try{let e=await h.get(i.key),a=await v(i,r,e);if(o&&a.type===`open`){s=await cR(h,i.key);let t=await h.get(i.key);t?.channelId!==e?.channelId&&(e=t,e?.opened&&(await o.prepare(),e=await h.get(i.key)),a=await v(i,r,e))}let c,l=o&&a.type===`open`?{store:{get:e=>h.get(e),async set(e){c=e},delete:e=>h.delete(e)},notifyUpdate(){}}:g,u=await XF(t,await fL(a,l,SP(r?.autoSwap??n,_P)),i.chainId,a.account);if(o&&c){let e=c;o.settle=async n=>{let r=n.status===`accepted`||uR(n,t,e);if(!r&&n.status===`pending`)return!1;try{if(r){let t=await h.get(i.key);(!t?.opened||t.channelId.toLowerCase()!==e.channelId.toLowerCase())&&(await h.set(e),g.notifyUpdate(e))}return!0}finally{s()}}}else s();return u}catch(e){throw s(),e}}}),b=async({challenge:e,channel:t,deposit:n,fetch:r,input:i,requiredCumulative:a})=>{let o=t.deposit>n?t.deposit:n,s=DI({deposit:o,maxDeposit:p,requiredCumulative:a,suggestedDeposit:e.request.suggestedDeposit===void 0?void 0:BigInt(e.request.suggestedDeposit),topUpAmount:m});s>0n&&await IL({additionalDeposit:s,challenge:e,channel:t,channelId:t.channelId,createSessionCredential:(e,t)=>y.createCredential({challenge:e,context:t}),fetch:r,input:i});let c=o+s;if(c===t.deposit)return;let l={...t,deposit:c};await h.set(l),g.notifyUpdate(l)};return SM(y,async({challenge:e,context:t,fetch:n,input:r})=>{if(!AL(e))return;let i=t===void 0?void 0:qI.parse(t);if(JI(i))return;let o=await iL({challenge:e,escrowOverride:a,getClient:d}),s=await h.get(o.key);if(!s?.opened)return;let c=o.snapshot?.channelId.toLowerCase()===s.channelId.toLowerCase()?o.snapshot:void 0,l=s.cumulativeAmount+uF(e),u=c?BigInt(c.requiredCumulative):l,f=u>l?u:l,p=c?BigInt(c.deposit):s.deposit,m=p>s.deposit?p:s.deposit;f<=m&&m===s.deposit||uL(await _(o,i,s),s.descriptor)&&await b({challenge:e,channel:s,deposit:m,fetch:n,input:r,requiredCumulative:f})}),DM(y,async({challenge:e,credential:t,fetch:n,headers:r,input:i,refetch:o,response:s,signal:c})=>{if(!AL(e))return s;if(!mF(s))return lF(Oj(t).payload).action===`open`&&r.get(`accept`)?.toLowerCase().includes(`text/event-stream`)?await o?.()??s:s;let l=(await iL({challenge:e,escrowOverride:a,getClient:d})).key,u=await h.get(l),f={assertVoucherWithinLocalLimit:e=>OI(e,p),createSessionCredential:(e,t)=>y.createCredential({challenge:e,context:t}),fetch:n,getChannel:()=>u??null,async topUpIfNeeded({deposit:t,requiredCumulative:r}){u&&await b({challenge:e,channel:u,deposit:u.deposit>t?u.deposit:t,fetch:n,input:i,requiredCumulative:r})}};return qL({onNeedVoucher:t=>JL({challenge:e,driver:f,input:i},t),onReceipt(){},response:s,signal:c})})}let fR=new WeakMap;function pR(e,t){fR.set(e,t)}function mR(e){let t=null;return{wait(n=()=>!0){if(t)throw Error(`${e} wait already in progress`);return new Promise((e,r)=>{t={predicate:n,resolve:e,reject:r}})},settle(e){if(!t||!t.predicate(e))return;let n=t;t=null,n.resolve(e)},reject(e){if(!t)return;let n=t;t=null,n.reject(e)}}}function hR(e){let t=mR(`close-ready`),n=mR(`receipt`);return{waitForReceipt(e){return n.wait(e)},waitForCloseReady(){let n=e.getSocketSession()?.closeReadyReceipt;return n?Promise.resolve(n):t.wait()},settleReceipt(e){n.settle(e)},settleCloseReady(n){let r=e.getSocketSession();r&&r.challenge.id===n.challengeId&&r.channelId===n.channelId&&(r.closeReadyReceipt=n),t.settle(n)},rejectReceipt(e){n.reject(e)},rejectCloseReady(e){t.reject(e)}}}function gR(e){return e.method===TA.tempo&&e.intent===EA.charge}function _R(e){if(!gR(e)||typeof e.request.amount!=`string`)return!1;try{return BigInt(e.request.amount)===0n}catch{return!1}}function vR(e,t,n){if(!n)return t;let r={...RM(e instanceof Request?e.headers:void 0),...RM(t?.headers)};return Object.keys(r).some(e=>e.toLowerCase()===Q.paymentSession.toLowerCase())?t:{...t,headers:{...r,[Q.paymentSession]:n}}}function yR(e){let t=e.decimals??6,n=e.webSocket??globalThis.WebSocket;return{decimals:t,fetch:e.fetch??globalThis.fetch.bind(globalThis),maxVoucherCumulative:e.maxDeposit===void 0?null:ky(e.maxDeposit,t),topUpAmount:e.topUpAmount===void 0?null:ky(e.topUpAmount,t),WebSocket:n}}function bR(e){let t=yR(e),n=SN({chain:lE,getClient:e.client?()=>e.client:e.getClient,rpcUrl:EN}),r=bN({account:e.account}),i=PI(),a=hR({getSocketSession:()=>i.socketSession}),o=e.channelStore??iI(),s=new Set,c;async function l(e){let t=await o.get(e);if(t?.opened&&!s.has(t.channelId))return t}let u={async get(e){let t=await l(e);return t&&c&&(c.seenExisting.add(e),!c.committed&&!c.created.has(e)&&(c.resumed??=t)),t},async set(e){let t=rI(e);e.opened&&s.delete(e.channelId),c?.trackCreates&&!c.seenExisting.has(t)&&c.created.set(t,e),await o.set(e)},delete:e=>o.delete(e)};async function d(e){let t=rI(e);s.add(e.channelId),c?.seenExisting.delete(t),c?.resumed===e&&(c.resumed=void 0),await Promise.resolve(o.delete(t)).catch(()=>void 0)}async function f(){let e=c;if(e?.created.size){for(let[t,n]of e.created)s.add(n.channelId),await Promise.resolve(o.delete(t)).catch(()=>void 0);e.created.clear(),await se(e.committed??e.previous)}}function p(e){let t=kA(e.request.methodDetails,DA.sessionSnapshot);if(typeof t?.channelId!=`string`)return!1;let n=c;if(!n?.created.size||!i.channel)return!1;for(let[e,r]of n.created)if(r.channelId.toLowerCase()===t.channelId.toLowerCase()&&i.channel.channelId.toLowerCase()===t.channelId.toLowerCase())return n.created.delete(e),n.committed=zI({channel:i.channel,spent:i.spent,state:i.state}),!0;return!1}function m(e){return _I(i,e)}function h(){let e=i.state.status===`active`?i.state:c?.committed?.state??c?.previous.state;return e?.status===`active`?e.units:0}function g(e){let t=c,n=t?.committed?.channel?.entry??t?.resumed;!t||n?.channelId.toLowerCase()!==e.channelId.toLowerCase()||e.deposit<=n.deposit||(t.resumed=void 0,t.committed=zI({channel:i.channel,spent:i.spent,state:i.state}))}let _=dR({account:e.account,autoSwap:e.autoSwap,getClient:e.client?()=>e.client:e.getClient,resolveAccount:e.resolveAccount,escrow:e.escrow,decimals:t.decimals,maxDeposit:e.maxDeposit,topUpAmount:e.topUpAmount,channelStore:u,onChannelUpdate(e){e.channelId!==i.channel?.channelId&&(i.spent=0n),i.channel=e,i.lastChallenge&&m({type:`activated`,challengeId:i.lastChallenge.id,entry:e,spent:i.spent.toString(),units:h()}),g(e)}});OM(_);let v=MP({account:e.account,getClient:e.client?()=>e.client:e.getClient}),y=IM({fetch:t.fetch,methods:[_],onChallenge:async(e,t)=>{if(!kL(e))return;let n=c,r=n&&n.challengesReceived>0&&e.id===i.lastChallenge?.id,a=r&&KA(e)===KA(i.lastChallenge);n&&n.challengesReceived++,!a&&(p(e)||(n?.created.size?await f():r&&await se(n.committed??n.previous)),i.lastChallenge=e,m({type:`challengeReceived`,challengeId:e.id}))}});function b(e,t){return _.createCredential({challenge:e,context:t})}function x(e){FI({maxVoucherCumulative:t.maxVoucherCumulative,receipt:e,runtime:i})}function S(e=i.state.status===`active`?i.state.units:0){!i.channel||!i.lastChallenge||i.state.status!==`active`&&i.state.status!==`withdrawable`&&i.state.status!==`closeRequested`&&m({type:`activated`,challengeId:i.lastChallenge.id,entry:i.channel,spent:i.spent.toString(),units:e})}async function C(t){let a=t.headers.get(Q.paymentSessionSnapshot);if(!a)return;let o=pI(a),s=await n({chainId:o.chainId}),c=r(s),{entry:l,spent:d}=await lL({account:await e.resolveAccount?.({account:c,chainId:o.chainId,operation:{authority:TF(o.descriptor),kind:`authorizePaymentChannel`}})??c,client:s,snapshot:o});return re(l.cumulativeAmount),await Promise.resolve(u.set(l)).catch(()=>void 0),i.channel=l,i.spent=d,l}async function w(n,r){if(!e.bootstrap||i.channel?.opened)return;let a=n instanceof Request?n.headers:void 0,{body:o,method:s,...c}=r??{},l=n instanceof Request?n.url:n,u={...c,method:`HEAD`,headers:{...RM(a),...RM(r?.headers),[Q.acceptPayment]:`${TA.tempo}/${EA.charge}`}};try{let e=await t.fetch(l,u);if(e.status!==402)return await C(e);let n=ej(e).find(gR);if(!n||!_R(n))return;let r=await v.createCredential({challenge:n,context:{}}),i=await t.fetch(l,{...u,headers:{...RM(u.headers),[Q.authorization]:r}});return i.ok?await C(i):void 0}catch{return}}function T(e,t){let n=i.socketSession;return LI({challengeId:e.id,channelId:t,closeReadyReceipt:n?.closeReadyReceipt,cumulativeAmount:i.channel?.channelId===t?i.channel.cumulativeAmount:0n,deliveredChunks:n?.deliveredChunks,socketChallengeId:n?.challenge.id,socketChannelId:n?.channelId,spent:i.spent,tickCost:n?.tickCost})}function ee(e,t){let n=jL(t);if(!n)return;if(EF({...n.descriptor,chainId:n.chainId,escrow:n.escrow}).toLowerCase()!==n.channelId.toLowerCase())throw Error(`close snapshot descriptor does not match its channel ID`);if(n.channelId.toLowerCase()!==e.channelId.toLowerCase())throw Error(`close snapshot channel ID does not match local session`);if(n.chainId!==e.chainId||n.escrow.toLowerCase()!==e.escrow.toLowerCase())throw Error(`close snapshot payment scope does not match local session`);let r=BigInt(n.acceptedCumulative),i=BigInt(n.spent);if(r<0n||i<0n)throw Error(`close snapshot amounts must not be negative`);if(i>r)throw Error(`close snapshot spent exceeds accepted cumulative amount`);if(r>e.cumulativeAmount)throw Error(`close snapshot accepted cumulative exceeds local voucher state`);return{acceptedCumulative:r,spent:i}}function te(e,t){let n=ee(e.channel,t);if(!n)return;let{acceptedCumulative:r,spent:a}=n;if(i.spent>r)throw Error(`close snapshot accepted cumulative is below locally confirmed spend`);a>i.spent&&(i.spent=a)}function ne(e,t=e.challenge,n=!1){n&&te(e,t);let r=T(t,e.channelId);if(r>e.channel.cumulativeAmount)throw Error(`fallback close amount exceeds local voucher state`);return re(r),r.toString()}function re(e){SI({cumulativeAmount:e,maxVoucherCumulative:t.maxVoucherCumulative})}async function ie(e){let{knownDeposit:n,...r}=e,a=await IL({...r,channel:i.channel,createSessionCredential:b,fetch:t.fetch});x(a);let o=DL({additionalDeposit:e.additionalDeposit,channel:i.channel,channelId:e.channelId,challengeId:i.lastChallenge?.id,currentState:i.state,knownDeposit:n,receipt:a,spent:i.spent});return o?.channel&&i.lastChallenge&&(await u.set(o.channel),m({type:`activated`,challengeId:i.lastChallenge.id,entry:o.channel,spent:i.spent.toString(),units:h()}),g(o.channel)),a}async function ae(e){let n=i.channel?.channelId===e.channelId?i.channel.deposit:0n,r=n>e.deposit?n:e.deposit,a=DI({deposit:r,maxDeposit:t.maxVoucherCumulative,requiredCumulative:e.requiredCumulative,suggestedDeposit:e.challenge.request.suggestedDeposit===void 0?void 0:BigInt(e.challenge.request.suggestedDeposit),topUpAmount:t.topUpAmount});a!==0n&&await ie({challenge:e.challenge,input:e.input,channelId:e.channelId,additionalDeposit:a,knownDeposit:r})}async function oe(e,t){let n=RI({channel:i.channel,channelId:e,challengeId:i.lastChallenge?.id,cumulativeAmount:t,spent:i.spent,state:i.state});n&&i.channel&&(m({type:`activated`,challengeId:n.challengeId,entry:i.channel,spent:n.spent,units:n.units}),await o.set(i.channel))}async function se(e){let t=BI(e,i.channel);i.channel=t.channel,i.spent=t.spent,i.state=t.state,i.channel?.opened&&await o.set(i.channel)}function ce(e){let t=e.headers.get(Q.paymentReceipt),n=t?pF(t):null;return x(n),Object.assign(e,{receipt:n,challenge:i.lastChallenge,channelId:i.channel?.channelId??null,cumulative:i.channel?.cumulativeAmount??0n})}async function le(e,n){if(c)throw Error(`SessionManager: a request is already in flight; concurrent requests on one manager are not supported`);i.lastUrl=e;let r=zI({channel:i.channel,spent:i.spent,state:i.state}),a={challengesReceived:0,committed:void 0,created:new Map,previous:r,seenExisting:new Set,resumed:void 0,trackCreates:!1};c=a;let o=i.channel?.opened?i.channel.channelId:void 0;try{await w(e,n),a.trackCreates=!0;let s=vR(e,n,o),c=!r.channel?.opened;async function l(){let t=a.resumed;return!c||!t?!1:(c=!1,await d(t),s=vR(e,n,void 0),!0)}for(;;){let n;try{n=await y(e,s)}catch(e){if(a.created.size?await f():await se(a.committed??r),await l())continue;throw e}let o=ce(n),c=!1;if(o.status===402){let n=await RL({input:e,init:s,response:o,createSessionCredential:b,fetch:t.fetch,getChannel:()=>i.channel,restoreCumulative:oe,setChallenge(e){i.lastChallenge=e},topUpIfNeeded:ae});n&&(c=!0,o=ce(n))}if(!c&&!o.ok&&!o.receipt){if(a.created.size?await f():await se(a.committed??r),await l())continue;return o}return o}}finally{c=void 0}}async function ue(e){let n=await BL({createSessionCredential:b,fetch:t.fetch,lastUrl:i.lastUrl,resolveSignedCloseAmount:t=>ne(e,t,!0),signedCloseAmount:ne(e),setChallenge(e){i.lastChallenge=e},target:e});return n&&(S(),m({type:`closeStarted`}),m({type:`closed`,receipt:n})),n}let de={createSessionCredential:b,doFetch:le,fetch:t.fetch,getChannel:()=>i.channel,getChallenge:()=>i.lastChallenge,assertVoucherWithinLocalLimit:re,acceptReceipt(e){x(e)},topUpIfNeeded:ae},fe={get channelId(){return i.channel?.channelId},get cumulative(){return i.channel?.cumulativeAmount??0n},get opened(){return i.channel?.opened??!1},get state(){return i.state},fetch:le,async topUp(e){let n=EL({amount:e,assertVoucherWithinLocalLimit:re,channel:i.channel,decimals:t.decimals,lastChallenge:i.lastChallenge,lastUrl:i.lastUrl});return ie({additionalDeposit:n.additionalDeposit,challenge:n.challenge,channelId:n.channelId,input:n.input})},async sse(e,t){return VL(e,t,de)},async ws(e,n){if(!t.WebSocket)throw Error(\"No WebSocket implementation available. Pass `webSocket` to sessionManager() in this runtime.\");let r=PL(e),o=n?.signal?{signal:n.signal}:void 0;await w(r,o);let s=i.channel?.opened?i.channel.channelId:void 0,{challenge:c,credential:l,httpUrl:u,wsUrl:d}=await XL({async createSessionCredential(e,n){return i.lastChallenge=e,await wM(_,{challenge:e,context:n,fetch:t.fetch,input:r}),b(e,n)},fetch:t.fetch,input:e,onProbeUrl(e){i.lastUrl=e.toString()},probeInit:vR(r,o,s),signal:n?.signal});return i.lastChallenge=c,tR({challenge:c,credential:l,httpUrl:u,WebSocket:t.WebSocket,wsUrl:d,options:n,createSessionCredential:b,getChannel:()=>i.channel,setSocketSession(e){i.socketSession=e},async refreshChallenge(){let e=await YL({fetch:t.fetch,input:u,probeInit:vR(u,o,i.channel?.opened?i.channel.channelId:void 0),signal:n?.signal});return i.lastChallenge=e.challenge,e.challenge},assertVoucherWithinLocalLimit:re,acceptReceipt:x,rejectCloseReady:a.rejectCloseReady,rejectReceipt:a.rejectReceipt,settleCloseReady:a.settleCloseReady,settleReceipt:a.settleReceipt,topUpIfNeeded:ae,waitForReceipt:a.waitForReceipt})},async close(){let e=i.socketSession,t=kI({channel:i.channel,currentSocket:e,lastChallenge:i.lastChallenge});if(!t)return;let n=e?.socket;if(e&&n?.readyState===CL.OPEN){let r=await VI({activeSocket:n,createSessionCredential:b,currentSocket:e,spent:i.spent,target:t,waitForCloseReady:a.waitForCloseReady,waitForReceipt:a.waitForReceipt});return S(),m({type:`closeStarted`}),m({type:`closed`,receipt:r}),r}return ue(t)}};return pR(fe,{consumeSseResponse(e,t,n){return HL(e,t,n,de)},rehydrate({channel:e,challenge:t,input:n,spent:r}){if(!e.opened)throw Error(`Cannot restore a closed session channel.`);if(!kL(t))throw Error(`Cannot restore session: challenge is not tempo/session.`);if(r<0n)throw Error(`Cannot restore session: spent must not be negative.`);if(r>e.cumulativeAmount)throw Error(`Cannot restore session: spent exceeds local voucher state.`);re(e.cumulativeAmount);let a=ee(e,t),o=a&&a.spent>r?a.spent:r;i.lastUrl=n,i.lastChallenge=t,i.channel=e,i.spent=o,m({type:`challengeReceived`,challengeId:t.id}),m({type:`activated`,challengeId:t.id,entry:e,spent:o.toString(),units:0})}}),fe}(function(e){e.serializeSnapshot=fI,e.deserializeSnapshot=pI})(bR||={});let xR=Object.assign(dR,{manager:bR}),SR=Object.assign(CF,{method:eF});function CR(e={}){return[MP(e),xR(e)]}(function(e){e.charge=MP,e.common=CR,e.session=xR,e.sessionLegacy=SR,e.subscription=lP})(CR||={});function wR(e){let{maxPaymentRetries:t,onChallenge:n,orderChallenges:r,polyfill:i=!0,acceptPaymentPolicy:a=i&&globalThis.location!==void 0?`same-origin`:`always`,transport:o=bM()}=e,s=e.fetch??globalThis.fetch,c=e.methods.flat(),l=lj(c,e.paymentPreferences),u=zM(),d=n,f={acceptPayment:l,acceptPaymentPolicy:a,...e.fetch&&{fetch:e.fetch},eventDispatcher:u,...t!==void 0&&{maxPaymentRetries:t},...d&&{onChallenge:d},...r&&{orderChallenges:r},methods:c,transport:o},p=IM(f);i&&LM(f);function m(e){return u.on(`challenge.received`,e)}function h(e){return u.on(`credential.created`,e)}function g(e){return u.on(`payment.failed`,e)}function _(e){return u.on(`payment.response`,e)}return{fetch:p,rawFetch:s,methods:c,transport:o,on:u.on,onChallengeReceived:m,onCredentialCreated:h,onPaymentFailed:g,onPaymentResponse:_,async createCredential(e,t,n){let i=o.getChallenges?await o.getChallenges(e):[await o.getChallenge(e)],a=PR(l.entries,n?.acceptPayment),s,d;try{let o=(await FR(fj(i,c,a),n?.orderChallenges??r))[0];if(!o)throw Error(`No method found for challenges: ${i.map(e=>`${e.method}.${e.intent}`).join(`, `)}. Available: ${c.map(e=>`${e.name}.${e.intent}`).join(`, `)}`);let l=o.challenge;s=l,d=o.method,s.expires&&NA(s.expires,s.id);let f=TR(e=>IR(l,d,e??t)),p=await u.emit(`challenge.received`,ER({challenge:l,challenges:i,createCredential:f,method:d,response:e}))??await f();return lN(p),await u.emit(`credential.created`,DR({challenge:l,credential:p,method:d,response:e})),p}catch(t){throw await u.emit(`payment.failed`,OR({challenge:s,challenges:i,error:t,method:d,response:e})),t}}}}function TR(e){let t;return n=>(t??=e(n),t)}function ER(e){return Object.freeze({challenge:jR(e.challenge),challenges:e.challenges.map(e=>jR(e)),createCredential:e.createCredential,method:kR(e.method),response:AR(e.response)})}function DR(e){return Object.freeze({challenge:jR(e.challenge),credential:e.credential,method:kR(e.method),response:AR(e.response)})}function OR(e){return Object.freeze({...e.challenge?{challenge:jR(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>jR(e))}:{},error:e.error,...e.method?{method:kR(e.method)}:{},response:AR(e.response)})}function kR(e){return NR(Object.assign({},e))}function AR(e){return e instanceof Response?e.clone():jR(e)}function jR(e){try{return MR(structuredClone(e))}catch{return NR(e)}}function MR(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))MR(t);return e}function NR(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function PR(e,t){return t?typeof t==`string`?uj(t):t:e}async function FR(e,t){return t?t(e):e}async function IR(e,t,n){let r=t.context&&n!==void 0?t.context.parse(n):void 0;return t.createCredential(r===void 0?{challenge:e}:{challenge:e,context:r})}z(),k();let LR={missing:`missing`,pending:`pending`,published:`published`,expired:`expired`},RR=new Set([`KeyAlreadyRevoked`,`KeyNotFound`]);function zR(e){return{add:t=>JR({...t,store:e}),authorize:t=>VR({...t,store:e}),clear:()=>QR({store:e}),get:t=>KR({...t,store:e}),prepareAuthorization:t=>BR({...t,keystores:e.keystores}),getStatus:t=>WR({...t,store:e}),list:t=>mz({...t,store:e}),remove:t=>ZR({...t,store:e}),select:t=>GR({...t,store:e}),updateAuthorization:t=>XR({...t,store:e})}}async function BR(e){let{address:t,chainId:n,expiry:r,keystores:i,keyType:a,limits:o,privateKey:s,publicKey:c,scopes:l,witness:u}=e;if(s){let e=a??`secp256k1`;return{keyAuthorization:XC({address:(()=>{switch(e){case`secp256k1`:return iT(s);case`p256`:return rT(s);case`webAuthn`:throw new Zx({message:'`privateKey` cannot be used with `keyType: \"webAuthn\"`.'})}})().address,chainId:BigInt(n),expiry:r,limits:o,scopes:l,type:e,...u?{witness:u}:{}}),privateKey:s}}if(t||c)return{keyAuthorization:XC({address:t??P_(b_(c)),chainId:BigInt(n),expiry:r,limits:o,scopes:l,type:a??`secp256k1`,...u?{witness:u}:{}})};let d=i??KE,f=a??`p256`,p=f===`webAuthn`?void 0:d[f];if(!p)throw new Zx({message:`\\`keyType: \"${f}\"\\` requires externally generated key material; provide \\`publicKey\\` or \\`address\\`.`});let m=await p.createKey(),h=XC({address:P_(S_(m.publicKey)),chainId:BigInt(n),expiry:r,limits:o,scopes:l,type:f,...u?{witness:u}:{}});return{key:{handle:m.handle,publicKey:m.publicKey},keyAuthorization:h}}async function VR(e){let{account:t,chainId:n,parameters:r}=e,{store:i}=e,a=await BR({...r,chainId:r.chainId??n,keystores:i.keystores}),o=$C(a.keyAuthorization),s=await t.sign({hash:o}),c=XC(a.keyAuthorization,{signature:lC(s)});return JR({account:t.address,authorization:c,...a.key?{handle:a.key.handle,publicKey:a.key.publicKey}:{},...a.privateKey?{privateKey:a.privateKey}:{},store:i}),rw(c)}async function HR(e){let{account:t,calls:n,chainId:r,parameters:i,store:a}=e,o=e.now??Date.now()/1e3,s=mz({account:t,chainId:r,store:a});for(let e of s)if(!fz(e.expiry,o)&&nz(e,i)&&!(n&&!ez(e,{calls:n}))&&await dz(e,a))return!0;return!1}function UR(e){return tz(e.parameters.scopes,{calls:e.calls})}async function WR(e){let{accessKey:t,account:n,calls:r,chainId:i,client:a}=e,{store:o}=e,s=e.now??Date.now()/1e3,c=mz({account:n,accessKey:t,chainId:i,store:o}).find(e=>ez(e,{calls:r}));if(c){if(fz(c.expiry,s))return LR.expired;if(c.keyAuthorization){let e=await pz(a,{accessKey:c.address,account:n,now:s}).catch(()=>LR.pending);return e===LR.published&&YR({accessKey:c.address,account:n,chainId:i,store:o}),e===LR.published?LR.published:LR.pending}return await pz(a,{accessKey:c.address,account:n,now:s})}return t?await pz(a,{accessKey:t,account:n,now:s}):LR.missing}async function GR(e){let{account:t,calls:n,chainId:r,store:i}=e,a=e.now??Date.now()/1e3,o=mz({account:t,chainId:r,store:i});for(let e of o){if(!ez(e,{calls:n}))continue;if(fz(e.expiry,a)){await ZR({accessKey:e.address,account:e.access,chainId:e.chainId,store:i});continue}let t=await dz(e,i);if(t)return t}}async function KR(e){let{accessKey:t,account:n,chainId:r}=e,{store:i}=e,a=e.now??Date.now()/1e3,o=mz({account:n,accessKey:t,chainId:r,store:i})[0];if(o){if(fz(o.expiry,a)){await ZR({accessKey:o.address,account:o.access,chainId:o.chainId,store:i});return}return await dz(o,i)}}function qR(e){return IE({source:{get(t){return mz({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})[0]?.keyAuthorization},remove(t){YR({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})},set(t,n){XR({account:t.address,accessKey:t.accessKey,authorization:n,chainId:t.chainId,store:e})}}})}function JR(e){let{account:t,authorization:n,handle:r,keyPair:i,privateKey:a,publicKey:o}=e,{store:s}=e,c={address:n.address,access:t,chainId:Number(n.chainId),expiry:n.expiry??void 0,keyAuthorization:n,keyType:n.type,limits:n.limits,scopes:n.scopes},l=a?{privateKey:a}:i?{keyPair:i}:r!==void 0&&o?{handle:r,publicKey:o}:{},u={...c,...l};return s.state.setState(e=>({accessKeys:[u,...e.accessKeys.filter(e=>!gz(e,{account:u.access,accessKey:u.address,chainId:u.chainId}))]})),u}function YR(e){let{store:t,...n}=e;hz({...n,patch:{keyAuthorization:void 0},store:t})}function XR(e){let{authorization:t,store:n,...r}=e;hz({...r,patch:{expiry:t.expiry??void 0,keyAuthorization:t,limits:t.limits,scopes:t.scopes},store:n})}function ZR(e){let{store:t,...n}=e;t.state.setState(e=>({accessKeys:e.accessKeys.filter(e=>!gz(e,n))}))}function QR(e){let{store:t}=e;t.state.setState({accessKeys:[]})}function $R(e){return e instanceof O&&e.walk(e=>{let t=e.data?.errorName;return!!t&&RR.has(t)})?!0:e instanceof Error&&RR.has(BE(e).errorName)}function ez(e,t){return tz(e.scopes,t)}function tz(e,t){return e===void 0?!0:!Array.isArray(e)||!t.calls?!1:t.calls.every(t=>{if(!t.to)return!1;let n=t.to.toLowerCase(),r=t.data?.slice(0,10).toLowerCase();return e.some(e=>{if(!lz(e)||e.address.toLowerCase()!==n)return!1;let i=e.selector;if(!i)return!e.recipients||e.recipients.length===0;let a=oz(i);if(!a||r!==a)return!1;if(!e.recipients||e.recipients.length===0)return!0;if(!t.data||t.data.length<74)return!1;let o=`0x${t.data.slice(34,74)}`;return I_(o)?e.recipients.some(e=>e.toLowerCase()===o.toLowerCase()):!1})})}function nz(e,t){return!(!rz(e.scopes,t.scopes)||typeof t.reuse?.minExpiry==`number`&&e.expiry&&e.expiry<t.reuse.minExpiry||!cz(e.limits,t.reuse?.minLimits))}function rz(e,t){return!t||!e||t.every(t=>e.some(e=>iz(e,t)))}function iz(e,t){return!lz(e)||!lz(t)||e.address.toLowerCase()!==t.address.toLowerCase()||!az(e.selector,t.selector)?!1:sz(e.recipients,t.recipients)}function az(e,t){if(!e)return!0;if(!t)return!1;let n=oz(e),r=oz(t);return!!n&&n===r}function oz(e){try{return(e.startsWith(`0x`)&&e.length===10?e:Uy(e)).toLowerCase()}catch{return}}function sz(e,t){return!e||e.length===0?!0:!t||t.length===0?!1:t.every(t=>e.some(e=>e.toLowerCase()===t.toLowerCase()))}function cz(e,t){return!t||!e||t.every(t=>e.some(e=>e.token.toLowerCase()===t.token.toLowerCase()&&Number(e.period??0)===Number(t.period??0)&&BigInt(e.limit)>=BigInt(t.limit)))}function lz(e){if(!e||typeof e!=`object`)return!1;let t=e;return!(typeof t.address!=`string`||!I_(t.address)||t.selector!==void 0&&typeof t.selector!=`string`||t.recipients!==void 0&&(!Array.isArray(t.recipients)||t.recipients.some(e=>typeof e!=`string`)||t.recipients.some(e=>!I_(e))))}let uz=new WeakMap;async function dz(e,t){let n=qR(t);if(`keyPair`in e&&e.keyPair)return oT(e.keyPair,{access:e.access,keyAuthorizationManager:n});if(`privateKey`in e&&e.privateKey)switch(e.keyType){case`secp256k1`:return iT(e.privateKey,{access:e.access,keyAuthorizationManager:n});case`p256`:return rT(e.privateKey,{access:e.access,keyAuthorizationManager:n})}if(`handle`in e&&e.handle!==void 0&&e.publicKey){let r=e.keyType===`p256`||e.keyType===`secp256k1`?t.keystores[e.keyType]:void 0;if(!r)return;let i=uz.get(e);i||(i=(async()=>await r.toAccount({handle:e.handle,keyType:e.keyType,publicKey:e.publicKey},{access:e.access,keyAuthorizationManager:n}))(),uz.set(e,i));try{return await i}catch(n){uz.delete(e),GE(n)&&ZR({accessKey:e.address,account:e.access,chainId:e.chainId,store:t});return}}}function fz(e,t){return typeof e==`number`&&e<t}async function pz(e,t){let{accessKey:n,account:r,now:i}=t;try{let t=await jT(e,{account:r,accessKey:n});return t.address.toLowerCase()!==n.toLowerCase()||t.isRevoked?LR.missing:t.expiry>0n&&t.expiry<BigInt(Math.floor(i))?LR.expired:LR.published}catch(e){if($R(e))return LR.missing;throw e}}function mz(e){let{store:t,...n}=e;return t.state.getState().accessKeys.filter(e=>gz(e,n))}function hz(e){let{patch:t,store:n,...r}=e;n.state.setState(e=>({accessKeys:e.accessKeys.map(e=>{if(!gz(e,r))return e;let n={...e};for(let[e,r]of Object.entries(t))r===void 0?delete n[e]:n[e]=r;return n})}))}function gz(e,t){let{accessKey:n,account:r,chainId:i}=t;return!(e.access.toLowerCase()!==r.toLowerCase()||e.chainId!==i||n&&e.address.toLowerCase()!==n.toLowerCase())}function _z(e){switch(e?.keyType){case`secp256k1`:case`p256`:case`webAuthn`:return e.keyType;case`webCrypto`:return`p256`;case`webAuthn_headless`:return`webAuthn`;default:return}}function vz(e){let{address:t,signable:n=!1,store:r}=e,{accounts:i,activeAccount:a}=r.getState(),o=i[a]?.address,s=t?i.find(e=>e.address.toLowerCase()===t.toLowerCase()):i.find(e=>o&&e.address.toLowerCase()===o.toLowerCase());if(!s)throw t?new nS({message:`Account \"${t}\" not found.`}):new iS({message:`No active account.`});return yz(s,{signable:n})}function yz(e,t={}){let{signable:n=!1}=t;if(!n)return{address:e.address,type:`json-rpc`,...e.keyType?{keyType:e.keyType}:{}};if(`sign`in e&&typeof e.sign==`function`)return e;if(!e.keyType)throw new nS({message:`Account \"${e.address}\" cannot sign.`});switch(e.keyType){case`secp256k1`:return iT(e.privateKey);case`p256`:return rT(e.privateKey);case`webCrypto`:return oT(e.keyPair);case`webAuthn`:return aT(e.credential,{rpId:e.credential.rpId});case`webAuthn_headless`:return nT(e.privateKey,{rpId:e.rpId,origin:e.origin});default:throw new nS({message:`Unknown key type.`})}}let bz=new Map;function xz(e,t){let n=wz(e),r=Symbol();n.attachments.add(r);let i=t.dialog({host:t.host,onReject:t=>Ez(e,t),onResponse:t=>Dz(e,t),store:t.store,theme:t.theme}),a=!!(n.dialog&&n.dialog!==i);if(n.dialog&&n.dialog!==i&&n.dialog.destroy(),n.dialog=i,a)for(let e of n.requestQueue)e.synced=!1;return Oz(e),()=>{n.attachments.delete(r),Tz(e)}}function Sz(e,t){let n=wz(e),r=n.ids.prepare(t.request);return new Promise((i,a)=>{n.requestQueue.push({account:t.account,chainId:t.chainId,reject:a,request:r,resolve:i,status:`pending`,synced:!1}),Oz(e)})}function Cz(e){return new URL(e).host}function wz(e){let t=Cz(e),n=bz.get(t);if(n)return n;let r={attachments:new Set,dialog:void 0,ids:vS(),requestQueue:[],synced:!1};return bz.set(t,r),r}function Tz(e){let t=wz(e);t.attachments.size>0||t.requestQueue.length>0||(t.dialog?.destroy(),t.dialog=void 0,t.synced=!1)}function Ez(e,t){if(t.length===0)return;let n=wz(e),r=new Set(t),i=n.requestQueue.filter(e=>r.has(e.request.id));if(i.length!==0){n.requestQueue=n.requestQueue.filter(e=>!r.has(e.request.id));for(let e of i)e.reject(new tS);Oz(e,{force:!0})}}function Dz(e,t){let n=wz(e),r=n.requestQueue.find(e=>e.request.id===t.id);r&&(n.requestQueue=n.requestQueue.filter(e=>e.request.id!==t.id),t.error?r.reject(gS(t.error)):r.resolve(t.result),Oz(e,{force:!0}))}function Oz(e,t={}){let n=wz(e),r=n.dialog;if(!r)return;let i=n.requestQueue;if(i.length===0){n.synced&&r.close(),n.synced=!1,Tz(e);return}let a=i[0];!t.force&&a.synced||(a.synced=!0,n.synced=!0,r.syncRequests({account:a.account,chainId:a.chainId,requests:[kz(a)]}))}function kz(e){return{request:e.request,status:e.status}}z();function Az(e={}){let{dialog:t=w()?ne():te(),host:n=`https://wallet.tempo.xyz/embed`,icon:r=`data:image/svg+xml,<svg width=\"269\" height=\"269\" viewBox=\"0 0 269 269\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"269\" height=\"269\" fill=\"black\"/><path d=\"M123.273 190.794H93.445L121.09 105.318H85.7334L93.445 80.2642H191.95L184.238 105.318H150.773L123.273 190.794Z\" fill=\"white\"/></svg>`,name:i=`Tempo Wallet`,rdns:a=`xyz.tempo`,theme:o}=e;return typeof window<`u`&&!window.isSecureContext&&console.warn(`[accounts] Detected insecure context (HTTP).`,`\\n\\nThe Tempo Wallet iframe dialog is not supported on HTTP origins (${window.location.origin})`,`due to lack of WebAuthn passkey support in non-secure contexts.`),d({icon:r,name:i,rdns:a},({getAccount:e,store:r})=>{let i=xz(n,{dialog:t,host:n,store:r,theme:o});function a(){let{accounts:e,activeAccount:t}=r.getState(),n=e[t];if(n)return{address:n.address}}let s=hS({async request(e){return e.method===`eth_chainId`?I(r.getState().chainId):Sz(n,{account:a(),chainId:r.getState().chainId,request:e})}},{schema:bA});return{cleanup(){i()},forwardsAuth:!0,actions:{async createAccount(e,t){let{accounts:n}=await s.request({...t}),r=n[0]?.capabilities,i=r?.keyAuthorization;return{accounts:n.map(e=>({address:e.address})),...r?.auth?{auth:r.auth}:{},...r?.identity?{identity:r.identity}:{},...i?{keyAuthorization:i}:{},...r?.signature?{signature:r.signature}:{},...r?.personalSign?{personalSign:r.personalSign}:{}}},async loadAccounts(e,t){let{accounts:n}=await s.request({...t}),r=n[0]?.capabilities,i=r?.keyAuthorization;return{accounts:n.map(e=>({address:e.address})),...r?.auth?{auth:r.auth}:{},...r?.identity?{identity:r.identity}:{},...i?{keyAuthorization:i}:{},...r?.signature?{signature:r.signature}:{},...r?.personalSign?{personalSign:r.personalSign}:{}}},async deposit(e,t){return await s.request(t)},async transfer(e,t){return await s.request({...t,params:[MD(fA.parameters,e)]})},async swap(e,t){return await s.request(t)},async depositZone(e,t){return await s.request({...t,params:[MD(_A.parameters,e)]})},async withdrawZone(e,t){return await s.request({...t,params:[MD(vA.parameters,e)]})},async disconnect(){r.disconnect()}},getAccount(t={}){return{account:{address:e({address:t.address,signable:!1}).address,type:`json-rpc`},transport:Gb(s)}}}})}let jz=new Map,Mz=new WeakMap;function Nz(e,t){let{chains:n,feePayer:r,provider:i,store:a,transports:o}=t,s=(()=>{if(r!==!1){if(typeof r==`string`)return Fz(r);if(r?.url)return Fz(r.url)}})(),c=typeof r==`object`&&r?r.precedence??`fee-payer-first`:`fee-payer-first`,l=e??a.getState().chainId,u=`${l}:${i?`p`:``}:${r===!1?`no-fp`:s??``}:${c}`,d=i??o,f=(()=>{if(!d)return jz;let e=Mz.get(d);return e||(e=new Map,Mz.set(d,e)),e})(),p=f.get(u);if(!p){let e=n.find(e=>e.id===l)??n[0],t=o?.[l]??Xb(),r=i?Pz(i,t):t;p=Eh({chain:e,transport:s?Iz(r,s,c):r,pollingInterval:1e3}),f.set(u,p)}return p}function Pz(e,t){return n=>({...t(n),async request({method:t,params:n}){return e.request({method:t,params:n})}})}function Fz(e){return e.startsWith(`http://`)||e.startsWith(`https://`)?e:typeof window<`u`?new URL(e,window.location.origin).href:e}function Iz(e,t,n){return r=>{let i=e(r),a=Xb(t)(r);return{...i,async request({method:e,params:t}){let r=t;if(n===`fee-payer-first`&&e===`eth_fillTransaction`){let t=r?.[0];if(t&&typeof t==`object`&&`feePayer`in t&&(t.feePayer===!0||typeof t.feePayer==`string`))return a.request({method:e,params:[{...t,feePayer:!0}]})}if(e===`eth_sendRawTransaction`||e===`eth_sendRawTransactionSync`){let t=r?.[0];if(typeof t==`string`&&(t.startsWith(`0x76`)||t.startsWith(`0x78`))){let n=Zw(t);if(`feePayerSignature`in n&&n.feePayerSignature===null){let n=await a.request({method:`eth_signRawTransaction`,params:[t]});return await i.request({method:e,params:[n]})}}}return await i.request({method:e,params:t})}}}}let Lz=new Set([`InvalidSignature`,`InvalidSignatureFormat`,`InvalidSignatureType`,`KeyAlreadyRevoked`,`KeyExpired`,`KeyNotFound`,`SignatureTypeMismatch`]);async function Rz(e){let{address:t,calls:n,chainId:r,client:i,store:a}=e,o=await a.accessKeys.select({account:t,calls:n,chainId:r});if(o)return zz({account:o,address:t,chainId:r,client:i,store:a})}function zz(e){let{account:t,address:n,chainId:r,client:i,store:a}=e;return{async fill(e){try{let n=await Zd(i,{account:t,...e,parameters:[],type:`tempo`});return await Vz(i,n)}catch(e){throw Hz(e,{account:t,address:n,chainId:r,store:a}),e}},async prepare(e){try{let o=await Zd(i,{account:t,...e,type:`tempo`});return Bz({account:t,address:n,chainId:r,client:i,request:o,store:a})}catch(e){throw Hz(e,{account:t,address:n,chainId:r,store:a}),e}}}}function Bz(e){let{account:t,address:n,chainId:r,client:i,request:a,store:o}=e;async function s(){try{return await t.signTransaction(a)}catch(e){throw Hz(e,{account:t,address:n,chainId:r,store:o}),e}}return{request:a,sign:s,async send(){try{let e=await s();return await i.request({method:`eth_sendRawTransaction`,params:[e]})}catch(e){throw Hz(e,{account:t,address:n,chainId:r,store:o}),e}},async sendSync(){try{let e=await s();return await i.request({method:`eth_sendRawTransactionSync`,params:[e]})}catch(e){throw Hz(e,{account:t,address:n,chainId:r,store:o}),e}}}}async function Vz(e,t){let n=e.chain?.formatters?.transactionRequest,r=n?n.format({...t},`fillTransaction`):t;return await e.request({method:`eth_fillTransaction`,params:[r]})}function Hz(e,t){Uz(e)&&t.store.accessKeys.remove({accessKey:t.account.accessKeyAddress,account:t.address,chainId:t.chainId})}function Uz(e){if(!(e instanceof Error))return!1;let t=BE(e);if(Lz.has(t.errorName))return!0;let n=Wz(e);return[...Lz].some(e=>n.includes(e))}function Wz(e){if(!(e instanceof Error))return``;let t=e.details,n=e.shortMessage,r=e.cause;return[e.message,typeof t==`string`?t:``,typeof n==`string`?n:``,Wz(r)].join(`\n`)}function Gz(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(Gz.cache.get(n))return Gz.cache.get(n);let r=e().finally(()=>Gz.cache.delete(n));return Gz.cache.set(n,r),r}Gz.cache=new Map;function Kz(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function qz(e,t){let n,r=()=>{if(n)return n;let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),n=Kz(r),n.then(e=>{e.onclose=()=>n=void 0},()=>{}),n};return(e,n)=>r().then(r=>n(r.transaction(t,e).objectStore(t)))}let Jz;function Yz(){return Jz||=qz(`keyval-store`,`keyval`),Jz}function Xz(e,t=Yz()){return t(`readonly`,t=>Kz(t.get(e)))}function Zz(e,t,n=Yz()){return n(`readwrite`,n=>(n.put(t,e),Kz(n.transaction)))}function Qz(e,t=Yz()){return t(`readwrite`,t=>(t.delete(e),Kz(t.transaction)))}let $z=Symbol.for(`accounts.storage.supportsStructuredClone`);function eB(e,t={}){let n=`${t.key??`tempo`}.`,r={getItem:t=>e.getItem(`${n}${t}`),setItem:(t,r)=>e.setItem(`${n}${t}`,r),removeItem:t=>e.removeItem(`${n}${t}`)};return tB(e)?nB(r):r}function tB(e){return e[$z]===!0}function nB(e){return Object.assign(e,{[$z]:!0})}function rB(e={}){let t=typeof indexedDB<`u`?qz(`tempo`,`store`):void 0;return nB(eB({async getItem(e){let n=await Xz(e,t);return n===null?null:n},async setItem(e,n){await Zz(e,n,t)},async removeItem(e){await Qz(e,t)}},e))}function iB(e={}){let t=new Map;return nB(eB({getItem(e){return t.get(e)??null},setItem(e,n){t.set(e,n)},removeItem(e){t.delete(e)}},e))}let aB=e=>(t,n,r)=>{let i=r.subscribe;return r.subscribe=((e,t,n)=>{let a=e;if(t){let i=n?.equalityFn||Object.is,o=e(r.getState());a=n=>{let r=e(n);if(!i(o,r)){let e=o;t(o=r,e)}},n?.fireImmediately&&t(o,o)}return i(a)}),e(t,n,r)};function oB(e,t){let n;try{n=e()}catch{return}return{getItem:e=>{let r=e=>e===null?null:JSON.parse(e,t?.reviver),i=n.getItem(e)??null;return i instanceof Promise?i.then(r):r(i)},setItem:(e,r)=>n.setItem(e,JSON.stringify(r,t?.replacer)),removeItem:e=>n.removeItem(e)}}let sB=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return sB(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return sB(t)(e)}}}},cB=(e,t)=>(n,r,i)=>{let a={storage:oB(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},o=!1,s=0,c=new Set,l=new Set,u=a.storage;if(!u)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${a.name}', the given storage is currently unavailable.`),n(...e)},r,i);let d=()=>{let e=a.partialize({...r()});return u.setItem(a.name,{state:e,version:a.version})},f=i.setState;i.setState=(e,t)=>(f(e,t),d());let p=e((...e)=>(n(...e),d()),r,i);i.getInitialState=()=>p;let m,h=()=>{if(!u)return;let e=++s;o=!1,c.forEach(e=>e(r()??p));let t=a.onRehydrateStorage?.call(a,r()??p)||void 0;return sB(u.getItem.bind(u))(a.name).then(e=>{if(e)if(typeof e.version==`number`&&e.version!==a.version){if(a.migrate){let t=a.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error(`State loaded from storage couldn't be migrated since no migrate function was provided`)}else return[!1,e.state];return[!1,void 0]}).then(t=>{if(e!==s)return;let[i,o]=t;if(m=a.merge(o,r()??p),n(m,!0),i)return d()}).then(()=>{e===s&&(t?.(r(),void 0),m=r(),o=!0,l.forEach(e=>e(m)))}).catch(n=>{e===s&&t?.(void 0,n)})};return i.persist={setOptions:e=>{a={...a,...e},e.storage&&(u=e.storage)},clearStorage:()=>{u?.removeItem(a.name)},getOptions:()=>a,rehydrate:()=>h(),hasHydrated:()=>o,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(l.add(e),()=>{l.delete(e)})},a.skipHydration||h(),m||p},lB=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},uB=(e=>e?lB(e):lB),dB=Symbol.for(`accounts.storage.supportsStructuredClone`);function fB(e){let{chainId:t,keystores:n=KE,maxAccounts:r,persistCredentials:i=!0,schema:a,storage:o=typeof window<`u`?rB({key:`tempo`}):iB({key:`tempo`})}=e,s=uB(aB(cB(()=>({accessKeys:[],accounts:[],activeAccount:0,chainId:t}),{merge:(e,t)=>mB(e,t,{schema:a}),name:`store`,partialize:e=>pB(e,{keystores:n,maxAccounts:r,persistCredentials:i,structuredClone:yB(o)}),storage:o,version:0}))),c=s;return c.accessKeys=zR({keystores:n,state:s}),c.disconnect=()=>s.setState({accessKeys:[],accounts:[],activeAccount:0,auth:void 0}),c}function pB(e,t={}){let{keystores:n,maxAccounts:r,persistCredentials:i=!0,structuredClone:a=!1}=t;return{accounts:r&&e.accounts.length>r?e.accounts.slice(0,r):e.accounts,activeAccount:e.activeAccount,...i?{accessKeys:e.accessKeys.map(e=>_B(e,{keystores:n,structuredClone:a}))}:{},...e.auth?{auth:e.auth}:{},chainId:e.chainId}}function mB(e,t,n={}){let r=e&&typeof e==`object`?e:{},i=(Array.isArray(r.accounts)?r.accounts.filter(gB):void 0)?.map(e=>t.accounts.find(t=>t.address.toLowerCase()===e.address.toLowerCase())??e)??t.accounts,a=n.schema?i.filter(e=>AD(n.schema,e).success):i;return{...r,...t,accounts:a,activeAccount:a.length===0?0:Math.min(r.activeAccount??t.activeAccount,a.length-1),accessKeys:hB(r.accessKeys)??t.accessKeys,chainId:r.chainId??t.chainId}}function hB(e){if(e)return e.filter(e=>{if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.access==`string`&&typeof t.address==`string`&&typeof t.chainId==`number`&&(t.keyType===`secp256k1`||t.keyType===`p256`||t.keyType===`webAuthn`||t.keyType===`webCrypto`)})}function gB(e){return!e||typeof e!=`object`?!1:typeof e.address==`string`}function _B(e,t){if(t.structuredClone)return e;let{keyPair:n,...r}=e;if(`handle`in r&&vB(t.keystores,r.keyType)){let{handle:e,...t}=r;return t}return r}function vB(e,t){return t!==`p256`&&t!==`secp256k1`?!1:e?.[t]?.requiresStructuredClone===!0}function yB(e){return e[dB]===!0}async function bB(e){e.persist.hasHydrated()||await new Promise(t=>{e.persist.onFinishHydration(()=>t()),setTimeout(()=>t(),100)})}let xB=new Map;async function SB(e){let{chainId:t,baseUrl:n=`https://tokenlist.tempo.xyz`}=e,r=`${n}|${t}`,i=xB.get(r);if(i)return i;let a=(async()=>{try{let e=await globalThis.fetch(`${n}/list/${t}`);return e.ok?(await e.json()).tokens.map(({logoURI:e,...t})=>({...t,logoUri:t.logoUri??e})):[]}catch{return[]}})();return xB.set(r,a),a.then(e=>{e.length===0&&xB.delete(r)}),a}async function CB(e){let{symbol:t,...n}=e,r=await SB(n),i=t.toLowerCase();return r.find(e=>e.symbol.toLowerCase()===i)}function wB(e,t){let n=AD(e,t);if(n.error){let e=n.error.issues.at(0);throw e?.code===`invalid_union`&&e.note===`No matching discriminator`?new rS({message:`Unsupported method \"${t?.method}\".`}):new eS(-32602,`Invalid params: ${TB(n.error.issues)}`)}return{...t,_decoded:n.data}}function TB(e){return e.flatMap(e=>e.code===`invalid_union`&&e.errors.length>0?e.errors.flatMap(t=>t.map(t=>`${[...e.path,...t.path].join(`.`)}: ${t.code===`invalid_union`&&t.errors.length>0?TB([t]):t.message}`)):[`${e.path.join(`.`)}: ${e.message}`]).join(`, `)}z(),If();let EB=new Set;function DB(){return typeof document<`u`&&!!globalThis.crypto?.subtle}function OB(e={}){let{adapter:t=Az(),chains:n=[lE,uE,PE],maxAccounts:r,persistCredentials:i,relay:a,testnet:o,storage:s=typeof window<`u`?rB():iB()}=e,c=e.accessKey?.authorize??e.authorizeAccessKey,l={},u=(()=>{if(!(!a&&!e.transports))return{...a?Object.fromEntries(n.map(e=>[e.id,Xb(`${a.replace(/\\/$/,``)}/${e.id}`)])):{},...e.transports}})(),d=(()=>{if(e.feePayer)return typeof e.feePayer==`string`?{precedence:`fee-payer-first`,url:e.feePayer}:{precedence:e.feePayer.precedence??`fee-payer-first`,url:e.feePayer.url}})(),f=fB({chainId:(o?n.find(e=>e.testnet)??n[n.length-1]:n[0]).id,keystores:l,maxAccounts:r,persistCredentials:i,schema:t.schema,storage:s}),p=(e={})=>vz({...e,store:f}),m;function h(e={}){let{chainId:t,feePayer:r}=e;return Nz(t,{chains:n,feePayer:(()=>{if(r===!1)return!1;if(r)return{url:r,precedence:d?.precedence}})(),store:f,transports:u})}let g=t({getAccount:p,getClient:h,storage:s,store:f}),{actions:_}=g,v=e.accessKey?.keystores??g.accessKey?.keystores;Object.assign(l,v??KE);let y=mS();f.subscribe(e=>e.accounts.map(e=>e.address).join(),()=>y.emit(`accountsChanged`,f.getState().accounts.map(e=>e.address))),f.subscribe(e=>e.chainId,e=>y.emit(`chainChanged`,I(e))),f.subscribe(e=>e.accounts.length>0,e=>{e?y.emit(`connect`,{chainId:I(f.getState().chainId)}):y.emit(`disconnect`,new iS)});function b(){if(f.getState().accounts.length===0)throw new iS({message:`No accounts connected.`})}function x(){let{accounts:e,activeAccount:t}=f.getState();if(e.length===0)return[];let n=e[t]?.address,r=e.findIndex(e=>e.address===n),i=[...e];if(r>=0){let[e]=i.splice(r,1);return[e.address,...i.map(e=>e.address)]}return i.map(e=>e.address)}function S(e){throw new rS({message:`\\`${e}\\` not supported by adapter.`})}async function C(e={}){return g.getAccount||S(`getAccount`),await g.getAccount(e)}function w(e){let t=h({chainId:e.chainId,feePayer:e.feePayer});return Ub({account:e.account,chain:t.chain,transport:e.transport??Gb({request:t.request})})}async function T(e){let{feePayer:t,...n}=e,r=await C({address:e.from}),i=w({account:r.account,chainId:e.chainId,feePayer:t===!0?void 0:t,transport:r.transport}),a={...n,...t?{feePayer:!0}:{}};return r.account.type===`json-rpc`?{client:i,request:a,selected:r}:{client:i,request:await Zd(i,{account:r.account,...a,type:`tempo`}),selected:r}}async function ee(e){{let t=f.getState(),n=e.chainId??t.chainId,r=h({chainId:n,feePayer:(()=>{if(e.feePayer===!1)return!1;if(typeof e.feePayer==`string`)return e.feePayer})()}),i=e.from??t.accounts[t.activeAccount]?.address,a=i?await Rz({address:i,calls:e.calls,chainId:n,client:r,store:f}):void 0;if(a)try{let{feePayer:t,...n}=e;return await(await a.prepare({...n,...t?{feePayer:!0}:{}})).sign()}catch{}}let{client:t,request:n,selected:r}=await T(e);return r.account.type===`json-rpc`?await Rb(t,n):await r.account.signTransaction(n)}async function te(e){{let t=f.getState(),n=e.chainId??t.chainId,r=h({chainId:n,feePayer:(()=>{if(e.feePayer===!1)return!1;if(typeof e.feePayer==`string`)return e.feePayer})()}),i=e.from??t.accounts[t.activeAccount]?.address,a=i?await Rz({address:i,calls:e.calls,chainId:n,client:r,store:f}):void 0;if(a)try{let{feePayer:t,...n}=e;return await(await a.prepare({...n,...t?{feePayer:!0}:{}})).send()}catch{}}let{feePayer:t,...n}=e,r=await C({address:e.from});return await dh(w({account:r.account,chainId:e.chainId,feePayer:t===!0?void 0:t,transport:r.transport}),{...n,...t?{feePayer:!0}:{}})}async function ne(e){{let t=f.getState(),n=e.chainId??t.chainId,r=h({chainId:n,feePayer:(()=>{if(e.feePayer===!1)return!1;if(typeof e.feePayer==`string`)return e.feePayer})()}),i=e.from??t.accounts[t.activeAccount]?.address,a=i?await Rz({address:i,calls:e.calls,chainId:n,client:r,store:f}):void 0;if(a)try{let{feePayer:t,...n}=e;return await(await a.prepare({...n,...t?{feePayer:!0}:{}})).sendSync()}catch{}}let{feePayer:t,...n}=e,r=await C({address:e.from}),i=w({account:r.account,chainId:e.chainId,feePayer:t===!0?void 0:t,transport:r.transport}),a={...n,...t?{feePayer:!0}:{}};if(r.account.type===`json-rpc`)return await i.request({method:`eth_sendTransactionSync`,params:[MD(Wk,a)]});let o=await bb(i,{account:r.account,...a});return MD(zk,o)}async function re(e){let t=await C({address:e.address}),n=w({account:t.account,transport:t.transport});return t.account.type===`json-rpc`?await n.signMessage({account:t.account,message:{raw:e.data}}):await t.account.sign({hash:dg({raw:e.data})})}async function ie(e){let t=JSON.parse(e.data),n=await C({address:e.address}),r=w({account:n.account,transport:n.transport});return n.account.type===`json-rpc`?await r.signTypedData({account:n.account,...t}):await n.account.sign({hash:yg(t)})}async function ae(e){let t=await C(),n=e.chainId??h().chain.id;if(t.account.type!==`json-rpc`)return{keyAuthorization:await f.accessKeys.authorize({account:t.account,chainId:n,parameters:e}),rootAddress:t.account.address};let r=await oe(e,Number(n)),i=await w({account:t.account,chainId:Number(n),transport:t.transport}).request({method:`wallet_authorizeAccessKey`,params:[MD(iA.parameters,r.parameters)]});return await ce({account:i.rootAddress,accessKey:r,keyAuthorization:i.keyAuthorization}),i}async function oe(e,t){let n=e.chainId??t??h().chain.id;if(e.privateKey||e.address||e.publicKey){let t=await BR({...e,chainId:n});return{parameters:se(e,t.keyAuthorization),...t.privateKey?{privateKey:t.privateKey}:{}}}if(!v&&!DB())return{parameters:e};let{key:r,keyAuthorization:i}=await BR({...e,chainId:n,keystores:l});if(!r)throw new Qx({message:`Keystore did not produce access-key material.`});return{key:r,parameters:{...se(e,i),publicKey:r.publicKey}}}function se(e,t){let n={...e};return delete n.privateKey,{...n,address:t.address,chainId:t.chainId,keyType:t.type}}async function ce(e){let{accessKey:t,account:n,keyAuthorization:r}=e;if(!n||!r||!t)return;let{key:i,privateKey:a}=t,o=i?{handle:i.handle,publicKey:i.publicKey}:a?{privateKey:a}:void 0;o&&f.accessKeys.add({account:n,authorization:ZC(r),...o})}async function le(e){let t=await C({address:e.address}),n=w({account:t.account,transport:t.transport});if(t.account.type===`json-rpc`)await n.request({method:`wallet_revokeAccessKey`,params:[e]});else try{await FT(h(),{account:t.account,accessKey:e.accessKeyAddress})}catch(e){if(!$R(e))throw e}f.accessKeys.remove({accessKey:e.accessKeyAddress,account:e.address,chainId:f.getState().chainId})}async function ue(e){let t=await C({address:e.address}),n=Number(e.chainId??h().chain.id);if(t.account.type===`json-rpc`){await w({account:t.account,chainId:n,transport:t.transport}).request({method:`wallet_updateAccessKey`,params:[MD(sA.parameters,e)]});return}let r=e.limits.map(t=>IT.call({accessKey:e.accessKeyAddress,limit:t.limit,token:t.token}));await bb(h({chainId:n}),{account:t.account,calls:r})}async function de(e,t){if(_.signTransaction)return await _.signTransaction(e,t);if(g.getAccount)return await ee(e);S(`signTransaction`)}async function fe(e,t){if(_.sendTransaction)return await _.sendTransaction(e,t);if(g.getAccount)return await te(e);S(`sendTransaction`)}async function pe(e,t){if(_.sendTransactionSync)return await _.sendTransactionSync(e,t);if(g.getAccount)return await ne(e);S(`sendTransactionSync`)}async function me(e,t){if(_.signPersonalMessage)return await _.signPersonalMessage(e,t);if(g.getAccount)return await re(e);S(`signPersonalMessage`)}async function he(e,t){if(_.signTypedData)return await _.signTypedData(e,t);if(g.getAccount)return await ie(e);S(`signTypedData`)}async function ge(e,t){if(_.authorizeAccessKey)return await _.authorizeAccessKey(e,t);if(g.getAccount)return await ae(e);S(`authorizeAccessKey`)}async function _e(e,t){if(_.revokeAccessKey)return await _.revokeAccessKey(e,t);if(g.getAccount)return await le(e);S(`revokeAccessKey`)}async function ve(e,t){if(_.updateAccessKey)return await _.updateAccessKey(e,t);if(g.getAccount)return await ue(e);S(`updateAccessKey`)}function ye(e){if(!g.persistAccounts)return e;let t=[...e];for(let e of f.getState().accounts)t.some(t=>t.address.toLowerCase()===e.address.toLowerCase())||t.push(e);return t}function be(e){if(e===!1)return!1;let t=typeof e==`string`?e:d?.url;if(t)return t.startsWith(`http://`)||t.startsWith(`https://`)?t:typeof window<`u`?new URL(t,window.location.origin).href:t}function xe(e){let{reuse:t,...n}=e;return n}function Se(){return typeof c==`function`?c():c}async function Ce(e){let t=Se();if(!t)return;let n=we(e.capabilities);if(!(n&&await HR({account:n,chainId:Number(t.chainId??e.chainId),parameters:t,store:{keystores:l,state:f}})))return xe(t)}function we(e){let t=f.getState();if(t.accounts.length!==0&&!(e&&`selectAccount`in e&&e.selectAccount))return e&&`credentialId`in e&&e.credentialId?t.accounts.find(t=>`credential`in t&&t.credential?.id===e.credentialId)?.address:e?.method===`register`&&e.name?t.accounts.find(t=>`credential`in t&&t.label?.toLowerCase()===e.name.toLowerCase())?.address:t.accounts[t.activeAccount]?.address??t.accounts[0]?.address}async function Te(e){let t=Se();if(!t||await f.accessKeys.select({account:e.address,...e.calls?{calls:e.calls}:{},chainId:Number(t.chainId??e.chainId)})||!UR({parameters:t,calls:e.calls}))return;let n=xe(t);await ge(n,{method:`wallet_authorizeAccessKey`,params:[MD(iA.parameters,n)]})}let Ee=Object.assign(hS({...y,async request({method:t,params:r}){return await bB(f),Gz(async()=>{let i;try{i=wB(SA,{method:t,params:r})}catch(e){if(!(e instanceof rS))throw e;return await Nz(void 0,{chains:n,store:f,transports:u}).request({method:t,params:r})}return await(async()=>{switch(i.method){case`eth_accounts`:return x();case`eth_chainId`:return I(f.getState().chainId);case`eth_requestAccounts`:{let e=x();if(e.length>0)return e;let{accounts:t}=await _.loadAccounts(void 0,{method:`wallet_connect`,params:void 0});return f.setState({accounts:ye(t),activeAccount:0}),t.map(e=>e.address)}case`eth_sendTransaction`:{b();let[e]=i._decoded.params,{to:t,data:n,...r}=e,a=e.calls??(t?[{to:t,data:n,value:e.value}]:void 0),o=f.getState(),s=e.chainId??o.chainId,c=e.from??o.accounts[o.activeAccount]?.address;return c&&await Te({address:c,...a?{calls:a}:{},chainId:s}),await fe({...r,chainId:s,from:c,...a?{calls:a}:{},feePayer:be(e.feePayer)},i)}case`eth_fillTransaction`:{let[e]=i._decoded.params,t={...e},n=be(t.feePayer),r=h({chainId:t.chainId,feePayer:n}),a=f.getState(),o=t.chainId??a.chainId,s=t.from??a.accounts[a.activeAccount]?.address,c=(()=>{if(!s)return;let e=t.keyType??_z(a.accounts.find(e=>e.address.toLowerCase()===s.toLowerCase()));if(e)return{address:s,keyType:e,type:`json-rpc`}})(),l=(e=c)=>{let i={...t,...e?{account:e,from:e.address}:{},chainId:o,...n?{feePayer:!0}:{}},a=r.chain?.formatters?.transactionRequest,s=a?a.format({...i},`fillTransaction`):i;return r.request({method:`eth_fillTransaction`,params:[s]})};if(t.keyAuthorization)return await l();if(s){let e=await Rz({address:s,calls:t.calls??(t.to?[{data:t.data,to:t.to}]:void 0),chainId:o,client:r,store:f});if(e)try{return await e.fill({...t,chainId:o,from:s,...n?{feePayer:!0}:{}})}catch{}}return await l()}case`eth_signTransaction`:{b();let[e]=i._decoded.params,{to:t,data:n,...r}=e,a=e.calls??(t?[{to:t,data:n,value:e.value}]:void 0),o=f.getState();return await de({...r,chainId:e.chainId??o.chainId,from:e.from??o.accounts[o.activeAccount]?.address,...a?{calls:a}:{},feePayer:be(e.feePayer)},i)}case`eth_sendTransactionSync`:{b();let[e]=i._decoded.params,{to:t,data:n,...r}=e,a=e.calls??(t?[{to:t,data:n,value:e.value}]:void 0),o=f.getState(),s=e.chainId??o.chainId,c=e.from??o.accounts[o.activeAccount]?.address;return c&&await Te({address:c,...a?{calls:a}:{},chainId:s}),await pe({...r,chainId:s,from:c,...a?{calls:a}:{},feePayer:be(e.feePayer)},i)}case`eth_signTypedData_v4`:{b();let[e,t]=i._decoded.params;return await he({address:e,data:t},i)}case`personal_sign`:{b();let[e,t]=i._decoded.params;return await me({address:t,data:e},i)}case`wallet_sendCalls`:try{b();let{calls:e=[],capabilities:t,chainId:n,from:r}=i._decoded.params?.[0]??{},a=t?.sync,o=be(t?.feePayer??(d?!0:void 0)),s=f.getState(),c=r??s.accounts[s.activeAccount]?.address;c&&await Te({address:c,calls:e,chainId:n??s.chainId});let l={calls:e,chainId:n,from:c,...o?{feePayer:o}:{}};if(!a){let e=F(await fe(l,{method:`eth_sendTransaction`,params:[MD(Wk,l)]}),mp(I(f.getState().chainId),32),AB);return{capabilities:{sync:a},id:e}}let u=await pe(l,{method:`eth_sendTransactionSync`,params:[MD(Wk,l)]}),p=u.transactionHash,m=I(f.getState().chainId),h=F(p,mp(m,32),AB);return{atomic:!0,capabilities:{sync:a},chainId:m,id:h,receipts:[u],status:u.status===`0x1`?200:500,version:`2.0.0`}}catch(e){throw jB(e)}case`wallet_getBalances`:{let e=i._decoded.params?.[0],{accounts:t,activeAccount:r}=f.getState(),a=e?.account??t[r]?.address;if(!a)throw new iS({message:`No accounts connected.`});let o=e?.tokens;if(!o||o.length===0)throw new Zx({message:\"`tokens` is required.\"});let s=Nz(e?.chainId,{chains:n,store:f,transports:u});return await Promise.all(o.map(async e=>{let[t,n]=await Promise.all([_E(s,{account:a,token:e}),vE(s,{token:e})]),r=Number(t)/10**n.decimals,i=new Intl.NumberFormat(`en-US`,{style:`currency`,currency:`USD`}).format(r);return{address:e,balance:I(t),decimals:n.decimals,display:i,name:n.name,symbol:n.symbol}}))}case`wallet_getCallsStatus`:{let[e]=i._decoded.params??[];if(!e)throw Error(\"`id` not found\");if(!e.endsWith(AB.slice(2)))throw Error(\"`id` not supported\");lp(e);let t=L(e,0,32),r=I(Number(L(e,32,64))),a=await Nz(Number(r),{chains:n,store:f,transports:u}).request({method:`eth_getTransactionReceipt`,params:[t]});return{atomic:!0,chainId:r,id:e,receipts:a?[a]:[],status:a?a.status===`0x1`?200:500:100,version:`2.0.0`}}case`wallet_getCapabilities`:{let e=i._decoded.params,t=e?.[0],r=e?.[1];if(t){let{accounts:e}=f.getState();if(!e.some(e=>e.address.toLowerCase()===t.toLowerCase()))throw new nS({message:`Address ${t} is not connected.`})}let a=r?n.filter(e=>r.includes(I(e.id))):n,o={};for(let e of a)o[I(e.id)]={accessKeys:{status:`supported`},atomic:{status:`supported`},...d?{feePayer:{status:`supported`}}:{}};return o}case`wallet_connect`:{let t=i._decoded.params?.[0]?.chainId;t&&f.setState(e=>({...e,chainId:t}));let n=i._decoded.params?.[0]?.capabilities,r=n?.authorizeAccessKey??await Ce({capabilities:n,chainId:t??f.getState().chainId}),a=n?.auth??e.auth,o=a?FB(a):void 0;if(o&&typeof o==`object`&&!o.challenge)throw new Zx({message:\"`auth` capability must include either `url` or an explicit `challenge` endpoint.\"});if(o&&n?.personalSign)throw new Zx({message:\"`auth` and `personalSign` cannot both be set on `wallet_connect`.\"});let s=r?await oe(r,t):void 0;(o||s)&&(i={...i,params:[{...i.params?.[0],capabilities:{...i.params?.[0]?.capabilities,...o?{auth:o}:{},...s?{authorizeAccessKey:MD(cA.authorizeAccessKey,s.parameters)}:{}}}]});let c=o&&!g.forwardsAuth?await RB(o,t??f.getState().chainId??0):void 0,l=c?{message:c.message}:n?.personalSign,{accounts:u,auth:d,identity:p,keyAuthorization:m,personalSign:h,signature:v,username:y}=await(async()=>{if(n?.method===`register`){let e=n.name?f.getState().accounts.find(e=>`credential`in e&&e.label?.toLowerCase()===n.name.toLowerCase()):void 0;return e&&`credential`in e?await _.loadAccounts({credentialId:e.credential?.id,digest:n.digest,authorizeAccessKey:s?.parameters,...l?{personalSign:l}:{},...n.showDeposit===void 0?{}:{showDeposit:n.showDeposit}},i):await _.createAccount({digest:n.digest,authorizeAccessKey:s?.parameters,name:n.name??`default`,...n.showDeposit===void 0?{}:{showDeposit:n.showDeposit},userId:n.userId??gp(16),...l?{personalSign:l}:{}},i)}return await _.loadAccounts({credentialId:n?.credentialId,digest:n?.digest,authorizeAccessKey:s?.parameters,selectAccount:n?.selectAccount,...l?{personalSign:l}:{},...n?.showDeposit===void 0?{}:{showDeposit:n.showDeposit}},i)})();f.setState({accounts:ye(u),activeAccount:0,auth:o&&typeof o==`object`?o:void 0});let b=u[0]?.address;await ce({accessKey:s,account:b,keyAuthorization:m});let x=o&&typeof o==`object`?o.verify:void 0,S=c?.message??h?.message,C=o&&x&&S&&v&&b?await zB(o,{address:b,message:S,signature:v,...p?.idToken?{idToken:p.idToken}:{},...h?.keyAuthorization?{keyAuthorization:h.keyAuthorization}:{}}):void 0;return{accounts:u.map(e=>({address:e.address,capabilities:e.address===b?{...m?{keyAuthorization:{...m,address:m.keyId}}:{},...v&&(!o||C||!x)?{signature:v}:{},...y===void 0?{}:{username:y},...C??d?{auth:C??d}:{},...p?{identity:p}:{},...h?{personalSign:{message:h.message,...h.keyAuthorization?{keyAuthorization:h.keyAuthorization}:{}}}:{}}:{}}))}}case`wallet_disconnect`:{let t=(()=>{let t=f.getState().auth;if(t?.logout)return t.logout;if(e.auth)try{let t=FB(e.auth);return typeof t==`object`?t.logout:void 0}catch{return}})();t&&await fetch(t,{method:`POST`,credentials:`include`}).catch(()=>{}),await _.disconnect?.(),f.disconnect();return}case`wallet_authorizeAccessKey`:{let e=i._decoded.params[0],t=await ge(e,i);return{keyAuthorization:{...t.keyAuthorization,address:t.keyAuthorization.keyId},rootAddress:t.rootAddress}}case`wallet_revokeAccessKey`:{b();let[e]=i._decoded.params;await _e({...e},i);return}case`wallet_updateAccessKey`:{b();let[e]=i._decoded.params;await ve({...e},i);return}case`wallet_deposit`:if(!_.deposit)throw new rS({message:\"`deposit` not supported by adapter.\"});return await _.deposit(i._decoded.params?.[0]??{},i);case`wallet_transfer`:{b();let e=i._decoded.params?.[0]??{editable:!0};if(e.editable===!0){if(!_.transfer)throw new rS({message:\"`transfer` not supported by adapter.\"});let t={...e,...e.feePayer===void 0?{}:{feePayer:be(e.feePayer)}};return await _.transfer(t,i)}let{amount:t,feePayer:n,from:r,memo:a,to:o,token:s}=e,c=f.getState(),l=e.chainId??c.chainId,u=be(n),d=h({chainId:l,feePayer:typeof u==`string`?u:void 0}),{address:p,decimals:m}=await(async()=>{if(I_(s)){let e=await vE(d,{token:s});return{address:s,decimals:e.decimals}}let e=await CB({chainId:d.chain.id,symbol:s});if(!e)throw new eS(-32602,`Unknown token symbol \"${s}\".`);return{address:e.address,decimals:e.decimals}})(),g=ky(t,m),v=c.accounts[c.activeAccount]?.address,y=r&&v&&r.toLowerCase()!==v.toLowerCase()?r:void 0,x={calls:[AE.call({amount:g,...y?{from:y}:{},memo:a?pp(a):void 0,to:o,token:p})],chainId:l,from:v,...u===void 0?{}:{feePayer:u}},S=await pe(x,{method:`eth_sendTransactionSync`,params:[MD(Wk,x)]});return{chainId:I(l),receipt:S}}case`wallet_swap`:if(b(),!_.swap)throw new rS({message:\"`swap` not supported by adapter.\"});return await _.swap(i._decoded.params?.[0]??{},i);case`wallet_depositZone`:{if(b(),!_.depositZone)throw new rS({message:\"`depositZone` not supported by adapter.\"});let e=i._decoded.params?.[0]??{},t={...e,...e.feePayer===void 0?{}:{feePayer:be(e.feePayer)}};return await _.depositZone(t,i)}case`wallet_withdrawZone`:if(b(),!_.withdrawZone)throw new rS({message:\"`withdrawZone` not supported by adapter.\"});return await _.withdrawZone(i._decoded.params?.[0]??{},i);case`wallet_switchEthereumChain`:{let{chainId:e}=i._decoded.params[0];if(!n.some(t=>t.id===e))throw new cS({message:`Chain ${e} not configured.`});await _.switchChain?.({chainId:e}),f.setState({chainId:e});return}}})()},{enabled:[`eth_accounts`,`eth_chainId`,`eth_requestAccounts`,`wallet_connect`,`wallet_getBalances`,`wallet_getCapabilities`].includes(t),id:Pf({method:t,params:r})})}},{schema:bA}),{chains:n,getAccount:(e=>{let t=p(e);return e?.signable?t:{address:t.address,type:`json-rpc`}}),async getAccessKeyStatus(e={}){let t=f.getState(),n=e.address??t.accounts[t.activeAccount]?.address;if(!n)return`missing`;let r=e.chainId??t.chainId,{accessKey:i,calls:a}=e;return await f.accessKeys.getStatus({account:n,...i?{accessKey:i}:{},...a?{calls:a}:{},chainId:r,client:Ee.getClient({chainId:r})})},getClient(e={}){let{chainId:t,feePayer:r}=e;return Nz(t,{chains:n,feePayer:r,provider:m,store:f,transports:u})},store:f});if(typeof window<`u`&&typeof CustomEvent<`u`){let e=t.rdns??`com.${(t.name??`Injected Wallet`).toLowerCase().replace(/\\s+/g,``)}`;EB.has(e)||(EB.add(e),CA({info:{icon:t.icon??kB,name:t.name??`Injected Wallet`,rdns:e,uuid:crypto.randomUUID()},provider:Ee}))}let De=(()=>{if(e.mpp!==!1)return typeof e.mpp==`object`?e.mpp:{}})();if(De){let{mode:e=`push`,polyfill:t,...n}=De,r=t??MB(),i=({chainId:e})=>{let t=Ee.getClient({chainId:e}),n=f.getState().accounts[f.getState().activeAccount];if(!n)throw new iS({message:`No active account.`});return Object.assign(t,{account:{address:n.address,type:`json-rpc`}})};wR({methods:[CR({...n,getClient:i,mode:e}),CR.subscription({getClient:i})],polyfill:r})}return m=Ee,Ee}let kB=`data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1\" height=\"1\"><rect width=\"1\" height=\"1\"/></svg>`,AB=h_(pp(`TEMPO_5792`));function jB(e){if(e instanceof Error)return typeof e.details==`string`||Object.assign(e,{details:e.message}),e;let t=Error(String(e));return Object.assign(t,{details:t.message}),t}function MB(){try{let e=globalThis.fetch;return globalThis.fetch=e,!0}catch{return!1}}function NB(){return typeof document<`u`&&typeof document.cookie==`string`}function PB(e,t){let n=(()=>{if(typeof e==`string`){let n=e.endsWith(`/`)?e.slice(0,-1):e;return t===`verify`?n:`${n}/${t}`}let n=e[t];if(n)return n;if(e.url){let n=e.url.endsWith(`/`)?e.url.slice(0,-1):e.url;return t===`verify`?n:`${n}/${t}`}throw new Zx({message:`\\`auth\\` capability must include either \\`url\\` or an explicit \\`${t}\\` endpoint.`})})();return n.startsWith(`http://`)||n.startsWith(`https://`)?n:typeof window<`u`?new URL(n,window.location.origin).href:n}function FB(e){let t=typeof e==`string`||!!e.url,n=t||typeof e==`object`&&!!e.challenge,r=t||typeof e==`object`&&!!e.verify,i=t||typeof e==`object`&&!!e.logout,a={...n?{challenge:PB(e,`challenge`)}:{},...r?{verify:PB(e,`verify`)}:{},...i?{logout:PB(e,`logout`)}:{},...typeof e==`object`&&e.returnToken?{returnToken:!0}:{}};return IB(a),a}function IB(e){if(typeof e!=`object`)return;let t=[e.challenge,e.verify,e.logout].filter(e=>typeof e==`string`).map(e=>{try{return new URL(e).origin}catch{throw new Zx({message:`\\`auth\\` endpoint is not a valid URL: ${e}`})}}),n=t[0];if(t.some(e=>e!==n))throw new Zx({message:\"`auth` endpoints (`challenge`, `verify`, `logout`) must share the same origin.\"})}let LB=' Hint: if the server is behind a reverse proxy or tunnel, set `Handler.auth({ trustProxy: true })` to honor `x-forwarded-*` headers, or pin the public origin with `Handler.auth({ origin: \"https://app.example.com\" })`.';async function RB(e,t){let n=typeof e==`object`?e.challenge:PB(e,`challenge`),r=await fetch(n,{method:`POST`,headers:{\"content-type\":`application/json`},body:JSON.stringify({chainId:t})});if(!r.ok)throw new Zx({message:`Server Authentication challenge endpoint \\`${n}\\` returned ${r.status}.`});let i=await r.json().catch(()=>({}));if(!i.message)throw new Zx({message:`Server Authentication challenge endpoint \\`${n}\\` response missing \\`message\\`.`});let a=nb(i.message),o=new URL(n);if(a.version!==`1`)throw new Zx({message:`Server Authentication challenge endpoint \\`${n}\\` returned a non-SIWE-v1 message.`});if(!a.nonce)throw new Zx({message:`Server Authentication challenge endpoint \\`${n}\\` response is missing a \\`nonce\\`.`});if(a.domain!==o.host)throw new Zx({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message bound to \\`${a.domain}\\` (expected \\`${o.host}\\`).${LB}`});if(a.uri!==o.origin)throw new Zx({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message with \\`uri\\` \\`${a.uri}\\` (expected \\`${o.origin}\\`).${LB}`});if(a.chainId!==t)throw new Zx({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message bound to chainId \\`${a.chainId}\\` (expected \\`${t}\\`).`});return{message:i.message}}async function zB(e,t){let n=typeof e==`object`?e.verify:PB(e,`verify`),r=typeof e==`object`&&e.returnToken===!0||!NB(),i=await fetch(n,{method:`POST`,credentials:`include`,headers:{\"content-type\":`application/json`},body:JSON.stringify({...t,...r?{returnToken:!0}:{}})});if(!i.ok)throw new Qx({message:`Server Authentication verify endpoint \\`${n}\\` returned ${i.status}.`});let a=await i.json().catch(()=>({}));return a.token?{token:a.token}:{}}let BB={data:`__MPPX_DATA__`,error:`root_error`,root:`root`},VB={serviceWorker:`__mppx_worker`,tab:`__mppx_tab`},HB={challengeId:`data-mppx-challenge-id`,remaining:`data-remaining`};var UB=class{name;constructor(e){this.name=`--mppx-${e}`}toString(){return`var(${this.name})`}};let WB={accent:new UB(`accent`),background:new UB(`background`),border:new UB(`border`),foreground:new UB(`foreground`),muted:new UB(`muted`),negative:new UB(`negative`),positive:new UB(`positive`),surface:new UB(`surface`),fontFamily:new UB(`font-family`),fontSizeBase:new UB(`font-size-base`),radius:new UB(`radius`),spacingUnit:new UB(`spacing-unit`)};String.raw`<style>\n *,\n ::after,\n ::before,\n ::backdrop,\n ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n border-color: ${WB.border};\n }\n html,\n :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n -webkit-tap-highlight-color: transparent;\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b,\n strong {\n font-weight: bolder;\n }\n code,\n kbd,\n samp,\n pre {\n font-family:\n ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',\n monospace;\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n ol,\n ul,\n menu {\n list-style: none;\n }\n img,\n svg,\n video,\n canvas,\n audio,\n iframe,\n embed,\n object {\n display: block;\n vertical-align: middle;\n }\n img,\n video {\n max-width: 100%;\n height: auto;\n }\n button,\n input,\n select,\n optgroup,\n textarea,\n ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button,\n input:where([type='button'], [type='reset'], [type='submit']),\n ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button,\n ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden='until-found'])) {\n display: none !important;\n }\n</style>`;async function GB(e){let t=new URL(location.href);t.searchParams.set(VB.serviceWorker,``);let n=await navigator.serviceWorker.register(t.pathname+t.search),r=await new Promise(e=>{let t=n.installing??n.waiting??n.active;if(t?.state===`activated`)return e(t);let r=t??n;r.addEventListener(`statechange`,function t(){let i=n.active;i?.state===`activated`&&(r.removeEventListener(`statechange`,t),e(i))})});await new Promise(t=>{let n=new MessageChannel;n.port1.onmessage=()=>t(),r.postMessage({credential:e},[n.port2])}),location.reload()}If();function KB(e){let t=document.getElementById(BB.data),n=Nf(t.textContent),r=t.getAttribute(HB.remaining);!r||Number(r)<=1?t.remove():t.setAttribute(HB.remaining,String(Number(r)-1));let i=document.currentScript,a=i?.getAttribute(HB.challengeId),o=a?(i.removeAttribute(HB.challengeId),n[a]):Object.values(n).find(t=>t.challenge.method===e);return{...o,error(e){if(!e){document.getElementById(BB.error)?.remove();return}let t=document.getElementById(BB.error);if(t){t.textContent=e;return}let n=document.createElement(`p`);n.id=BB.error,n.className=`mppx-error`,n.role=`alert`,n.textContent=e,document.getElementById(o.rootId)?.after(n)},root:document.getElementById(o.rootId),submit:GB,vars:WB}}let qB=KB(`tempo`),JB=String.raw,YB=document.createElement(`style`);YB.textContent=JB`\n form {\n display: flex;\n flex-direction: column;\n gap: calc(${qB.vars.spacingUnit} * 8);\n }\n button {\n background: ${qB.vars.accent};\n border-radius: ${qB.vars.radius};\n color: ${qB.vars.background};\n cursor: pointer;\n font-weight: 500;\n padding: calc(${qB.vars.spacingUnit} * 4) calc(${qB.vars.spacingUnit} * 8);\n width: 100%;\n }\n button:hover:not(:disabled) {\n opacity: 0.85;\n }\n button:disabled {\n cursor: default;\n opacity: 0.5;\n }\n button svg {\n display: inline;\n fill: currentColor;\n height: 0.85em;\n transform: translateY(0.05em);\n vertical-align: baseline;\n width: auto;\n }\n`,qB.root.append(YB);let XB=OB({testnet:qB.challenge.request.methodDetails?.chainId===uE.id||qB.challenge.request.methodDetails?.chainId===FE.id}),ZB=document.createElement(`button`);ZB.innerHTML=`${qB.text.pay===`Pay`?`Continue with`:qB.text.pay} <svg aria-label=\"Tempo\" viewBox=\"0 0 107 25\" role=\"img\"><path d=\"M8.10464 23.7163H1.82475L7.64513 5.79356H0.201172L1.82475 0.540352H22.5637L20.9401 5.79356H13.8944L8.10464 23.7163Z\"></path><path d=\"M31.474 23.7163H16.5861L24.0607 0.540352H38.8873L37.4782 4.95923H28.8701L27.3078 9.93433H35.6402L34.231 14.2914H25.8681L24.3057 19.2974H32.8525L31.474 23.7163Z\"></path><path d=\"M38.2124 23.7163H33.2192L40.7244 0.540352H49.0567L48.781 13.0245L56.8989 0.540352H66.0277L58.5531 23.7163H52.3039L57.3584 7.86395L46.9736 23.7163H43.267L43.4201 7.80214L38.2124 23.7163Z\"></path><path d=\"M73.057 4.83563L70.6369 12.3137H71.3108C72.8425 12.3137 74.1189 11.9532 75.14 11.2322C76.1612 10.4906 76.8249 9.43991 77.1312 8.08025C77.3967 6.90601 77.2538 6.07167 76.7023 5.57725C76.1509 5.08284 75.2319 4.83563 73.9453 4.83563H73.057ZM66.9915 23.7163H60.7116L68.1862 0.540352H75.814C77.5703 0.540352 79.0816 0.828764 80.3478 1.40559C81.6344 1.96181 82.5738 2.76524 83.166 3.81588C83.7787 4.84592 83.9829 6.05107 83.7787 7.43133C83.5132 9.2442 82.8189 10.8408 81.6956 12.221C80.5724 13.6013 79.1122 14.6725 77.315 15.4347C75.5383 16.1764 73.5471 16.5472 71.3415 16.5472H69.289L66.9915 23.7163Z\"></path><path d=\"M98.747 22.233C96.664 23.4691 94.4481 24.0871 92.0996 24.0871H92.0383C89.9552 24.0871 88.1989 23.6236 86.7693 22.6965C85.3602 21.7489 84.3493 20.4717 83.7366 18.8648C83.1443 17.2579 83.0014 15.4966 83.3077 13.5807C83.6957 11.1704 84.5841 8.94549 85.9728 6.90601C87.3616 4.86653 89.0975 3.23906 91.1805 2.02361C93.2636 0.808164 95.4897 0.200439 97.8587 0.200439H97.9199C100.085 0.200439 101.872 0.663958 103.281 1.591C104.71 2.51803 105.701 3.78498 106.252 5.39185C106.824 6.97811 106.947 8.76008 106.62 10.7378C106.232 13.0657 105.343 15.2596 103.955 17.3197C102.566 19.3592 100.83 20.997 98.747 22.233ZM90.0777 18.2468C90.6292 19.2974 91.589 19.8227 92.9573 19.8227H93.0186C94.1418 19.8227 95.1833 19.4004 96.1432 18.5558C97.1235 17.6905 97.9506 16.5369 98.6245 15.0948C99.3189 13.6528 99.8294 12.0459 100.156 10.2742C100.463 8.54377 100.34 7.15322 99.7886 6.10257C99.2372 5.03133 98.2875 4.49571 96.9397 4.49571H96.8784C95.8369 4.49571 94.826 4.92833 93.8457 5.79356C92.8858 6.6588 92.0485 7.82274 91.3337 9.2854C90.6189 10.7481 90.0982 12.3343 89.7714 14.0442C89.4446 15.7747 89.5468 17.1755 90.0777 18.2468Z\"></path></svg>`,ZB.onclick=async()=>{try{qB.error(),ZB.disabled=!0;let e=await(async()=>{let e=await XB.request({method:`eth_accounts`});return e.length>0?e.at(0):(await XB.request({method:`wallet_connect`})).accounts[0]?.address})(),t=await CR({account:e,getClient:e=>{let t=e.chainId??qB.challenge.request.methodDetails?.chainId;return Eh({chain:[...XB?.chains??[],uE,FE].find(e=>e.id===t),transport:Gb(XB)})}})[0].createCredential({challenge:qB.challenge,context:{}});await qB.submit(t)}catch(e){let t=e instanceof Error&&`shortMessage`in e?e.shortMessage:void 0;qB.error(t??(e instanceof Error?e.message:`Payment failed`))}finally{ZB.disabled=!1}},qB.root.appendChild(ZB)})();</script>";
1
+ export declare const html = "<script>(function(){var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),c=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},l=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},u=(n,r,o)=>(o=n==null?{}:e(i(n)),l(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n));function d(e,t){let{name:n,...r}=e;return Object.defineProperty(t,\"name\",{value:n,configurable:!0}),Object.assign(t,r)}let f=()=>`IntersectionObserver`in window&&`IntersectionObserverEntry`in window&&`intersectionRatio`in IntersectionObserverEntry.prototype&&`isVisible`in IntersectionObserverEntry.prototype;function p(e){return e}function m(e,t={}){let{targetOrigin:n}=t,r=new Map;return p({destroy(){for(let t of r.values())e.removeEventListener(`message`,t);r.clear()},on(t,i,a){function o(e){e.data.topic===t&&(a&&e.data.id!==a||n&&e.origin!==n||i(e.data.payload,e))}return e.addEventListener(`message`,o),r.set(t,o),()=>{e.removeEventListener(`message`,o),r.delete(t)}},async send(t,r,i){let a=crypto.randomUUID();return e.postMessage(_({id:a,payload:r,topic:t}),i??n??`*`),{id:a,payload:r,topic:t}}})}function h(e){let{from:t,to:n,waitForReady:r=!1}=e,i=!1,a=g();t.on(`ready`,e=>a.resolve(e??{}));let o=p({destroy(){t.destroy(),n.destroy(),i&&a.reject()},on(e,n,r){return t.on(e,n,r)},async send(e,t){return i=!0,r&&await a.promise.finally(()=>i=!1),n.send(e,t)}});return{...o,ready(e){o.send(`ready`,e??{})},waitForReady(){return a.promise}}}function g(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),reject:t,resolve:e}}function _(e){if(Array.isArray(e))return e.map(_);if(typeof e==`function`)return;if(typeof e!=`object`||!e)return e;if(Object.getPrototypeOf(e)!==Object.prototype)try{return structuredClone(e)}catch{return}let t={};for(let[n,r]of Object.entries(e))t[n]=_(r);return t}function v(e,t,n){return n&&y(t,n)?!0:e.some(e=>e.startsWith(`*.`)?t.endsWith(e.slice(1))&&t.length>e.length-1:e===t)}function y(e,t){return b(e)===b(t)}function b(e){let t=e.split(`:`)[0].toLowerCase(),n=t.split(`.`);return n.length<=2?t:n.slice(-2).join(`.`)}function x(e,t){t&&(t.accent&&e.searchParams.set(`accent`,t.accent),t.radius&&e.searchParams.set(`radius`,t.radius),t.scheme&&e.searchParams.set(`scheme`,t.scheme))}let S={height:600,width:404};function C(e,t){let{name:n,...r}=e;return Object.defineProperty(t,\"name\",{value:n,configurable:!0}),Object.assign(t,r)}function w(){return typeof window>`u`?!1:window.location.protocol===`http:`||!window.isSecureContext}function T(){if(typeof navigator>`u`)return!1;let e=navigator.userAgent.toLowerCase();return e.includes(`safari`)&&!e.includes(`chrome`)}let ee;function E(){return typeof window>`u`?ne():C({name:`iframe`},e=>{let{host:t}=e;if(ee&&ee.host===t)return ee.refs.store=e.store,ee.refs.fallback.destroy(),ee.refs.fallback=te()(e),ee.instance.syncTheme(e.theme),ee.instance;ee?.instance.destroy();let n={fallback:te()(e),store:e.store},r=!1,i=ie(),a=new URL(t);a.searchParams.set(`chainId`,String(n.store.getState().chainId)),a.searchParams.set(`mode`,`iframe`),i.icon&&(typeof i.icon==`string`?a.searchParams.set(`icon`,i.icon):(a.searchParams.set(`icon`,i.icon.light),a.searchParams.set(`iconDark`,i.icon.dark))),x(a,e.theme);let o=document.createElement(`dialog`);o.dataset.tempoWallet=``,o.setAttribute(`role`,`dialog`),o.setAttribute(`aria-closed`,`true`),o.setAttribute(`aria-label`,`Tempo Wallet`),o.setAttribute(`hidden`,`until-found`),Object.assign(o.style,{background:`transparent`,border:`0`,outline:`0`,padding:`0`,position:`fixed`});let s=document.createElement(`iframe`);s.dataset.testid=`tempo-wallet`,s.setAttribute(`allow`,[`publickey-credentials-get ${a.origin}`,`publickey-credentials-create ${a.origin}`,`clipboard-write`,`payment`].join(`; `)),s.setAttribute(`allowtransparency`,`true`),s.setAttribute(`tabindex`,`0`),s.setAttribute(`title`,`Tempo Wallet`),s.src=a.toString(),Object.assign(s.style,{backgroundColor:`transparent`,border:`0`,colorScheme:e.theme?.scheme??`light dark`,height:`100%`,left:`0`,position:`fixed`,top:`0`,width:`100%`});let c=document.createElement(`style`);c.innerHTML=`\n dialog[data-tempo-wallet]::backdrop {\n background: transparent!important;\n }\n `,o.appendChild(c),o.appendChild(s);let l,u,d=[],p=!1;function g(){e.onReject(d.map(e=>e.request.id))}function _(){l=void 0;let t=h({from:m(window,{targetOrigin:a.origin}),to:m(s.contentWindow,{targetOrigin:a.origin}),waitForReady:!0});return t.on(`rpc-response`,t=>e.onResponse(t)),t.waitForReady().then(e=>{l=e,e.colorScheme&&(s.style.colorScheme=e.colorScheme),re(t,n.store)}),t.on(`sync`,({valid:e})=>{e===!1&&n.store.disconnect()}),t.on(`switch-mode`,()=>{ce(),ne(),r=!1,p=!0,u&&d.length>0&&n.fallback.syncRequests(u)}),t}document.body.appendChild(o);let y=_();new MutationObserver(e=>{for(let t of e)for(let e of t.removedNodes)if(e===o){document.body.appendChild(o),y.destroy(),y=_();return}}).observe(document.body,{childList:!0});let b=``,S=null,C=()=>g(),w=new MutationObserver(e=>{for(let t of e)t.type===`attributes`&&t.attributeName===`inert`&&o.removeAttribute(`inert`)});w.observe(o,{attributeOldValue:!0,attributes:!0});let E=!1,ne=()=>{E&&(E=!1,o.removeEventListener(`cancel`,C),o.removeEventListener(`click`,C),o.style.pointerEvents=`none`,S?.focus(),S=null,document.body.style.overflow=b)},ae=()=>{E||(E=!0,o.addEventListener(`cancel`,C),o.addEventListener(`click`,C),s.focus(),o.style.pointerEvents=`auto`,b=document.body.style.overflow,document.body.style.overflow=`hidden`)},oe=!1,se=()=>{oe||(oe=!0,document.activeElement instanceof HTMLElement&&(S=document.activeElement),o.removeAttribute(`hidden`),o.removeAttribute(`aria-closed`),o.showModal())},ce=()=>{if(oe){oe=!1,o.setAttribute(`hidden`,`true`),o.setAttribute(`aria-closed`,`true`),o.close();for(let e of o.parentNode?Array.from(o.parentNode.children):[])e!==o&&e.hasAttribute(`inert`)&&e.removeAttribute(`inert`)}},le={close(){n.fallback.close(),r=!1,ce(),ne()},destroy(){ee?.instance===le&&(ee=void 0),n.fallback.close(),r=!1,ne(),ce(),n.fallback.destroy(),y.destroy(),o.remove(),w.disconnect()},open(){r||(r=!0,se(),ae())},async syncRequests(e){let{requests:t}=e;if(u=e,d=t,p){n.fallback.syncRequests(e);return}let{trustedHosts:i}=l??await y.waitForReady();if(T()&&t.some(e=>[`wallet_connect`,`eth_requestAccounts`].includes(e.request.method))){n.fallback.syncRequests(e);return}let o=f(),s=window.location.hostname.replace(/^www\\./,``),c=!!(i&&v(i,s,a.hostname));if(!(o||c))console.warn([`[accounts] Browser does not support IntersectionObserver v2 and \"${window.location.hostname}\" is not a trusted host.`,`Falling back to popup dialog.`,``,`To enable the iframe dialog, add your hostname to the trusted hosts list.`].join(`\n`)),n.fallback.syncRequests(e);else{let n=t.some(e=>e.status===`pending`);!r&&n&&this.open(),y.send(`rpc-requests`,{account:e.account,chainId:e.chainId,requests:t})}},syncTheme(e){s.style.colorScheme=e?.scheme??`light dark`,y.send(`theme`,e??{})}};return ee={host:t,instance:le,refs:n},le})}function te(e={}){if(typeof window>`u`)return ne();let{size:t=S}=e;return C({name:`popup`},e=>{let{host:n,store:r}=e,i=null,a=[];function o(){e.onReject(a.map(e=>e.request.id))}let s=(()=>{let e=setInterval(()=>{i?.closed&&o()},100);return()=>clearInterval(e)})(),c,l=document.createElement(`div`);Object.assign(l.style,{alignItems:`center`,background:`rgba(0, 0, 0, 0.5)`,color:`white`,display:`none`,flexDirection:`column`,fontFamily:`system-ui, sans-serif`,fontSize:`16px`,gap:`12px`,inset:`0`,justifyContent:`center`,position:`fixed`,zIndex:`2147483647`});let u=document.createElement(`p`);Object.assign(u.style,{margin:`0`}),u.textContent=`Continue in the popup window`;let d=document.createElement(`button`);return Object.assign(d.style,{background:`none`,border:`none`,color:`white`,cursor:`pointer`,font:`inherit`,padding:`0`,textDecoration:`underline`}),d.textContent=`Close`,d.addEventListener(`click`,()=>o()),l.appendChild(u),l.appendChild(d),document.body.appendChild(l),{close(){l.style.display=`none`,i&&=(i.close(),null)},destroy(){this.close(),c?.destroy(),s(),l.remove()},open(){c?.destroy(),i?.close();let a=ie(),o=new URL(n);o.searchParams.set(`chainId`,String(r.getState().chainId)),o.searchParams.set(`mode`,`popup`),a.icon&&(typeof a.icon==`string`?o.searchParams.set(`icon`,a.icon):(o.searchParams.set(`icon`,a.icon.light),o.searchParams.set(`iconDark`,a.icon.dark))),x(o,e.theme);let s=(window.innerWidth-t.width)/2+window.screenX,u=(window.innerHeight-t.height)/2+window.screenY;if(i=window.open(o.toString(),`_blank`,`width=${t.width},height=${t.height},left=${s},top=${u}`),!i)throw Error(`Failed to open popup`);c=h({from:m(window,{targetOrigin:o.origin}),to:m(i,{targetOrigin:o.origin}),waitForReady:!0}),c.on(`rpc-response`,t=>e.onResponse(t)),l.style.display=`flex`},async syncRequests(e){let{requests:t}=e;a=t,t.some(e=>e.status===`pending`)&&(!i||i.closed?this.open():i.focus()),c?.send(`rpc-requests`,{account:e.account,chainId:e.chainId,requests:t})},syncTheme(){}}})}function ne(){return C({name:`noop`},()=>({open(){},close(){},destroy(){},async syncRequests(){},syncTheme(){}}))}function re(e,t){let{accounts:n}=t.getState();n.length!==0&&e.send(`sync`,{addresses:n.map(e=>e.address)})}function ie(){return{icon:(()=>{let e=document.querySelector(`link[rel~=\"icon\"][media=\"(prefers-color-scheme: dark)\"]`),t=document.querySelector(`link[rel~=\"icon\"][media=\"(prefers-color-scheme: light)\"]`)??document.querySelector(`link[rel~=\"icon\"]`);return e?.href&&t?.href&&e.href!==t.href?{dark:e.href,light:t.href}:(window.matchMedia(`(prefers-color-scheme: dark)`).matches?e?.href:t?.href)??t?.href})(),title:document.title}}var ae,oe=o((()=>{ae=`1.2.3`})),se,ce=o((()=>{oe(),se=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...i?[`Docs: https://abitype.dev${i}`]:[],...r?[`Details: ${r}`]:[],`Version: abitype@${ae}`].join(`\n`);super(a),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsPath\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"metaMessages\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"shortMessage\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiTypeError`}),n.cause&&(this.cause=n.cause),this.details=r,this.docsPath=i,this.metaMessages=n.metaMessages,this.shortMessage=t}}}));function le(e,t){return e.exec(t)?.groups}var ue,de,fe,pe=o((()=>{ue=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,de=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,fe=/^\\(.+?\\).*?$/}));function me(e){let t=e.type;if(he.test(e.type)&&`components`in e){t=`(`;let n=e.components.length;for(let r=0;r<n;r++){let i=e.components[r];t+=me(i),r<n-1&&(t+=`, `)}let r=le(he,e.type);return t+=`)${r?.array||``}`,me({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}var he,ge=o((()=>{pe(),he=/^tuple(?<array>(\\[(\\d*)\\])*)$/}));function _e(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=me(i),r!==n-1&&(t+=`, `)}return t}var ve=o((()=>{ge()}));function ye(e){return e.type===`function`?`function ${e.name}(${_e(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${_e(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${_e(e.inputs)})`:e.type===`error`?`error ${e.name}(${_e(e.inputs)})`:e.type===`constructor`?`constructor(${_e(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}var be=o((()=>{ve()}));function xe(e){return Pe.test(e)}function Se(e){return le(Pe,e)}function Ce(e){return Fe.test(e)}function we(e){return le(Fe,e)}function Te(e){return Ie.test(e)}function Ee(e){return le(Ie,e)}function De(e){return Le.test(e)}function Oe(e){return le(Le,e)}function ke(e){return Re.test(e)}function Ae(e){return le(Re,e)}function je(e){return ze.test(e)}function Me(e){return le(ze,e)}function Ne(e){return Be.test(e)}var Pe,Fe,Ie,Le,Re,ze,Be,Ve,He,Ue=o((()=>{pe(),Pe=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Fe=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Ie=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\\s?\\((?<returns>.*?)\\))?$/,Le=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/,Re=/^constructor\\((?<parameters>.*?)\\)(?:\\s(?<stateMutability>payable{1}))?$/,ze=/^fallback\\(\\) external(?:\\s(?<stateMutability>payable{1}))?$/,Be=/^receive\\(\\) external payable$/,Ve=new Set([`indexed`]),He=new Set([`calldata`,`memory`,`storage`])})),We,Ge,Ke=o((()=>{ce(),We=class extends se{constructor({type:e}){super(`Unknown type.`,{metaMessages:[`Type \"${e}\" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownTypeError`})}},Ge=class extends se{constructor({type:e}){super(`Unknown type.`,{metaMessages:[`Type \"${e}\" is not a valid ABI type.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownSolidityTypeError`})}}})),qe,Je,Ye,Xe,Ze,Qe=o((()=>{ce(),qe=class extends se{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},Je=class extends se{constructor({param:e,name:t}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`\"${t}\" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SolidityProtectedKeywordError`})}},Ye=class extends se{constructor({param:e,type:t,modifier:n}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`Modifier \"${n}\" not allowed${t?` in \"${t}\" type`:``}.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidModifierError`})}},Xe=class extends se{constructor({param:e,type:t,modifier:n}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`Modifier \"${n}\" not allowed${t?` in \"${t}\" type`:``}.`,`Data location can only be specified for array, struct, or mapping types, but \"${n}\" was given.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidFunctionModifierError`})}},Ze=class extends se{constructor({abiParameter:e}){super(`Invalid ABI parameter.`,{details:JSON.stringify(e,null,2),metaMessages:[`ABI parameter type is invalid.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidAbiTypeParameterError`})}}})),$e,et,tt,nt=o((()=>{ce(),$e=class extends se{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},et=class extends se{constructor({signature:e}){super(`Unknown signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownSignatureError`})}},tt=class extends se{constructor({signature:e}){super(`Invalid struct signature.`,{details:e,metaMessages:[`No properties exist.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidStructSignatureError`})}}})),rt,it=o((()=>{ce(),rt=class extends se{constructor({type:e}){super(`Circular reference detected.`,{metaMessages:[`Struct \"${e}\" is a circular reference.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`CircularReferenceError`})}}})),at,ot=o((()=>{ce(),at=class extends se{constructor({current:e,depth:t}){super(`Unbalanced parentheses.`,{metaMessages:[`\"${e.trim()}\" has too many ${t>0?`opening`:`closing`} parentheses.`],details:`Depth \"${t}\"`}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParenthesisError`})}}}));function st(e,t,n){let r=``;if(n)for(let e of Object.entries(n)){if(!e)continue;let t=``;for(let n of e[1])t+=`[${n.type}${n.name?`:${n.name}`:``}]`;r+=`(${e[0]}{${t}})`}return t?`${t}:${e}${r}`:`${e}${r}`}var ct,lt=o((()=>{ct=new Map([[`address`,{type:`address`}],[`bool`,{type:`bool`}],[`bytes`,{type:`bytes`}],[`bytes32`,{type:`bytes32`}],[`int`,{type:`int256`}],[`int256`,{type:`int256`}],[`string`,{type:`string`}],[`uint`,{type:`uint256`}],[`uint8`,{type:`uint8`}],[`uint16`,{type:`uint16`}],[`uint24`,{type:`uint24`}],[`uint32`,{type:`uint32`}],[`uint64`,{type:`uint64`}],[`uint96`,{type:`uint96`}],[`uint112`,{type:`uint112`}],[`uint160`,{type:`uint160`}],[`uint192`,{type:`uint192`}],[`uint256`,{type:`uint256`}],[`address owner`,{type:`address`,name:`owner`}],[`address to`,{type:`address`,name:`to`}],[`bool approved`,{type:`bool`,name:`approved`}],[`bytes _data`,{type:`bytes`,name:`_data`}],[`bytes data`,{type:`bytes`,name:`data`}],[`bytes signature`,{type:`bytes`,name:`signature`}],[`bytes32 hash`,{type:`bytes32`,name:`hash`}],[`bytes32 r`,{type:`bytes32`,name:`r`}],[`bytes32 root`,{type:`bytes32`,name:`root`}],[`bytes32 s`,{type:`bytes32`,name:`s`}],[`string name`,{type:`string`,name:`name`}],[`string symbol`,{type:`string`,name:`symbol`}],[`string tokenURI`,{type:`string`,name:`tokenURI`}],[`uint tokenId`,{type:`uint256`,name:`tokenId`}],[`uint8 v`,{type:`uint8`,name:`v`}],[`uint256 balance`,{type:`uint256`,name:`balance`}],[`uint256 tokenId`,{type:`uint256`,name:`tokenId`}],[`uint256 value`,{type:`uint256`,name:`value`}],[`event:address indexed from`,{type:`address`,name:`from`,indexed:!0}],[`event:address indexed to`,{type:`address`,name:`to`,indexed:!0}],[`event:uint indexed tokenId`,{type:`uint256`,name:`tokenId`,indexed:!0}],[`event:uint256 indexed tokenId`,{type:`uint256`,name:`tokenId`,indexed:!0}]])}));function ut(e,t={}){if(Te(e))return dt(e,t);if(Ce(e))return ft(e,t);if(xe(e))return pt(e,t);if(ke(e))return mt(e,t);if(je(e))return ht(e);if(Ne(e))return{type:`receive`,stateMutability:`payable`};throw new et({signature:e})}function dt(e,t={}){let n=Ee(e);if(!n)throw new $e({signature:e,type:`function`});let r=_t(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(gt(r[e],{modifiers:He,structs:t,type:`function`}));let o=[];if(n.returns){let e=_t(n.returns),r=e.length;for(let n=0;n<r;n++)o.push(gt(e[n],{modifiers:He,structs:t,type:`function`}))}return{name:n.name,type:`function`,stateMutability:n.stateMutability??`nonpayable`,inputs:i,outputs:o}}function ft(e,t={}){let n=we(e);if(!n)throw new $e({signature:e,type:`event`});let r=_t(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(gt(r[e],{modifiers:Ve,structs:t,type:`event`}));return{name:n.name,type:`event`,inputs:i}}function pt(e,t={}){let n=Se(e);if(!n)throw new $e({signature:e,type:`error`});let r=_t(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(gt(r[e],{structs:t,type:`error`}));return{name:n.name,type:`error`,inputs:i}}function mt(e,t={}){let n=Ae(e);if(!n)throw new $e({signature:e,type:`constructor`});let r=_t(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(gt(r[e],{structs:t,type:`constructor`}));return{type:`constructor`,stateMutability:n.stateMutability??`nonpayable`,inputs:i}}function ht(e){let t=Me(e);if(!t)throw new $e({signature:e,type:`fallback`});return{type:`fallback`,stateMutability:t.stateMutability??`nonpayable`}}function gt(e,t){let n=st(e,t?.type,t?.structs);if(ct.has(n))return ct.get(n);let r=fe.test(e),i=le(r?St:xt,e);if(!i)throw new qe({param:e});if(i.name&&yt(i.name))throw new Je({param:e,name:i.name});let a=i.name?{name:i.name}:{},o=i.modifier===`indexed`?{indexed:!0}:{},s=t?.structs??{},c,l={};if(r){c=`tuple`;let e=_t(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(gt(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(Ct.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!vt(c))throw new Ge({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new Ye({param:e,type:t?.type,modifier:i.modifier});if(He.has(i.modifier)&&!bt(c,!!i.array))throw new Xe({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return ct.set(n,u),u}function _t(e,t=[],n=``,r=0){let i=e.trim().length;for(let a=0;a<i;a++){let i=e[a],o=e.slice(a+1);switch(i){case`,`:return r===0?_t(o,[...t,n.trim()]):_t(o,t,`${n}${i}`,r);case`(`:return _t(o,t,`${n}${i}`,r+1);case`)`:return _t(o,t,`${n}${i}`,r-1);default:return _t(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new at({current:n,depth:r});return t.push(n.trim()),t}function vt(e){return e===`address`||e===`bool`||e===`function`||e===`string`||ue.test(e)||de.test(e)}function yt(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||ue.test(e)||de.test(e)||wt.test(e)}function bt(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}var xt,St,Ct,wt,Tt=o((()=>{pe(),Ke(),Qe(),nt(),ot(),lt(),Ue(),xt=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*(?:\\spayable)?)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,St=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,Ct=/^u?int$/,wt=/^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/}));function Et(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!De(n))continue;let i=Oe(n);if(!i)throw new $e({signature:n,type:`struct`});let a=i.properties.split(`;`),o=[],s=a.length;for(let e=0;e<s;e++){let t=a[e].trim();if(!t)continue;let n=gt(t,{type:`struct`});o.push(n)}if(!o.length)throw new tt({signature:n});t[i.name]=o}let r={},i=Object.entries(t),a=i.length;for(let e=0;e<a;e++){let[n,a]=i[e];r[n]=Dt(a,t)}return r}function Dt(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(fe.test(i.type))r.push(i);else{let e=le(Ot,i.type);if(!e?.type)throw new Ze({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new rt({type:o});r.push({...i,type:`tuple${a??``}`,components:Dt(t[o],t,new Set([...n,o]))})}else if(vt(o))r.push(i);else throw new We({type:o})}}return r}var Ot,kt=o((()=>{pe(),Ke(),Qe(),nt(),it(),Ue(),Tt(),Ot=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/}));function At(e){let t=Et(e),n=[],r=e.length;for(let i=0;i<r;i++){let r=e[i];De(r)||n.push(ut(r,t))}return n}var jt=o((()=>{Ue(),kt(),Tt()})),Mt=o((()=>{ce(),be(),ge(),ve(),jt(),Ke(),Ue(),kt(),Tt(),Qe(),nt(),ot(),it()}));function D(e,t,n){let r=e[t.name];if(typeof r==`function`)return r;let i=e[n];return typeof i==`function`?i:n=>t(e,n)}function Nt(e,{includeName:t=!1}={}){if(e.type!==`function`&&e.type!==`event`&&e.type!==`error`)throw new pn(e.type);return`${e.name}(${Pt(e.inputs,{includeName:t})})`}function Pt(e,{includeName:t=!1}={}){return e?e.map(e=>Ft(e,{includeName:t})).join(t?`, `:`,`):``}function Ft(e,{includeName:t}){return e.type.startsWith(`tuple`)?`(${Pt(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:``)}var It=o((()=>{mn()}));function O(e,{strict:t=!0}={}){return!e||typeof e!=`string`?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith(`0x`)}var Lt=o((()=>{}));function Rt(e){return O(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var zt=o((()=>{Lt()})),Bt,Vt=o((()=>{Bt=`2.55.13`}));function Ht(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause!==void 0?Ht(e.cause,t):t?null:e}var Ut,k,A=o((()=>{Vt(),Ut={getDocsUrl:({docsBaseUrl:e,docsPath:t=``,docsSlug:n})=>t?`${e??`https://viem.sh`}${t}${n?`#${n}`:``}`:void 0,version:`viem@${Bt}`},k=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=Ut.getDocsUrl?.({...n,docsPath:i}),o=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...a?[`Docs: ${a}`]:[],...r?[`Details: ${r}`]:[],...Ut.version?[`Version: ${Ut.version}`]:[]].join(`\n`);super(o,n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsPath\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"metaMessages\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"shortMessage\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"version\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`BaseError`}),this.details=r,this.docsPath=i,this.metaMessages=n.metaMessages,this.name=n.name??this.name,this.shortMessage=t,this.version=Bt}walk(e){return Ht(this,e)}}})),Wt,Gt,Kt,qt,Jt,Yt,Xt,Zt,Qt,$t,en,tn,nn,rn,an,on,sn,cn,ln,un,dn,fn,pn,mn=o((()=>{It(),zt(),A(),Wt=class extends k{constructor({docsPath:e}){super([`A constructor was not found on the ABI.`,`Make sure you are using the correct ABI and that the constructor exists on it.`].join(`\n`),{docsPath:e,name:`AbiConstructorNotFoundError`})}},Gt=class extends k{constructor({docsPath:e}){super([\"Constructor arguments were provided (`args`), but a constructor parameters (`inputs`) were not found on the ABI.\",\"Make sure you are using the correct ABI, and that the `inputs` attribute on the constructor exists.\"].join(`\n`),{docsPath:e,name:`AbiConstructorParamsNotFoundError`})}},Kt=class extends k{constructor({data:e,params:t,size:n}){super([`Data size of ${n} bytes is too small for given parameters.`].join(`\n`),{metaMessages:[`Params: (${Pt(t,{includeName:!0})})`,`Data: ${e} (${n} bytes)`],name:`AbiDecodingDataSizeTooSmallError`}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"params\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"size\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=e,this.params=t,this.size=n}},qt=class extends k{constructor({cause:e}={}){super(`Cannot decode zero data (\"0x\") with ABI parameters.`,{name:`AbiDecodingZeroDataError`,cause:e})}},Jt=class extends k{constructor({expectedLength:e,givenLength:t,type:n}){super([`ABI encoding array length mismatch for type ${n}.`,`Expected length: ${e}`,`Given length: ${t}`].join(`\n`),{name:`AbiEncodingArrayLengthMismatchError`})}},Yt=class extends k{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${Rt(t)}) does not match expected size (bytes${e}).`,{name:`AbiEncodingBytesSizeMismatchError`})}},Xt=class extends k{constructor({expectedLength:e,givenLength:t}){super([`ABI encoding params/values length mismatch.`,`Expected length (params): ${e}`,`Given length (values): ${t}`].join(`\n`),{name:`AbiEncodingLengthMismatchError`})}},Zt=class extends k{constructor(e,{docsPath:t}){super([`Arguments (\\`args\\`) were provided to \"${e}\", but \"${e}\" on the ABI does not contain any parameters (\\`inputs\\`).`,`Cannot encode error result without knowing what the parameter types are.`,`Make sure you are using the correct ABI and that the inputs exist on it.`].join(`\n`),{docsPath:t,name:`AbiErrorInputsNotFoundError`})}},Qt=class extends k{constructor(e,{docsPath:t}={}){super([`Error ${e?`\"${e}\" `:``}not found on ABI.`,`Make sure you are using the correct ABI and that the error exists on it.`].join(`\n`),{docsPath:t,name:`AbiErrorNotFoundError`})}},$t=class extends k{constructor(e,{docsPath:t,cause:n}){super([`Encoded error signature \"${e}\" not found on ABI.`,`Make sure you are using the correct ABI and that the error exists on it.`,`You can look up the decoded signature here: https://4byte.sourcify.dev/?q=${e}.`].join(`\n`),{docsPath:t,name:`AbiErrorSignatureNotFoundError`,cause:n}),Object.defineProperty(this,\"signature\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.signature=e}},en=class extends k{constructor({docsPath:e}){super(`Cannot extract event signature from empty topics.`,{docsPath:e,name:`AbiEventSignatureEmptyTopicsError`})}},tn=class extends k{constructor(e,{docsPath:t}){super([`Encoded event signature \"${e}\" not found on ABI.`,`Make sure you are using the correct ABI and that the event exists on it.`,`You can look up the signature here: https://4byte.sourcify.dev/?q=${e}.`].join(`\n`),{docsPath:t,name:`AbiEventSignatureNotFoundError`})}},nn=class extends k{constructor(e,{docsPath:t}={}){super([`Function ${e?`\"${e}\" `:``}not found on ABI.`,`Make sure you are using the correct ABI and that the function exists on it.`].join(`\n`),{docsPath:t,name:`AbiFunctionNotFoundError`})}},rn=class extends k{constructor(e,{docsPath:t}){super([`Function \"${e}\" does not contain any \\`outputs\\` on ABI.`,`Cannot decode function result without knowing what the parameter types are.`,`Make sure you are using the correct ABI and that the function exists on it.`].join(`\n`),{docsPath:t,name:`AbiFunctionOutputsNotFoundError`})}},an=class extends k{constructor(e,{docsPath:t}){super([`Encoded function signature \"${e}\" not found on ABI.`,`Make sure you are using the correct ABI and that the function exists on it.`,`You can look up the signature here: https://4byte.sourcify.dev/?q=${e}.`].join(`\n`),{docsPath:t,name:`AbiFunctionSignatureNotFoundError`})}},on=class extends k{constructor(e,t){super(`Found ambiguous types in overloaded ABI items.`,{metaMessages:[`\\`${e.type}\\` in \\`${Nt(e.abiItem)}\\`, and`,`\\`${t.type}\\` in \\`${Nt(t.abiItem)}\\``,``,`These types encode differently and cannot be distinguished at runtime.`,`Remove one of the ambiguous items in the ABI.`],name:`AbiItemAmbiguityError`})}},sn=class extends k{constructor({expectedSize:e,givenSize:t}){super(`Expected bytes${e}, got bytes${t}.`,{name:`BytesSizeMismatchError`})}},cn=class extends k{constructor({abiItem:e,data:t,params:n,size:r}){super([`Data size of ${r} bytes is too small for non-indexed event parameters.`].join(`\n`),{metaMessages:[`Params: (${Pt(n,{includeName:!0})})`,`Data: ${t} (${r} bytes)`],name:`DecodeLogDataMismatch`}),Object.defineProperty(this,\"abiItem\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"params\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"size\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e,this.data=t,this.params=n,this.size=r}},ln=class extends k{constructor({abiItem:e,param:t}){super([`Expected a topic for indexed event parameter${t.name?` \"${t.name}\"`:``} on event \"${Nt(e,{includeName:!0})}\".`].join(`\n`),{name:`DecodeLogTopicsMismatch`}),Object.defineProperty(this,\"abiItem\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e}},un=class extends k{constructor(e,{docsPath:t}){super([`Type \"${e}\" is not a valid encoding type.`,`Please provide a valid ABI type.`].join(`\n`),{docsPath:t,name:`InvalidAbiEncodingType`})}},dn=class extends k{constructor(e,{docsPath:t}){super([`Type \"${e}\" is not a valid decoding type.`,`Please provide a valid ABI type.`].join(`\n`),{docsPath:t,name:`InvalidAbiDecodingType`})}},fn=class extends k{constructor(e){super([`Value \"${e}\" is not a valid array.`].join(`\n`),{name:`InvalidArrayError`})}},pn=class extends k{constructor(e){super([`\"${e}\" is not a valid definition type.`,`Valid types: \"function\", \"event\", \"error\"`].join(`\n`),{name:`InvalidDefinitionTypeError`})}}})),hn,gn,_n,vn=o((()=>{A(),hn=class extends k{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \"${e}\" is out-of-bounds (size: ${n}).`,{name:`SliceOffsetOutOfBoundsError`})}},gn=class extends k{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:`SizeExceedsPaddingSizeError`})}},_n=class extends k{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} is expected to be ${t} ${n} long, but is ${e} ${n} long.`,{name:`InvalidBytesLengthError`})}}}));function yn(e,{dir:t,size:n=32}={}){return typeof e==`string`?bn(e,{dir:t,size:n}):xn(e,{dir:t,size:n})}function bn(e,{dir:t,size:n=32}={}){if(n===null)return e;let r=e.replace(`0x`,``);if(r.length>n*2)throw new gn({size:Math.ceil(r.length/2),targetSize:n,type:`hex`});return`0x${r[t===`right`?`padEnd`:`padStart`](n*2,`0`)}`}function xn(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new gn({size:e.length,targetSize:n,type:`bytes`});let r=new Uint8Array(n);for(let i=0;i<n;i++){let a=t===`right`;r[a?i:n-i-1]=e[a?i:e.length-i-1]}return r}var Sn=o((()=>{vn()})),Cn,wn,Tn,En,Dn,On,kn,An,jn=o((()=>{A(),Cn=class extends k{constructor({max:e,min:t,signed:n,size:r,value:i}){super(`Number \"${i}\" is not in safe ${r?`${r*8}-bit ${n?`signed`:`unsigned`} `:``}integer range ${e?`(${t} to ${e})`:`(above ${t})`}`,{name:`IntegerOutOfRangeError`})}},wn=class extends k{constructor(e){super(`Bytes value \"${e}\" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`,{name:`InvalidBytesBooleanError`})}},Tn=class extends k{constructor(e){super(`Hex value \"${e}\" is not a valid boolean. The hex value must be \"0x0\" (false) or \"0x1\" (true).`,{name:`InvalidHexBooleanError`})}},En=class extends k{constructor(e){super(`Hex value \"${e}\" is an odd length (${e.length}). It must be an even length.`,{name:`InvalidHexValueError`})}},Dn=class extends k{constructor({limit:e}){super(`RLP depth limit of \\`${e}\\` exceeded.`,{name:`RlpDepthLimitExceededError`})}},On=class extends k{constructor({consumed:e,declared:t}){super(`RLP list items consumed \\`${e}\\` bytes but the list declared a length of \\`${t}\\`.`,{name:`RlpListBoundaryExceededError`})}},kn=class extends k{constructor({count:e}){super(`RLP payload encodes a single item, but \\`${e}\\` trailing ${e===1?`byte remains`:`bytes remain`}.`,{name:`RlpTrailingBytesError`})}},An=class extends k{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:`SizeOverflowError`})}}}));function Mn(e,{dir:t=`left`}={}){let n=typeof e==`string`?e.replace(`0x`,``):e,r=0;for(let e=0;e<n.length-1&&n[t===`left`?e:n.length-e-1].toString()===`0`;e++)r++;return n=t===`left`?n.slice(r):n.slice(0,n.length-r),typeof e==`string`?(n.length===1&&t===`right`&&(n=`${n}0`),`0x${n.length%2==1?`0${n}`:n}`):n}var Nn=o((()=>{}));function Pn(e,{size:t}){if(Rt(e)>t)throw new An({givenSize:Rt(e),maxSize:t})}function j(e,t={}){let{signed:n}=t;t.size&&Pn(e,{size:t.size});let r=BigInt(e);if(!n)return r;let i=(e.length-2)/2;return r<=(1n<<BigInt(i)*8n-1n)-1n?r:r-BigInt(`0x${`f`.padStart(i*2,`f`)}`)-1n}function Fn(e,t={}){let n=e;if(t.size&&(Pn(n,{size:t.size}),n=Mn(n)),Mn(n)===`0x00`)return!1;if(Mn(n)===`0x01`)return!0;throw new Tn(n)}function In(e,t={}){let n=j(e,t),r=Number(n);if(!Number.isSafeInteger(r))throw new Cn({max:`${2**53-1}`,min:`${-(2**53-1)}`,signed:t.signed,size:t.size,value:`${n}n`});return r}var Ln=o((()=>{jn(),zt(),Nn()}));function Rn(e,t={}){return typeof e==`number`||typeof e==`bigint`?M(e,t):typeof e==`string`?Vn(e,t):typeof e==`boolean`?zn(e,t):Bn(e,t)}function zn(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(Pn(n,{size:t.size}),yn(n,{size:t.size})):n}function Bn(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=Hn[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(Pn(r,{size:t.size}),yn(r,{dir:`right`,size:t.size})):r}function M(e,t={}){let{signed:n,size:r}=t,i=BigInt(e),a;r?a=n?(1n<<BigInt(r)*8n-1n)-1n:2n**(BigInt(r)*8n)-1n:typeof e==`number`&&(a=BigInt(2**53-1));let o=typeof a==`bigint`&&n?-a-1n:0;if(a&&i>a||i<o){let t=typeof e==`bigint`?`n`:``;throw new Cn({max:a?`${a}${t}`:void 0,min:`${o}${t}`,signed:n,size:r,value:`${e}${t}`})}let s=`0x${(n&&i<0?(1n<<BigInt(r*8))+BigInt(i):i).toString(16)}`;return r?yn(s,{size:r}):s}function Vn(e,t={}){return Bn(Un.encode(e),t)}var Hn,Un,N=o((()=>{jn(),Sn(),Ln(),Hn=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Un=new TextEncoder}));function Wn(e,t={}){return typeof e==`number`||typeof e==`bigint`?Jn(e,t):typeof e==`boolean`?Gn(e,t):O(e)?qn(e,t):Yn(e,t)}function Gn(e,t={}){let n=new Uint8Array(1);return n[0]=Number(e),typeof t.size==`number`?(Pn(n,{size:t.size}),yn(n,{size:t.size})):n}function Kn(e){if(e>=Zn.zero&&e<=Zn.nine)return e-Zn.zero;if(e>=Zn.A&&e<=Zn.F)return e-(Zn.A-10);if(e>=Zn.a&&e<=Zn.f)return e-(Zn.a-10)}function qn(e,t={}){let n=e;t.size&&(Pn(n,{size:t.size}),n=yn(n,{dir:`right`,size:t.size}));let r=n.slice(2);r.length%2&&(r=`0${r}`);let i=r.length/2,a=new Uint8Array(i);for(let e=0,t=0;e<i;e++){let n=Kn(r.charCodeAt(t++)),i=Kn(r.charCodeAt(t++));if(n===void 0||i===void 0)throw new k(`Invalid byte sequence (\"${r[t-2]}${r[t-1]}\" in \"${r}\").`);a[e]=n*16+i}return a}function Jn(e,t){return qn(M(e,t))}function Yn(e,t={}){let n=Xn.encode(e);return typeof t.size==`number`?(Pn(n,{size:t.size}),yn(n,{dir:`right`,size:t.size})):n}var Xn,Zn,Qn=o((()=>{A(),Lt(),Sn(),Ln(),N(),Xn=new TextEncoder,Zn={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function $n(e,t=!1){return t?{h:Number(e&nr),l:Number(e>>rr&nr)}:{h:Number(e>>rr&nr)|0,l:Number(e&nr)|0}}function er(e,t=!1){let n=e.length,r=new Uint32Array(n),i=new Uint32Array(n);for(let a=0;a<n;a++){let{h:n,l:o}=$n(e[a],t);[r[a],i[a]]=[n,o]}return[r,i]}function tr(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var nr,rr,ir,ar,or,sr,cr,lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br=o((()=>{nr=BigInt(2**32-1),rr=BigInt(32),ir=(e,t,n)=>e>>>n,ar=(e,t,n)=>e<<32-n|t>>>n,or=(e,t,n)=>e>>>n|t<<32-n,sr=(e,t,n)=>e<<32-n|t>>>n,cr=(e,t,n)=>e<<64-n|t>>>n-32,lr=(e,t,n)=>e>>>n-32|t<<64-n,ur=(e,t,n)=>e<<n|t>>>32-n,dr=(e,t,n)=>t<<n|e>>>32-n,fr=(e,t,n)=>t<<n-32|e>>>64-n,pr=(e,t,n)=>e<<n-32|t>>>64-n,mr=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),hr=(e,t,n,r)=>t+n+r+(e/2**32|0)|0,gr=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),_r=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0,vr=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0),yr=(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0})),xr,Sr=o((()=>{xr=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0}));\n/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Cr(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function wr(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function Tr(e,...t){if(!Cr(e))throw Error(`Uint8Array expected`);if(t.length>0&&!t.includes(e.length))throw Error(`Uint8Array expected of length `+t+`, got length=`+e.length)}function Er(e){if(typeof e!=`function`||typeof e.create!=`function`)throw Error(`Hash should be wrapped by utils.createHasher`);wr(e.outputLen),wr(e.blockLen)}function Dr(e,t=!0){if(e.destroyed)throw Error(`Hash instance has been destroyed`);if(t&&e.finished)throw Error(`Hash#digest() has already been called`)}function Or(e,t){Tr(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}function kr(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Ar(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function jr(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Mr(e,t){return e<<32-t|e>>>t}function Nr(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function Pr(e){for(let t=0;t<e.length;t++)e[t]=Nr(e[t]);return e}function Fr(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function Ir(e){return typeof e==`string`&&(e=Fr(e)),Tr(e),e}function Lr(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];Tr(r),t+=r.length}let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}function Rr(e){let t=t=>e().update(Ir(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function zr(e=32){if(xr&&typeof xr.getRandomValues==`function`)return xr.getRandomValues(new Uint8Array(e));if(xr&&typeof xr.randomBytes==`function`)return Uint8Array.from(xr.randomBytes(e));throw Error(`crypto.getRandomValues must be defined`)}var Br,Vr,Hr,Ur=o((()=>{Sr(),Br=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,Vr=Br?e=>e:Pr,Hr=class{}}));function Wr(e,t=24){let n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let t=0;t<10;t++)n[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let r=(t+8)%10,i=(t+2)%10,a=n[i],o=n[i+1],s=ri(a,o,1)^n[r],c=ii(a,o,1)^n[r+1];for(let n=0;n<50;n+=10)e[t+n]^=s,e[t+n+1]^=c}let t=e[2],i=e[3];for(let n=0;n<24;n++){let r=Qr[n],a=ri(t,i,r),o=ii(t,i,r),s=Zr[n];t=e[s],i=e[s+1],e[s]=a,e[s+1]=o}for(let t=0;t<50;t+=10){for(let r=0;r<10;r++)n[r]=e[t+r];for(let r=0;r<10;r++)e[t+r]^=~n[(r+2)%10]&n[(r+4)%10]}e[0]^=ti[r],e[1]^=ni[r]}Ar(n)}var Gr,Kr,qr,Jr,Yr,Xr,Zr,Qr,$r,ei,ti,ni,ri,ii,ai,oi,si,ci=o((()=>{br(),Ur(),Gr=BigInt(0),Kr=BigInt(1),qr=BigInt(2),Jr=BigInt(7),Yr=BigInt(256),Xr=BigInt(113),Zr=[],Qr=[],$r=[];for(let e=0,t=Kr,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],Zr.push(2*(5*r+n)),Qr.push((e+1)*(e+2)/2%64);let i=Gr;for(let e=0;e<7;e++)t=(t<<Kr^(t>>Jr)*Xr)%Yr,t&qr&&(i^=Kr<<(Kr<<BigInt(e))-Kr);$r.push(i)}ei=er($r,!0),ti=ei[0],ni=ei[1],ri=(e,t,n)=>n>32?fr(e,t,n):ur(e,t,n),ii=(e,t,n)=>n>32?pr(e,t,n):dr(e,t,n),ai=class e extends Hr{constructor(e,t,n,r=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=t,this.outputLen=n,this.enableXOF=r,this.rounds=i,wr(n),!(0<e&&e<200))throw Error(`only keccak-f1600 function is supported`);this.state=new Uint8Array(200),this.state32=kr(this.state)}clone(){return this._cloneInto()}keccak(){Vr(this.state32),Wr(this.state32,this.rounds),Vr(this.state32),this.posOut=0,this.pos=0}update(e){Dr(this),e=Ir(e),Tr(e);let{blockLen:t,state:n}=this,r=e.length;for(let i=0;i<r;){let a=Math.min(t-this.pos,r-i);for(let t=0;t<a;t++)n[this.pos++]^=e[i++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:n,blockLen:r}=this;e[n]^=t,t&128&&n===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){Dr(this,!1),Tr(e),this.finish();let t=this.state,{blockLen:n}=this;for(let r=0,i=e.length;r<i;){this.posOut>=n&&this.keccak();let a=Math.min(n-this.posOut,i-r);e.set(t.subarray(this.posOut,this.posOut+a),r),this.posOut+=a,r+=a}return e}xofInto(e){if(!this.enableXOF)throw Error(`XOF is not possible for this instance`);return this.writeInto(e)}xof(e){return wr(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Or(e,this),this.finished)throw Error(`digest() was already called`);return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,Ar(this.state)}_cloneInto(t){let{blockLen:n,suffix:r,outputLen:i,rounds:a,enableXOF:o}=this;return t||=new e(n,r,i,o,a),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=a,t.suffix=r,t.outputLen=i,t.enableXOF=o,t.destroyed=this.destroyed,t}},oi=(e,t,n)=>Rr(()=>new ai(t,e,n)),si=oi(1,136,32)}));function li(e,t){let n=t||`hex`,r=si(O(e,{strict:!1})?Wn(e):e);return n===`bytes`?r:Rn(r)}var ui=o((()=>{ci(),Lt(),Qn(),N()}));function di(e){return fi(e)}var fi,pi=o((()=>{Qn(),ui(),fi=e=>li(Wn(e))}));function mi(e){let t=!0,n=``,r=0,i=``,a=!1;for(let o=0;o<e.length;o++){let s=e[o];if([`(`,`)`,`,`].includes(s)&&(t=!0),s===`(`&&r++,s===`)`&&r--,t){if(r===0){if(s===` `&&[`event`,`function`,``].includes(i))i=``;else if(i+=s,s===`)`){a=!0;break}continue}if(s===` `){e[o-1]!==`,`&&n!==`,`&&n!==`,(`&&(n=``,t=!1);continue}i+=s,n+=s}}if(!a)throw new k(`Unable to normalize signature.`);return i}var hi=o((()=>{A()})),gi,_i=o((()=>{Mt(),hi(),gi=e=>mi(typeof e==`string`?e:ye(e))}));function vi(e){return di(gi(e))}var yi=o((()=>{pi(),_i()})),bi,xi=o((()=>{yi(),bi=vi})),Si,Ci=o((()=>{A(),Si=class extends k{constructor({address:e}){super(`Address \"${e}\" is invalid.`,{metaMessages:[`- Address must be a hex value of 20 bytes (40 hex characters).`,`- Address must match its checksum counterpart.`],name:`InvalidAddressError`})}}})),wi,Ti=o((()=>{wi=class extends Map{constructor(e){super(),Object.defineProperty(this,\"maxSize\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let t=super.get(e);return super.has(e)&&(super.delete(e),super.set(e,t)),t}set(e,t){if(super.has(e)&&super.delete(e),super.set(e,t),this.maxSize&&this.size>this.maxSize){let e=super.keys().next().value;e!==void 0&&super.delete(e)}return this}}}));function Ei(e,t){if(Oi.has(`${e}.${t}`))return Oi.get(`${e}.${t}`);let n=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),r=li(Yn(n),`bytes`),i=(t?n.substring(`${t}0x`.length):n).split(``);for(let e=0;e<40;e+=2)r[e>>1]>>4>=8&&i[e]&&(i[e]=i[e].toUpperCase()),(r[e>>1]&15)>=8&&i[e+1]&&(i[e+1]=i[e+1].toUpperCase());let a=`0x${i.join(``)}`;return Oi.set(`${e}.${t}`,a),a}function Di(e,t){if(!Ai(e,{strict:!1}))throw new Si({address:e});return Ei(e,t)}var Oi,ki=o((()=>{Ci(),Qn(),ui(),Ti(),Ni(),Oi=new wi(8192)}));function Ai(e,t){let{strict:n=!0}=t??{},r=`${e}.${n}`;if(Mi.has(r))return Mi.get(r);let i=ji.test(e)?e.toLowerCase()===e||!n||Ei(e)===e:!1;return Mi.set(r,i),i}var ji,Mi,Ni=o((()=>{Ti(),ki(),ji=/^0x[a-fA-F0-9]{40}$/,Mi=new wi(8192)}));function Pi(e){return typeof e[0]==`string`?Ii(e):Fi(e)}function Fi(e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function Ii(e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}var Li=o((()=>{}));function Ri(e,t,n,{strict:r}={}){return O(e,{strict:!1})?Hi(e,t,n,{strict:r}):Vi(e,t,n,{strict:r})}function zi(e,t){if(typeof t==`number`&&t>0&&t>Rt(e)-1)throw new hn({offset:t,position:`start`,size:Rt(e)})}function Bi(e,t,n){if(typeof t==`number`&&typeof n==`number`&&Rt(e)!==n-t)throw new hn({offset:n,position:`end`,size:Rt(e)})}function Vi(e,t,n,{strict:r}={}){zi(e,t);let i=e.slice(t,n);return r&&Bi(i,t,n),i}function Hi(e,t,n,{strict:r}={}){zi(e,t);let i=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return r&&Bi(i,t,n),i}var Ui=o((()=>{vn(),Lt(),zt()})),Wi,Gi,Ki=o((()=>{Wi=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Gi=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/}));function qi(e,t){if(e.length!==t.length)throw new Xt({expectedLength:e.length,givenLength:t.length});return Xi(Ji({params:e,values:t}))}function Ji({params:e,values:t}){let n=[];for(let r=0;r<e.length;r++)n.push(Yi({param:e[r],value:t[r]}));return n}function Yi({param:e,value:t}){let n=ia(e.type);if(n){let[r,i]=n;return Qi(t,{length:r,param:{...e,type:i}})}if(e.type===`tuple`)return ra(t,{param:e});if(e.type===`address`)return Zi(t);if(e.type===`bool`)return ea(t);if(e.type.startsWith(`uint`)||e.type.startsWith(`int`)){let n=e.type.startsWith(`int`),[,,r=`256`]=Gi.exec(e.type)??[];return ta(t,{signed:n,size:Number(r)})}if(e.type.startsWith(`bytes`))return $i(t,{param:e});if(e.type===`string`)return na(t);throw new un(e.type,{docsPath:`/docs/contract/encodeAbiParameters`})}function Xi(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];t+=r?32:Rt(i)}let n=[],r=[],i=0;for(let a=0;a<e.length;a++){let{dynamic:o,encoded:s}=e[a];o?(n.push(M(t+i,{size:32})),r.push(s),i+=Rt(s)):n.push(s)}return Ii([...n,...r])}function Zi(e){if(!Ai(e))throw new Si({address:e});return{dynamic:!1,encoded:bn(e.toLowerCase())}}function Qi(e,{length:t,param:n}){let r=t===null;if(!Array.isArray(e))throw new fn(e);if(!r&&e.length!==t)throw new Jt({expectedLength:t,givenLength:e.length,type:`${n.type}[${t}]`});let i=e.length===0&&aa(n),a=[];for(let t=0;t<e.length;t++){let r=Yi({param:n,value:e[t]});r.dynamic&&(i=!0),a.push(r)}if(r||i){let e=Xi(a);if(r)return{dynamic:!0,encoded:Ii([M(a.length,{size:32}),e])};if(i)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:Ii(a.map(({encoded:e})=>e))}}function $i(e,{param:t}){let[,n]=t.type.split(`bytes`),r=Rt(e);if(!n){let t=e;return r%32!=0&&(t=bn(t,{dir:`right`,size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:Ii([bn(M(r,{size:32})),t])}}if(r!==Number.parseInt(n,10))throw new Yt({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:bn(e,{dir:`right`})}}function ea(e){if(typeof e!=`boolean`)throw new k(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:bn(zn(e))}}function ta(e,{signed:t,size:n=256}){if(typeof n==`number`){let r=2n**(BigInt(n)-(t?1n:0n))-1n,i=t?-r-1n:0n;if(e>r||e<i)throw new Cn({max:r.toString(),min:i.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:M(e,{size:32,signed:t})}}function na(e){let t=Vn(e),n=Math.ceil(Rt(t)/32),r=[];for(let e=0;e<n;e++)r.push(bn(Ri(t,e*32,(e+1)*32),{dir:`right`}));return{dynamic:!0,encoded:Ii([bn(M(Rt(t),{size:32})),...r])}}function ra(e,{param:t}){let n=!1,r=[];for(let i=0;i<t.components.length;i++){let a=t.components[i],o=Yi({param:a,value:e[Array.isArray(e)?i:a.name]});r.push(o),o.dynamic&&(n=!0)}return{dynamic:n,encoded:n?Xi(r):Ii(r.map(({encoded:e})=>e))}}function ia(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function aa(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components.some(aa);let n=ia(t);return n?aa({...e,type:n[1]}):!1}var oa=o((()=>{mn(),Ci(),A(),jn(),Ni(),Li(),Sn(),zt(),Ui(),N(),Ki()})),sa,ca=o((()=>{Ui(),yi(),sa=e=>Ri(vi(e),0,4)}));function la(e){let{abi:t,args:n=[],name:r}=e,i=O(r,{strict:!1}),a=t.filter(e=>i?e.type===`function`?sa(e)===r:e.type===`event`&&bi(e)===r:`name`in e&&e.name===r);if(a.length===0)return;if(a.length===1)return a[0];let o;for(let e of a)if(`inputs`in e){if(!n||n.length===0){if(!e.inputs||e.inputs.length===0)return e;continue}if(e.inputs&&e.inputs.length!==0&&e.inputs.length===n.length&&n.every((t,n)=>{let r=`inputs`in e&&e.inputs[n];return r?ua(t,r):!1})){if(o&&`inputs`in o&&o.inputs){let t=da(e.inputs,o.inputs,n);if(t)throw new on({abiItem:e,type:t[0]},{abiItem:o,type:t[1]})}o=e}}return o||a[0]}function ua(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return Ai(e,{strict:!1});case`bool`:return n===`boolean`;case`function`:return n===`string`;case`string`:return n===`string`;default:return r===`tuple`&&`components`in t?Object.values(t.components).every((t,r)=>n===`object`&&ua(Object.values(e)[r],t)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(r)?n===`number`||n===`bigint`:/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?n===`string`||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\\[[0-9]{0,}\\])+$/.test(r)?Array.isArray(e)&&e.every(e=>ua(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function da(e,t,n){for(let r in e){let i=e[r],a=t[r];if(i.type===`tuple`&&a.type===`tuple`&&`components`in i&&`components`in a)return da(i.components,a.components,n[r]);let o=[i.type,a.type];if(o.includes(`address`)&&o.includes(`bytes20`)||(o.includes(`address`)&&o.includes(`string`)||o.includes(`address`)&&o.includes(`bytes`))&&Ai(n[r],{strict:!1}))return o}}var fa=o((()=>{mn(),Lt(),Ni(),xi(),ca()}));function P(e){return typeof e==`string`?{address:e,type:`json-rpc`}:e}var pa=o((()=>{}));function ma(e){let{abi:t,args:n,functionName:r}=e,i=t[0];if(r){let e=la({abi:t,args:n,name:r});if(!e)throw new nn(r,{docsPath:ha});i=e}if(i.type!==`function`)throw new nn(void 0,{docsPath:ha});return{abi:[i],functionName:sa(Nt(i))}}var ha,ga=o((()=>{mn(),ca(),It(),fa(),ha=`/docs/contract/encodeFunctionData`}));function _a(e){let{args:t}=e,{abi:n,functionName:r}=e.abi.length===1&&e.functionName?.startsWith(`0x`)?e:ma(e),i=n[0];return Ii([r,(`inputs`in i&&i.inputs?qi(i.inputs,t??[]):void 0)??`0x`])}var va=o((()=>{Li(),oa(),ga()})),ya,ba,xa,Sa=o((()=>{ya={1:\"An `assert` condition failed.\",17:`Arithmetic operation resulted in underflow or overflow.`,18:\"Division or modulo by zero (e.g. `5 / 0` or `23 % 0`).\",33:`Attempted to convert to an invalid type.`,34:`Attempted to access a storage byte array that is incorrectly encoded.`,49:\"Performed `.pop()` on an empty array\",50:`Array index is out of bounds.`,65:`Allocated too much memory or created an array which is too large.`,81:`Attempted to call a zero-initialized variable of internal function type.`},ba={inputs:[{name:`message`,type:`string`}],name:`Error`,type:`error`},xa={inputs:[{name:`reason`,type:`uint256`}],name:`Panic`,type:`error`}})),Ca,wa,Ta,Ea=o((()=>{A(),Ca=class extends k{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`,{name:`NegativeOffsetError`})}},wa=class extends k{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`,{name:`PositionOutOfBoundsError`})}},Ta=class extends k{constructor({count:e,limit:t}){super(`Recursive read limit of \\`${t}\\` exceeded (recursive read count: \\`${e}\\`).`,{name:`RecursiveReadLimitExceededError`})}}}));function Da(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(Oa);return n.bytes=e,n.dataView=new DataView(e.buffer??e,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var Oa,ka=o((()=>{Ea(),Oa={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:1/0,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new Ta({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new wa({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Ca({offset:e});let t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new Ca({offset:e});let t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){let n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){let t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){let t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){let t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();let n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();let e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();let e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();let e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();let e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){let t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===1/0)return;let e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}}}));function Aa(e,t={}){return t.size!==void 0&&Pn(e,{size:t.size}),j(Bn(e),t)}function ja(e,t={}){let n=e;if(t.size!==void 0&&(Pn(n,{size:t.size}),n=Mn(n)),n.length>1||n[0]>1)throw new wn(n);return!!n[0]}function Ma(e,t={}){return t.size!==void 0&&Pn(e,{size:t.size}),In(Bn(e),t)}function Na(e,t={}){let n=e;return t.size!==void 0&&(Pn(n,{size:t.size}),n=Mn(n,{dir:`right`})),new TextDecoder().decode(n)}var Pa=o((()=>{jn(),Nn(),Ln(),N()}));function Fa(e,t){let n=typeof t==`string`?qn(t):t,r=Da(n);if(Rt(n)===0&&e.length>0)throw new qt;if(Rt(t)&&Rt(t)<32)throw new Kt({data:typeof t==`string`?t:Bn(t),params:e,size:Rt(t)});let i=0,a=[];for(let t=0;t<e.length;++t){let o=e[t];i<n.length&&r.setPosition(i);let[s,c]=Ia(r,o,{staticPosition:0});i+=c,a.push(s)}return a}function Ia(e,t,{staticPosition:n}){let r=ia(t.type);if(r){let[i,a]=r;return Ra(e,{...t,type:a},{length:i,staticPosition:n})}if(t.type===`tuple`)return Ha(e,t,{staticPosition:n});if(t.type===`address`)return La(e);if(t.type===`bool`)return za(e);if(t.type.startsWith(`bytes`))return Ba(e,t,{staticPosition:n});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return Va(e,t);if(t.type===`string`)return Ua(e,{staticPosition:n});throw new dn(t.type,{docsPath:`/docs/contract/decodeAbiParameters`})}function La(e){return[Ei(Bn(Vi(e.readBytes(32),-20))),32]}function Ra(e,t,{length:n,staticPosition:r}){if(n===null){let n=r+Ma(e.readBytes(Ka)),i=n+Ga;e.setPosition(n);let a=Ma(e.readBytes(Ga)),o=Wa(t),s=0,c=[];for(let n=0;n<a;++n){e.setPosition(i+(o?n*32:s));let[r,a]=Ia(e,t,{staticPosition:i});s+=a,c.push(r),a===0&&(e.assertReadLimit(),e._touch())}return e.setPosition(r+32),[c,32]}if(Wa(t)){let i=r+Ma(e.readBytes(Ka)),a=[];for(let r=0;r<n;++r){e.setPosition(i+r*32);let[n]=Ia(e,t,{staticPosition:i});a.push(n)}return e.setPosition(r+32),[a,32]}let i=0,a=[];for(let o=0;o<n;++o){let[n,o]=Ia(e,t,{staticPosition:r+i});i+=o,a.push(n),o===0&&(e.assertReadLimit(),e._touch())}return[a,i]}function za(e){return[ja(e.readBytes(32),{size:32}),32]}function Ba(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=Ma(e.readBytes(32));e.setPosition(n+t);let r=Ma(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[Bn(i),32]}return[Bn(e.readBytes(Number.parseInt(i,10),32)),32]}function Va(e,t){let n=t.type.startsWith(`int`),r=Number.parseInt(t.type.split(`int`)[1]||`256`,10),i=e.readBytes(32);return[r>48?Aa(i,{signed:n}):Ma(i,{signed:n}),32]}function Ha(e,t,{staticPosition:n}){let r=t.components.length===0||t.components.some(({name:e})=>!e),i=r?[]:{},a=0;if(Wa(t)){let o=n+Ma(e.readBytes(Ka));for(let n=0;n<t.components.length;++n){let s=t.components[n];e.setPosition(o+a);let[c,l]=Ia(e,s,{staticPosition:o});a+=l,i[r?n:s?.name]=c}return e.setPosition(n+32),[i,32]}for(let o=0;o<t.components.length;++o){let s=t.components[o],[c,l]=Ia(e,s,{staticPosition:n});i[r?o:s?.name]=c,a+=l}return[i,a]}function Ua(e,{staticPosition:t}){let n=t+Ma(e.readBytes(32));e.setPosition(n);let r=Ma(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Na(e.readBytes(r,32));return e.setPosition(t+32),[i,32]}function Wa(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(Wa);let n=ia(e.type);return!!(n&&Wa({...e,type:n[1]}))}var Ga,Ka,qa=o((()=>{mn(),ki(),ka(),zt(),Ui(),Pa(),Qn(),N(),oa(),Ga=32,Ka=32}));function Ja(e){let{abi:t,data:n,cause:r}=e,i=Ri(n,0,4);if(i===`0x`)throw new qt({cause:r});let a=[...t||[],ba,xa].find(e=>e.type===`error`&&i===sa(Nt(e)));if(!a)throw new $t(i,{docsPath:`/docs/contract/decodeErrorResult`,cause:r});return{abiItem:a,args:`inputs`in a&&a.inputs&&a.inputs.length>0?Fa(a.inputs,Ri(n,4)):void 0,errorName:a.name}}var Ya=o((()=>{Sa(),mn(),Ui(),ca(),qa(),It()})),Xa,Za=o((()=>{Xa=(e,t,n)=>JSON.stringify(e,(e,n)=>{let r=typeof n==`bigint`?n.toString():n;return typeof t==`function`?t(e,r):r},n)}));function Qa({abiItem:e,args:t,includeFunctionName:n=!0,includeName:r=!1}){if(`name`in e&&`inputs`in e&&e.inputs)return`${n?e.name:``}(${e.inputs.map((e,n)=>`${r&&e.name?`${e.name}: `:``}${typeof t[n]==`object`?Xa(t[n]):t[n]}`).join(`, `)})`}var $a=o((()=>{Za()}));function eo(e,t=0){if(!Number.isInteger(t)||t<0)throw new so({decimals:t});let n=e.toString(),r=n.startsWith(`-`);r&&(n=n.slice(1)),n=n.padStart(t,`0`);let[i,a]=[n.slice(0,n.length-t),n.slice(n.length-t)];return a=a.replace(/(0+)$/,``),`${r?`-`:``}${i||`0`}${a?`.${a}`:``}`}function to(e,t=`wei`){return eo(e,ao.ether-ao[t])}function no(e,t=`wei`){return eo(e,ao.gwei-ao[t])}function ro(e,t=0){if(!Number.isInteger(t)||t<0)throw new so({decimals:t});if(!/^-?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)$/.test(e))throw new oo({value:e});let[n=``,r=`0`]=e.split(`.`),i=n.startsWith(`-`);if(i&&(n=n.slice(1)),n===``&&(n=`0`),r=r.replace(/(0+)$/,``),t===0)r.length>0&&Number.parseInt(r[0],10)>=5&&(n=`${BigInt(n)+1n}`),r=``;else if(r.length>t){let e=r.slice(0,t);if(Number.parseInt(r.slice(t,t+1),10)>=5){let i=io(e);i.length>t?(r=i.slice(1),n=`${BigInt(n)+1n}`):r=i}else r=e}else r=r.padEnd(t,`0`);return BigInt(`${i?`-`:``}${n}${r}`)}function io(e){let t=e.split(``),n=t.length-1;for(;n>=0;){let e=Number.parseInt(t[n],10)+1;if(e<10)return t[n]=String(e),t.join(``);t[n]=`0`,n--}return`1${t.join(``)}`}var ao,oo,so,co=o((()=>{ao={wei:0,gwei:9,szabo:12,finney:15,ether:18},oo=class extends Error{constructor({value:e}){super(`Value \\`${e}\\` is not a valid decimal number.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Value.InvalidDecimalNumberError`})}},so=class extends Error{constructor({decimals:e}){super(`\\`decimals\\` must be a non-negative integer. Got \\`${e}\\`.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Value.InvalidDecimalsError`})}}}));function lo(e,t=`wei`){return to(e,t)}var uo=o((()=>{co()}));function fo(e,t=`wei`){return no(e,t)}var po=o((()=>{co()}));function mo(e){return e.reduce((e,{slot:t,value:n})=>`${e} ${t}: ${n}\\n`,``)}function ho(e){return e.reduce((e,{address:t,...n})=>{let r=`${e} ${t}:\\n`;return n.nonce&&(r+=` nonce: ${n.nonce}\\n`),n.balance&&(r+=` balance: ${n.balance}\\n`),n.code&&(r+=` code: ${n.code}\\n`),n.state&&(r+=` state:\n`,r+=mo(n.state)),n.stateDiff&&(r+=` stateDiff:\n`,r+=mo(n.stateDiff)),r},` State Override:\n`).slice(0,-1)}var go,_o,vo=o((()=>{A(),go=class extends k{constructor({address:e}){super(`State for account \"${e}\" is set multiple times.`,{name:`AccountStateConflictError`})}},_o=class extends k{constructor(){super(`state and stateDiff are set on the same account.`,{name:`StateAssignmentConflictError`})}}}));function yo(e){let t=Object.entries(e).map(([e,t])=>t===void 0||t===!1?null:[e,t]).filter(Boolean),n=t.reduce((e,[t])=>Math.max(e,t.length),0);return t.map(([e,t])=>` ${`${e}:`.padEnd(n+1)} ${t}`).join(`\n`)}var bo,xo,So,Co,wo,To,Eo,Do,Oo,ko,Ao,jo=o((()=>{uo(),po(),A(),bo=class extends k{constructor({v:e}){super(`Invalid \\`v\\` value \"${e}\". Expected 27 or 28.`,{name:`InvalidLegacyVError`})}},xo=class extends k{constructor({yParity:e}){super(`Invalid \\`yParity\\` value \"${e}\". Expected 0 or 1.`,{name:`InvalidYParityError`})}},So=class extends k{constructor({transaction:e}){super(`Cannot infer a transaction type from provided transaction.`,{metaMessages:[`Provided Transaction:`,`{`,yo(e),`}`,``,`To infer the type, either provide:`,\"- a `type` to the Transaction, or\",\"- an EIP-1559 Transaction with `maxFeePerGas`, or\",\"- an EIP-2930 Transaction with `gasPrice` & `accessList`, or\",\"- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or\",\"- an EIP-7702 Transaction with `authorizationList`, or\",\"- a Legacy Transaction with `gasPrice`\"],name:`InvalidSerializableTransactionError`})}},Co=class extends k{constructor({serializedType:e}){super(`Serialized transaction type \"${e}\" is invalid.`,{name:`InvalidSerializedTransactionType`}),Object.defineProperty(this,\"serializedType\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.serializedType=e}},wo=class extends k{constructor({attributes:e,serializedTransaction:t,type:n}){let r=Object.entries(e).map(([e,t])=>t===void 0?e:void 0).filter(Boolean);super(`Invalid serialized transaction of type \"${n}\" was provided.`,{metaMessages:[`Serialized Transaction: \"${t}\"`,r.length>0?`Missing Attributes: ${r.join(`, `)}`:``].filter(Boolean),name:`InvalidSerializedTransactionError`}),Object.defineProperty(this,\"serializedTransaction\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"type\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.serializedTransaction=t,this.type=n}},To=class extends k{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${Math.floor((e.length-2)/2)} bytes.`,{name:`InvalidStorageKeySizeError`})}},Eo=class extends k{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d}){let f=yo({chain:r&&`${r?.name} (id: ${r?.id})`,from:t?.address,to:u,value:d!==void 0&&`${lo(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${fo(o)} gwei`,maxFeePerGas:s!==void 0&&`${fo(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${fo(c)} gwei`,nonce:l});super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],`Request Arguments:`,f].filter(Boolean),name:`TransactionExecutionError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}},Do=class extends k{constructor({blockHash:e,blockNumber:t,blockTag:n,hash:r,index:i}){let a=`Transaction`;n&&i!==void 0&&(a=`Transaction at block time \"${n}\" at index \"${i}\"`),e&&i!==void 0&&(a=`Transaction at block hash \"${e}\" at index \"${i}\"`),t&&i!==void 0&&(a=`Transaction at block number \"${t}\" at index \"${i}\"`),r&&(a=`Transaction with hash \"${r}\"`),super(`${a} could not be found.`,{name:`TransactionNotFoundError`})}},Oo=class extends k{constructor({hash:e}){super(`Transaction receipt with hash \"${e}\" could not be found. The Transaction may not be processed on a block yet.`,{name:`TransactionReceiptNotFoundError`})}},ko=class extends k{constructor({receipt:e}){super(`Transaction with hash \"${e.transactionHash}\" reverted.`,{metaMessages:[`The receipt marked the transaction as \"reverted\". This could mean that the function on the contract you are trying to call threw an error.`,` `,`You can attempt to extract the revert reason by:`,\"- calling the `simulateContract` or `simulateCalls` Action with the `abi` and `functionName` of the contract\",\"- using the `call` Action with raw `data`\"],name:`TransactionReceiptRevertedError`}),Object.defineProperty(this,\"receipt\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.receipt=e}},Ao=class extends k{constructor({hash:e}){super(`Timed out while waiting for transaction with hash \"${e}\" to be confirmed.`,{name:`WaitForTransactionReceiptTimeoutError`})}}}));function Mo(e){if(e?.reason)return e.reason;if(typeof DOMException==`function`)return new DOMException(`This operation was aborted`,`AbortError`);let t=Error(`This operation was aborted`);return t.name=`AbortError`,t}function No(e){return typeof e==`object`&&!!e&&`name`in e&&e.name===`AbortError`}var Po,Fo,Io=o((()=>{Po=e=>e,Fo=e=>{try{let t=new URL(e);return!t.username&&!t.password?e:(t.username=``,t.password=``,t.toString())}catch{return e}}})),Lo,Ro,zo,Bo,Vo,Ho,Uo=o((()=>{pa(),Sa(),Ya(),It(),$a(),fa(),uo(),po(),mn(),A(),vo(),jo(),Io(),Lo=class extends k{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d,stateOverride:f}){let p=yo({from:(t?P(t):void 0)?.address,to:u,value:d!==void 0&&`${lo(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${fo(o)} gwei`,maxFeePerGas:s!==void 0&&`${fo(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${fo(c)} gwei`,nonce:l});f&&(p+=`\\n${ho(f)}`),super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],`Raw Call Arguments:`,p].filter(Boolean),name:`CallExecutionError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}},Ro=class extends k{constructor(e,{abi:t,args:n,contractAddress:r,docsPath:i,functionName:a,sender:o}){let s=la({abi:t,args:n,name:a}),c=s?Qa({abiItem:s,args:n,includeFunctionName:!1,includeName:!1}):void 0,l=s?Nt(s,{includeName:!0}):void 0,u=yo({address:r&&Po(r),function:l,args:c&&c!==`()`&&`${[...Array(a?.length??0).keys()].map(()=>` `).join(``)}${c}`,sender:o});super(e.shortMessage||`An unknown error occurred while executing the contract function \"${a}\".`,{cause:e,docsPath:i,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],u&&`Contract Call:`,u].filter(Boolean),name:`ContractFunctionExecutionError`}),Object.defineProperty(this,\"abi\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"args\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"contractAddress\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"formattedArgs\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"functionName\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"sender\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abi=t,this.args=n,this.cause=e,this.contractAddress=r,this.functionName=a,this.sender=o}},zo=class extends k{constructor({abi:e,data:t,functionName:n,message:r,cause:i}){let a,o,s,c;if(t&&t!==`0x`)try{o=Ja({abi:e,data:t,cause:i});let{abiItem:n,errorName:r,args:a}=o;if(r===`Error`)c=a[0];else if(r===`Panic`){let[e]=a;c=ya[e]}else{let e=n?Nt(n,{includeName:!0}):void 0,t=n&&a?Qa({abiItem:n,args:a,includeFunctionName:!1,includeName:!1}):void 0;s=[e?`Error: ${e}`:``,t&&t!==`()`?` ${[...Array(r?.length??0).keys()].map(()=>` `).join(``)}${t}`:``]}}catch(e){a=e}else r&&(c=r);let l;a instanceof $t&&(l=a.signature,s=[`Unable to decode signature \"${l}\" as it was not found on the provided ABI.`,`Make sure you are using the correct ABI and that the error exists on it.`,`You can look up the decoded signature here: https://4byte.sourcify.dev/?q=${l}.`]),super(c&&c!==`execution reverted`||l?[`The contract function \"${n}\" reverted with the following ${l?`signature`:`reason`}:`,c||l].join(`\n`):`The contract function \"${n}\" reverted.`,{cause:a??i,metaMessages:s,name:`ContractFunctionRevertedError`}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"raw\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"reason\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"signature\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=o,this.raw=t,this.reason=c,this.signature=l}},Bo=class extends k{constructor({functionName:e,cause:t}){super(`The contract function \"${e}\" returned no data (\"0x\").`,{metaMessages:[`This could be due to any of the following:`,` - The contract does not have the function \"${e}\",`,` - The parameters passed to the contract function may be invalid, or`,` - The address is not a contract.`],name:`ContractFunctionZeroDataError`,cause:t})}},Vo=class extends k{constructor({factory:e}){super(`Deployment for counterfactual contract call failed${e?` for factory \"${e}\".`:``}`,{metaMessages:[`Please ensure:`,\"- The `factory` is a valid contract deployment factory (ie. Create2 Factory, ERC-4337 Factory, etc).\",\"- The `factoryData` is a valid encoded function call for contract deployment function on the factory.\"],name:`CounterfactualDeploymentFailedError`})}},Ho=class extends k{constructor({data:e,message:t}){super(t||``,{name:`RawContractError`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=e}}})),Wo,Go,Ko,qo,Jo=o((()=>{Za(),A(),Io(),Wo=class extends k{constructor({body:e,cause:t,details:n,headers:r,status:i,url:a}){super(`HTTP request failed.`,{cause:t,details:n,metaMessages:[i&&`Status: ${i}`,`URL: ${Fo(a)}`,e&&`Request body: ${Xa(e)}`].filter(Boolean),name:`HttpRequestError`}),Object.defineProperty(this,\"body\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"headers\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"status\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.body=e,this.headers=r,this.status=i,this.url=a}},Go=class extends k{constructor({maxSize:e,size:t}){super(`HTTP response body exceeded the size limit.`,{metaMessages:[`Max: ${e} bytes`,`Received: ${t} bytes`],name:`ResponseBodyTooLargeError`}),Object.defineProperty(this,\"maxSize\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"size\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e,this.size=t}},Ko=class extends k{constructor({body:e,error:t,url:n}){super(`RPC Request failed.`,{cause:t,details:t.message,metaMessages:[`URL: ${Fo(n)}`,`Request body: ${Xa(e)}`],name:`RpcRequestError`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=t.code,this.data=t.data,this.url=n}},qo=class extends k{constructor({body:e,url:t}){super(`The request took too long to respond.`,{details:`The request timed out.`,metaMessages:[`URL: ${Fo(t)}`,`Request body: ${Xa(e)}`],name:`TimeoutError`}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.url=t}}})),Yo,Xo,Zo,Qo,$o,es,ts,ns,rs,is,as,os,ss,cs,ls,us,ds,fs,ps,ms,hs,gs,_s,vs,ys,bs,xs,Ss,Cs,ws,Ts=o((()=>{A(),Jo(),Yo=-1,Xo=class extends k{constructor(e,{code:t,docsPath:n,metaMessages:r,name:i,shortMessage:a}){super(a,{cause:e,docsPath:n,metaMessages:r||e?.metaMessages,name:i||`RpcError`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=i||e.name,this.code=e instanceof Ko?e.code:t??Yo}},Zo=class extends Xo{constructor(e,t){super(e,t),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t.data}},Qo=class e extends Xo{constructor(t){super(t,{code:e.code,name:`ParseRpcError`,shortMessage:`Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.`})}},Object.defineProperty(Qo,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),$o=class e extends Xo{constructor(t){super(t,{code:e.code,name:`InvalidRequestRpcError`,shortMessage:`JSON is not a valid request object.`})}},Object.defineProperty($o,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600}),es=class e extends Xo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotFoundRpcError`,shortMessage:`The method${n?` \"${n}\"`:``} does not exist / is not available.`})}},Object.defineProperty(es,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601}),ts=class e extends Xo{constructor(t){super(t,{code:e.code,name:`InvalidParamsRpcError`,shortMessage:[`Invalid parameters were provided to the RPC method.`,`Double check you have provided the correct parameters.`].join(`\n`)})}},Object.defineProperty(ts,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602}),ns=class e extends Xo{constructor(t){super(t,{code:e.code,name:`InternalRpcError`,shortMessage:`An internal error was received.`})}},Object.defineProperty(ns,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603}),rs=class e extends Xo{constructor(t){super(t,{code:e.code,name:`InvalidInputRpcError`,shortMessage:[`Missing or invalid parameters.`,`Double check you have provided the correct parameters.`].join(`\n`)})}},Object.defineProperty(rs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3}),is=class e extends Xo{constructor(t){super(t,{code:e.code,name:`ResourceNotFoundRpcError`,shortMessage:`Requested resource not found.`}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`ResourceNotFoundRpcError`})}},Object.defineProperty(is,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001}),as=class e extends Xo{constructor(t){super(t,{code:e.code,name:`ResourceUnavailableRpcError`,shortMessage:`Requested resource not available.`})}},Object.defineProperty(as,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002}),os=class e extends Xo{constructor(t){super(t,{code:e.code,name:`TransactionRejectedRpcError`,shortMessage:`Transaction creation failed.`})}},Object.defineProperty(os,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003}),ss=class e extends Xo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotSupportedRpcError`,shortMessage:`Method${n?` \"${n}\"`:``} is not supported.`})}},Object.defineProperty(ss,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004}),cs=class e extends Xo{constructor(t){super(t,{code:e.code,name:`LimitExceededRpcError`,shortMessage:`Request exceeds defined limit.`})}},Object.defineProperty(cs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005}),ls=class e extends Xo{constructor(t){super(t,{code:e.code,name:`JsonRpcVersionUnsupportedError`,shortMessage:`Version of JSON-RPC protocol is not supported.`})}},Object.defineProperty(ls,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006}),us=class e extends Zo{constructor(t){super(t,{code:e.code,name:`UserRejectedRequestError`,shortMessage:`User rejected the request.`})}},Object.defineProperty(us,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001}),ds=class e extends Zo{constructor(t){super(t,{code:e.code,name:`UnauthorizedProviderError`,shortMessage:`The requested method and/or account has not been authorized by the user.`})}},Object.defineProperty(ds,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100}),fs=class e extends Zo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`UnsupportedProviderMethodError`,shortMessage:`The Provider does not support the requested method${n?` \" ${n}\"`:``}.`})}},Object.defineProperty(fs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200}),ps=class e extends Zo{constructor(t){super(t,{code:e.code,name:`ProviderDisconnectedError`,shortMessage:`The Provider is disconnected from all chains.`})}},Object.defineProperty(ps,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900}),ms=class e extends Zo{constructor(t){super(t,{code:e.code,name:`ChainDisconnectedError`,shortMessage:`The Provider is not connected to the requested chain.`})}},Object.defineProperty(ms,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901}),hs=class e extends Zo{constructor(t){super(t,{code:e.code,name:`SwitchChainError`,shortMessage:`An error occurred when attempting to switch chain.`})}},Object.defineProperty(hs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902}),gs=class e extends Zo{constructor(t){super(t,{code:e.code,name:`UnsupportedNonOptionalCapabilityError`,shortMessage:`This Wallet does not support a capability that was not marked as optional.`})}},Object.defineProperty(gs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700}),_s=class e extends Zo{constructor(t){super(t,{code:e.code,name:`UnsupportedChainIdError`,shortMessage:`This Wallet does not support the requested chain ID.`})}},Object.defineProperty(_s,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710}),vs=class e extends Zo{constructor(t){super(t,{code:e.code,name:`DuplicateIdError`,shortMessage:`There is already a bundle submitted with this ID.`})}},Object.defineProperty(vs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720}),ys=class e extends Zo{constructor(t){super(t,{code:e.code,name:`UnknownBundleIdError`,shortMessage:`This bundle id is unknown / has not been submitted`})}},Object.defineProperty(ys,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730}),bs=class e extends Zo{constructor(t){super(t,{code:e.code,name:`BundleTooLargeError`,shortMessage:`The call bundle is too large for the Wallet to process.`})}},Object.defineProperty(bs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740}),xs=class e extends Zo{constructor(t){super(t,{code:e.code,name:`AtomicReadyWalletRejectedUpgradeError`,shortMessage:`The Wallet can support atomicity after an upgrade, but the user rejected the upgrade.`})}},Object.defineProperty(xs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750}),Ss=class e extends Zo{constructor(t){super(t,{code:e.code,name:`AtomicityNotSupportedError`,shortMessage:`The wallet does not support atomic execution but the request requires it.`})}},Object.defineProperty(Ss,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760}),Cs=class e extends Zo{constructor(t){super(t,{code:e.code,name:`WalletConnectSessionSettlementError`,shortMessage:`WalletConnect session settlement failed.`})}},Object.defineProperty(Cs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:7e3}),ws=class extends Xo{constructor(e){super(e,{name:`UnknownRpcError`,shortMessage:`An unknown RPC error occurred.`})}}}));mn(),A(),Uo(),Jo(),Ts();function Es(e,{abi:t,address:n,args:r,docsPath:i,functionName:a,sender:o}){let s=e instanceof Ho?e:e instanceof k?e.walk(e=>`data`in e)||e.walk():{},{code:c,data:l,details:u,message:d,shortMessage:f}=s,p=e instanceof qt?new Bo({functionName:a,cause:e}):[3,ns.code].includes(c)&&(l||u||d||f)||c===rs.code&&u===`execution reverted`&&l?new zo({abi:t,data:typeof l==`object`?l.data:l,functionName:a,message:s instanceof Ko?u:f??d,cause:e}):e;return new Ro(p,{abi:t,args:r,contractAddress:n,docsPath:i,functionName:a,sender:o})}ki(),ui();function Ds(e){return Ei(`0x${li(`0x${e.substring(4)}`).substring(26)}`)}function Os(e,t,n,r){if(typeof e.setBigUint64==`function`)return e.setBigUint64(t,n,r);let i=BigInt(32),a=BigInt(4294967295),o=Number(n>>i&a),s=Number(n&a),c=r?4:0,l=r?0:4;e.setUint32(t+c,o,r),e.setUint32(t+l,s,r)}function ks(e,t,n){return e&t^~e&n}function As(e,t,n){return e&t^e&n^t&n}var js,Ms,Ns,Ps,Fs=o((()=>{Ur(),js=class extends Hr{constructor(e,t,n,r){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.buffer=new Uint8Array(e),this.view=jr(this.buffer)}update(e){Dr(this),e=Ir(e),Tr(e);let{view:t,buffer:n,blockLen:r}=this,i=e.length;for(let a=0;a<i;){let o=Math.min(r-this.pos,i-a);if(o===r){let t=jr(e);for(;r<=i-a;a+=r)this.process(t,a);continue}n.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===r&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Dr(this),Or(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,Ar(this.buffer.subarray(a)),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;Os(n,r-8,BigInt(this.length*8),i),this.process(n,0);let o=jr(e),s=this.outputLen;if(s%4)throw Error(`_sha2: outputLen should be aligned to 32bit`);let c=s/4,l=this.get();if(c>l.length)throw Error(`_sha2: outputLen bigger than state`);for(let e=0;e<c;e++)o.setUint32(4*e,l[e],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:t,buffer:n,length:r,finished:i,destroyed:a,pos:o}=this;return e.destroyed=a,e.finished=i,e.length=r,e.pos=o,r%t&&e.buffer.set(n),e}clone(){return this._cloneInto()}},Ms=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ns=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),Ps=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])})),Is,Ls,Rs,zs,Bs,Vs,Hs,Us,Ws,Gs,Ks,qs,Js,Ys=o((()=>{Fs(),br(),Ur(),Is=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Ls=new Uint32Array(64),Rs=class extends js{constructor(e=32){super(64,e,8,!1),this.A=Ms[0]|0,this.B=Ms[1]|0,this.C=Ms[2]|0,this.D=Ms[3]|0,this.E=Ms[4]|0,this.F=Ms[5]|0,this.G=Ms[6]|0,this.H=Ms[7]|0}get(){let{A:e,B:t,C:n,D:r,E:i,F:a,G:o,H:s}=this;return[e,t,n,r,i,a,o,s]}set(e,t,n,r,i,a,o,s){this.A=e|0,this.B=t|0,this.C=n|0,this.D=r|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=s|0}process(e,t){for(let n=0;n<16;n++,t+=4)Ls[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=Ls[e-15],n=Ls[e-2],r=Mr(t,7)^Mr(t,18)^t>>>3,i=Mr(n,17)^Mr(n,19)^n>>>10;Ls[e]=i+Ls[e-7]+r+Ls[e-16]|0}let{A:n,B:r,C:i,D:a,E:o,F:s,G:c,H:l}=this;for(let e=0;e<64;e++){let t=Mr(o,6)^Mr(o,11)^Mr(o,25),u=l+t+ks(o,s,c)+Is[e]+Ls[e]|0,d=(Mr(n,2)^Mr(n,13)^Mr(n,22))+As(n,r,i)|0;l=c,c=s,s=o,o=a+u|0,a=i,i=r,r=n,n=u+d|0}n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,s=s+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(n,r,i,a,o,s,c,l)}roundClean(){Ar(Ls)}destroy(){this.set(0,0,0,0,0,0,0,0),Ar(this.buffer)}},zs=er(`0x428a2f98d728ae22.0x7137449123ef65cd.0xb5c0fbcfec4d3b2f.0xe9b5dba58189dbbc.0x3956c25bf348b538.0x59f111f1b605d019.0x923f82a4af194f9b.0xab1c5ed5da6d8118.0xd807aa98a3030242.0x12835b0145706fbe.0x243185be4ee4b28c.0x550c7dc3d5ffb4e2.0x72be5d74f27b896f.0x80deb1fe3b1696b1.0x9bdc06a725c71235.0xc19bf174cf692694.0xe49b69c19ef14ad2.0xefbe4786384f25e3.0x0fc19dc68b8cd5b5.0x240ca1cc77ac9c65.0x2de92c6f592b0275.0x4a7484aa6ea6e483.0x5cb0a9dcbd41fbd4.0x76f988da831153b5.0x983e5152ee66dfab.0xa831c66d2db43210.0xb00327c898fb213f.0xbf597fc7beef0ee4.0xc6e00bf33da88fc2.0xd5a79147930aa725.0x06ca6351e003826f.0x142929670a0e6e70.0x27b70a8546d22ffc.0x2e1b21385c26c926.0x4d2c6dfc5ac42aed.0x53380d139d95b3df.0x650a73548baf63de.0x766a0abb3c77b2a8.0x81c2c92e47edaee6.0x92722c851482353b.0xa2bfe8a14cf10364.0xa81a664bbc423001.0xc24b8b70d0f89791.0xc76c51a30654be30.0xd192e819d6ef5218.0xd69906245565a910.0xf40e35855771202a.0x106aa07032bbd1b8.0x19a4c116b8d2d0c8.0x1e376c085141ab53.0x2748774cdf8eeb99.0x34b0bcb5e19b48a8.0x391c0cb3c5c95a63.0x4ed8aa4ae3418acb.0x5b9cca4f7763e373.0x682e6ff3d6b2b8a3.0x748f82ee5defb2fc.0x78a5636f43172f60.0x84c87814a1f0ab72.0x8cc702081a6439ec.0x90befffa23631e28.0xa4506cebde82bde9.0xbef9a3f7b2c67915.0xc67178f2e372532b.0xca273eceea26619c.0xd186b8c721c0c207.0xeada7dd6cde0eb1e.0xf57d4f7fee6ed178.0x06f067aa72176fba.0x0a637dc5a2c898a6.0x113f9804bef90dae.0x1b710b35131c471b.0x28db77f523047d84.0x32caab7b40c72493.0x3c9ebe0a15c9bebc.0x431d67c49c100d4c.0x4cc5d4becb3e42b6.0x597f299cfc657e2a.0x5fcb6fab3ad6faec.0x6c44198c4a475817`.split(`.`).map(e=>BigInt(e))),Bs=zs[0],Vs=zs[1],Hs=new Uint32Array(80),Us=new Uint32Array(80),Ws=class extends js{constructor(e=64){super(128,e,16,!1),this.Ah=Ps[0]|0,this.Al=Ps[1]|0,this.Bh=Ps[2]|0,this.Bl=Ps[3]|0,this.Ch=Ps[4]|0,this.Cl=Ps[5]|0,this.Dh=Ps[6]|0,this.Dl=Ps[7]|0,this.Eh=Ps[8]|0,this.El=Ps[9]|0,this.Fh=Ps[10]|0,this.Fl=Ps[11]|0,this.Gh=Ps[12]|0,this.Gl=Ps[13]|0,this.Hh=Ps[14]|0,this.Hl=Ps[15]|0}get(){let{Ah:e,Al:t,Bh:n,Bl:r,Ch:i,Cl:a,Dh:o,Dl:s,Eh:c,El:l,Fh:u,Fl:d,Gh:f,Gl:p,Hh:m,Hl:h}=this;return[e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h]}set(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){this.Ah=e|0,this.Al=t|0,this.Bh=n|0,this.Bl=r|0,this.Ch=i|0,this.Cl=a|0,this.Dh=o|0,this.Dl=s|0,this.Eh=c|0,this.El=l|0,this.Fh=u|0,this.Fl=d|0,this.Gh=f|0,this.Gl=p|0,this.Hh=m|0,this.Hl=h|0}process(e,t){for(let n=0;n<16;n++,t+=4)Hs[n]=e.getUint32(t),Us[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=Hs[e-15]|0,n=Us[e-15]|0,r=or(t,n,1)^or(t,n,8)^ir(t,n,7),i=sr(t,n,1)^sr(t,n,8)^ar(t,n,7),a=Hs[e-2]|0,o=Us[e-2]|0,s=or(a,o,19)^cr(a,o,61)^ir(a,o,6),c=sr(a,o,19)^lr(a,o,61)^ar(a,o,6),l=gr(i,c,Us[e-7],Us[e-16]),u=_r(l,r,s,Hs[e-7],Hs[e-16]);Hs[e]=u|0,Us[e]=l|0}let{Ah:n,Al:r,Bh:i,Bl:a,Ch:o,Cl:s,Dh:c,Dl:l,Eh:u,El:d,Fh:f,Fl:p,Gh:m,Gl:h,Hh:g,Hl:_}=this;for(let e=0;e<80;e++){let t=or(u,d,14)^or(u,d,18)^cr(u,d,41),v=sr(u,d,14)^sr(u,d,18)^lr(u,d,41),y=u&f^~u&m,b=d&p^~d&h,x=vr(_,v,b,Vs[e],Us[e]),S=yr(x,g,t,y,Bs[e],Hs[e]),C=x|0,w=or(n,r,28)^cr(n,r,34)^cr(n,r,39),T=sr(n,r,28)^lr(n,r,34)^lr(n,r,39),ee=n&i^n&o^i&o,E=r&a^r&s^a&s;g=m|0,_=h|0,m=f|0,h=p|0,f=u|0,p=d|0,{h:u,l:d}=tr(c|0,l|0,S|0,C|0),c=o|0,l=s|0,o=i|0,s=a|0,i=n|0,a=r|0;let te=mr(C,T,E);n=hr(te,S,w,ee),r=te|0}({h:n,l:r}=tr(this.Ah|0,this.Al|0,n|0,r|0)),{h:i,l:a}=tr(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:s}=tr(this.Ch|0,this.Cl|0,o|0,s|0),{h:c,l}=tr(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=tr(this.Eh|0,this.El|0,u|0,d|0),{h:f,l:p}=tr(this.Fh|0,this.Fl|0,f|0,p|0),{h:m,l:h}=tr(this.Gh|0,this.Gl|0,m|0,h|0),{h:g,l:_}=tr(this.Hh|0,this.Hl|0,g|0,_|0),this.set(n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_)}roundClean(){Ar(Hs,Us)}destroy(){Ar(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Gs=class extends Ws{constructor(){super(48),this.Ah=Ns[0]|0,this.Al=Ns[1]|0,this.Bh=Ns[2]|0,this.Bl=Ns[3]|0,this.Ch=Ns[4]|0,this.Cl=Ns[5]|0,this.Dh=Ns[6]|0,this.Dl=Ns[7]|0,this.Eh=Ns[8]|0,this.El=Ns[9]|0,this.Fh=Ns[10]|0,this.Fl=Ns[11]|0,this.Gh=Ns[12]|0,this.Gl=Ns[13]|0,this.Hh=Ns[14]|0,this.Hl=Ns[15]|0}},Ks=Rr(()=>new Rs),qs=Rr(()=>new Ws),Js=Rr(()=>new Gs)})),Xs,Zs,Qs=o((()=>{Ur(),Xs=class extends Hr{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,Er(e);let n=Ir(t);if(this.iHash=e.create(),typeof this.iHash.update!=`function`)throw Error(`Expected instance of class which extends utils.Hash`);this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let r=this.blockLen,i=new Uint8Array(r);i.set(n.length>r?e.create().update(n).digest():n);for(let e=0;e<i.length;e++)i[e]^=54;this.iHash.update(i),this.oHash=e.create();for(let e=0;e<i.length;e++)i[e]^=106;this.oHash.update(i),Ar(i)}update(e){return Dr(this),this.iHash.update(e),this}digestInto(e){Dr(this),Tr(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:t,iHash:n,finished:r,destroyed:i,blockLen:a,outputLen:o}=this;return e=e,e.finished=r,e.destroyed=i,e.blockLen=a,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Zs=(e,t,n)=>new Xs(e,t).update(n).digest(),Zs.create=(e,t)=>new Xs(e,t)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction $s(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function ec(e){if(!$s(e))throw Error(`Uint8Array expected`)}function tc(e,t){if(typeof t!=`boolean`)throw Error(e+` boolean expected, got `+t)}function nc(e){let t=e.toString(16);return t.length&1?`0`+t:t}function rc(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return e===``?xc:BigInt(`0x`+e)}function ic(e){if(ec(e),Cc)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=wc[e[n]];return t}function ac(e){if(e>=Tc._0&&e<=Tc._9)return e-Tc._0;if(e>=Tc.A&&e<=Tc.F)return e-(Tc.A-10);if(e>=Tc.a&&e<=Tc.f)return e-(Tc.a-10)}function oc(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(Cc)return Uint8Array.fromHex(e);let t=e.length,n=t/2;if(t%2)throw Error(`hex string expected, got unpadded hex of length `+t);let r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){let n=ac(e.charCodeAt(i)),a=ac(e.charCodeAt(i+1));if(n===void 0||a===void 0){let t=e[i]+e[i+1];throw Error(`hex string expected, got non-hex character \"`+t+`\" at index `+i)}r[t]=n*16+a}return r}function sc(e){return rc(ic(e))}function cc(e){return ec(e),rc(ic(Uint8Array.from(e).reverse()))}function lc(e,t){return oc(e.toString(16).padStart(t*2,`0`))}function uc(e,t){return lc(e,t).reverse()}function dc(e,t,n){let r;if(typeof t==`string`)try{r=oc(t)}catch(t){throw Error(e+` must be hex string or Uint8Array, cause: `+t)}else if($s(t))r=Uint8Array.from(t);else throw Error(e+` must be hex string or Uint8Array`);let i=r.length;if(typeof n==`number`&&i!==n)throw Error(e+` of length `+n+` expected, got `+i);return r}function fc(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];ec(r),t+=r.length}let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}function pc(e,t){if(e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r++)n|=e[r]^t[r];return n===0}function mc(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function hc(e,t,n){return Ec(e)&&Ec(t)&&Ec(n)&&t<=e&&e<n}function gc(e,t,n,r){if(!hc(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function _c(e){let t;for(t=0;e>xc;e>>=Sc,t+=1);return t}function vc(e,t,n){if(typeof e!=`number`||e<2)throw Error(`hashLen must be a number`);if(typeof t!=`number`||t<2)throw Error(`qByteLen must be a number`);if(typeof n!=`function`)throw Error(`hmacFn must be a function`);let r=Oc(e),i=Oc(e),a=0,o=()=>{r.fill(1),i.fill(0),a=0},s=(...e)=>n(i,r,...e),c=(e=Oc(0))=>{i=s(kc([0]),e),r=s(),e.length!==0&&(i=s(kc([1]),e),r=s())},l=()=>{if(a++>=1e3)throw Error(`drbg: tried 1000 values`);let e=0,n=[];for(;e<t;){r=s();let t=r.slice();n.push(t),e+=r.length}return fc(...n)};return(e,t)=>{o(),c(e);let n;for(;!(n=t(l()));)c();return o(),n}}function yc(e,t,n={}){let r=(t,n,r)=>{let i=Ac[n];if(typeof i!=`function`)throw Error(`invalid validator function`);let a=e[t];if(!(r&&a===void 0)&&!i(a,e))throw Error(`param `+String(t)+` is invalid. Expected `+n+`, got `+a)};for(let[e,n]of Object.entries(t))r(e,n,!1);for(let[e,t]of Object.entries(n))r(e,t,!0);return e}function bc(e){let t=new WeakMap;return(n,...r)=>{let i=t.get(n);if(i!==void 0)return i;let a=e(n,...r);return t.set(n,a),a}}var xc,Sc,Cc,wc,Tc,Ec,Dc,Oc,kc,Ac,jc=o((()=>{xc=BigInt(0),Sc=BigInt(1),Cc=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,wc=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Tc={_0:48,_9:57,A:65,F:70,a:97,f:102},Ec=e=>typeof e==`bigint`&&xc<=e,Dc=e=>(Sc<<BigInt(e))-Sc,Oc=e=>new Uint8Array(e),kc=e=>Uint8Array.from(e),Ac={bigint:e=>typeof e==`bigint`,function:e=>typeof e==`function`,boolean:e=>typeof e==`boolean`,string:e=>typeof e==`string`,stringOrUint8Array:e=>typeof e==`string`||$s(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e==`function`&&Number.isSafeInteger(e.outputLen)}}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Mc(e,t){let n=e%t;return n>=Jc?n:t+n}function Nc(e,t,n){let r=e;for(;t-->Jc;)r*=r,r%=n;return r}function Pc(e,t){if(e===Jc)throw Error(`invert: expected non-zero number`);if(t<=Jc)throw Error(`invert: expected positive modulus, got `+t);let n=Mc(e,t),r=t,i=Jc,a=Yc,o=Yc,s=Jc;for(;n!==Jc;){let e=r/n,t=r%n,c=i-o*e,l=a-s*e;r=n,n=t,i=o,a=s,o=c,s=l}if(r!==Yc)throw Error(`invert: does not exist`);return Mc(i,t)}function Fc(e,t){let n=(e.ORDER+Yc)/Qc,r=e.pow(t,n);if(!e.eql(e.sqr(r),t))throw Error(`Cannot find square root`);return r}function Ic(e,t){let n=(e.ORDER-$c)/el,r=e.mul(t,Xc),i=e.pow(r,n),a=e.mul(t,i),o=e.mul(e.mul(a,Xc),i),s=e.mul(a,e.sub(o,e.ONE));if(!e.eql(e.sqr(s),t))throw Error(`Cannot find square root`);return s}function Lc(e){if(e<BigInt(3))throw Error(`sqrt is not defined for small field`);let t=e-Yc,n=0;for(;t%Xc===Jc;)t/=Xc,n++;let r=Xc,i=Wc(e);for(;Hc(i,r)===1;)if(r++>1e3)throw Error(`Cannot find square root: probably non-prime P`);if(n===1)return Fc;let a=i.pow(r,t),o=(t+Yc)/Xc;return function(e,r){if(e.is0(r))return r;if(Hc(e,r)!==1)throw Error(`Cannot find square root`);let i=n,s=e.mul(e.ONE,a),c=e.pow(r,t),l=e.pow(r,o);for(;!e.eql(c,e.ONE);){if(e.is0(c))return e.ZERO;let t=1,n=e.sqr(c);for(;!e.eql(n,e.ONE);)if(t++,n=e.sqr(n),t===i)throw Error(`Cannot find square root`);let r=Yc<<BigInt(i-t-1),a=e.pow(s,r);i=t,s=e.sqr(a),c=e.mul(c,s),l=e.mul(l,a)}return l}}function Rc(e){return e%Qc===Zc?Fc:e%el===$c?Ic:Lc(e)}function zc(e){return yc(e,tl.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,MASK:`bigint`,BYTES:`isSafeInteger`,BITS:`isSafeInteger`}))}function Bc(e,t,n){if(n<Jc)throw Error(`invalid exponent, negatives unsupported`);if(n===Jc)return e.ONE;if(n===Yc)return t;let r=e.ONE,i=t;for(;n>Jc;)n&Yc&&(r=e.mul(r,i)),i=e.sqr(i),n>>=Yc;return r}function Vc(e,t,n=!1){let r=Array(t.length).fill(n?e.ZERO:void 0),i=t.reduce((t,n,i)=>e.is0(n)?t:(r[i]=t,e.mul(t,n)),e.ONE),a=e.inv(i);return t.reduceRight((t,n,i)=>e.is0(n)?t:(r[i]=e.mul(t,r[i]),e.mul(t,n)),a),r}function Hc(e,t){let n=(e.ORDER-Yc)/Xc,r=e.pow(t,n),i=e.eql(r,e.ONE),a=e.eql(r,e.ZERO),o=e.eql(r,e.neg(e.ONE));if(!i&&!a&&!o)throw Error(`invalid Legendre symbol result`);return i?1:a?0:-1}function Uc(e,t){t!==void 0&&wr(t);let n=t===void 0?e.toString(2).length:t;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function Wc(e,t,n=!1,r={}){if(e<=Jc)throw Error(`invalid field: expected ORDER > 0, got `+e);let{nBitLength:i,nByteLength:a}=Uc(e,t);if(a>2048)throw Error(`invalid field: expected ORDER of <= 2048 bytes`);let o,s=Object.freeze({ORDER:e,isLE:n,BITS:i,BYTES:a,MASK:Dc(i),ZERO:Jc,ONE:Yc,create:t=>Mc(t,e),isValid:t=>{if(typeof t!=`bigint`)throw Error(`invalid field element: expected bigint, got `+typeof t);return Jc<=t&&t<e},is0:e=>e===Jc,isOdd:e=>(e&Yc)===Yc,neg:t=>Mc(-t,e),eql:(e,t)=>e===t,sqr:t=>Mc(t*t,e),add:(t,n)=>Mc(t+n,e),sub:(t,n)=>Mc(t-n,e),mul:(t,n)=>Mc(t*n,e),pow:(e,t)=>Bc(s,e,t),div:(t,n)=>Mc(t*Pc(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>Pc(t,e),sqrt:r.sqrt||(t=>(o||=Rc(e),o(s,t))),toBytes:e=>n?uc(e,a):lc(e,a),fromBytes:e=>{if(e.length!==a)throw Error(`Field.fromBytes: expected `+a+` bytes, got `+e.length);return n?cc(e):sc(e)},invertBatch:e=>Vc(s,e),cmov:(e,t,n)=>n?t:e});return Object.freeze(s)}function Gc(e){if(typeof e!=`bigint`)throw Error(`field order must be bigint`);let t=e.toString(2).length;return Math.ceil(t/8)}function Kc(e){let t=Gc(e);return t+Math.ceil(t/2)}function qc(e,t,n=!1){let r=e.length,i=Gc(t),a=Kc(t);if(r<16||r<a||r>1024)throw Error(`expected `+a+`-1024 bytes of input, got `+r);let o=Mc(n?cc(e):sc(e),t-Yc)+Yc;return n?uc(o,i):lc(o,i)}var Jc,Yc,Xc,Zc,Qc,$c,el,tl,nl=o((()=>{Ur(),jc(),Jc=BigInt(0),Yc=BigInt(1),Xc=BigInt(2),Zc=BigInt(3),Qc=BigInt(4),$c=BigInt(5),el=BigInt(8),tl=[`create`,`isValid`,`is0`,`neg`,`inv`,`sqrt`,`sqr`,`eql`,`add`,`sub`,`mul`,`pow`,`div`,`addN`,`subN`,`mulN`,`sqrN`]}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction rl(e,t){let n=t.negate();return e?n:t}function il(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error(`invalid window size, expected [1..`+t+`], got W=`+e)}function al(e,t){il(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),i=2**e;return{windows:n,windowSize:r,mask:Dc(e),maxNumber:i,shiftBy:BigInt(e)}}function ol(e,t,n){let{windowSize:r,mask:i,maxNumber:a,shiftBy:o}=n,s=Number(e&i),c=e>>o;s>r&&(s-=a,c+=ml);let l=t*r,u=l+Math.abs(s)-1,d=s===0,f=s<0,p=t%2!=0;return{nextN:c,offset:u,isZero:d,isNeg:f,isNegF:p,offsetF:l}}function sl(e,t){if(!Array.isArray(e))throw Error(`array expected`);e.forEach((e,n)=>{if(!(e instanceof t))throw Error(`invalid point at index `+n)})}function cl(e,t){if(!Array.isArray(e))throw Error(`array of scalars expected`);e.forEach((e,n)=>{if(!t.isValid(e))throw Error(`invalid scalar at index `+n)})}function ll(e){return gl.get(e)||1}function ul(e,t){return{constTimeNegate:rl,hasPrecomputes(e){return ll(e)!==1},unsafeLadder(t,n,r=e.ZERO){let i=t;for(;n>pl;)n&ml&&(r=r.add(i)),i=i.double(),n>>=ml;return r},precomputeWindow(e,n){let{windows:r,windowSize:i}=al(n,t),a=[],o=e,s=o;for(let e=0;e<r;e++){s=o,a.push(s);for(let e=1;e<i;e++)s=s.add(o),a.push(s);o=s.double()}return a},wNAF(n,r,i){let a=e.ZERO,o=e.BASE,s=al(n,t);for(let e=0;e<s.windows;e++){let{nextN:t,offset:n,isZero:c,isNeg:l,isNegF:u,offsetF:d}=ol(i,e,s);i=t,c?o=o.add(rl(u,r[d])):a=a.add(rl(l,r[n]))}return{p:a,f:o}},wNAFUnsafe(n,r,i,a=e.ZERO){let o=al(n,t);for(let e=0;e<o.windows&&i!==pl;e++){let{nextN:t,offset:n,isZero:s,isNeg:c}=ol(i,e,o);if(i=t,!s){let e=r[n];a=a.add(c?e.negate():e)}}return a},getPrecomputes(e,t,n){let r=hl.get(t);return r||(r=this.precomputeWindow(t,e),e!==1&&hl.set(t,n(r))),r},wNAFCached(e,t,n){let r=ll(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)},wNAFCachedUnsafe(e,t,n,r){let i=ll(e);return i===1?this.unsafeLadder(e,t,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),t,r)},setWindowSize(e,n){il(n,t),gl.set(e,n),hl.delete(e)}}}function dl(e,t,n,r){sl(n,e),cl(r,t);let i=n.length,a=r.length;if(i!==a)throw Error(`arrays of points and scalars must have equal length`);let o=e.ZERO,s=_c(BigInt(i)),c=1;s>12?c=s-3:s>4?c=s-2:s>0&&(c=2);let l=Dc(c),u=Array(Number(l)+1).fill(o),d=Math.floor((t.BITS-1)/c)*c,f=o;for(let e=d;e>=0;e-=c){u.fill(o);for(let t=0;t<a;t++){let i=r[t],a=Number(i>>BigInt(e)&l);u[a]=u[a].add(n[t])}let t=o;for(let e=u.length-1,n=o;e>0;e--)n=n.add(u[e]),t=t.add(n);if(f=f.add(t),e!==0)for(let e=0;e<c;e++)f=f.double()}return f}function fl(e){return zc(e.Fp),yc(e,{n:`bigint`,h:`bigint`,Gx:`field`,Gy:`field`},{nBitLength:`isSafeInteger`,nByteLength:`isSafeInteger`}),Object.freeze({...Uc(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var pl,ml,hl,gl,_l=o((()=>{nl(),jc(),pl=BigInt(0),ml=BigInt(1),hl=new WeakMap,gl=new WeakMap}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction vl(e){e.lowS!==void 0&&tc(`lowS`,e.lowS),e.prehash!==void 0&&tc(`prehash`,e.prehash)}function yl(e){let t=fl(e);yc(t,{a:`field`,b:`field`},{allowInfinityPoint:`boolean`,allowedPrivateKeyLengths:`array`,clearCofactor:`function`,fromBytes:`function`,isTorsionFree:`function`,toBytes:`function`,wrapPrivateKey:`boolean`});let{endo:n,Fp:r,a:i}=t;if(n){if(!r.eql(i,r.ZERO))throw Error(`invalid endo: CURVE.a must be 0`);if(typeof n!=`object`||typeof n.beta!=`bigint`||typeof n.splitScalar!=`function`)throw Error(`invalid endo: expected \"beta\": bigint and \"splitScalar\": function`)}return Object.freeze({...t})}function bl(e,t){return ic(lc(e,t))}function xl(e){let t=yl(e),{Fp:n}=t,r=Wc(t.n,t.nBitLength),i=t.toBytes||((e,t,r)=>{let i=t.toAffine();return fc(Uint8Array.from([4]),n.toBytes(i.x),n.toBytes(i.y))}),a=t.fromBytes||(e=>{let t=e.subarray(1);return{x:n.fromBytes(t.subarray(0,n.BYTES)),y:n.fromBytes(t.subarray(n.BYTES,2*n.BYTES))}});function o(e){let{a:r,b:i}=t,a=n.sqr(e),o=n.mul(a,e);return n.add(n.add(o,n.mul(e,r)),i)}function s(e,t){let r=n.sqr(t),i=o(e);return n.eql(r,i)}if(!s(t.Gx,t.Gy))throw Error(`bad curve params: generator point`);let c=n.mul(n.pow(t.a,jl),Ml),l=n.mul(n.sqr(t.b),BigInt(27));if(n.is0(n.add(c,l)))throw Error(`bad curve params: a or b`);function u(e){return hc(e,kl,t.n)}function d(e){let{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:i,n:a}=t;if(n&&typeof e!=`bigint`){if($s(e)&&(e=ic(e)),typeof e!=`string`||!n.includes(e.length))throw Error(`invalid private key`);e=e.padStart(r*2,`0`)}let o;try{o=typeof e==`bigint`?e:sc(dc(`private key`,e,r))}catch{throw Error(`invalid private key, expected hex or `+r+` bytes, got `+typeof e)}return i&&(o=Mc(o,a)),gc(`private key`,o,kl,a),o}function f(e){if(!(e instanceof h))throw Error(`ProjectivePoint expected`)}let p=bc((e,t)=>{let{px:r,py:i,pz:a}=e;if(n.eql(a,n.ONE))return{x:r,y:i};let o=e.is0();t??=o?n.ONE:n.inv(a);let s=n.mul(r,t),c=n.mul(i,t),l=n.mul(a,t);if(o)return{x:n.ZERO,y:n.ZERO};if(!n.eql(l,n.ONE))throw Error(`invZ was invalid`);return{x:s,y:c}}),m=bc(e=>{if(e.is0()){if(t.allowInfinityPoint&&!n.is0(e.py))return;throw Error(`bad point: ZERO`)}let{x:r,y:i}=e.toAffine();if(!n.isValid(r)||!n.isValid(i))throw Error(`bad point: x or y not FE`);if(!s(r,i))throw Error(`bad point: equation left != right`);if(!e.isTorsionFree())throw Error(`bad point: not in prime-order subgroup`);return!0});class h{constructor(e,t,r){if(e==null||!n.isValid(e))throw Error(`x required`);if(t==null||!n.isValid(t)||n.is0(t))throw Error(`y required`);if(r==null||!n.isValid(r))throw Error(`z required`);this.px=e,this.py=t,this.pz=r,Object.freeze(this)}static fromAffine(e){let{x:t,y:r}=e||{};if(!e||!n.isValid(t)||!n.isValid(r))throw Error(`invalid affine point`);if(e instanceof h)throw Error(`projective point not allowed`);let i=e=>n.eql(e,n.ZERO);return i(t)&&i(r)?h.ZERO:new h(t,r,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){let t=Vc(n,e.map(e=>e.pz));return e.map((e,n)=>e.toAffine(t[n])).map(h.fromAffine)}static fromHex(e){let t=h.fromAffine(a(dc(`pointHex`,e)));return t.assertValidity(),t}static fromPrivateKey(e){return h.BASE.multiply(d(e))}static msm(e,t){return dl(h,r,e,t)}_setWindowSize(e){v.setWindowSize(this,e)}assertValidity(){m(this)}hasEvenY(){let{y:e}=this.toAffine();if(n.isOdd)return!n.isOdd(e);throw Error(`Field doesn't support isOdd`)}equals(e){f(e);let{px:t,py:r,pz:i}=this,{px:a,py:o,pz:s}=e,c=n.eql(n.mul(t,s),n.mul(a,i)),l=n.eql(n.mul(r,s),n.mul(o,i));return c&&l}negate(){return new h(this.px,n.neg(this.py),this.pz)}double(){let{a:e,b:r}=t,i=n.mul(r,jl),{px:a,py:o,pz:s}=this,c=n.ZERO,l=n.ZERO,u=n.ZERO,d=n.mul(a,a),f=n.mul(o,o),p=n.mul(s,s),m=n.mul(a,o);return m=n.add(m,m),u=n.mul(a,s),u=n.add(u,u),c=n.mul(e,u),l=n.mul(i,p),l=n.add(c,l),c=n.sub(f,l),l=n.add(f,l),l=n.mul(c,l),c=n.mul(m,c),u=n.mul(i,u),p=n.mul(e,p),m=n.sub(d,p),m=n.mul(e,m),m=n.add(m,u),u=n.add(d,d),d=n.add(u,d),d=n.add(d,p),d=n.mul(d,m),l=n.add(l,d),p=n.mul(o,s),p=n.add(p,p),d=n.mul(p,m),c=n.sub(c,d),u=n.mul(p,f),u=n.add(u,u),u=n.add(u,u),new h(c,l,u)}add(e){f(e);let{px:r,py:i,pz:a}=this,{px:o,py:s,pz:c}=e,l=n.ZERO,u=n.ZERO,d=n.ZERO,p=t.a,m=n.mul(t.b,jl),g=n.mul(r,o),_=n.mul(i,s),v=n.mul(a,c),y=n.add(r,i),b=n.add(o,s);y=n.mul(y,b),b=n.add(g,_),y=n.sub(y,b),b=n.add(r,a);let x=n.add(o,c);return b=n.mul(b,x),x=n.add(g,v),b=n.sub(b,x),x=n.add(i,a),l=n.add(s,c),x=n.mul(x,l),l=n.add(_,v),x=n.sub(x,l),d=n.mul(p,b),l=n.mul(m,v),d=n.add(l,d),l=n.sub(_,d),d=n.add(_,d),u=n.mul(l,d),_=n.add(g,g),_=n.add(_,g),v=n.mul(p,v),b=n.mul(m,b),_=n.add(_,v),v=n.sub(g,v),v=n.mul(p,v),b=n.add(b,v),g=n.mul(_,b),u=n.add(u,g),g=n.mul(x,b),l=n.mul(y,l),l=n.sub(l,g),g=n.mul(y,_),d=n.mul(x,d),d=n.add(d,g),new h(l,u,d)}subtract(e){return this.add(e.negate())}is0(){return this.equals(h.ZERO)}wNAF(e){return v.wNAFCached(this,e,h.normalizeZ)}multiplyUnsafe(e){let{endo:r,n:i}=t;gc(`scalar`,e,Ol,i);let a=h.ZERO;if(e===Ol)return a;if(this.is0()||e===kl)return this;if(!r||v.hasPrecomputes(this))return v.wNAFCachedUnsafe(this,e,h.normalizeZ);let{k1neg:o,k1:s,k2neg:c,k2:l}=r.splitScalar(e),u=a,d=a,f=this;for(;s>Ol||l>Ol;)s&kl&&(u=u.add(f)),l&kl&&(d=d.add(f)),f=f.double(),s>>=kl,l>>=kl;return o&&(u=u.negate()),c&&(d=d.negate()),d=new h(n.mul(d.px,r.beta),d.py,d.pz),u.add(d)}multiply(e){let{endo:r,n:i}=t;gc(`scalar`,e,kl,i);let a,o;if(r){let{k1neg:t,k1:i,k2neg:s,k2:c}=r.splitScalar(e),{p:l,f:u}=this.wNAF(i),{p:d,f}=this.wNAF(c);l=v.constTimeNegate(t,l),d=v.constTimeNegate(s,d),d=new h(n.mul(d.px,r.beta),d.py,d.pz),a=l.add(d),o=u.add(f)}else{let{p:t,f:n}=this.wNAF(e);a=t,o=n}return h.normalizeZ([a,o])[0]}multiplyAndAddUnsafe(e,t,n){let r=h.BASE,i=(e,t)=>t===Ol||t===kl||!e.equals(r)?e.multiplyUnsafe(t):e.multiply(t),a=i(this,t).add(i(e,n));return a.is0()?void 0:a}toAffine(e){return p(this,e)}isTorsionFree(){let{h:e,isTorsionFree:n}=t;if(e===kl)return!0;if(n)return n(h,this);throw Error(`isTorsionFree() has not been declared for the elliptic curve`)}clearCofactor(){let{h:e,clearCofactor:n}=t;return e===kl?this:n?n(h,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return tc(`isCompressed`,e),this.assertValidity(),i(h,this,e)}toHex(e=!0){return tc(`isCompressed`,e),ic(this.toRawBytes(e))}}h.BASE=new h(t.Gx,t.Gy,n.ONE),h.ZERO=new h(n.ZERO,n.ONE,n.ZERO);let{endo:g,nBitLength:_}=t,v=ul(h,g?Math.ceil(_/2):_);return{CURVE:t,ProjectivePoint:h,normPrivateKeyToScalar:d,weierstrassEquation:o,isWithinCurveOrder:u}}function Sl(e){let t=fl(e);return yc(t,{hash:`hash`,hmac:`function`,randomBytes:`function`},{bits2int:`function`,bits2int_modN:`function`,lowS:`boolean`}),Object.freeze({lowS:!0,...t})}function Cl(e){let t=Sl(e),{Fp:n,n:r,nByteLength:i,nBitLength:a}=t,o=n.BYTES+1,s=2*n.BYTES+1;function c(e){return Mc(e,r)}function l(e){return Pc(e,r)}let{ProjectivePoint:u,normPrivateKeyToScalar:d,weierstrassEquation:f,isWithinCurveOrder:p}=xl({...t,toBytes(e,t,r){let i=t.toAffine(),a=n.toBytes(i.x),o=fc;return tc(`isCompressed`,r),r?o(Uint8Array.from([t.hasEvenY()?2:3]),a):o(Uint8Array.from([4]),a,n.toBytes(i.y))},fromBytes(e){let t=e.length,r=e[0],i=e.subarray(1);if(t===o&&(r===2||r===3)){let e=sc(i);if(!hc(e,kl,n.ORDER))throw Error(`Point is not on curve`);let t=f(e),a;try{a=n.sqrt(t)}catch(e){let t=e instanceof Error?`: `+e.message:``;throw Error(`Point is not on curve`+t)}let o=(a&kl)===kl;return(r&1)==1!==o&&(a=n.neg(a)),{x:e,y:a}}if(t===s&&r===4)return{x:n.fromBytes(i.subarray(0,n.BYTES)),y:n.fromBytes(i.subarray(n.BYTES,2*n.BYTES))};{let e=o,n=s;throw Error(`invalid Point, expected length of `+e+`, or uncompressed `+n+`, got `+t)}}});function m(e){return e>r>>kl}function h(e){return m(e)?c(-e):e}let g=(e,t,n)=>sc(e.slice(t,n));class _{constructor(e,t,n){gc(`r`,e,kl,r),gc(`s`,t,kl,r),this.r=e,this.s=t,n!=null&&(this.recovery=n),Object.freeze(this)}static fromCompact(e){let t=i;return e=dc(`compactSignature`,e,t*2),new _(g(e,0,t),g(e,t,2*t))}static fromDER(e){let{r:t,s:n}=Dl.toSig(dc(`DER`,e));return new _(t,n)}assertValidity(){}addRecoveryBit(e){return new _(this.r,this.s,e)}recoverPublicKey(e){let{r,s:i,recovery:a}=this,o=C(dc(`msgHash`,e));if(a==null||![0,1,2,3].includes(a))throw Error(`recovery id invalid`);let s=a===2||a===3?r+t.n:r;if(s>=n.ORDER)throw Error(`recovery id 2 or 3 invalid`);let d=a&1?`03`:`02`,f=u.fromHex(d+bl(s,n.BYTES)),p=l(s),m=c(-o*p),h=c(i*p),g=u.BASE.multiplyAndAddUnsafe(f,m,h);if(!g)throw Error(`point at infinify`);return g.assertValidity(),g}hasHighS(){return m(this.s)}normalizeS(){return this.hasHighS()?new _(this.r,c(-this.s),this.recovery):this}toDERRawBytes(){return oc(this.toDERHex())}toDERHex(){return Dl.hexFromSig(this)}toCompactRawBytes(){return oc(this.toCompactHex())}toCompactHex(){let e=i;return bl(this.r,e)+bl(this.s,e)}}let v={isValidPrivateKey(e){try{return d(e),!0}catch{return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{let e=Kc(t.n);return qc(t.randomBytes(e),t.n)},precompute(e=8,t=u.BASE){return t._setWindowSize(e),t.multiply(BigInt(3)),t}};function y(e,t=!0){return u.fromPrivateKey(e).toRawBytes(t)}function b(e){if(typeof e==`bigint`)return!1;if(e instanceof u)return!0;let r=dc(`key`,e).length,a=n.BYTES,o=a+1,s=2*a+1;if(!(t.allowedPrivateKeyLengths||i===o))return r===o||r===s}function x(e,t,n=!0){if(b(e)===!0)throw Error(`first arg must be private key`);if(b(t)===!1)throw Error(`second arg must be public key`);return u.fromHex(t).multiply(d(e)).toRawBytes(n)}let S=t.bits2int||function(e){if(e.length>8192)throw Error(`input is too large`);let t=sc(e),n=e.length*8-a;return n>0?t>>BigInt(n):t},C=t.bits2int_modN||function(e){return c(S(e))},w=Dc(a);function T(e){return gc(`num < 2^`+a,e,Ol,w),lc(e,i)}function ee(e,r,i=E){if([`recovered`,`canonical`].some(e=>e in i))throw Error(`sign() legacy options not supported`);let{hash:a,randomBytes:o}=t,{lowS:s,prehash:f,extraEntropy:g}=i;s??=!0,e=dc(`msgHash`,e),vl(i),f&&(e=dc(`prehashed msgHash`,a(e)));let v=C(e),y=d(r),b=[T(y),T(v)];if(g!=null&&g!==!1){let e=g===!0?o(n.BYTES):g;b.push(dc(`extraEntropy`,e))}let x=fc(...b),w=v;function ee(e){let t=S(e);if(!p(t))return;let n=l(t),r=u.BASE.multiply(t).toAffine(),i=c(r.x);if(i===Ol)return;let a=c(n*c(w+i*y));if(a===Ol)return;let o=(r.x===i?0:2)|Number(r.y&kl),d=a;return s&&m(a)&&(d=h(a),o^=1),new _(i,d,o)}return{seed:x,k2sig:ee}}let E={lowS:t.lowS,prehash:!1},te={lowS:t.lowS,prehash:!1};function ne(e,n,r=E){let{seed:i,k2sig:a}=ee(e,n,r),o=t;return vc(o.hash.outputLen,o.nByteLength,o.hmac)(i,a)}u.BASE._setWindowSize(8);function re(e,n,r,i=te){let a=e;n=dc(`msgHash`,n),r=dc(`publicKey`,r);let{lowS:o,prehash:s,format:d}=i;if(vl(i),`strict`in i)throw Error(`options.strict was renamed to lowS`);if(d!==void 0&&d!==`compact`&&d!==`der`)throw Error(`format must be compact or der`);let f=typeof a==`string`||$s(a),p=!f&&!d&&typeof a==`object`&&!!a&&typeof a.r==`bigint`&&typeof a.s==`bigint`;if(!f&&!p)throw Error(`invalid signature, expected Uint8Array, hex string or Signature instance`);let m,h;try{if(p&&(m=new _(a.r,a.s)),f){try{d!==`compact`&&(m=_.fromDER(a))}catch(e){if(!(e instanceof Dl.Err))throw e}!m&&d!==`der`&&(m=_.fromCompact(a))}h=u.fromHex(r)}catch{return!1}if(!m||o&&m.hasHighS())return!1;s&&(n=t.hash(n));let{r:g,s:v}=m,y=C(n),b=l(v),x=c(y*b),S=c(g*b),w=u.BASE.multiplyAndAddUnsafe(h,x,S)?.toAffine();return w?c(w.x)===g:!1}return{CURVE:t,getPublicKey:y,getSharedSecret:x,sign:ne,verify:re,ProjectivePoint:u,Signature:_,utils:v}}function wl(e,t){let n=e.ORDER,r=Ol;for(let e=n-kl;e%Al===Ol;e/=Al)r+=kl;let i=r,a=Al<<i-kl-kl,o=a*Al,s=(n-kl)/o,c=(s-kl)/Al,l=o-kl,u=a,d=e.pow(t,s),f=e.pow(t,(s+kl)/Al),p=(t,n)=>{let r=d,a=e.pow(n,l),o=e.sqr(a);o=e.mul(o,n);let s=e.mul(t,o);s=e.pow(s,c),s=e.mul(s,a),a=e.mul(s,n),o=e.mul(s,t);let p=e.mul(o,a);s=e.pow(p,u);let m=e.eql(s,e.ONE);a=e.mul(o,f),s=e.mul(p,r),o=e.cmov(a,o,m),p=e.cmov(s,p,m);for(let t=i;t>kl;t--){let n=t-Al;n=Al<<n-kl;let i=e.pow(p,n),s=e.eql(i,e.ONE);a=e.mul(o,r),r=e.mul(r,r),i=e.mul(p,r),o=e.cmov(a,o,s),p=e.cmov(i,p,s)}return{isValid:m,value:o}};if(e.ORDER%Ml===jl){let n=(e.ORDER-jl)/Ml,r=e.sqrt(e.neg(t));p=(t,i)=>{let a=e.sqr(i),o=e.mul(t,i);a=e.mul(a,o);let s=e.pow(a,n);s=e.mul(s,o);let c=e.mul(s,r),l=e.mul(e.sqr(s),i),u=e.eql(l,t);return{isValid:u,value:e.cmov(c,s,u)}}}return p}function Tl(e,t){if(zc(e),!e.isValid(t.A)||!e.isValid(t.B)||!e.isValid(t.Z))throw Error(`mapToCurveSimpleSWU: invalid opts`);let n=wl(e,t.Z);if(!e.isOdd)throw Error(`Fp.isOdd is not implemented!`);return r=>{let i,a,o,s,c,l,u,d;i=e.sqr(r),i=e.mul(i,t.Z),a=e.sqr(i),a=e.add(a,i),o=e.add(a,e.ONE),o=e.mul(o,t.B),s=e.cmov(t.Z,e.neg(a),!e.eql(a,e.ZERO)),s=e.mul(s,t.A),a=e.sqr(o),l=e.sqr(s),c=e.mul(l,t.A),a=e.add(a,c),a=e.mul(a,o),l=e.mul(l,s),c=e.mul(l,t.B),a=e.add(a,c),u=e.mul(i,o);let{isValid:f,value:p}=n(a,l);d=e.mul(i,r),d=e.mul(d,p),u=e.cmov(u,o,f),d=e.cmov(d,p,f);let m=e.isOdd(r)===e.isOdd(d);d=e.cmov(e.neg(d),d,m);let h=Vc(e,[s],!0)[0];return u=e.mul(u,h),{x:u,y:d}}}var El,Dl,Ol,kl,Al,jl,Ml,Nl=o((()=>{_l(),nl(),jc(),El=class extends Error{constructor(e=``){super(e)}},Dl={Err:El,_tlv:{encode:(e,t)=>{let{Err:n}=Dl;if(e<0||e>256)throw new n(`tlv.encode: wrong tag`);if(t.length&1)throw new n(`tlv.encode: unpadded data`);let r=t.length/2,i=nc(r);if(i.length/2&128)throw new n(`tlv.encode: long form length too big`);let a=r>127?nc(i.length/2|128):``;return nc(e)+a+i+t},decode(e,t){let{Err:n}=Dl,r=0;if(e<0||e>256)throw new n(`tlv.encode: wrong tag`);if(t.length<2||t[r++]!==e)throw new n(`tlv.decode: wrong tlv`);let i=t[r++],a=!!(i&128),o=0;if(!a)o=i;else{let e=i&127;if(!e)throw new n(`tlv.decode(long): indefinite length not supported`);if(e>4)throw new n(`tlv.decode(long): byte length is too big`);let a=t.subarray(r,r+e);if(a.length!==e)throw new n(`tlv.decode: length bytes not complete`);if(a[0]===0)throw new n(`tlv.decode(long): zero leftmost byte`);for(let e of a)o=o<<8|e;if(r+=e,o<128)throw new n(`tlv.decode(long): not minimal encoding`)}let s=t.subarray(r,r+o);if(s.length!==o)throw new n(`tlv.decode: wrong value length`);return{v:s,l:t.subarray(r+o)}}},_int:{encode(e){let{Err:t}=Dl;if(e<Ol)throw new t(`integer: negative integers are not allowed`);let n=nc(e);if(Number.parseInt(n[0],16)&8&&(n=`00`+n),n.length&1)throw new t(`unexpected DER parsing assertion: unpadded hex`);return n},decode(e){let{Err:t}=Dl;if(e[0]&128)throw new t(`invalid signature integer: negative`);if(e[0]===0&&!(e[1]&128))throw new t(`invalid signature integer: unnecessary leading zero`);return sc(e)}},toSig(e){let{Err:t,_int:n,_tlv:r}=Dl,i=dc(`signature`,e),{v:a,l:o}=r.decode(48,i);if(o.length)throw new t(`invalid signature: left bytes after parsing`);let{v:s,l:c}=r.decode(2,a),{v:l,l:u}=r.decode(2,c);if(u.length)throw new t(`invalid signature: left bytes after parsing`);return{r:n.decode(s),s:n.decode(l)}},hexFromSig(e){let{_tlv:t,_int:n}=Dl,r=t.encode(2,n.encode(e.r))+t.encode(2,n.encode(e.s));return t.encode(48,r)}},Ol=BigInt(0),kl=BigInt(1),Al=BigInt(2),jl=BigInt(3),Ml=BigInt(4)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Pl(e){return{hash:e,hmac:(t,...n)=>Zs(e,t,Lr(...n)),randomBytes:zr}}function Fl(e,t){let n=t=>Cl({...e,...Pl(t)});return{...n(t),create:n}}var Il=o((()=>{Qs(),Ur(),Nl()}));function Ll(e,t){if(zl(e),zl(t),e<0||e>=1<<8*t)throw Error(`invalid I2OSP input: `+e);let n=Array.from({length:t}).fill(0);for(let r=t-1;r>=0;r--)n[r]=e&255,e>>>=8;return new Uint8Array(n)}function Rl(e,t){let n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e[r]^t[r];return n}function zl(e){if(!Number.isSafeInteger(e))throw Error(`number expected`)}function Bl(e,t,n,r){ec(e),ec(t),zl(n),t.length>255&&(t=r(fc(mc(`H2C-OVERSIZE-DST-`),t)));let{outputLen:i,blockLen:a}=r,o=Math.ceil(n/i);if(n>65535||o>255)throw Error(`expand_message_xmd: invalid lenInBytes`);let s=fc(t,Ll(t.length,1)),c=Ll(0,a),l=Ll(n,2),u=Array(o),d=r(fc(c,e,l,Ll(0,1),s));u[0]=r(fc(d,Ll(1,1),s));for(let e=1;e<=o;e++){let t=[Rl(d,u[e-1]),Ll(e+1,1),s];u[e]=r(fc(...t))}return fc(...u).slice(0,n)}function Vl(e,t,n,r,i){if(ec(e),ec(t),zl(n),t.length>255){let e=Math.ceil(2*r/8);t=i.create({dkLen:e}).update(mc(`H2C-OVERSIZE-DST-`)).update(t).digest()}if(n>65535||t.length>255)throw Error(`expand_message_xof: invalid lenInBytes`);return i.create({dkLen:n}).update(e).update(Ll(n,2)).update(t).update(Ll(t.length,1)).digest()}function Hl(e,t,n){yc(n,{DST:`stringOrUint8Array`,p:`bigint`,m:`isSafeInteger`,k:`isSafeInteger`,hash:`hash`});let{p:r,k:i,m:a,hash:o,expand:s,DST:c}=n;ec(e),zl(t);let l=typeof c==`string`?mc(c):c,u=r.toString(2).length,d=Math.ceil((u+i)/8),f=t*a*d,p;if(s===`xmd`)p=Bl(e,l,f,o);else if(s===`xof`)p=Vl(e,l,f,i,o);else if(s===`_internal_pass`)p=e;else throw Error(`expand must be \"xmd\" or \"xof\"`);let m=Array(t);for(let e=0;e<t;e++){let t=Array(a);for(let n=0;n<a;n++){let i=d*(n+e*a),o=p.subarray(i,i+d);t[n]=Mc(Gl(o),r)}m[e]=t}return m}function Ul(e,t){let n=t.map(e=>Array.from(e).reverse());return(t,r)=>{let[i,a,o,s]=n.map(n=>n.reduce((n,r)=>e.add(e.mul(n,t),r))),[c,l]=Vc(e,[a,s],!0);return t=e.mul(i,c),r=e.mul(r,e.mul(o,l)),{x:t,y:r}}}function Wl(e,t,n){if(typeof t!=`function`)throw Error(`mapToCurve() must be defined`);function r(n){return e.fromAffine(t(n))}function i(t){let n=t.clearCofactor();return n.equals(e.ZERO)?e.ZERO:(n.assertValidity(),n)}return{defaults:n,hashToCurve(e,t){let a=Hl(e,2,{...n,DST:n.DST,...t}),o=r(a[0]),s=r(a[1]);return i(o.add(s))},encodeToCurve(e,t){return i(r(Hl(e,1,{...n,DST:n.encodeDST,...t})[0]))},mapToCurve(e){if(!Array.isArray(e))throw Error(`expected array of bigints`);for(let t of e)if(typeof t!=`bigint`)throw Error(`expected array of bigints`);return i(r(e))}}}var Gl,Kl=o((()=>{nl(),jc(),Gl=sc})),ql=c({encodeToCurve:()=>Cu,hashToCurve:()=>Su,schnorr:()=>vu,secp256k1:()=>lu,secp256k1_hasher:()=>xu});\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Jl(e){let t=nu,n=BigInt(3),r=BigInt(6),i=BigInt(11),a=BigInt(22),o=BigInt(23),s=BigInt(44),c=BigInt(88),l=e*e*e%t,u=l*l*e%t,d=Nc(Nc(Nc(u,n,t)*u%t,n,t)*u%t,ou,t)*l%t,f=Nc(d,i,t)*d%t,p=Nc(f,a,t)*f%t,m=Nc(p,s,t)*p%t,h=Nc(Nc(Nc(Nc(Nc(Nc(m,c,t)*m%t,s,t)*p%t,n,t)*u%t,o,t)*f%t,r,t)*l%t,ou,t);if(!cu.eql(cu.sqr(h),e))throw Error(`Cannot find square root`);return h}function Yl(e,...t){let n=uu[e];if(n===void 0){let t=Ks(Uint8Array.from(e,e=>e.charCodeAt(0)));n=fc(t,t),uu[e]=n}return Ks(fc(n,...t))}function Xl(e){let t=lu.utils.normPrivateKeyToScalar(e),n=hu.fromPrivateKey(t);return{scalar:n.hasEvenY()?t:mu(-t),bytes:du(n)}}function Zl(e){gc(`x`,e,au,nu);let t=pu(e*e),n=Jl(pu(t*e+BigInt(7)));n%ou!==iu&&(n=pu(-n));let r=new hu(e,n,au);return r.assertValidity(),r}function Ql(...e){return mu(_u(Yl(`BIP0340/challenge`,...e)))}function $l(e){return Xl(e).bytes}function eu(e,t,n=zr(32)){let r=dc(`message`,e),{bytes:i,scalar:a}=Xl(t),o=dc(`auxRand`,n,32),s=Yl(`BIP0340/nonce`,fu(a^_u(Yl(`BIP0340/aux`,o))),i,r),c=mu(_u(s));if(c===iu)throw Error(`sign failed: k is zero`);let{bytes:l,scalar:u}=Xl(c),d=Ql(l,i,r),f=new Uint8Array(64);if(f.set(l,0),f.set(fu(mu(u+d*a)),32),!tu(f,r,i))throw Error(`sign: Invalid signature produced`);return f}function tu(e,t,n){let r=dc(`signature`,e,64),i=dc(`message`,t),a=dc(`publicKey`,n,32);try{let e=Zl(_u(a)),t=_u(r.subarray(0,32));if(!hc(t,au,nu))return!1;let n=_u(r.subarray(32,64));if(!hc(n,au,ru))return!1;let o=Ql(fu(t),du(e),i),s=gu(e,n,mu(-o));return!(!s||!s.hasEvenY()||s.toAffine().x!==t)}catch{return!1}}var nu,ru,iu,au,ou,su,cu,lu,uu,du,fu,pu,mu,hu,gu,_u,vu,yu,bu,xu,Su,Cu,wu=o((()=>{Ys(),Ur(),Il(),Kl(),nl(),jc(),Nl(),nu=BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f`),ru=BigInt(`0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141`),iu=BigInt(0),au=BigInt(1),ou=BigInt(2),su=(e,t)=>(e+t/ou)/t,cu=Wc(nu,void 0,void 0,{sqrt:Jl}),lu=Fl({a:iu,b:BigInt(7),Fp:cu,n:ru,Gx:BigInt(`55066263022277343669578718895168534326250603453777594175500187360389116729240`),Gy:BigInt(`32670510020758816978083085130507043184471273380659243275938904335757337482424`),h:BigInt(1),lowS:!0,endo:{beta:BigInt(`0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee`),splitScalar:e=>{let t=ru,n=BigInt(`0x3086d221a7d46bcde86c90e49284eb15`),r=-au*BigInt(`0xe4437ed6010e88286f547fa90abfe4c3`),i=BigInt(`0x114ca50f7a8e2f3f657c1108d9d44cfd8`),a=n,o=BigInt(`0x100000000000000000000000000000000`),s=su(a*e,t),c=su(-r*e,t),l=Mc(e-s*n-c*i,t),u=Mc(-s*r-c*a,t),d=l>o,f=u>o;if(d&&(l=t-l),f&&(u=t-u),l>o||u>o)throw Error(`splitScalar: Endomorphism failed, k=`+e);return{k1neg:d,k1:l,k2neg:f,k2:u}}}},Ks),uu={},du=e=>e.toRawBytes(!0).slice(1),fu=e=>lc(e,32),pu=e=>Mc(e,nu),mu=e=>Mc(e,ru),hu=lu.ProjectivePoint,gu=(e,t,n)=>hu.BASE.multiplyAndAddUnsafe(e,t,n),_u=sc,vu={getPublicKey:$l,sign:eu,verify:tu,utils:{randomPrivateKey:lu.utils.randomPrivateKey,lift_x:Zl,pointToBytes:du,numberToBytesBE:lc,bytesToNumberBE:sc,taggedHash:Yl,mod:Mc}},yu=Ul(cu,[[`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7`,`0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581`,`0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262`,`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c`],[`0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b`,`0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14`,`0x0000000000000000000000000000000000000000000000000000000000000001`],[`0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c`,`0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3`,`0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931`,`0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84`],[`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b`,`0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573`,`0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f`,`0x0000000000000000000000000000000000000000000000000000000000000001`]].map(e=>e.map(e=>BigInt(e)))),bu=Tl(cu,{A:BigInt(`0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533`),B:BigInt(`1771`),Z:cu.create(BigInt(`-11`))}),xu=Wl(lu.ProjectivePoint,e=>{let{x:t,y:n}=bu(cu.create(e[0]));return yu(t,n)},{DST:`secp256k1_XMD:SHA-256_SSWU_RO_`,encodeDST:`secp256k1_XMD:SHA-256_SSWU_NU_`,p:cu.ORDER,m:1,k:128,expand:`xmd`,hash:Ks}),Su=xu.hashToCurve,Cu=xu.encodeToCurve}));Lt(),zt(),Ln(),N();async function Tu({hash:e,signature:t}){let n=O(e)?e:Rn(e),{secp256k1:r}=await Promise.resolve().then(()=>(wu(),ql));return`0x${(()=>{if(typeof t==`object`&&`r`in t&&`s`in t){let{r:e,s:n,v:i,yParity:a}=t,o=Eu(Number(a??i));return new r.Signature(j(e),j(n)).addRecoveryBit(o)}let e=O(t)?t:Rn(t);if(Rt(e)!==65)throw Error(`invalid signature length`);let n=Eu(In(`0x${e.slice(130)}`));return r.Signature.fromCompact(e.substring(2,130)).addRecoveryBit(n)})().recoverPublicKey(n.substring(2)).toHex(!1)}`}function Eu(e){if(e===0||e===1)return e;if(e===27)return 0;if(e===28)return 1;throw Error(`Invalid yParityOrV value`)}async function Du({hash:e,signature:t}){return Ds(await Tu({hash:e,signature:t}))}A(),ka(),Qn(),N();function Ou(e,t=`hex`){let n=ku(e),r=Da(new Uint8Array(n.length));return n.encode(r),t===`hex`?Bn(r.bytes):r.bytes}function ku(e){return Array.isArray(e)?Au(e.map(e=>ku(e))):ju(e)}function Au(e){let t=e.reduce((e,t)=>e+t.length,0),n=Mu(t);return{length:t<=55?1+t:1+n+t,encode(r){t<=55?r.pushByte(192+t):(r.pushByte(247+n),n===1?r.pushUint8(t):n===2?r.pushUint16(t):n===3?r.pushUint24(t):r.pushUint32(t));for(let{encode:t}of e)t(r)}}}function ju(e){let t=typeof e==`string`?qn(e):e,n=Mu(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+n+t.length,encode(e){t.length===1&&t[0]<128?e.pushBytes(t):t.length<=55?(e.pushByte(128+t.length),e.pushBytes(t)):(e.pushByte(183+n),n===1?e.pushUint8(t.length):n===2?e.pushUint16(t.length):n===3?e.pushUint24(t.length):e.pushUint32(t.length),e.pushBytes(t))}}}function Mu(e){if(e<256)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new k(`Length is too large.`)}Li(),Qn(),N(),ui();function Nu(e){let{chainId:t,nonce:n,to:r}=e,i=e.contractAddress??e.address,a=li(Ii([`0x05`,Ou([t?M(t):`0x`,i,n?M(n):`0x`])]));return r===`bytes`?qn(a):a}async function Pu(e){let{authorization:t,signature:n}=e;return Du({hash:Nu(t),signature:n??t})}uo(),po(),A(),jo();var Fu=class extends k{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d}){let f=yo({from:t?.address,to:u,value:d!==void 0&&`${lo(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${fo(o)} gwei`,maxFeePerGas:s!==void 0&&`${fo(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${fo(c)} gwei`,nonce:l});super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],`Estimate Gas Arguments:`,f].filter(Boolean),name:`EstimateGasExecutionError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}},Iu,Lu,Ru,zu,Bu,Vu,Hu,Uu,Wu,Gu,Ku,qu,Ju=o((()=>{po(),A(),Iu=class extends k{constructor({cause:e,message:t}={}){let n=t?.replace(`execution reverted: `,``)?.replace(`execution reverted`,``);super(`Execution reverted ${n?`with reason: ${n}`:`for an unknown reason`}.`,{cause:e,name:`ExecutionRevertedError`})}},Object.defineProperty(Iu,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(Iu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/}),Lu=class extends k{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${fo(t)} gwei`:``}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:e,name:`FeeCapTooHighError`})}},Object.defineProperty(Lu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\\^256-1|fee cap higher than 2\\^256-1/}),Ru=class extends k{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${fo(t)}`:``} gwei) cannot be lower than the block base fee.`,{cause:e,name:`FeeCapTooLowError`})}},Object.defineProperty(Ru,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/}),zu=class extends k{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:``}is higher than the next one expected.`,{cause:e,name:`NonceTooHighError`})}},Object.defineProperty(zu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/}),Bu=class extends k{constructor({cause:e,nonce:t}={}){super([`Nonce provided for the transaction ${t?`(${t}) `:``}is lower than the current nonce of the account.`,\"Try increasing the nonce or find the latest nonce with `getTransactionCount`.\"].join(`\n`),{cause:e,name:`NonceTooLowError`})}},Object.defineProperty(Bu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/}),Vu=class extends k{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:``}exceeds the maximum allowed nonce.`,{cause:e,name:`NonceMaxValueError`})}},Object.defineProperty(Vu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/}),Hu=class extends k{constructor({cause:e}={}){super([`The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account.`].join(`\n`),{cause:e,metaMessages:[`This error could arise when the account does not have enough funds to:`,` - pay for the total gas fee,`,` - pay for the value to send.`,` `,\"The cost of the transaction is calculated as `gas * gas fee + value`, where:\",\" - `gas` is the amount of gas needed for transaction to execute,\",\" - `gas fee` is the gas fee,\",\" - `value` is the amount of ether to send to the recipient.\"],name:`InsufficientFundsError`})}},Object.defineProperty(Hu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/}),Uu=class extends k{constructor({cause:e,gas:t}={}){super(`The amount of gas ${t?`(${t}) `:``}provided for the transaction exceeds the limit allowed for the block.`,{cause:e,name:`IntrinsicGasTooHighError`})}},Object.defineProperty(Uu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/}),Wu=class extends k{constructor({cause:e,gas:t}={}){super(`The amount of gas ${t?`(${t}) `:``}provided for the transaction is too low.`,{cause:e,name:`IntrinsicGasTooLowError`})}},Object.defineProperty(Wu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/}),Gu=class extends k{constructor({cause:e}){super(`The transaction type is not supported for this chain.`,{cause:e,name:`TransactionTypeNotSupportedError`})}},Object.defineProperty(Gu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/}),Ku=class extends k{constructor({cause:e,maxPriorityFeePerGas:t,maxFeePerGas:n}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${t?` = ${fo(t)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${n?` = ${fo(n)} gwei`:``}).`].join(`\n`),{cause:e,name:`TipAboveFeeCapError`})}},Object.defineProperty(Ku,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/}),qu=class extends k{constructor({cause:e}){super(`An error occurred while executing: ${e?.shortMessage}`,{cause:e,name:`UnknownNodeError`})}}}));function Yu(e,t){let n=(e.details||``).toLowerCase(),r=e instanceof k?e.walk(e=>e?.code===Iu.code):e;return r instanceof k?new Iu({cause:e,message:r.details}):Iu.nodeMessage.test(n)?new Iu({cause:e,message:e.details}):Lu.nodeMessage.test(n)?new Lu({cause:e,maxFeePerGas:t?.maxFeePerGas}):Ru.nodeMessage.test(n)?new Ru({cause:e,maxFeePerGas:t?.maxFeePerGas}):zu.nodeMessage.test(n)?new zu({cause:e,nonce:t?.nonce}):Bu.nodeMessage.test(n)?new Bu({cause:e,nonce:t?.nonce}):Vu.nodeMessage.test(n)?new Vu({cause:e,nonce:t?.nonce}):Hu.nodeMessage.test(n)?new Hu({cause:e}):Uu.nodeMessage.test(n)?new Uu({cause:e,gas:t?.gas}):Wu.nodeMessage.test(n)?new Wu({cause:e,gas:t?.gas}):Gu.nodeMessage.test(n)?new Gu({cause:e}):Ku.nodeMessage.test(n)?new Ku({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new qu({cause:e})}var Xu=o((()=>{A(),Ju()}));Ju(),Xu();function Zu(e,{docsPath:t,...n}){return new Fu((()=>{let t=Yu(e,n);return t instanceof qu?e:t})(),{docsPath:t,...n})}function Qu(e,{format:t}){if(!t)return{};let n={};function r(t){let i=Object.keys(t);for(let a of i)a in e&&(n[a]=e[a]),t[a]&&typeof t[a]==`object`&&!Array.isArray(t[a])&&r(t[a])}return r(t(e||{})),n}var $u=o((()=>{}));function ed(e,t){return({exclude:n,format:r})=>({exclude:n,format:(e,i)=>{let a=t(e,i);if(n)for(let e of n)delete a[e];return{...a,...r(e,i)}},type:e})}var td=o((()=>{}));function nd(e,t){let n={};return e.authorizationList!==void 0&&(n.authorizationList=rd(e.authorizationList)),e.accessList!==void 0&&(n.accessList=e.accessList),e.blobVersionedHashes!==void 0&&(n.blobVersionedHashes=e.blobVersionedHashes),e.blobs!==void 0&&(n.blobs=typeof e.blobs[0]==`string`?e.blobs:e.blobs.map(e=>Bn(e))),e.data!==void 0&&(n.data=e.data),e.account&&(n.from=e.account.address),e.from!==void 0&&(n.from=e.from),e.gas!==void 0&&(n.gas=M(e.gas)),e.gasPrice!==void 0&&(n.gasPrice=M(e.gasPrice)),e.maxFeePerBlobGas!==void 0&&(n.maxFeePerBlobGas=M(e.maxFeePerBlobGas)),e.maxFeePerGas!==void 0&&(n.maxFeePerGas=M(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(n.maxPriorityFeePerGas=M(e.maxPriorityFeePerGas)),e.nonce!==void 0&&(n.nonce=M(e.nonce)),e.to!==void 0&&(n.to=e.to),e.type!==void 0&&(n.type=id[e.type]),e.value!==void 0&&(n.value=M(e.value)),n}function rd(e){return e.map(e=>({address:e.address,r:e.r?M(BigInt(e.r)):e.r,s:e.s?M(BigInt(e.s)):e.s,chainId:M(e.chainId),nonce:M(e.nonce),...e.yParity===void 0?{}:{yParity:M(e.yParity)},...e.v!==void 0&&e.yParity===void 0?{v:M(e.v)}:{}}))}var id,ad,od=o((()=>{N(),td(),id={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},ad=ed(`transactionRequest`,nd)}));function sd(e){if(!(!e||e.length===0))return e.reduce((e,{slot:t,value:n})=>{if(t.length!==66)throw new _n({size:t.length,targetSize:66,type:`hex`});if(n.length!==66)throw new _n({size:n.length,targetSize:66,type:`hex`});return e[t]=n,e},{})}function cd(e){let{balance:t,nonce:n,state:r,stateDiff:i,code:a}=e,o={};if(a!==void 0&&(o.code=a),t!==void 0&&(o.balance=M(t)),n!==void 0&&(o.nonce=M(n)),r!==void 0&&(o.state=sd(r)),i!==void 0){if(o.state)throw new _o;o.stateDiff=sd(i)}return o}function ld(e){if(!e)return;let t={};for(let{address:n,...r}of e){if(!Ai(n,{strict:!1}))throw new Si({address:n});if(t[n])throw new go({address:n});t[n]=cd(r)}return t}var ud=o((()=>{Ci(),vn(),vo(),Ni(),N()})),dd,fd=o((()=>{2n**(8n-1n)-1n,2n**(16n-1n)-1n,2n**(24n-1n)-1n,2n**(32n-1n)-1n,2n**(40n-1n)-1n,2n**(48n-1n)-1n,2n**(56n-1n)-1n,2n**(64n-1n)-1n,2n**(72n-1n)-1n,2n**(80n-1n)-1n,2n**(88n-1n)-1n,2n**(96n-1n)-1n,2n**(104n-1n)-1n,2n**(112n-1n)-1n,2n**(120n-1n)-1n,2n**(128n-1n)-1n,2n**(136n-1n)-1n,2n**(144n-1n)-1n,2n**(152n-1n)-1n,2n**(160n-1n)-1n,2n**(168n-1n)-1n,2n**(176n-1n)-1n,2n**(184n-1n)-1n,2n**(192n-1n)-1n,2n**(200n-1n)-1n,2n**(208n-1n)-1n,2n**(216n-1n)-1n,2n**(224n-1n)-1n,2n**(232n-1n)-1n,2n**(240n-1n)-1n,2n**(248n-1n)-1n,2n**(256n-1n)-1n,-(2n**(8n-1n)),-(2n**(16n-1n)),-(2n**(24n-1n)),-(2n**(32n-1n)),-(2n**(40n-1n)),-(2n**(48n-1n)),-(2n**(56n-1n)),-(2n**(64n-1n)),-(2n**(72n-1n)),-(2n**(80n-1n)),-(2n**(88n-1n)),-(2n**(96n-1n)),-(2n**(104n-1n)),-(2n**(112n-1n)),-(2n**(120n-1n)),-(2n**(128n-1n)),-(2n**(136n-1n)),-(2n**(144n-1n)),-(2n**(152n-1n)),-(2n**(160n-1n)),-(2n**(168n-1n)),-(2n**(176n-1n)),-(2n**(184n-1n)),-(2n**(192n-1n)),-(2n**(200n-1n)),-(2n**(208n-1n)),-(2n**(216n-1n)),-(2n**(224n-1n)),-(2n**(232n-1n)),-(2n**(240n-1n)),-(2n**(248n-1n)),-(2n**(256n-1n)),dd=2n**256n-1n}));function pd(e){let{account:t,maxFeePerGas:n,maxPriorityFeePerGas:r,to:i}=e,a=t?P(t):void 0;if(a&&!Ai(a.address))throw new Si({address:a.address});if(i&&!Ai(i))throw new Si({address:i});if(n&&n>dd)throw new Lu({maxFeePerGas:n});if(r&&n&&r>n)throw new Ku({maxFeePerGas:n,maxPriorityFeePerGas:r})}var md=o((()=>{pa(),fd(),Ci(),Ju(),Ni()}));po(),A();var hd=class extends k{constructor(){super(\"`baseFeeMultiplier` must be greater than 1.\",{name:`BaseFeeScalarError`})}},gd=class extends k{constructor(){super(`Chain does not support EIP-1559 fees.`,{name:`Eip1559FeesNotSupportedError`})}},_d=class extends k{constructor({maxPriorityFeePerGas:e}){super(`\\`maxFeePerGas\\` cannot be less than the \\`maxPriorityFeePerGas\\` (${fo(e)} gwei).`,{name:`MaxFeePerGasTooLowError`})}};A();var vd=class extends k{constructor({blockHash:e,blockNumber:t}){let n=`Block`;e&&(n=`Block at hash \"${e}\"`),t&&(n=`Block at number \"${t}\"`),super(`${n} could not be found.`,{name:`BlockNotFoundError`})}};Ln(),td();let yd={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function bd(e,t){let n={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,...e.blockTimestamp!=null&&{blockTimestamp:BigInt(e.blockTimestamp)},chainId:e.chainId?In(e.chainId):void 0,gas:e.gas?BigInt(e.gas):void 0,gasPrice:e.gasPrice?BigInt(e.gasPrice):void 0,maxFeePerBlobGas:e.maxFeePerBlobGas?BigInt(e.maxFeePerBlobGas):void 0,maxFeePerGas:e.maxFeePerGas?BigInt(e.maxFeePerGas):void 0,maxPriorityFeePerGas:e.maxPriorityFeePerGas?BigInt(e.maxPriorityFeePerGas):void 0,nonce:e.nonce?In(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?yd[e.type]:void 0,typeHex:e.type?e.type:void 0,value:e.value?BigInt(e.value):void 0,v:e.v?BigInt(e.v):void 0};return e.authorizationList&&(n.authorizationList=Sd(e.authorizationList)),n.yParity=(()=>{if(e.yParity)return Number(e.yParity);if(typeof n.v==`bigint`){if(n.v===0n||n.v===27n)return 0;if(n.v===1n||n.v===28n)return 1;if(n.v>=35n)return+(n.v%2n==0n)}})(),n.type===`legacy`&&(delete n.accessList,delete n.maxFeePerBlobGas,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas,delete n.yParity),n.type===`eip2930`&&(delete n.maxFeePerBlobGas,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas),n.type===`eip1559`&&delete n.maxFeePerBlobGas,n}let xd=ed(`transaction`,bd);function Sd(e){return e.map(e=>({address:e.address,chainId:Number(e.chainId),nonce:Number(e.nonce),r:e.r,s:e.s,yParity:Number(e.yParity)}))}function Cd(e,t){let n=(e.transactions??[]).map(e=>typeof e==`string`?e:bd(e));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:n,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}N();async function wd(e,{blockHash:t,blockNumber:n,blockTag:r=e.experimental_blockTag??`latest`,includeTransactions:i}={}){let a=i??!1,o=n===void 0?void 0:M(n),s=null;if(s=t?await e.request({method:`eth_getBlockByHash`,params:[t,a]},{dedupe:!0}):await e.request({method:`eth_getBlockByNumber`,params:[o||r,a]},{dedupe:!!o}),!s)throw new vd({blockHash:t,blockNumber:n});return(e.chain?.formatters?.block?.format||Cd)(s,`getBlock`)}async function Td(e){let t=await e.request({method:`eth_gasPrice`});return BigInt(t)}Ln();async function Ed(e,t){let{block:n,chain:r=e.chain,request:i}=t||{};try{let t=r?.fees?.maxPriorityFeePerGas??r?.fees?.defaultPriorityFee;if(typeof t==`function`){let r=await t({block:n||await D(e,wd,`getBlock`)({}),client:e,request:i});if(r===null)throw Error();return r}return t===void 0?j(await e.request({method:`eth_maxPriorityFeePerGas`})):t}catch{let[t,r]=await Promise.all([n?Promise.resolve(n):D(e,wd,`getBlock`)({}),D(e,Td,`getGasPrice`)({})]);if(typeof t.baseFeePerGas!=`bigint`)throw new gd;let i=r-t.baseFeePerGas;return i<0n?0n:i}}async function Dd(e,t){let{block:n,chain:r=e.chain,request:i,type:a=`eip1559`}=t||{},o=await(async()=>typeof r?.fees?.baseFeeMultiplier==`function`?r.fees.baseFeeMultiplier({block:n,client:e,request:i}):r?.fees?.baseFeeMultiplier??1.2)();if(o<1)throw new hd;let s=10**(o.toString().split(`.`)[1]?.length??0),c=e=>e*BigInt(Math.round(o*s))/BigInt(s),l=n||await D(e,wd,`getBlock`)({});if(typeof r?.fees?.estimateFeesPerGas==`function`){let t=await r.fees.estimateFeesPerGas({block:n,client:e,multiply:c,request:i,type:a});if(t!==null)return t}if(a===`eip1559`){if(typeof l.baseFeePerGas!=`bigint`)throw new gd;let t=typeof i?.maxPriorityFeePerGas==`bigint`?i.maxPriorityFeePerGas:await Ed(e,{block:l,chain:r,request:i}),n=c(l.baseFeePerGas);return{maxFeePerGas:i?.maxFeePerGas??n+t,maxPriorityFeePerGas:t}}return{gasPrice:i?.gasPrice??c(await D(e,Td,`getGasPrice`)({}))}}function Od(e){let{blockHash:t,blockNumber:n,blockTag:r,requireCanonical:i}=e;if(i!==void 0&&!t)throw new k(\"`requireCanonical` can only be provided when `blockHash` is set.\");return t?i?{blockHash:t,requireCanonical:i}:{blockHash:t}:typeof n==`bigint`?M(n):r??`latest`}var kd=o((()=>{A(),N()}));kd(),Ln();async function Ad(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=Od({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a});return In(await e.request({method:`eth_getTransactionCount`,params:[t,o]},{dedupe:typeof r==`bigint`||n!==void 0}))}Qn(),N();function jd(e){let{kzg:t}=e,n=e.to??(typeof e.blobs[0]==`string`?`hex`:`bytes`),r=typeof e.blobs[0]==`string`?e.blobs.map(e=>qn(e)):e.blobs,i=[];for(let e of r)i.push(Uint8Array.from(t.blobToKzgCommitment(e)));return n===`bytes`?i:i.map(e=>Bn(e))}Qn(),N();function Md(e){let{kzg:t}=e,n=e.to??(typeof e.blobs[0]==`string`?`hex`:`bytes`),r=typeof e.blobs[0]==`string`?e.blobs.map(e=>qn(e)):e.blobs,i=typeof e.commitments[0]==`string`?e.commitments.map(e=>qn(e)):e.commitments,a=[];for(let e=0;e<r.length;e++){let n=r[e],o=i[e];a.push(Uint8Array.from(t.computeBlobKzgProof(n,o)))}return n===`bytes`?a:a.map(e=>Bn(e))}Ys();let Nd=Ks;Lt(),Qn(),N();function Pd(e,t){let n=t||`hex`,r=Nd(O(e,{strict:!1})?Wn(e):e);return n===`bytes`?r:Rn(r)}N();function Fd(e){let{commitment:t,version:n=1}=e,r=e.to??(typeof t==`string`?`hex`:`bytes`),i=Pd(t,`bytes`);return i.set([n],0),r===`bytes`?i:Bn(i)}function Id(e){let{commitments:t,version:n}=e,r=e.to??(typeof t[0]==`string`?`hex`:`bytes`),i=[];for(let e of t)i.push(Fd({commitment:e,to:r,version:n}));return i}A();var Ld=class extends k{constructor({maxSize:e,size:t}){super(`Blob size is too large.`,{metaMessages:[`Max: ${e} bytes`,`Given: ${t} bytes`],name:`BlobSizeTooLargeError`})}},Rd=class extends k{constructor(){super(`Blob data must not be empty.`,{name:`EmptyBlobError`})}},zd=class extends k{constructor({hash:e,size:t}){super(`Versioned hash \"${e}\" size is invalid.`,{metaMessages:[`Expected: 32`,`Received: ${t}`],name:`InvalidVersionedHashSizeError`})}},Bd=class extends k{constructor({hash:e,version:t}){super(`Versioned hash \"${e}\" version is invalid.`,{metaMessages:[`Expected: 1`,`Received: ${t}`],name:`InvalidVersionedHashVersionError`})}};ka(),zt(),Qn(),N();function Vd(e){let t=e.to??(typeof e.data==`string`?`hex`:`bytes`),n=typeof e.data==`string`?qn(e.data):e.data,r=Rt(n);if(!r)throw new Rd;if(r>761855)throw new Ld({maxSize:761855,size:r});let i=[],a=!0,o=0;for(;a;){let e=Da(new Uint8Array(131072)),t=0;for(;t<4096;){let r=n.slice(o,o+31);if(e.pushByte(0),e.pushBytes(r),r.length<31){e.pushByte(128),a=!1;break}t++,o+=31}i.push(e)}return t===`bytes`?i.map(e=>e.bytes):i.map(e=>Bn(e.bytes))}function Hd(e){let{data:t,kzg:n,to:r}=e,i=e.blobs??Vd({data:t,to:r}),a=e.commitments??jd({blobs:i,kzg:n,to:r}),o=e.proofs??Md({blobs:i,commitments:a,kzg:n,to:r}),s=[];for(let e=0;e<i.length;e++)s.push({blob:i[e],commitment:a[e],proof:o[e]});return s}jo();function Ud(e){if(e.type)return e.type;if(e.authorizationList!==void 0)return`eip7702`;if(e.blobs!==void 0||e.blobVersionedHashes!==void 0||e.maxFeePerBlobGas!==void 0||e.sidecars!==void 0)return`eip4844`;if(e.maxFeePerGas!==void 0||e.maxPriorityFeePerGas!==void 0)return`eip1559`;if(e.gasPrice!==void 0)return e.accessList===void 0?`legacy`:`eip2930`;throw new So({transaction:e})}Ju(),jo(),Xu();function Wd(e,{docsPath:t,...n}){let r=(()=>{let t=Yu(e,n);return t instanceof qu?e:t})();return new Eo(r,{docsPath:t,...n})}Ln();async function Gd(e){return In(await e.request({method:`eth_chainId`},{dedupe:!0}))}pa(),$u(),od(),md();async function Kd(e,t){let{account:n=e.account,accessList:r,authorizationList:i,chain:a=e.chain,blobVersionedHashes:o,blobs:s,data:c,gas:l,gasPrice:u,maxFeePerBlobGas:d,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:m,nonceManager:h,to:g,type:_,value:v,...y}=t,b=await(async()=>{if(!n||!h||m!==void 0)return m;let t=P(n),r=a?a.id:await D(e,Gd,`getChainId`)({});return await h.consume({address:t.address,chainId:r,client:e})})();pd(t);let x=a?.formatters?.transactionRequest?.format,S=(x||nd)({...Qu(y,{format:x}),account:n?P(n):void 0,accessList:r,authorizationList:i,blobs:s,blobVersionedHashes:o,data:c,gas:l,gasPrice:u,maxFeePerBlobGas:d,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:b,to:g,type:_,value:v},`fillTransaction`);try{let n=await e.request({method:`eth_fillTransaction`,params:[S]}),r=(a?.formatters?.transaction?.format||bd)(n.tx);delete r.blockHash,delete r.blockNumber,delete r.r,delete r.s,delete r.transactionIndex,delete r.v,delete r.yParity,r.data=r.input,r.gas&&=t.gas??r.gas,r.gasPrice&&=t.gasPrice??r.gasPrice,r.maxFeePerBlobGas&&=t.maxFeePerBlobGas??r.maxFeePerBlobGas,r.maxFeePerGas&&=t.maxFeePerGas??r.maxFeePerGas,r.maxPriorityFeePerGas&&=t.maxPriorityFeePerGas??r.maxPriorityFeePerGas,r.nonce!==void 0&&(r.nonce=t.nonce??r.nonce);let i=await(async()=>{if(typeof a?.fees?.baseFeeMultiplier==`function`){let n=await D(e,wd,`getBlock`)({});return a.fees.baseFeeMultiplier({block:n,client:e,request:t})}return a?.fees?.baseFeeMultiplier??1.2})();if(i<1)throw new hd;let o=10**(i.toString().split(`.`)[1]?.length??0),s=e=>e*BigInt(Math.round(i*o))/BigInt(o);return r.feePayerSignature||(r.maxFeePerGas&&!t.maxFeePerGas&&(r.maxFeePerGas=s(r.maxFeePerGas)),r.gasPrice&&!t.gasPrice&&(r.gasPrice=s(r.gasPrice))),{raw:n.raw,transaction:{from:S.from,...r},...n.capabilities?{capabilities:n.capabilities}:{}}}catch(n){throw Wd(n,{...t,chain:e.chain})}}pa(),Ti(),md();let qd=[`blobVersionedHashes`,`chainId`,`fees`,`gas`,`nonce`,`type`],Jd=new Map,Yd=new wi(128);async function Xd(e,t){let n=t;n.account??=e.account,n.parameters??=qd;let{account:r,chain:i=e.chain,nonceManager:a,parameters:o}=n,s=(()=>{if(typeof i?.prepareTransactionRequest==`function`)return{fn:i.prepareTransactionRequest,runAt:[`beforeFillTransaction`]};if(Array.isArray(i?.prepareTransactionRequest))return{fn:i.prepareTransactionRequest[0],runAt:i.prepareTransactionRequest[1].runAt}})(),c;async function l(){return c||(n.chainId===void 0?i?i.id:(c=await D(e,Gd,`getChainId`)({}),c):n.chainId)}let u=r&&P(r),d=n.nonce;if(s?.fn&&s.runAt?.includes(`beforeFillTransaction`)){n=await s.fn({...n,chain:i},{client:e,phase:`beforeFillTransaction`}),d??=n.nonce;let t=n.account??n.from;u=t?P(t):void 0}if(o.includes(`nonce`)&&d===void 0&&u&&a){let t=await l();d=await a.consume({address:u.address,chainId:t,client:e})}let f=!((o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&n.kzg&&n.blobs)&&(o.length>0&&`feePayer`in n&&n.feePayer&&!(`feePayerSignature`in n&&n.feePayerSignature)||!(Yd.get(e.uid)===!1||![`fees`,`gas`].some(e=>o.includes(e)))&&(o.includes(`chainId`)&&typeof n.chainId!=`number`||o.includes(`nonce`)&&typeof d!=`number`||o.includes(`fees`)&&typeof n.gasPrice!=`bigint`&&(typeof n.maxFeePerGas!=`bigint`||typeof n.maxPriorityFeePerGas!=`bigint`)||o.includes(`gas`)&&typeof n.gas!=`bigint`))?await D(e,Kd,`fillTransaction`)({...n,nonce:d}).then(t=>{let{chainId:r,from:i,gas:a,gasPrice:o,nonce:s,maxFeePerBlobGas:c,maxFeePerGas:l,maxPriorityFeePerGas:u,type:d,...f}=t.transaction,p=`feeToken`in f?f.feeToken:void 0,m=`feePayerSignature`in f&&f.feePayerSignature!==null&&f.feePayerSignature!==void 0,h=p!=null&&(!(`feeToken`in n)||m);return Yd.set(e.uid,!0),{...n,...i?{from:i}:{},...d&&!n.type?{type:d}:{},...r===void 0?{}:{chainId:r},...a===void 0?{}:{gas:a},...o===void 0?{}:{gasPrice:o},...s===void 0?{}:{nonce:s},...c!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxFeePerBlobGas:c}:{},...l!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxFeePerGas:l}:{},...u!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxPriorityFeePerGas:u}:{},...`nonceKey`in f&&f.nonceKey!==void 0?{nonceKey:f.nonceKey}:{},...`keyAuthorization`in f&&f.keyAuthorization!==void 0&&f.keyAuthorization!==null&&!(`keyAuthorization`in n)?{keyAuthorization:f.keyAuthorization}:{},...`feePayerSignature`in f&&f.feePayerSignature!==void 0&&f.feePayerSignature!==null?{feePayerSignature:f.feePayerSignature}:{},...h?{feeToken:p}:{},...t.capabilities?{_capabilities:t.capabilities}:{}}}).catch(t=>{let r=t;if(r.name!==`TransactionExecutionError`)return n;if(r.walk?.(e=>e.name===`ExecutionRevertedError`))throw t;return r.walk?.(e=>{let t=e;return t.name===`MethodNotFoundRpcError`||t.name===`MethodNotSupportedRpcError`||t.message?.includes(`eth_fillTransaction is not available`)})&&Yd.set(e.uid,!1),n}):n;d??=f.nonce,n={...f,...u?{from:u?.address}:{},...d===void 0?{}:{nonce:d}};let{blobs:p,gas:m,kzg:h,type:g}=n;s?.fn&&s.runAt?.includes(`beforeFillParameters`)&&(n=await s.fn({...n,chain:i},{client:e,phase:`beforeFillParameters`}));let _;async function v(){return _||(_=await D(e,wd,`getBlock`)({blockTag:`latest`}),_)}if(o.includes(`nonce`)&&d===void 0&&u&&!a&&(n.nonce=await D(e,Ad,`getTransactionCount`)({address:u.address,blockTag:`pending`})),(o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&p&&h){let e=jd({blobs:p,kzg:h});if(o.includes(`blobVersionedHashes`)){let t=Id({commitments:e,to:`hex`});n.blobVersionedHashes=t}if(o.includes(`sidecars`)){let t=Hd({blobs:p,commitments:e,proofs:Md({blobs:p,commitments:e,kzg:h}),to:`hex`});n.sidecars=t}}if(o.includes(`chainId`)&&(n.chainId=await l()),(o.includes(`fees`)||o.includes(`type`))&&g===void 0)try{n.type=Ud(n)}catch{let t=Jd.get(e.uid);t===void 0&&(t=typeof(await v())?.baseFeePerGas==`bigint`,Jd.set(e.uid,t)),n.type=t?`eip1559`:`legacy`}if(o.includes(`fees`)){if(n.type!==`legacy`&&n.type!==`eip2930`){if(n.maxFeePerGas===void 0||n.maxPriorityFeePerGas===void 0){let{maxFeePerGas:t,maxPriorityFeePerGas:r}=await Dd(e,{block:await v(),chain:i,request:n});if(n.maxPriorityFeePerGas===void 0&&n.maxFeePerGas&&n.maxFeePerGas<r)throw new _d({maxPriorityFeePerGas:r});n.maxPriorityFeePerGas=r,n.maxFeePerGas=t}}else{if(n.maxFeePerGas!==void 0||n.maxPriorityFeePerGas!==void 0)throw new gd;if(n.gasPrice===void 0){let{gasPrice:t}=await Dd(e,{block:await v(),chain:i,request:n,type:`legacy`});n.gasPrice=t}}}return o.includes(`gas`)&&m===void 0&&(n.gas=await D(e,Zd,`estimateGas`)({...n,account:u,prepare:u?.type===`local`?[]:[`blobVersionedHashes`]})),s?.fn&&s.runAt?.includes(`afterFillParameters`)&&(n=await s.fn({...n,chain:i},{client:e,phase:`afterFillParameters`})),pd(n),delete n.parameters,n}pa(),A(),N(),$u(),od(),ud(),md();async function Zd(e,t){let{account:n=e.account,prepare:r=!0}=t,i=n?P(n):void 0,a=(()=>{if(Array.isArray(r))return r;if(i?.type!==`local`)return[`blobVersionedHashes`]})();try{let n=await(async()=>{if(t.to)return t.to;if(t.authorizationList&&t.authorizationList.length>0)return await Pu({authorization:t.authorizationList[0]}).catch(()=>{throw new k(\"`to` is required. Could not infer from `authorizationList`\")})})(),{accessList:o,authorizationList:s,blobs:c,blobVersionedHashes:l,blockNumber:u,blockTag:d,data:f,gas:p,gasPrice:m,maxFeePerBlobGas:h,maxFeePerGas:g,maxPriorityFeePerGas:_,nonce:v,value:y,stateOverride:b,...x}=r?await Xd(e,{...t,parameters:a,to:n}):t;if(p&&t.gas!==p)return p;let S=(typeof u==`bigint`?M(u):void 0)||d,C=ld(b);pd(t);let w=e.chain?.formatters?.transactionRequest?.format,T=(w||nd)({...Qu(x,{format:w}),account:i,accessList:o,authorizationList:s,blobs:c,blobVersionedHashes:l,data:f,gasPrice:m,maxFeePerBlobGas:h,maxFeePerGas:g,maxPriorityFeePerGas:_,nonce:v,to:n,value:y},`estimateGas`);return BigInt(await e.request({method:`eth_estimateGas`,params:C?[T,S??e.experimental_blockTag??`latest`,C]:S?[T,S]:[T]}))}catch(n){throw Zu(n,{...t,account:i,chain:e.chain})}}pa(),va();async function Qd(e,t){let{abi:n,address:r,args:i,functionName:a,dataSuffix:o=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,...s}=t,c=_a({abi:n,args:i,functionName:a});try{return await D(e,Zd,`estimateGas`)({data:`${c}${o?o.replace(`0x`,``):``}`,to:r,...s})}catch(e){throw Es(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/estimateContractGas`,functionName:a,sender:(s.account?P(s.account):void 0)?.address})}}function F(e,t){if(!Ai(e,{strict:!1}))throw new Si({address:e});if(!Ai(t,{strict:!1}))throw new Si({address:t});return e.toLowerCase()===t.toLowerCase()}var $d=o((()=>{Ci(),Ni()}));function ef(e,{args:t,eventName:n}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,blockTimestamp:e.blockTimestamp?BigInt(e.blockTimestamp):e.blockTimestamp===null?null:void 0,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...n?{args:t,eventName:n}:{}}}mn(),Ea(),zt(),xi(),qa(),It();let tf=`/docs/contract/decodeEventLog`;function nf(e){let{abi:t,data:n,strict:r,topics:i}=e,a=r??!0,[o,...s]=i;if(!o)throw new en({docsPath:tf});let c=t.find(e=>e.type===`event`&&o===bi(Nt(e)));if(!(c&&`name`in c)||c.type!==`event`)throw new tn(o,{docsPath:tf});let{name:l,inputs:u}=c,d=u?.some(e=>!(`name`in e&&e.name)),f=d?[]:{},p=u.map((e,t)=>[e,t]).filter(([e])=>`indexed`in e&&e.indexed),m=[];for(let e=0;e<p.length;e++){let[t,n]=p[e],r=s[e];if(!r){if(a)throw new ln({abiItem:c,param:t});m.push([t,n]);continue}f[d?n:t.name||n]=rf({param:t,value:r})}let h=u.filter(e=>!(`indexed`in e&&e.indexed)),g=a?h:[...m.map(([e])=>e),...h];if(g.length>0){if(n&&n!==`0x`)try{let e=Fa(g,n);if(e){let t=0;if(!a)for(let[n,r]of m)f[d?r:n.name||r]=e[t++];if(d)for(let n=0;n<u.length;n++)f[n]===void 0&&t<e.length&&(f[n]=e[t++]);else for(let n=0;n<h.length;n++)f[h[n].name]=e[t++]}}catch(e){if(a)throw e instanceof Kt||e instanceof wa?new cn({abiItem:c,data:n,params:g,size:Rt(n)}):e}else if(a)throw new cn({abiItem:c,data:`0x`,params:g,size:0})}return{eventName:l,args:Object.values(f).length>0?f:void 0}}function rf({param:e,value:t}){return e.type===`string`||e.type===`bytes`||e.type===`tuple`||e.type.match(/^(.*)\\[(\\d+)?\\]$/)?t:(Fa([e],t)||[])[0]}$d(),Qn(),ui(),xi();function af(e){let{abi:t,args:n,logs:r,strict:i=!0}=e,a=(()=>{if(e.eventName)return Array.isArray(e.eventName)?e.eventName:[e.eventName]})(),o=t.filter(e=>e.type===`event`).map(e=>({abi:e,selector:bi(e)}));return r.map(e=>{let t=typeof e.blockNumber==`string`?ef(e):e,r=o.filter(e=>t.topics[0]===e.selector);if(r.length===0)return null;let s,c;for(let e of r)try{s=nf({...t,abi:[e.abi],strict:!0}),c=e;break}catch{}if(!s&&!i){c=r[0];try{s=nf({data:t.data,topics:t.topics,abi:[c.abi],strict:!1})}catch{let e=c.abi.inputs?.some(e=>!(`name`in e&&e.name));return{...t,args:e?[]:{},eventName:c.abi.name}}}return!s||!c||a&&!a.includes(s.eventName)||!of({args:s.args,inputs:c.abi.inputs,matchArgs:n})?null:{...s,...t}}).filter(Boolean)}function of(e){let{args:t,inputs:n,matchArgs:r}=e;if(!r)return!0;if(!t)return!1;function i(e,t,n){try{return e.type===`address`?F(t,n):e.type===`string`||e.type===`bytes`?li(Wn(t))===n:t===n}catch{return!1}}return Array.isArray(t)&&Array.isArray(r)?r.every((e,r)=>{if(e==null)return!0;let a=n[r];return a?(Array.isArray(e)?e:[e]).some(e=>i(a,e,t[r])):!1}):typeof t==`object`&&!Array.isArray(t)&&typeof r==`object`&&!Array.isArray(r)&&Object.entries(r).every(([e,r])=>{if(r==null)return!0;let a=n.find(t=>t.name===e);return a?(Array.isArray(r)?r:[r]).some(n=>i(a,n,t[e])):!1})}function sf(e){let{abi:t,args:n,functionName:r,data:i}=e,a=t[0];if(r){let e=la({abi:t,args:n,name:r});if(!e)throw new nn(r,{docsPath:cf});a=e}if(a.type!==`function`)throw new nn(void 0,{docsPath:cf});if(!a.outputs)throw new rn(a.name,{docsPath:cf});let o=Fa(a.outputs,i);if(o&&o.length>1)return o;if(o&&o.length===1)return o[0]}var cf,lf=o((()=>{mn(),qa(),fa(),cf=`/docs/contract/decodeFunctionResult`})),uf,df=o((()=>{uf=`0.1.1`}));function ff(){return uf}var pf=o((()=>{df()}));function mf(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause?mf(e.cause,t):t?null:e}var I,hf=o((()=>{pf(),I=class e extends Error{static setStaticOptions(t){e.prototype.docsOrigin=t.docsOrigin,e.prototype.showVersion=t.showVersion,e.prototype.version=t.version}constructor(t,n={}){let r=(()=>{if(n.cause instanceof e){if(n.cause.details)return n.cause.details;if(n.cause.shortMessage)return n.cause.shortMessage}return n.cause&&`details`in n.cause&&typeof n.cause.details==`string`?n.cause.details:n.cause?.message?n.cause.message:n.details})(),i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=n.docsOrigin??e.prototype.docsOrigin,o=`${a}${i??``}`,s=!!(n.version??e.prototype.showVersion),c=n.version??e.prototype.version,l=[t||`An error occurred.`,...n.metaMessages?[``,...n.metaMessages]:[],...r||i||s?[``,r?`Details: ${r}`:void 0,i?`See: ${o}`:void 0,s?`Version: ${c}`:void 0]:[]].filter(e=>typeof e==`string`).join(`\n`);super(l,n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docs\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsOrigin\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsPath\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"shortMessage\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"showVersion\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"version\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`BaseError`}),this.cause=n.cause,this.details=r,this.docs=o,this.docsOrigin=a,this.docsPath=i,this.shortMessage=t,this.showVersion=s,this.version=c}walk(e){return mf(this,e)}},Object.defineProperty(I,\"defaultStaticOptions\",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:`https://oxlib.sh`,showVersion:!1,version:`ox@${ff()}`}}),I.setStaticOptions(I.defaultStaticOptions)}));function gf(e,t){if(Wf(e)>t)throw new rp({givenSize:Wf(e),maxSize:t})}function _f(e,t){if(typeof t==`number`&&t>0&&t>Wf(e)-1)throw new ip({offset:t,position:`start`,size:Wf(e)})}function vf(e,t,n){if(typeof t==`number`&&typeof n==`number`&&Wf(e)!==n-t)throw new ip({offset:n,position:`end`,size:Wf(e)})}function yf(e){if(e>=Sf.zero&&e<=Sf.nine)return e-Sf.zero;if(e>=Sf.A&&e<=Sf.F)return e-(Sf.A-10);if(e>=Sf.a&&e<=Sf.f)return e-(Sf.a-10)}function bf(e,t={}){let{dir:n,size:r=32}=t;if(r===0)return e;if(e.length>r)throw new ap({size:e.length,targetSize:r,type:`Bytes`});let i=new Uint8Array(r);for(let t=0;t<r;t++){let a=n===`right`;i[a?t:r-t-1]=e[a?t:e.length-t-1]}return i}function xf(e,t={}){let{dir:n=`left`}=t,r=e,i=0;for(let e=0;e<r.length-1&&r[n===`left`?e:r.length-e-1].toString()===`0`;e++)i++;return r=n===`left`?r.slice(i):r.slice(0,r.length-i),r}var Sf,Cf=o((()=>{op(),Sf={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function wf(e,t){if(hp(e)>t)throw new Op({givenSize:hp(e),maxSize:t})}function Tf(e,t){if(typeof t==`number`&&t>0&&t>hp(e)-1)throw new kp({offset:t,position:`start`,size:hp(e)})}function Ef(e,t,n){if(typeof t==`number`&&typeof n==`number`&&hp(e)!==n-t)throw new kp({offset:n,position:`end`,size:hp(e)})}function Df(e,t={}){let{dir:n,size:r=32}=t;if(r===0)return e;let i=e.replace(`0x`,``);if(i.length>r*2)throw new Ap({size:Math.ceil(i.length/2),targetSize:r,type:`Hex`});return`0x${i[n===`right`?`padEnd`:`padStart`](r*2,`0`)}`}function Of(e,t={}){let{dir:n=`left`}=t,r=e.replace(`0x`,``),i=0;for(let e=0;e<r.length-1&&r[n===`left`?e:r.length-e-1].toString()===`0`;e++)i++;return r=n===`left`?r.slice(i):r.slice(0,r.length-i),r===`0`?`0x`:n===`right`&&r.length%2==1?`0x${r}0`:`0x${r}`}var kf=o((()=>{B()}));function Af(e){if(e===null||typeof e==`boolean`||typeof e==`string`)return JSON.stringify(e);if(typeof e==`number`){if(!Number.isFinite(e))throw TypeError(`Cannot canonicalize non-finite number`);return Object.is(e,-0)?`0`:JSON.stringify(e)}if(typeof e==`bigint`)throw TypeError(`Cannot canonicalize bigint`);if(Array.isArray(e))return`[${e.map(e=>Af(e)).join(`,`)}]`;if(typeof e==`object`)return`{${Object.keys(e).sort().reduce((t,n)=>{let r=e[n];return r!==void 0&&t.push(`${JSON.stringify(n)}:${Af(r)}`),t},[]).join(`,`)}}`}function jf(e,t){return JSON.parse(e,(e,n)=>{let r=n;return typeof r==`string`&&r.endsWith(Nf)?BigInt(r.slice(0,-9)):typeof t==`function`?t(e,r):r})}function Mf(e,t,n){return JSON.stringify(e,(e,n)=>typeof t==`function`?t(e,n):typeof n==`bigint`?n.toString()+Nf:n,n)}var Nf,Pf=o((()=>{Nf=`#__bigint`}));function Ff(e){if(!(e instanceof Uint8Array)&&(!e||typeof e!=`object`||!(`BYTES_PER_ELEMENT`in e)||e.BYTES_PER_ELEMENT!==1||e.constructor.name!==`Uint8Array`))throw new np(e)}function If(...e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}function Lf(e){return e instanceof Uint8Array?e:typeof e==`string`?zf(e):Rf(e)}function Rf(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function zf(e,t={}){let{size:n}=t,r=e;n&&(wf(e,n),r=pp(e,n));let i=r.slice(2);i.length%2&&(i=`0${i}`);let a=i.length/2,o=new Uint8Array(a);for(let e=0,t=0;e<a;e++){let n=yf(i.charCodeAt(t++)),r=yf(i.charCodeAt(t++));if(n===void 0||r===void 0)throw new I(`Invalid byte sequence (\"${i[t-2]}${i[t-1]}\" in \"${i}\").`);o[e]=n<<4|r}return o}function Bf(e,t={}){let{size:n}=t,r=ep.encode(e);return typeof n==`number`?(gf(r,n),Hf(r,n)):r}function Vf(e,t){return pc(e,t)}function Hf(e,t){return bf(e,{dir:`right`,size:t})}function Uf(e){return crypto.getRandomValues(new Uint8Array(e))}function Wf(e){return e.length}function Gf(e,t,n,r={}){let{strict:i}=r;_f(e,t);let a=e.slice(t,n);return i&&vf(a,t,n),a}function Kf(e,t={}){let{size:n}=t;return n!==void 0&&gf(e,n),_p(up(e,t),t)}function qf(e,t={}){let{size:n}=t,r=e;if(n!==void 0&&(gf(r,n),r=Xf(r)),r.length>1||r[0]>1)throw new tp(r);return!!r[0]}function Jf(e,t={}){let{size:n}=t;return n!==void 0&&gf(e,n),yp(up(e,t),t)}function Yf(e,t={}){let{size:n}=t,r=e;return n!==void 0&&(gf(r,n),r=Zf(r)),$f.decode(r)}function Xf(e){return xf(e,{dir:`left`})}function Zf(e){return xf(e,{dir:`right`})}function Qf(e){try{return Ff(e),!0}catch{return!1}}var $f,ep,tp,np,rp,ip,ap,op=o((()=>{jc(),hf(),B(),Cf(),kf(),Pf(),$f=new TextDecoder,ep=new TextEncoder,tp=class extends I{constructor(e){super(`Bytes value \\`${e}\\` is not a valid boolean.`,{metaMessages:[\"The bytes array must contain a single byte of either a `0` or `1` value.\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.InvalidBytesBooleanError`})}},np=class extends I{constructor(e){super(`Value \\`${typeof e==`object`?Mf(e):e}\\` of type \\`${typeof e}\\` is an invalid Bytes value.`,{metaMessages:[\"Bytes values must be of type `Bytes`.\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.InvalidBytesTypeError`})}},rp=class extends I{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \\`${t}\\` bytes. Given size: \\`${e}\\` bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SizeOverflowError`})}},ip=class extends I{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \\`${e}\\` is out-of-bounds (size: \\`${n}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SliceOffsetOutOfBoundsError`})}},ap=class extends I{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\\`${e}\\`) exceeds padding size (\\`${t}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SizeExceedsPaddingSizeError`})}}}));function sp(e,t={}){let{strict:n=!1}=t;if(!e||typeof e!=`string`)throw new Tp(e);if(n&&!/^0x[0-9a-fA-F]*$/.test(e)||!e.startsWith(`0x`))throw new Ep(e)}function L(...e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}function cp(e){return e instanceof Uint8Array?up(e):Array.isArray(e)?up(new Uint8Array(e)):e}function lp(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(wf(n,t.size),fp(n,t.size)):n}function up(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=Cp[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(wf(r,t.size),pp(r,t.size)):r}function R(e,t={}){let{signed:n,size:r}=t,i=BigInt(e),a;r?a=n?(1n<<BigInt(r)*8n-1n)-1n:2n**(BigInt(r)*8n)-1n:typeof e==`number`&&(a=BigInt(2**53-1));let o=typeof a==`bigint`&&n?-a-1n:0;if(a&&i>a||i<o){let t=typeof e==`bigint`?`n`:``;throw new wp({max:a?`${a}${t}`:void 0,min:`${o}${t}`,signed:n,size:r,value:`${e}${t}`})}let s=`0x${(n&&i<0?BigInt.asUintN(r*8,BigInt(i)):i).toString(16)}`;return r?fp(s,r):s}function dp(e,t={}){return up(Sp.encode(e),t)}function fp(e,t){return Df(e,{dir:`left`,size:t})}function pp(e,t){return Df(e,{dir:`right`,size:t})}function mp(e){return up(Uf(e))}function z(e,t,n,r={}){let{strict:i}=r;Tf(e,t);let a=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return i&&Ef(a,t,n),a}function hp(e){return Math.ceil((e.length-2)/2)}function gp(e){return Of(e,{dir:`left`})}function _p(e,t={}){let{signed:n}=t;t.size&&wf(e,t.size);let r=BigInt(e);if(!n)return r;let i=(e.length-2)/2,a=(1n<<BigInt(i)*8n)-1n;return r<=a>>1n?r:r-a-1n}function vp(e,t={}){return zf(e,t)}function yp(e,t={}){let{signed:n,size:r}=t;return Number(!n&&!r?e:_p(e,t))}function bp(e,t={}){let{size:n}=t,r=zf(e);return n&&(gf(r,n),r=Zf(r)),new TextDecoder().decode(r)}function xp(e,t={}){let{strict:n=!1}=t;try{return sp(e,{strict:n}),!0}catch{return!1}}var Sp,Cp,wp,Tp,Ep,Dp,Op,kp,Ap,B=o((()=>{op(),hf(),Cf(),kf(),Pf(),Sp=new TextEncoder,Cp=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),wp=class extends I{constructor({max:e,min:t,signed:n,size:r,value:i}){super(`Number \\`${i}\\` is not in safe${r?` ${r*8}-bit`:``}${n?` signed`:` unsigned`} integer range ${e?`(\\`${t}\\` to \\`${e}\\`)`:`(above \\`${t}\\`)`}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.IntegerOutOfRangeError`})}},Tp=class extends I{constructor(e){super(`Value \\`${typeof e==`object`?Mf(e):e}\\` of type \\`${typeof e}\\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `\"0x${string}\"`.']}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.InvalidHexTypeError`})}},Ep=class extends I{constructor(e){super(`Value \\`${e}\\` is an invalid hex value.`,{metaMessages:['Hex values must start with `\"0x\"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.InvalidHexValueError`})}},Dp=class extends I{constructor(e){super(`Hex value \\`\"${e}\"\\` is an odd length (${e.length-2} nibbles).`,{metaMessages:[`It must be an even length.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.InvalidLengthError`})}},Op=class extends I{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \\`${t}\\` bytes. Given size: \\`${e}\\` bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SizeOverflowError`})}},kp=class extends I{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \\`${e}\\` is out-of-bounds (size: \\`${n}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SliceOffsetOutOfBoundsError`})}},Ap=class extends I{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\\`${e}\\`) exceeds padding size (\\`${t}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SizeExceedsPaddingSizeError`})}}}));function jp(e){return{address:e.address,amount:R(e.amount),index:R(e.index),validatorIndex:R(e.validatorIndex)}}var Mp=o((()=>{B()}));function Np(e){return{...typeof e.baseFeePerGas==`bigint`&&{baseFeePerGas:R(e.baseFeePerGas)},...typeof e.blobBaseFee==`bigint`&&{blobBaseFee:R(e.blobBaseFee)},...typeof e.feeRecipient==`string`&&{feeRecipient:e.feeRecipient},...typeof e.gasLimit==`bigint`&&{gasLimit:R(e.gasLimit)},...typeof e.number==`bigint`&&{number:R(e.number)},...typeof e.prevRandao==`bigint`&&{prevRandao:R(e.prevRandao)},...typeof e.time==`bigint`&&{time:R(e.time)},...e.withdrawals&&{withdrawals:e.withdrawals.map(jp)}}}var Pp=o((()=>{B(),Mp()})),Fp,Ip,Lp,Rp,zp,Bp,Vp=o((()=>{Fp=[{inputs:[{components:[{name:`target`,type:`address`},{name:`allowFailure`,type:`bool`},{name:`callData`,type:`bytes`}],name:`calls`,type:`tuple[]`}],name:`aggregate3`,outputs:[{components:[{name:`success`,type:`bool`},{name:`returnData`,type:`bytes`}],name:`returnData`,type:`tuple[]`}],stateMutability:`view`,type:`function`},{inputs:[{name:`addr`,type:`address`}],name:`getEthBalance`,outputs:[{name:`balance`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`getCurrentBlockTimestamp`,outputs:[{internalType:`uint256`,name:`timestamp`,type:`uint256`}],stateMutability:`view`,type:`function`}],Ip=[{name:`query`,type:`function`,stateMutability:`view`,inputs:[{type:`tuple[]`,name:`queries`,components:[{type:`address`,name:`sender`},{type:`string[]`,name:`urls`},{type:`bytes`,name:`data`}]}],outputs:[{type:`bool[]`,name:`failures`},{type:`bytes[]`,name:`responses`}]},{name:`HttpError`,type:`error`,inputs:[{type:`uint16`,name:`status`},{type:`string`,name:`message`}]}],Lp=[{inputs:[{name:`dns`,type:`bytes`}],name:`DNSDecodingFailed`,type:`error`},{inputs:[{name:`ens`,type:`string`}],name:`DNSEncodingFailed`,type:`error`},{inputs:[],name:`EmptyAddress`,type:`error`},{inputs:[{name:`status`,type:`uint16`},{name:`message`,type:`string`}],name:`HttpError`,type:`error`},{inputs:[],name:`InvalidBatchGatewayResponse`,type:`error`},{inputs:[{name:`errorData`,type:`bytes`}],name:`ResolverError`,type:`error`},{inputs:[{name:`name`,type:`bytes`},{name:`resolver`,type:`address`}],name:`ResolverNotContract`,type:`error`},{inputs:[{name:`name`,type:`bytes`}],name:`ResolverNotFound`,type:`error`},{inputs:[{name:`primary`,type:`string`},{name:`primaryAddress`,type:`bytes`}],name:`ReverseAddressMismatch`,type:`error`},{inputs:[{internalType:`bytes4`,name:`selector`,type:`bytes4`}],name:`UnsupportedResolverProfile`,type:`error`}],[...Lp],[...Lp],Rp=[{name:`isValidSignature`,type:`function`,stateMutability:`view`,inputs:[{name:`hash`,type:`bytes32`},{name:`signature`,type:`bytes`}],outputs:[{name:``,type:`bytes4`}]}],zp=[{inputs:[{name:`_signer`,type:`address`},{name:`_hash`,type:`bytes32`},{name:`_signature`,type:`bytes`}],stateMutability:`nonpayable`,type:`constructor`},{inputs:[{name:`_signer`,type:`address`},{name:`_hash`,type:`bytes32`},{name:`_signature`,type:`bytes`}],outputs:[{type:`bool`}],stateMutability:`nonpayable`,type:`function`,name:`isValidSig`}],Bp=[{type:`event`,name:`Approval`,inputs:[{indexed:!0,name:`owner`,type:`address`},{indexed:!0,name:`spender`,type:`address`},{indexed:!1,name:`value`,type:`uint256`}]},{type:`event`,name:`Transfer`,inputs:[{indexed:!0,name:`from`,type:`address`},{indexed:!0,name:`to`,type:`address`},{indexed:!1,name:`value`,type:`uint256`}]},{type:`function`,name:`allowance`,stateMutability:`view`,inputs:[{name:`owner`,type:`address`},{name:`spender`,type:`address`}],outputs:[{type:`uint256`}]},{type:`function`,name:`approve`,stateMutability:`nonpayable`,inputs:[{name:`spender`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[{type:`bool`}]},{type:`function`,name:`balanceOf`,stateMutability:`view`,inputs:[{name:`account`,type:`address`}],outputs:[{type:`uint256`}]},{type:`function`,name:`decimals`,stateMutability:`view`,inputs:[],outputs:[{type:`uint8`}]},{type:`function`,name:`name`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{type:`function`,name:`symbol`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{type:`function`,name:`totalSupply`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{type:`function`,name:`transfer`,stateMutability:`nonpayable`,inputs:[{name:`recipient`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[{type:`bool`}]},{type:`function`,name:`transferFrom`,stateMutability:`nonpayable`,inputs:[{name:`sender`,type:`address`},{name:`recipient`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[{type:`bool`}]}]})),Hp=o((()=>{})),Up,Wp,Gp,Kp,qp=o((()=>{Up=`0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe`,Wp=`0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe`,Gp=`0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572`,Kp=`0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033`})),Jp,Yp,Xp,Zp,Qp,$p=o((()=>{A(),Jp=class extends k{constructor({blockNumber:e,chain:t,contract:n}){super(`Chain \"${t.name}\" does not support contract \"${n.name}\".`,{metaMessages:[`This could be due to any of the following:`,...e&&n.blockCreated&&n.blockCreated>e?[`- The contract \"${n.name}\" was not deployed until block ${n.blockCreated} (current block ${e}).`]:[`- The chain does not have the contract \"${n.name}\" configured.`]],name:`ChainDoesNotSupportContract`})}},Yp=class extends k{constructor({chain:e,currentChainId:t}){super(`The current chain of the wallet (id: ${t}) does not match the target chain for the transaction (id: ${e.id} \u2013 ${e.name}).`,{metaMessages:[`Current Chain ID: ${t}`,`Expected Chain ID: ${e.id} \u2013 ${e.name}`],name:`ChainMismatchError`})}},Xp=class extends k{constructor(){super([`No chain was provided to the request.`,\"Please provide a chain with the `chain` argument on the Action, or by supplying a `chain` to WalletClient.\"].join(`\n`),{name:`ChainNotFoundError`})}},Zp=class extends k{constructor(){super(`No chain was provided to the Client.`,{name:`ClientChainNotConfiguredError`})}},Qp=class extends k{constructor({chainId:e}){super(typeof e==`number`?`Chain ID \"${e}\" is invalid.`:`Chain ID is invalid.`,{name:`InvalidChainIdError`})}}}));function em(e){let{abi:t,args:n,bytecode:r}=e;if(!n||n.length===0)return r;let i=t.find(e=>`type`in e&&e.type===`constructor`);if(!i)throw new Wt({docsPath:tm});if(!(`inputs`in i)||!i.inputs||i.inputs.length===0)throw new Gt({docsPath:tm});return Ii([r,qi(i.inputs,n)])}var tm,nm=o((()=>{mn(),Li(),oa(),tm=`/docs/contract/encodeDeployData`}));function rm({blockNumber:e,chain:t,contract:n}){let r=t?.contracts?.[n];if(!r)throw new Jp({chain:t,contract:{name:n}});if(e&&r.blockCreated&&r.blockCreated>e)throw new Jp({blockNumber:e,chain:t,contract:{name:n,blockCreated:r.blockCreated}});return r.address}var im=o((()=>{$p()}));function am(e,{docsPath:t,...n}){let r=(()=>{let t=Yu(e,n);return t instanceof qu?e:t})();return new Lo(r,{docsPath:t,...n})}var om=o((()=>{Uo(),Ju(),Xu()}));function sm(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var cm=o((()=>{}));function lm({fn:e,id:t,shouldSplitBatch:n,wait:r=0,sort:i}){let a=async()=>{let t=c();o();let n=t.map(({args:e})=>e);n.length!==0&&e(n).then(e=>{i&&Array.isArray(e)&&e.sort(i);for(let n=0;n<t.length;n++){let{resolve:r}=t[n];r?.([e[n],e])}}).catch(e=>{for(let n=0;n<t.length;n++){let{reject:r}=t[n];r?.(e)}})},o=()=>um.delete(t),s=()=>c().map(({args:e})=>e),c=()=>um.get(t)||[],l=e=>um.set(t,[...c(),e]);return{flush:o,async schedule(e){let{promise:t,resolve:i,reject:o}=sm();return n?.([...s(),e])&&a(),c().length>0?(l({args:e,resolve:i,reject:o}),t):(l({args:e,resolve:i,reject:o}),setTimeout(a,r),t)}}}var um,dm=o((()=>{cm(),um=new Map})),fm,pm,mm,hm=o((()=>{Za(),A(),Io(),fm=class extends k{constructor({callbackSelector:e,cause:t,data:n,extraData:r,sender:i,urls:a}){super(t.shortMessage||`An error occurred while fetching for an offchain result.`,{cause:t,metaMessages:[...t.metaMessages||[],t.metaMessages?.length?``:[],`Offchain Gateway Call:`,a&&[` Gateway URL(s):`,...a.map(e=>` ${Fo(e)}`)],` Sender: ${i}`,` Data: ${n}`,` Callback selector: ${e}`,` Extra data: ${r}`].flat(),name:`OffchainLookupError`})}},pm=class extends k{constructor({result:e,url:t}){super(`Offchain gateway response is malformed. Response data must be a hex value.`,{metaMessages:[`Gateway URL: ${Fo(t)}`,`Response: ${Xa(e)}`],name:`OffchainLookupResponseMalformedError`})}},mm=class extends k{constructor({sender:e,to:t}){super(\"Reverted sender address does not match target contract address (`to`).\",{metaMessages:[`Contract address: ${t}`,`OffchainLookup sender address: ${e}`],name:`OffchainLookupSenderMismatchError`})}}}));function gm(e){let{abi:t,data:n}=e,r=Ri(n,0,4),i=t.find(e=>e.type===`function`&&r===sa(Nt(e)));if(!i)throw new an(r,{docsPath:`/docs/contract/decodeFunctionData`});return{functionName:i.name,args:`inputs`in i&&i.inputs&&i.inputs.length>0?Fa(i.inputs,Ri(n,4)):void 0}}var _m=o((()=>{mn(),Ui(),ca(),qa(),It()}));function vm(e){let{abi:t,errorName:n,args:r}=e,i=t[0];if(n){let e=la({abi:t,args:r,name:n});if(!e)throw new Qt(n,{docsPath:ym});i=e}if(i.type!==`error`)throw new Qt(void 0,{docsPath:ym});let a=Nt(i),o=sa(a),s=`0x`;if(r&&r.length>0){if(!i.inputs)throw new Zt(i.name,{docsPath:ym});s=qi(i.inputs,r)}return Ii([o,s])}var ym,bm=o((()=>{mn(),Li(),ca(),oa(),It(),fa(),ym=`/docs/contract/encodeErrorResult`}));function xm(e){let{abi:t,functionName:n,result:r}=e,i=t[0];if(n){let e=la({abi:t,name:n});if(!e)throw new nn(n,{docsPath:Sm});i=e}if(i.type!==`function`)throw new nn(void 0,{docsPath:Sm});if(!i.outputs)throw new rn(i.name,{docsPath:Sm});let a=(()=>{if(i.outputs.length===0)return[];if(i.outputs.length===1)return[r];if(Array.isArray(r))return r;throw new fn(r)})();return qi(i.outputs,a)}var Sm,Cm=o((()=>{mn(),oa(),fa(),Sm=`/docs/contract/encodeFunctionResult`}));async function wm(e){let{data:t,ccipRequest:n}=e,{args:[r]}=gm({abi:Ip,data:t}),i=[],a=[];return await Promise.all(r.map(async(e,t)=>{try{a[t]=e.urls.includes(`x-batch-gateway:true`)?await wm({data:e.data,ccipRequest:n}):await n(e),i[t]=!1}catch(e){i[t]=!0,a[t]=Tm(e)}})),xm({abi:Ip,functionName:`query`,result:[i,a]})}function Tm(e){return e.name===`HttpRequestError`&&e.status?vm({abi:Ip,errorName:`HttpError`,args:[e.status,e.shortMessage]}):vm({abi:[ba],errorName:`Error`,args:[`shortMessage`in e?e.shortMessage:e.message]})}var Em=o((()=>{Vp(),Sa(),_m(),bm(),Cm()})),Dm=c({ccipRequest:()=>km,offchainLookup:()=>Om,offchainLookupAbiItem:()=>jm,offchainLookupSignature:()=>Am});async function Om(e,{blockNumber:t,blockTag:n,data:r,requestOptions:i,to:a}){let{args:o}=Ja({data:r,abi:[jm]}),[s,c,l,u,d]=o,{ccipRead:f}=e,p=f&&typeof f?.request==`function`?f.request:km;try{if(!F(a,s))throw new mm({sender:s,to:a});let{data:r}=await Nm(e,{blockNumber:t,blockTag:n,data:Pi([u,qi([{type:`bytes`},{type:`bytes`}],[c.includes(`x-batch-gateway:true`)?await wm({data:l,ccipRequest:e=>p({...e,requestOptions:i})}):await p({data:l,requestOptions:i,sender:s,urls:c}),d])]),requestOptions:i,to:a});return r}catch(e){throw i?.signal?.aborted?Mo(i.signal):No(e)?e:new fm({callbackSelector:u,cause:e,data:r,extraData:d,sender:s,urls:c})}}async function km({data:e,requestOptions:t,sender:n,urls:r}){let i=Error(`An unknown error occurred.`);for(let a=0;a<r.length;a++){if(t?.signal?.aborted)throw Mo(t.signal);let o=r[a],s=o.includes(`{data}`)?`GET`:`POST`,c=s===`POST`?{data:e,sender:n}:void 0,l=s===`POST`?{\"Content-Type\":`application/json`}:{};try{let r=await fetch(o.replace(`{sender}`,n.toLowerCase()).replace(`{data}`,e),{body:JSON.stringify(c),headers:l,method:s,...t?.signal?{signal:t.signal}:{}}),a;if(a=r.headers.get(`Content-Type`)?.startsWith(`application/json`)?(await r.json()).data:await r.text(),!r.ok){i=new Wo({body:c,details:a?.error?Xa(a.error):r.statusText,headers:r.headers,status:r.status,url:o});continue}if(!O(a)){i=new pm({result:a,url:o});continue}return a}catch(e){if(t?.signal?.aborted)throw Mo(t.signal);if(No(e))throw e;i=new Wo({body:c,details:e.message,url:o})}}throw i}var Am,jm,Mm=o((()=>{Wm(),hm(),Jo(),Io(),Ya(),oa(),$d(),Li(),Lt(),Em(),Za(),Am=`0x556f1830`,jm={name:`OffchainLookup`,type:`error`,inputs:[{name:`sender`,type:`address`},{name:`urls`,type:`string[]`},{name:`callData`,type:`bytes`},{name:`callbackFunction`,type:`bytes4`},{name:`extraData`,type:`bytes`}]}}));async function Nm(e,t){let{account:n=e.account,authorizationList:r,batch:i=!!e.batch?.multicall,blockHash:a,blockNumber:o,blockTag:s=e.experimental_blockTag??`latest`,requireCanonical:c,accessList:l,blobs:u,blockOverrides:d,code:f,data:p,factory:m,factoryData:h,gas:g,gasPrice:_,maxFeePerBlobGas:v,maxFeePerGas:y,maxPriorityFeePerGas:b,nonce:x,requestOptions:S,to:C,value:w,stateOverride:T,...ee}=t,E=n?P(n):void 0;if(f&&(m||h))throw new k(\"Cannot provide both `code` & `factory`/`factoryData` as parameters.\");if(f&&C)throw new k(\"Cannot provide both `code` & `to` as parameters.\");let te=f&&p,ne=m&&h&&C&&p,re=te||ne,ie=te?zm({code:f,data:p}):ne?Bm({data:p,factory:m,factoryData:h,to:C}):p;try{pd(t);let n=Od({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),f=d?Np(d):void 0,p=ld(T),m=e.chain?.formatters?.transactionRequest?.format,h=(m||nd)({...Qu(ee,{format:m}),accessList:l,account:E,authorizationList:r,blobs:u,data:ie,gas:g,gasPrice:_,maxFeePerBlobGas:v,maxFeePerGas:y,maxPriorityFeePerGas:b,nonce:x,to:re?void 0:C,value:w},`call`);if(i&&Pm({request:h})&&!f&&a===void 0)try{let{deployless:t=!1}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},n=Lm(e,{blockNumber:o,deployless:t});if(!n||!Rm(p,n))return await Im(e,{...h,blockHash:a,blockNumber:o,blockTag:s,multicallAddress:n,requestOptions:S,requireCanonical:c,rpcStateOverride:p})}catch(e){if(!(e instanceof Zp)&&!(e instanceof Jp))throw e}let te=(()=>{let e=[h,n];return p&&f?[...e,p,f]:p?[...e,p]:f?[...e,{},f]:e})(),ne=await e.request({method:`eth_call`,params:te},S);return ne===`0x`?{data:void 0}:{data:ne}}catch(n){if(S?.signal?.aborted)throw Mo(S.signal);if(No(n))throw n;let r=Vm(n),{offchainLookup:i,offchainLookupSignature:a}=await Promise.resolve().then(()=>(Mm(),Dm));if(e.ccipRead!==!1&&r?.slice(0,10)===a&&C)return{data:await i(e,{data:r,requestOptions:S,to:C})};throw re&&r?.slice(0,10)===`0x101bb98d`?new Vo({factory:m}):am(n,{...t,account:E,chain:e.chain})}}function Pm({request:e}){let{data:t,to:n,...r}=e;return!(!t||t.startsWith(`0x82ad56cb`)||!n||Object.values(r).filter(e=>e!==void 0).length>0)}function Fm(e){if(!e)return`default`;let t=Um.get(e);if(t!==void 0)return t;let n=Hm++;return Um.set(e,n),n}async function Im(e,t){let{batchSize:n=1024,deployless:r=!1,wait:i=0}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},{blockHash:a,blockNumber:o,blockTag:s=e.experimental_blockTag??`latest`,requireCanonical:c,data:l,multicallAddress:u,requestOptions:d,rpcStateOverride:f,to:p}=t,m=u===void 0?Lm(e,{blockNumber:o,deployless:r}):u,h=Od({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),g=typeof h==`string`?h:JSON.stringify(h),_=f?`.${JSON.stringify(f)}`:``,{schedule:v}=lm({id:`${e.uid}.${g}.${Fm(d)}${_}`,wait:i,shouldSplitBatch(e){return e.reduce((e,{data:t})=>e+(t.length-2),0)>n*2},fn:async t=>{let n=t.map(e=>({allowFailure:!0,callData:e.data,target:e.to})),r=_a({abi:Fp,args:[n],functionName:`aggregate3`}),i={...m===null?{data:zm({code:Kp,data:r})}:{to:m,data:r}},a=await e.request({method:`eth_call`,params:f?[i,h,f]:[i,h]},d);return sf({abi:Fp,args:[n],functionName:`aggregate3`,data:a||`0x`})}}),[{returnData:y,success:b}]=await v({data:l,to:p});if(!b)throw new Ho({data:y});return y===`0x`?{data:void 0}:{data:y}}function Lm(e,t){let{blockNumber:n,deployless:r}=t;if(r)return null;if(e.chain)return rm({blockNumber:n,chain:e.chain,contract:`multicall3`});throw new Zp}function Rm(e,t){return e?Object.keys(e).some(e=>F(e,t)):!1}function zm(e){let{code:t,data:n}=e;return em({abi:At([`constructor(bytes, bytes)`]),bytecode:Up,args:[t,n]})}function Bm(e){let{data:t,factory:n,factoryData:r,to:i}=e;return em({abi:At([`constructor(address, bytes, address, bytes)`]),bytecode:Wp,args:[i,t,n,r]})}function Vm(e){if(!(e instanceof k))return;let t=e.walk();return typeof t?.data==`object`?t.data?.data:t.data}var Hm,Um,Wm=o((()=>{Mt(),Pp(),pa(),Vp(),Hp(),qp(),A(),$p(),Uo(),Io(),lf(),nm(),va(),$d(),kd(),im(),om(),$u(),od(),dm(),ud(),md(),Hm=0,Um=new WeakMap}));lf(),va(),Wm();async function V(e,t){let{abi:n,address:r,args:i,functionName:a,...o}=t,s=_a({abi:n,args:i,functionName:a});try{let{data:t}=await D(e,Nm,`call`)({...o,data:s,to:r});return sf({abi:n,args:i,functionName:a,data:t||`0x`})}catch(e){throw Es(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/readContract`,functionName:a})}}pa(),lf(),va(),Wm();async function Gm(e,t){let{abi:n,address:r,args:i,functionName:a,dataSuffix:o=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,...s}=t,c=s.account?P(s.account):e.account,l=_a({abi:n,args:i,functionName:a});try{let{data:u}=await D(e,Nm,`call`)({batch:!1,data:`${l}${o?o.replace(`0x`,``):``}`,to:r,...s,account:c});return{result:sf({abi:n,args:i,functionName:a,data:u||`0x`}),request:{abi:n.filter(e=>`name`in e&&e.name===t.functionName),address:r,args:i,dataSuffix:o,functionName:a,...s,account:c}}}catch(e){throw Es(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/simulateContract`,functionName:a,sender:c?.address})}}let Km=new Map,qm=new Map,Jm=0;function Ym(e,t,n){let r=++Jm,i=()=>Km.get(e)||[],a=()=>{let t=i().filter(e=>e.id!==r);if(t.length===0){Km.delete(e),qm.delete(e);return}Km.set(e,t)},o=()=>{let t=i();if(!t.some(e=>e.id===r))return;let n=qm.get(e);if(t.length===1&&n){let e=n();e instanceof Promise&&e.catch(()=>{})}a()},s=i();if(Km.set(e,[...s,{id:r,fns:t}]),s&&s.length>0)return o;let c={};for(let e in t)c[e]=((...t)=>{let n=i();if(n.length!==0)for(let r of n)r.fns[e]?.(...t)});let l=n(c);return typeof l==`function`&&qm.set(e,l),o}Io();async function Xm(e,{signal:t}={}){return new Promise((n,r)=>{if(t?.aborted){r(Mo(t));return}let i=()=>t?.removeEventListener(`abort`,o),a=setTimeout(()=>{i(),n()},e),o=()=>{clearTimeout(a),i(),r(Mo(t))};t?.addEventListener(`abort`,o,{once:!0})})}function Zm(e,{emitOnBegin:t,initialWaitTime:n,interval:r}){let i=!0,a=()=>i=!1;return(async()=>{let o;t&&(o=await e({unpoll:a})),await Xm(await n?.(o)??r);let s=async()=>{i&&(await e({unpoll:a}),await Xm(r),s())};s()})(),a}let Qm=new Map,$m=new Map;function eh(e){let t=(e,t)=>({clear:()=>t.delete(e),get:()=>t.get(e),set:n=>t.set(e,n)}),n=t(e,Qm),r=t(e,$m);return{clear:()=>{n.clear(),r.clear()},promise:n,response:r}}async function th(e,{cacheKey:t,cacheTime:n=1/0}){let r=eh(t),i=r.response.get();if(i&&n>0&&Date.now()-i.created.getTime()<n)return i.data;let a=r.promise.get();a||(a=e(),r.promise.set(a));try{let e=await a;return r.response.set({created:new Date,data:e}),e}finally{r.promise.clear()}}let nh=e=>`blockNumber.${e}`;async function rh(e,{cacheTime:t=e.cacheTime}={}){let n=await th(()=>e.request({method:`eth_blockNumber`}),{cacheKey:nh(e.uid),cacheTime:t});return BigInt(n)}A();var ih=class extends k{constructor({docsPath:e}={}){super([`Could not find an Account to execute with this Action.`,\"Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client.\"].join(`\n`),{docsPath:e,docsSlug:`account`,name:`AccountNotFoundError`})}},ah=class extends k{constructor({docsPath:e,metaMessages:t,type:n}){super(`Account type \"${n}\" is not supported.`,{docsPath:e,metaMessages:t,name:`AccountTypeNotSupportedError`})}};$p();function oh({chain:e,currentChainId:t}){if(!e)throw new Xp;if(t!==e.id)throw new Yp({chain:e,currentChainId:t})}async function sh(e,{serializedTransaction:t}){return e.request({method:`eth_sendRawTransaction`,params:[t]},{retryCount:0})}pa(),A(),Li(),$u(),od(),Ti(),md();let ch=new wi(128);async function lh(e,t){let{account:n=e.account,assertChainId:r=!0,chain:i=e.chain,accessList:a,authorizationList:o,blobs:s,data:c,dataSuffix:l=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,type:g,value:_,...v}=t;if(n===void 0)throw new ih({docsPath:`/docs/actions/wallet/sendTransaction`});let y=n?P(n):null,b;try{pd(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Pu({authorization:o[0]}).catch(()=>{throw new k(\"`to` is required. Could not infer from `authorizationList`.\")})})();if(y?.type===`json-rpc`||y===null){let t;i!==null&&(t=await D(e,Gd,`getChainId`)({}),r&&oh({currentChainId:t,chain:i}));let b=e.chain?.formatters?.transactionRequest?.format,x=(b||nd)({...Qu(v,{format:b}),accessList:a,account:y,authorizationList:o,blobs:s,chainId:t,data:l?Pi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,to:n,type:g,value:_},`sendTransaction`),S=ch.get(e.uid),C=S?`wallet_sendTransaction`:`eth_sendTransaction`;try{return await e.request({method:C,params:[x]},{retryCount:0})}catch(t){if(S===!1)throw t;let n=t;if(n.name===`InvalidInputRpcError`||n.name===`InvalidParamsRpcError`||n.name===`MethodNotFoundRpcError`||n.name===`MethodNotSupportedRpcError`)return await e.request({method:`wallet_sendTransaction`,params:[x]},{retryCount:0}).then(t=>(ch.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(ch.set(e.uid,!1),n):r});throw n}}if(y?.type===`local`){let t=(()=>{if(!y.nonceManager||h!==void 0)return y.nonceManager;let e=y.nonceManager;return{consume(t){return b={address:t.address,chainId:t.chainId},e.consume(t)},get(t){return e.get(t)},increment(t){return e.increment(t)},reset(t){return e.reset(t)}}})(),r=await D(e,Xd,`prepareTransactionRequest`)({account:y,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?Pi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:t,parameters:[...qd,`sidecars`],type:g,value:_,...v,to:n}),x=i?.serializers?.transaction,S=await y.signTransaction(r,{serializer:x});return await D(e,sh,`sendRawTransaction`)({serializedTransaction:S})}throw y?.type===`smart`?new ah({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new ah({docsPath:`/docs/actions/wallet/sendTransaction`,type:y?.type})}catch(e){throw e instanceof ah?e:(b&&y?.nonceManager?.reset(b),Wd(e,{...t,account:y,chain:t.chain||void 0}))}}pa(),va();async function uh(e,t){return uh.internal(e,lh,`sendTransaction`,t)}(function(e){async function t(e,t,n,r){let{abi:i,account:a=e.account,address:o,args:s,functionName:c,...l}=r;if(a===void 0)throw new ih({docsPath:`/docs/contract/writeContract`});let u=a?P(a):null,d=_a({abi:i,args:s,functionName:c});try{return await D(e,t,n)({data:d,to:o,account:u,...l})}catch(e){throw Es(e,{abi:i,address:o,args:s,docsPath:`/docs/contract/writeContract`,functionName:c,sender:u?.address})}}e.internal=t})(uh||={}),A();var dh=class extends k{constructor(e){super(`Call bundle failed with status: ${e.statusCode}`,{name:`BundleFailedError`}),Object.defineProperty(this,\"result\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.result=e}};Io();function fh(e,{delay:t=100,retryCount:n=2,shouldRetry:r=()=>!0,signal:i}={}){return new Promise((a,o)=>{let s=async({count:c=0}={})=>{if(i?.aborted){o(Mo(i));return}let l=async({error:e})=>{let n=typeof t==`function`?t({count:c,error:e}):t;if(n)try{await Xm(n,{signal:i})}catch(e){o(e);return}return s({count:c+1})};try{a(await e())}catch(e){if(i?.aborted){o(Mo(i));return}if(No(e)){o(e);return}if(c<n&&await r({count:c,error:e}))return l({error:e});o(e)}};s().catch(o)})}Ln(),td();let ph={\"0x0\":`reverted`,\"0x1\":`success`};function mh(e,t){let n={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs?e.logs.map(e=>ef(e)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?In(e.transactionIndex):null,status:e.status?ph[e.status]:null,type:e.type?yd[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}let hh=ed(`transactionReceipt`,mh);pa(),A(),Ts(),va(),Li(),Ln(),N();let gh=M(0,{size:32});async function _h(e,t){let{account:n=e.account,chain:r=e.chain,experimental_fallback:i,experimental_fallbackDelay:a=32,forceAtomic:o=!1,id:s,version:c=`2.0.0`}=t,l=n?P(n):null,u=t.capabilities;e.dataSuffix&&!t.capabilities?.dataSuffix&&(u=typeof e.dataSuffix==`string`?{...t.capabilities,dataSuffix:{value:e.dataSuffix,optional:!0}}:{...t.capabilities,dataSuffix:{value:e.dataSuffix.value,...e.dataSuffix.required?{}:{optional:!0}}});let d=t.calls.map(e=>{let t=e,n=t.abi?_a({abi:t.abi,functionName:t.functionName,args:t.args}):t.data;return{data:t.dataSuffix&&n?Pi([n,t.dataSuffix]):n,to:t.to,value:t.value?M(t.value):void 0}});try{let t=await e.request({method:`wallet_sendCalls`,params:[{atomicRequired:o,calls:d,capabilities:u,chainId:M(r.id),from:l?.address,id:s,version:c}]},{retryCount:0});return typeof t==`string`?{id:t}:t}catch(n){let s=n;if(i&&(s.name===`MethodNotFoundRpcError`||s.name===`MethodNotSupportedRpcError`||s.name===`UnknownRpcError`||s.details.toLowerCase().includes(`does not exist / is not available`)||s.details.toLowerCase().includes(`missing or invalid. request()`)||s.details.toLowerCase().includes(`did not match any variant of untagged enum`)||s.details.toLowerCase().includes(`account upgraded to unsupported contract`)||s.details.toLowerCase().includes(`eip-7702 not supported`)||s.details.toLowerCase().includes(`unsupported wc_ method`)||s.details.toLowerCase().includes(`feature toggled misconfigured`)||s.details.toLowerCase().includes(`jsonrpcengine: response has no error or result for request`))){if(u&&Object.values(u).some(e=>!e.optional)){let e=\"non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.\";throw new gs(new k(e,{details:e}))}if(o&&d.length>1){let e=\"`forceAtomic` is not supported on fallback to `eth_sendTransaction`.\";throw new Ss(new k(e,{details:e}))}let t=[];for(let n of d){try{let i=await lh(e,{account:l,chain:r,data:n.data,to:n.to,value:n.value?j(n.value):void 0});t.push({status:`fulfilled`,value:i})}catch(e){t.push({reason:e,status:`rejected`})}a>0&&await new Promise(e=>setTimeout(e,a))}if(t.every(e=>e.status===`rejected`))throw t[0].reason;return{id:Pi([...t.map(e=>e.status===`fulfilled`?e.value:gh),M(r.id,{size:32}),`0x5792579257925792579257925792579257925792579257925792579257925792`])}}throw Wd(n,{...t,account:l,chain:t.chain})}}Ui(),Nn(),Ln();async function vh(e,t){async function n(t){if(t.endsWith(`5792579257925792579257925792579257925792579257925792579257925792`)){let n=Mn(Hi(t,-64,-32)),r=Hi(t,0,-64).slice(2).match(/.{1,64}/g),i=await Promise.all(r.map(t=>gh.slice(2)===t?void 0:e.request({method:`eth_getTransactionReceipt`,params:[`0x${t}`]},{dedupe:!0}))),a=i.some(e=>e===null)?100:i.every(e=>e?.status===`0x1`)?200:i.every(e=>e?.status===`0x0`)?500:600;return{atomic:!1,chainId:In(n),receipts:i.filter(Boolean),status:a,version:`2.0.0`}}return e.request({method:`wallet_getCallsStatus`,params:[t]})}let{atomic:r=!1,chainId:i,receipts:a,version:o=`2.0.0`,...s}=await n(t.id),[c,l]=(()=>{let e=s.status;return e>=100&&e<200?[`pending`,e]:e>=200&&e<300?[`success`,e]:e>=300&&e<700?[`failure`,e]:e===`CONFIRMED`?[`success`,200]:e===`PENDING`?[`pending`,100]:[void 0,e]})();return{...s,atomic:r,chainId:i?In(i):void 0,receipts:a?.map(e=>({...e,blockNumber:j(e.blockNumber),gasUsed:j(e.gasUsed),status:ph[e.status]}))??[],statusCode:l,status:c,version:o}}A(),cm(),Za();async function yh(e,t){let{id:n,pollingInterval:r=e.pollingInterval,status:i=({statusCode:e})=>e===200||e>=300,retryCount:a=4,retryDelay:o=({count:e})=>~~(1<<e)*200,timeout:s=6e4,throwOnFailure:c=!1}=t,l=Xa([`waitForCallsStatus`,e.uid,n]),{promise:u,resolve:d,reject:f}=sm(),p,m=Ym(l,{resolve:d,reject:f},t=>{let s=Zm(async()=>{let r=e=>{clearTimeout(p),s(),e(),m()};try{let s=await fh(async()=>{let t=await D(e,vh,`getCallsStatus`)({id:n});if(c&&t.status===`failure`)throw new dh(t);return t},{retryCount:a,delay:o});if(!i(s))return;r(()=>t.resolve(s))}catch(e){r(()=>t.reject(e))}},{interval:r,emitOnBegin:!0});return s});return p=s?setTimeout(()=>{m(),clearTimeout(p),f(new bh({id:n}))},s):void 0,await u}var bh=class extends k{constructor({id:e}){super(`Timed out while waiting for call bundle with id \"${e}\" to be confirmed.`,{name:`WaitForCallsStatusTimeoutError`})}};let xh=256,Sh;function Ch(e=11){if(!Sh||xh+e>512){Sh=``,xh=0;for(let e=0;e<256;e++)Sh+=(256+Math.random()*256|0).toString(16).substring(1)}return Sh.substring(xh,xh+++e)}pa();function wh(e){let{batch:t,chain:n,ccipRead:r,dataSuffix:i,key:a=`base`,name:o=`Base Client`,tokens:s,type:c=`base`}=e,l=e.experimental_blockTag??(typeof n?.experimental_preconfirmationTime==`number`?`pending`:void 0),u=n?.blockTime??12e3,d=Math.min(Math.max(Math.floor(u/2),500),4e3),f=e.pollingInterval??d,p=e.cacheTime??f,m=e.account?P(e.account):void 0,{config:h,request:g,value:_}=e.transport({account:m,chain:n,pollingInterval:f}),v={account:m,batch:t,cacheTime:p,ccipRead:r,chain:n,dataSuffix:i,key:a,name:o,pollingInterval:f,request:g,tokens:s,transport:{...h,..._},type:c,uid:Ch(),...l?{experimental_blockTag:l}:{}};function y(e){return t=>{let n=t(e);for(let e in v)delete n[e];let r={...e,...n};for(let t in n){let i=e[t],a=n[t];Th(i)&&Th(a)&&(r[t]={...i,...a})}return Object.assign(r,{extend:y(r)})}}return Object.assign(v,{extend:y(v)})}function Th(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Eh(e,t){let n=(n={})=>t(e,n);for(let r of[`call`,`calls`,`callWithPeriod`,`estimateGas`,`prepare`,`prepareRecipient`,`predict`,`simulate`])if(Object.hasOwn(t,r)){let i=t[r];n[r]=(t={})=>i.length===1?i(t):i(e,t)}for(let e of[`extractEvent`,`extractEvents`])Object.hasOwn(t,e)&&(n[e]=t[e]);return n}kd();async function Dh(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=Od({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a}),s=await e.request({method:`eth_getCode`,params:[t,o]},{dedupe:typeof r==`bigint`||n!==void 0});if(s!==`0x`)return s}fd(),Ci(),A(),$p(),Ju(),Ni(),zt(),Ui(),Ln();function Oh(e){let{authorizationList:t}=e;if(t)for(let e of t){let{chainId:t}=e,n=e.address;if(!Ai(n))throw new Si({address:n});if(t<0)throw new Qp({chainId:t})}Ah(e)}function kh(e){let{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new Rd;for(let e of t){let t=Rt(e),n=In(Ri(e,0,1));if(t!==32)throw new zd({hash:e,size:t});if(n!==1)throw new Bd({hash:e,version:n})}}Ah(e)}function Ah(e){let{chainId:t,maxPriorityFeePerGas:n,maxFeePerGas:r,to:i}=e;if(t<=0)throw new Qp({chainId:t});if(i&&!Ai(i))throw new Si({address:i});if(r&&r>dd)throw new Lu({maxFeePerGas:r});if(n&&r&&n>r)throw new Ku({maxFeePerGas:r,maxPriorityFeePerGas:n})}function jh(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(t<=0)throw new Qp({chainId:t});if(a&&!Ai(a))throw new Si({address:a});if(n||i)throw new k(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.\");if(r&&r>dd)throw new Lu({maxFeePerGas:r})}function Mh(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(a&&!Ai(a))throw new Si({address:a});if(t!==void 0&&t<=0)throw new Qp({chainId:t});if(n||i)throw new k(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.\");if(r&&r>dd)throw new Lu({maxFeePerGas:r})}Ci(),jo(),Ni();function Nh(e){if(!e||e.length===0)return[];let t=[];for(let n=0;n<e.length;n++){let{address:r,storageKeys:i}=e[n];for(let e=0;e<i.length;e++)if(i[e].length-2!=64)throw new To({storageKey:i[e]});if(!Ai(r,{strict:!1}))throw new Si({address:r});t.push([r,i])}return t}jo(),Li(),Nn(),N();function Ph(e,t){let n=Ud(e);return n===`eip1559`?Lh(e,t):n===`eip2930`?Rh(e,t):n===`eip4844`?Ih(e,t):n===`eip7702`?Fh(e,t):zh(e,t)}function Fh(e,t){let{authorizationList:n,chainId:r,gas:i,nonce:a,to:o,value:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;Oh(e);let f=Nh(u),p=Vh(n);return Ii([`0x04`,Ou([M(r),a?M(a):`0x`,l?M(l):`0x`,c?M(c):`0x`,i?M(i):`0x`,o??`0x`,s?M(s):`0x`,d??`0x`,f,p,...Bh(e,t)])])}function Ih(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerBlobGas:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;kh(e);let f=e.blobVersionedHashes,p=e.sidecars;if(e.blobs&&(f===void 0||p===void 0)){let t=typeof e.blobs[0]==`string`?e.blobs:e.blobs.map(e=>Bn(e)),n=e.kzg,r=jd({blobs:t,kzg:n});f===void 0&&(f=Id({commitments:r})),p===void 0&&(p=Hd({blobs:t,commitments:r,proofs:Md({blobs:t,commitments:r,kzg:n})}))}let m=Nh(u),h=[M(n),i?M(i):`0x`,l?M(l):`0x`,c?M(c):`0x`,r?M(r):`0x`,a??`0x`,o?M(o):`0x`,d??`0x`,m,s?M(s):`0x`,f??[],...Bh(e,t)],g=[],_=[],v=[];if(p)for(let e=0;e<p.length;e++){let{blob:t,commitment:n,proof:r}=p[e];g.push(t),_.push(n),v.push(r)}return Ii([`0x03`,Ou(p?[h,g,_,v]:h)])}function Lh(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerGas:s,maxPriorityFeePerGas:c,accessList:l,data:u}=e;Ah(e);let d=Nh(l);return Ii([`0x02`,Ou([M(n),i?M(i):`0x`,c?M(c):`0x`,s?M(s):`0x`,r?M(r):`0x`,a??`0x`,o?M(o):`0x`,u??`0x`,d,...Bh(e,t)])])}function Rh(e,t){let{chainId:n,gas:r,data:i,nonce:a,to:o,value:s,accessList:c,gasPrice:l}=e;jh(e);let u=Nh(c);return Ii([`0x01`,Ou([M(n),a?M(a):`0x`,l?M(l):`0x`,r?M(r):`0x`,o??`0x`,s?M(s):`0x`,i??`0x`,u,...Bh(e,t)])])}function zh(e,t){let{chainId:n=0,gas:r,data:i,nonce:a,to:o,value:s,gasPrice:c}=e;Mh(e);let l=[a?M(a):`0x`,c?M(c):`0x`,r?M(r):`0x`,o??`0x`,s?M(s):`0x`,i??`0x`];if(t){let e=(()=>{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(n>0)return BigInt(n*2)+BigInt(35n+t.v-27n);let e=27n+(t.v===27n?0n:1n);if(t.v!==e)throw new bo({v:t.v});return e})(),r=Mn(t.r),i=Mn(t.s);l=[...l,M(e),r===`0x00`?`0x`:r,i===`0x00`?`0x`:i]}else n>0&&(l=[...l,M(n),`0x`,`0x`]);return Ou(l)}function Bh(e,t){let n=t??e,{v:r,yParity:i}=n;if(n.r===void 0||n.s===void 0||r===void 0&&i===void 0)return[];let a=Mn(n.r),o=Mn(n.s);return[typeof i==`number`?i?M(1):`0x`:r===0n?`0x`:r===1n?M(1):r===27n?`0x`:M(1),a===`0x00`?`0x`:a,o===`0x00`?`0x`:o]}N();function Vh(e){if(!e||e.length===0)return[];let t=[];for(let n of e){let{chainId:e,nonce:r,...i}=n,a=n.address;t.push([e?Rn(e):`0x`,a,r?Rn(r):`0x`,...Bh({},i)])}return t}ki(),$d();async function Hh({address:e,authorization:t,signature:n}){return F(Di(e),await Pu({authorization:t,signature:n}))}Ti();let Uh=new wi(8192);function Wh(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(Uh.get(n))return Uh.get(n);let r=e().finally(()=>Uh.delete(n));return Uh.set(n,r),r}A(),Jo(),Ts(),Io(),Za();function Gh(e,t={}){return async(n,r={})=>{let{dedupe:i=!1,methods:a,retryDelay:o=150,retryCount:s=3,signal:c,uid:l}={...t,...r},{method:u}=n;if(a?.exclude?.includes(u)||a?.include&&!a.include.includes(u))throw new ss(Error(`method not supported`),{method:u});if(c?.aborted)throw Mo(c);return Wh(()=>fh(async()=>{try{return await e(n,c?{signal:c}:void 0)}catch(e){if(c?.aborted)throw Mo(c);if(No(e))throw e;let t=e;switch(t.code){case Qo.code:throw new Qo(t);case $o.code:throw new $o(t);case es.code:throw new es(t,{method:n.method});case ts.code:throw new ts(t);case ns.code:throw new ns(t);case rs.code:throw new rs(t);case is.code:throw new is(t);case as.code:throw new as(t);case os.code:throw new os(t);case ss.code:throw new ss(t,{method:n.method});case cs.code:throw new cs(t);case ls.code:throw new ls(t);case us.code:throw new us(t);case ds.code:throw new ds(t);case fs.code:throw new fs(t);case ps.code:throw new ps(t);case ms.code:throw new ms(t);case hs.code:throw new hs(t);case gs.code:throw new gs(t);case _s.code:throw new _s(t);case vs.code:throw new vs(t);case ys.code:throw new ys(t);case bs.code:throw new bs(t);case xs.code:throw new xs(t);case Ss.code:throw new Ss(t);case 5e3:throw new us(t);case Cs.code:throw new Cs(t);default:throw e instanceof k?e:new ws(t)}}},{delay:({count:e,error:t})=>{if(t&&t instanceof Wo){let e=t?.headers?.get(`Retry-After`);if(e?.match(/\\d/))return Number.parseInt(e,10)*1e3}return~~(1<<e)*o},retryCount:s,signal:c,shouldRetry:({error:e})=>Kh(e)}),{enabled:i,id:i?qh(`${l}.${Xa(n)}`):void 0})}}function Kh(e){return No(e)?!1:`code`in e&&typeof e.code==`number`?e.code===-1||e.code===cs.code||e.code===ns.code||e.code===429:e instanceof Wo&&e.status?e.status===403||e.status===408||e.status===413||e.status===429||e.status===500||e.status===502||e.status===503||e.status===504:!0}function qh(e,t=0){let n=3735928559^t,r=1103547991^t;for(let t=0;t<e.length;t++){let i=e.charCodeAt(t);n=Math.imul(n^i,2654435761),r=Math.imul(r^i,1597334677)}return n=Math.imul(n^n>>>16,2246822507),n^=Math.imul(r^r>>>16,3266489909),r=Math.imul(r^r>>>16,2246822507),r^=Math.imul(n^n>>>16,3266489909),(4294967296*(2097151&r)+(n>>>0)).toString(36)}function Jh(e){let t={formatters:void 0,fees:void 0,serializers:void 0,...e};function n(e){return t=>{let r=typeof t==`function`?t(e):t,i={...e,...r};return Object.assign(i,{extend:n(i)})}}return Object.assign(t,{extend:n(t)})}function Yh(){return{}}A(),jn(),ka(),Qn(),N();let Xh=1024;function Zh(e,t=`hex`){let n=Da((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new En(e);return qn(e)}return e})(),{recursiveReadLimit:1/0}),r=Qh(n,t);if(n.position<n.bytes.length)throw new kn({count:n.bytes.length-n.position});return r}function Qh(e,t=`hex`,n=0){if(n>=Xh)throw new Dn({limit:Xh});if(e.bytes.length===0)return t===`hex`?Bn(e.bytes):e.bytes;let r=e.readByte();if(r<128&&e.decrementPosition(1),r<192){let n=$h(e,r,128),i=e.readBytes(n);return t===`hex`?Bn(i):i}return eg(e,$h(e,r,192),t,n+1)}function $h(e,t,n){if(n===128&&t<128)return 1;if(t<=n+55)return t-n;if(t===n+55+1)return e.readUint8();if(t===n+55+2)return e.readUint16();if(t===n+55+3)return e.readUint24();if(t===n+55+4)return e.readUint32();throw new k(`Invalid RLP prefix`)}function eg(e,t,n,r){let i=e.position,a=[];for(;e.position-i<t;)a.push(Qh(e,n,r));if(e.position-i!==t)throw new On({consumed:e.position-i,declared:t});return a}Lt(),zt();function tg(e){return O(e)&&Rt(e)===32}Io();function ng(e,{errorInstance:t=Error(`timed out`),timeout:n,signal:r}){return new Promise((i,a)=>{(async()=>{let o,s=new AbortController;try{n>0&&(o=setTimeout(()=>{r?s.abort():a(t)},n)),i(await e({signal:s?.signal||null}))}catch(e){if(s?.signal.aborted&&No(e)){a(t);return}a(e)}finally{clearTimeout(o)}})()})}function rg(){return{current:0,take(){return this.current++},reset(){this.current=0}}}let ig=rg();Jo(),Io(),Za();function ag(e,t={}){let{url:n,headers:r}=sg(e);return{async request(e){let{body:i,fetchFn:a=t.fetchFn??fetch,maxResponseBodySize:o=t.maxResponseBodySize??10485760,onRequest:s=t.onRequest,onResponse:c=t.onResponse,timeout:l=t.timeout??1e4}=e,u={...t.fetchOptions??{},...e.fetchOptions??{}},{headers:d,method:f,signal:p}=u;try{let e=await ng(async({signal:e})=>{let t={...u,body:Xa(Array.isArray(i)?i.map(e=>({jsonrpc:`2.0`,id:e.id??ig.take(),...e})):{jsonrpc:`2.0`,id:i.id??ig.take(),...i}),headers:{...r,\"Content-Type\":`application/json`,...d},method:f||`POST`,signal:p||(l>0?e:null)},o=new Request(n,t),c=await s?.(o,t)??{...t,url:n};return await a(c.url??n,c)},{errorInstance:new qo({body:i,url:n}),timeout:l,signal:!0});c&&await c(e);let t,m=await og(e,{maxResponseBodySize:o});if(e.headers.get(`Content-Type`)?.startsWith(`application/json`))t=JSON.parse(m);else{t=m;try{t=JSON.parse(t||`{}`)}catch(n){if(e.ok)throw n;t={error:t}}}if(!e.ok){if(typeof t.error?.code==`number`&&typeof t.error?.message==`string`)return t;throw new Wo({body:i,details:Xa(t.error)||e.statusText,headers:e.headers,status:e.status,url:n})}return t}catch(e){throw p?.aborted?Mo(p):No(e)||e instanceof Wo||e instanceof Go||e instanceof qo?e:new Wo({body:i,cause:e,url:n})}}}}async function og(e,{maxResponseBodySize:t}){if(t===!1)return e.text();let n=e.headers.get(`Content-Length`);if(n){let e=Number(n);if(e>t)throw new Go({maxSize:t,size:e})}if(!e.body){let n=await e.text(),r=new TextEncoder().encode(n).length;if(r>t)throw new Go({maxSize:t,size:r});return n}let r=e.body.getReader(),i=new TextDecoder,a=``,o=0;try{for(;;){let{done:e,value:n}=await r.read();if(e)break;if(o+=n.byteLength,o>t)throw await r.cancel(),new Go({maxSize:t,size:o});a+=i.decode(n,{stream:!0})}return a+=i.decode(),a}finally{r.releaseLock()}}function sg(e){try{let t=new URL(e),n=(()=>{if(t.username){let e=`${decodeURIComponent(t.username)}:${decodeURIComponent(t.password)}`;return t.username=``,t.password=``,{url:t.toString(),headers:{Authorization:`Basic ${btoa(e)}`}}}})();return{url:t.toString(),...n}}catch{return{url:e}}}Li(),zt(),N();function cg(e){let t=typeof e==`string`?Vn(e):typeof e.raw==`string`?e.raw:Bn(e.raw);return Pi([Vn(`\u0019Ethereum Signed Message:\n${Rt(t)}`),t])}ui();function lg(e,t){return li(cg(e),t)}Za(),A();var ug=class extends k{constructor({domain:e}){super(`Invalid domain \"${Xa(e)}\".`,{metaMessages:[`Must be a valid EIP-712 domain.`]})}},dg=class extends k{constructor({primaryType:e,types:t}){super(`Invalid primary type \\`${e}\\` must be one of \\`${JSON.stringify(Object.keys(t))}\\`.`,{docsPath:`/api/glossary/Errors#typeddatainvalidprimarytypeerror`,metaMessages:[\"Check that the primary type is a key in `types`.\"]})}},fg=class extends k{constructor({type:e}){super(`Struct type \"${e}\" is invalid.`,{metaMessages:[`Struct type must not be a Solidity type.`],name:`InvalidStructTypeError`})}},pg=class extends k{constructor({type:e}){let t=e.replace(/^(u?int)/,`$&256`);super(`Type \"${e}\" is not a valid EIP-712 type.`,{metaMessages:[`Use \"${t}\" instead.`],name:`InvalidTypedDataTypeError`})}};mn(),Ci(),Ni(),zt(),N(),Ki(),Za();function mg(e){let{domain:t,message:n,primaryType:r,types:i}=e,a=(e,t)=>{let n={...t};for(let t of e){let{name:e,type:r}=t;r===`address`&&(n[e]=n[e].toLowerCase())}return n},o=!i.EIP712Domain||!t?{}:a(i.EIP712Domain,t),s=(()=>{if(r!==`EIP712Domain`)return a(i[r],n)})();return Xa({domain:o,message:s,primaryType:r,types:i})}function hg(e){let{domain:t,message:n,primaryType:r,types:i}=e,a=(e,t)=>{for(let n of e){let{name:e,type:r}=n,o=t[e],s=r.replace(/(\\[[0-9]*\\])+$/,``);if(s===`int`||s===`uint`)throw new pg({type:r});let c=r.match(Gi);if(c&&(typeof o==`number`||typeof o==`bigint`)){let[e,t,n]=c;M(o,{signed:t===`int`,size:Number.parseInt(n,10)/8})}if(r===`address`&&typeof o==`string`&&!Ai(o))throw new Si({address:o});let l=r.match(Wi);if(l){let[e,t]=l;if(t&&Rt(o)!==Number.parseInt(t,10))throw new sn({expectedSize:Number.parseInt(t,10),givenSize:Rt(o)})}let u=i[r];u&&(_g(r),a(u,o))}};if(i.EIP712Domain&&t){if(typeof t!=`object`)throw new ug({domain:t});a(i.EIP712Domain,t)}if(r!==`EIP712Domain`){if(i[r])a(i[r],n);else throw new dg({primaryType:r,types:i})}}function gg({domain:e}){return[typeof e?.name==`string`&&{name:`name`,type:`string`},e?.version&&{name:`version`,type:`string`},(typeof e?.chainId==`number`||typeof e?.chainId==`bigint`)&&{name:`chainId`,type:`uint256`},e?.verifyingContract&&{name:`verifyingContract`,type:`address`},e?.salt&&{name:`salt`,type:`bytes32`}].filter(Boolean)}function _g(e){if(e===`address`||e===`bool`||e===`string`||e.startsWith(`bytes`)||e.startsWith(`uint`)||e.startsWith(`int`))throw new fg({type:e})}oa(),Li(),N(),ui();function vg(e){let{domain:t={},message:n,primaryType:r}=e,i={EIP712Domain:gg({domain:t}),...e.types};hg({domain:t,message:n,primaryType:r,types:i});let a=[`0x1901`];return t&&a.push(yg({domain:t,types:i})),r!==`EIP712Domain`&&a.push(bg({data:n,primaryType:r,types:i})),li(Pi(a))}function yg({domain:e,types:t}){return bg({data:e,primaryType:`EIP712Domain`,types:t})}function bg({data:e,primaryType:t,types:n}){return li(xg({data:e,primaryType:t,types:n}))}function xg({data:e,primaryType:t,types:n}){let r=[{type:`bytes32`}],i=[Sg({primaryType:t,types:n})];for(let a of n[t]){let[t,o]=Tg({types:n,name:a.name,type:a.type,value:e[a.name]});r.push(t),i.push(o)}return qi(r,i)}function Sg({primaryType:e,types:t}){return li(Rn(Cg({primaryType:e,types:t})))}function Cg({primaryType:e,types:t}){let n=``,r=wg({primaryType:e,types:t});r.delete(e);let i=[e,...Array.from(r).sort()];for(let e of i)n+=`${e}(${t[e].map(({name:e,type:t})=>`${t} ${e}`).join(`,`)})`;return n}function wg({primaryType:e,types:t},n=new Set){let r=e.match(/^\\w*/u)?.[0];if(n.has(r)||t[r]===void 0)return n;n.add(r);for(let e of t[r])wg({primaryType:e.type,types:t},n);return n}function Tg({types:e,name:t,type:n,value:r}){if(e[n]!==void 0)return[{type:`bytes32`},li(xg({data:r,primaryType:n,types:e}))];if(n===`bytes`)return[{type:`bytes32`},li(r)];if(n===`string`)return[{type:`bytes32`},li(Rn(r))];if(n.lastIndexOf(`]`)===n.length-1){let i=n.slice(0,n.lastIndexOf(`[`)),a=r.map(n=>Tg({name:t,type:i,types:e,value:n}));return[{type:`bytes32`},li(qi(a.map(([e])=>e),a.map(([,e])=>e)))]}return[{type:n},r]}var Eg=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...i?[`Docs: https://abitype.dev${i}`]:[],...r?[`Details: ${r}`]:[],`Version: abitype@1.3.0`].join(`\n`);super(a),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsPath\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"metaMessages\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"shortMessage\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiTypeError`}),n.cause&&(this.cause=n.cause),this.details=r,this.docsPath=i,this.metaMessages=n.metaMessages,this.shortMessage=t}};function Dg(e,t){return e.exec(t)?.groups}let Og=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,kg=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,Ag=/^\\(.+?\\).*?$/,jg=/^tuple(?<array>(\\[(\\d*)\\])*)$/;function Mg(e){let t=e.type;if(jg.test(e.type)&&`components`in e){t=`(`;let n=e.components.length;for(let r=0;r<n;r++){let i=e.components[r];t+=Mg(i),r<n-1&&(t+=`, `)}let r=Dg(jg,e.type);return t+=`)${r?.array||``}`,Mg({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function Ng(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=Mg(i),r!==n-1&&(t+=`, `)}return t}function Pg(e){return e.type===`function`?`function ${e.name}(${Ng(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${Ng(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${Ng(e.inputs)})`:e.type===`error`?`error ${e.name}(${Ng(e.inputs)})`:e.type===`constructor`?`constructor(${Ng(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}let Fg=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/;function Ig(e){return Fg.test(e)}function Lg(e){return Dg(Fg,e)}let Rg=new Set([`memory`,`indexed`,`storage`,`calldata`]),zg=new Set([`calldata`,`memory`,`storage`]);var Bg=class extends Eg{constructor({type:e}){super(`Unknown type.`,{metaMessages:[`Type \"${e}\" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownTypeError`})}},Vg=class extends Eg{constructor({type:e}){super(`Unknown type.`,{metaMessages:[`Type \"${e}\" is not a valid ABI type.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownSolidityTypeError`})}},Hg=class extends Eg{constructor({params:e}){super(`Failed to parse ABI parameters.`,{details:`parseAbiParameters(${JSON.stringify(e,null,2)})`,docsPath:`/api/human#parseabiparameters-1`}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidAbiParametersError`})}},Ug=class extends Eg{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},Wg=class extends Eg{constructor({param:e,name:t}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`\"${t}\" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SolidityProtectedKeywordError`})}},Gg=class extends Eg{constructor({param:e,type:t,modifier:n}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`Modifier \"${n}\" not allowed${t?` in \"${t}\" type`:``}.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidModifierError`})}},Kg=class extends Eg{constructor({param:e,type:t,modifier:n}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`Modifier \"${n}\" not allowed${t?` in \"${t}\" type`:``}.`,`Data location can only be specified for array, struct, or mapping types, but \"${n}\" was given.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidFunctionModifierError`})}},qg=class extends Eg{constructor({abiParameter:e}){super(`Invalid ABI parameter.`,{details:JSON.stringify(e,null,2),metaMessages:[`ABI parameter type is invalid.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidAbiTypeParameterError`})}},Jg=class extends Eg{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},Yg=class extends Eg{constructor({signature:e}){super(`Invalid struct signature.`,{details:e,metaMessages:[`No properties exist.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidStructSignatureError`})}},Xg=class extends Eg{constructor({type:e}){super(`Circular reference detected.`,{metaMessages:[`Struct \"${e}\" is a circular reference.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`CircularReferenceError`})}},Zg=class extends Eg{constructor({current:e,depth:t}){super(`Unbalanced parentheses.`,{metaMessages:[`\"${e.trim()}\" has too many ${t>0?`opening`:`closing`} parentheses.`],details:`Depth \"${t}\"`}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParenthesisError`})}};function Qg(e,t,n){let r=``;if(n)for(let e of Object.entries(n)){if(!e)continue;let t=``;for(let n of e[1])t+=`[${n.type}${n.name?`:${n.name}`:``}]`;r+=`(${e[0]}{${t}})`}return t?`${t}:${e}${r}`:`${e}${r}`}let $g=new Map([[`address`,{type:`address`}],[`bool`,{type:`bool`}],[`bytes`,{type:`bytes`}],[`bytes32`,{type:`bytes32`}],[`int`,{type:`int256`}],[`int256`,{type:`int256`}],[`string`,{type:`string`}],[`uint`,{type:`uint256`}],[`uint8`,{type:`uint8`}],[`uint16`,{type:`uint16`}],[`uint24`,{type:`uint24`}],[`uint32`,{type:`uint32`}],[`uint64`,{type:`uint64`}],[`uint96`,{type:`uint96`}],[`uint112`,{type:`uint112`}],[`uint160`,{type:`uint160`}],[`uint192`,{type:`uint192`}],[`uint256`,{type:`uint256`}],[`address owner`,{type:`address`,name:`owner`}],[`address to`,{type:`address`,name:`to`}],[`bool approved`,{type:`bool`,name:`approved`}],[`bytes _data`,{type:`bytes`,name:`_data`}],[`bytes data`,{type:`bytes`,name:`data`}],[`bytes signature`,{type:`bytes`,name:`signature`}],[`bytes32 hash`,{type:`bytes32`,name:`hash`}],[`bytes32 r`,{type:`bytes32`,name:`r`}],[`bytes32 root`,{type:`bytes32`,name:`root`}],[`bytes32 s`,{type:`bytes32`,name:`s`}],[`string name`,{type:`string`,name:`name`}],[`string symbol`,{type:`string`,name:`symbol`}],[`string tokenURI`,{type:`string`,name:`tokenURI`}],[`uint tokenId`,{type:`uint256`,name:`tokenId`}],[`uint8 v`,{type:`uint8`,name:`v`}],[`uint256 balance`,{type:`uint256`,name:`balance`}],[`uint256 tokenId`,{type:`uint256`,name:`tokenId`}],[`uint256 value`,{type:`uint256`,name:`value`}],[`event:address indexed from`,{type:`address`,name:`from`,indexed:!0}],[`event:address indexed to`,{type:`address`,name:`to`,indexed:!0}],[`event:uint indexed tokenId`,{type:`uint256`,name:`tokenId`,indexed:!0}],[`event:uint256 indexed tokenId`,{type:`uint256`,name:`tokenId`,indexed:!0}]]),e_=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*(?:\\spayable)?)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,t_=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,n_=/^u?int$/;function r_(e,t){let n=Qg(e,t?.type,t?.structs);if($g.has(n))return $g.get(n);let r=Ag.test(e),i=Dg(r?t_:e_,e);if(!i)throw new Ug({param:e});if(i.name&&s_(i.name))throw new Wg({param:e,name:i.name});let a=i.name?{name:i.name}:{},o=i.modifier===`indexed`?{indexed:!0}:{},s=t?.structs??{},c,l={};if(r){c=`tuple`;let e=i_(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(r_(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(n_.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!a_(c))throw new Vg({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new Gg({param:e,type:t?.type,modifier:i.modifier});if(zg.has(i.modifier)&&!c_(c,!!i.array))throw new Kg({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return $g.set(n,u),u}function i_(e,t=[],n=``,r=0){let i=e.trim().length;for(let a=0;a<i;a++){let i=e[a],o=e.slice(a+1);switch(i){case`,`:return r===0?i_(o,[...t,n.trim()]):i_(o,t,`${n}${i}`,r);case`(`:return i_(o,t,`${n}${i}`,r+1);case`)`:return i_(o,t,`${n}${i}`,r-1);default:return i_(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new Zg({current:n,depth:r});return t.push(n.trim()),t}function a_(e){return e===`address`||e===`bool`||e===`function`||e===`string`||Og.test(e)||kg.test(e)}let o_=/^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/;function s_(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||Og.test(e)||kg.test(e)||o_.test(e)}function c_(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}function l_(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!Ig(n))continue;let i=Lg(n);if(!i)throw new Jg({signature:n,type:`struct`});let a=i.properties.split(`;`),o=[],s=a.length;for(let e=0;e<s;e++){let t=a[e].trim();if(!t)continue;let n=r_(t,{type:`struct`});o.push(n)}if(!o.length)throw new Yg({signature:n});t[i.name]=o}let r={},i=Object.entries(t),a=i.length;for(let e=0;e<a;e++){let[n,a]=i[e];r[n]=d_(a,t)}return r}let u_=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/;function d_(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(Ag.test(i.type))r.push(i);else{let e=Dg(u_,i.type);if(!e?.type)throw new qg({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new Xg({type:o});r.push({...i,type:`tuple${a??``}`,components:d_(t[o],t,new Set([...n,o]))})}else if(a_(o))r.push(i);else throw new Bg({type:o})}}return r}function f_(e){let t=[];if(typeof e==`string`){let n=i_(e),r=n.length;for(let e=0;e<r;e++)t.push(r_(n[e],{modifiers:Rg}))}else{let n=l_(e),r=e.length;for(let i=0;i<r;i++){let r=e[i];if(Ig(r))continue;let a=i_(r),o=a.length;for(let e=0;e<o;e++)t.push(r_(a[e],{modifiers:Rg,structs:n}))}}if(t.length===0)throw new Hg({params:e});return t}let p_={checksum:new class extends Map{constructor(e){super(),Object.defineProperty(this,\"maxSize\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let t=super.get(e);return super.has(e)&&t!==void 0&&(this.delete(e),super.set(e,t)),t}set(e,t){if(super.set(e,t),this.maxSize&&this.size>this.maxSize){let e=this.keys().next().value;e&&this.delete(e)}return this}}(8192)}.checksum;Qs(),ci(),op(),B();function m_(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=si(Lf(e));return n===`Bytes`?r:up(r)}function h_(e,t,n={}){let{as:r=typeof t==`string`?`Hex`:`Bytes`}=n,i=Zs(Nd,Lf(e),Lf(t));return r===`Bytes`?i:up(i)}function g_(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=Nd(Lf(e));return n===`Bytes`?r:up(r)}function __(e){return xp(e)&&hp(e)===32}op(),hf(),B(),Pf();function v_(e,t={}){let{compressed:n}=t,{prefix:r,x:i,y:a}=e;if(n===!1||typeof i==`bigint`&&typeof a==`bigint`){if(r!==4)throw new T_({prefix:r,cause:new D_});return}if(n===!0||typeof i==`bigint`&&a===void 0){if(r!==3&&r!==2)throw new T_({prefix:r,cause:new E_});return}throw new w_({publicKey:e})}function y_(e){let t=(()=>{if(xp(e))return x_(e);if(Qf(e))return b_(e);let{prefix:t,x:n,y:r}=e;return typeof n==`bigint`&&typeof r==`bigint`?{prefix:t??4,x:n,y:r}:{prefix:t,x:n}})();return v_(t),t}function b_(e){return x_(up(e))}function x_(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new O_({publicKey:e});return e.length===130?{prefix:4,x:BigInt(z(e,0,32)),y:BigInt(z(e,32,64))}:e.length===132?{prefix:Number(z(e,0,1)),x:BigInt(z(e,1,33)),y:BigInt(z(e,33,65))}:{prefix:Number(z(e,0,1)),x:BigInt(z(e,1,33))}}function S_(e,t={}){return zf(C_(e,t))}function C_(e,t={}){v_(e);let{prefix:n,x:r,y:i}=e,{includePrefix:a=!0}=t;return L(a?R(n,{size:1}):`0x`,R(r,{size:32}),typeof i==`bigint`?R(i,{size:32}):`0x`)}var w_=class extends I{constructor({publicKey:e}){super(`Value \\`${Mf(e)}\\` is not a valid public key.`,{metaMessages:[`Public key must contain:`,\"- an `x` and `prefix` value (compressed)\",\"- an `x`, `y`, and `prefix` value (uncompressed)\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidError`})}},T_=class extends I{constructor({prefix:e,cause:t}){super(`Prefix \"${e}\" is invalid.`,{cause:t}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidPrefixError`})}},E_=class extends I{constructor(){super(`Prefix must be 2 or 3 for compressed public keys.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidCompressedPrefixError`})}},D_=class extends I{constructor(){super(`Prefix must be 4 for uncompressed public keys.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidUncompressedPrefixError`})}},O_=class extends I{constructor({publicKey:e}){super(`Value \\`${e}\\` is an invalid public key size.`,{metaMessages:[`Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).`,`Received ${hp(cp(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidSerializedSizeError`})}};op(),hf();let k_=/^0x[a-fA-F0-9]{40}$/;function A_(e,t={}){let{strict:n=!0}=t;if(!k_.test(e))throw new I_({address:e,cause:new L_});if(n){if(e.toLowerCase()===e)return;if(j_(e)!==e)throw new I_({address:e,cause:new R_})}}function j_(e){if(p_.has(e))return p_.get(e);A_(e,{strict:!1});let t=e.substring(2).toLowerCase(),n=m_(Bf(t),{as:`Bytes`}),r=t.split(``);for(let e=0;e<40;e+=2)n[e>>1]>>4>=8&&r[e]&&(r[e]=r[e].toUpperCase()),(n[e>>1]&15)>=8&&r[e+1]&&(r[e+1]=r[e+1].toUpperCase());let i=`0x${r.join(``)}`;return p_.set(e,i),i}function M_(e,t={}){let{checksum:n=!1}=t;return A_(e),n?j_(e):e}function N_(e,t={}){return M_(`0x${m_(`0x${C_(e).slice(4)}`).substring(26)}`,t)}function P_(e,t){return A_(e,{strict:!1}),A_(t,{strict:!1}),e.toLowerCase()===t.toLowerCase()}function F_(e,t={}){let{strict:n=!0}=t??{};try{return A_(e,{strict:n}),!0}catch{return!1}}var I_=class extends I{constructor({address:e,cause:t}){super(`Address \"${e}\" is invalid.`,{cause:t}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidAddressError`})}},L_=class extends I{constructor(){super(`Address is not a 20 byte (40 hexadecimal character) value.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidInputError`})}},R_=class extends I{constructor(){super(`Address does not match its checksum counterpart.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidChecksumError`})}};let z_=/^(.*)\\[([0-9]*)\\]$/,B_=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,V_=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;2n**(8n-1n)-1n,2n**(16n-1n)-1n,2n**(24n-1n)-1n,2n**(32n-1n)-1n,2n**(40n-1n)-1n,2n**(48n-1n)-1n,2n**(56n-1n)-1n,2n**(64n-1n)-1n,2n**(72n-1n)-1n,2n**(80n-1n)-1n,2n**(88n-1n)-1n,2n**(96n-1n)-1n,2n**(104n-1n)-1n,2n**(112n-1n)-1n,2n**(120n-1n)-1n,2n**(128n-1n)-1n,2n**(136n-1n)-1n,2n**(144n-1n)-1n,2n**(152n-1n)-1n,2n**(160n-1n)-1n,2n**(168n-1n)-1n,2n**(176n-1n)-1n,2n**(184n-1n)-1n,2n**(192n-1n)-1n,2n**(200n-1n)-1n,2n**(208n-1n)-1n,2n**(216n-1n)-1n,2n**(224n-1n)-1n,2n**(232n-1n)-1n,2n**(240n-1n)-1n,2n**(248n-1n)-1n,2n**(256n-1n)-1n,-(2n**(8n-1n)),-(2n**(16n-1n)),-(2n**(24n-1n)),-(2n**(32n-1n)),-(2n**(40n-1n)),-(2n**(48n-1n)),-(2n**(56n-1n)),-(2n**(64n-1n)),-(2n**(72n-1n)),-(2n**(80n-1n)),-(2n**(88n-1n)),-(2n**(96n-1n)),-(2n**(104n-1n)),-(2n**(112n-1n)),-(2n**(120n-1n)),-(2n**(128n-1n)),-(2n**(136n-1n)),-(2n**(144n-1n)),-(2n**(152n-1n)),-(2n**(160n-1n)),-(2n**(168n-1n)),-(2n**(176n-1n)),-(2n**(184n-1n)),-(2n**(192n-1n)),-(2n**(200n-1n)),-(2n**(208n-1n)),-(2n**(216n-1n)),-(2n**(224n-1n)),-(2n**(232n-1n)),-(2n**(240n-1n)),-(2n**(248n-1n)),-(2n**(256n-1n));let H_=2n**256n-1n;op(),hf(),B();function U_(e,t,n){let{checksumAddress:r,staticPosition:i}=n,a=sv(t.type);if(a){let[n,o]=a;return G_(e,{...t,type:o},{checksumAddress:r,length:n,staticPosition:i})}if(t.type===`tuple`)return Y_(e,t,{checksumAddress:r,staticPosition:i});if(t.type===`address`)return W_(e,{checksum:r});if(t.type===`bool`)return K_(e);if(t.type.startsWith(`bytes`))return q_(e,t,{staticPosition:i});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return J_(e,t);if(t.type===`string`)return X_(e,{staticPosition:i});throw new wv(t.type)}function W_(e,t={}){let{checksum:n=!1}=t;return[(e=>n?j_(e):e)(up(Gf(e.readBytes(32),-20))),32]}function G_(e,t,n){let{checksumAddress:r,length:i,staticPosition:a}=n;if(i===null){let n=a+Jf(e.readBytes(32)),i=n+32;e.setPosition(n);let o=Jf(e.readBytes(32)),s=cv(t),c=0,l=[];for(let n=0;n<o;++n){e.setPosition(i+(s?n*32:c));let[a,o]=U_(e,t,{checksumAddress:r,staticPosition:i});c+=o,l.push(a),o===0&&(e.assertReadLimit(),e._touch())}return e.setPosition(a+32),[l,32]}if(cv(t)){let n=a+Jf(e.readBytes(32)),o=[];for(let a=0;a<i;++a){e.setPosition(n+a*32);let[i]=U_(e,t,{checksumAddress:r,staticPosition:n});o.push(i)}return e.setPosition(a+32),[o,32]}let o=0,s=[];for(let n=0;n<i;++n){let[n,i]=U_(e,t,{checksumAddress:r,staticPosition:a+o});o+=i,s.push(n),i===0&&(e.assertReadLimit(),e._touch())}return[s,o]}function K_(e){return[qf(e.readBytes(32),{size:32}),32]}function q_(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=Jf(e.readBytes(32));e.setPosition(n+t);let r=Jf(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[up(i),32]}return[up(e.readBytes(Number.parseInt(i,10),32)),32]}function J_(e,t){let n=t.type.startsWith(`int`),r=Number.parseInt(t.type.split(`int`)[1]||`256`,10),i=e.readBytes(32);return[r>48?Kf(i,{signed:n}):Jf(i,{signed:n}),32]}function Y_(e,t,n){let{checksumAddress:r,staticPosition:i}=n,a=t.components.length===0||t.components.some(({name:e})=>!e),o=a?[]:{},s=0;if(cv(t)){let n=i+Jf(e.readBytes(32));for(let i=0;i<t.components.length;++i){let c=t.components[i];e.setPosition(n+s);let[l,u]=U_(e,c,{checksumAddress:r,staticPosition:n});s+=u,o[a?i:c?.name]=l}return e.setPosition(i+32),[o,32]}for(let n=0;n<t.components.length;++n){let c=t.components[n],[l,u]=U_(e,c,{checksumAddress:r,staticPosition:i});o[a?n:c?.name]=l,s+=u}return[o,s]}function X_(e,{staticPosition:t}){let n=t+Jf(e.readBytes(32));e.setPosition(n);let r=Jf(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Yf(Xf(e.readBytes(r,32)));return e.setPosition(t+32),[i,32]}function Z_({checksumAddress:e,parameters:t,values:n}){let r=[];for(let i=0;i<t.length;i++)r.push(Q_({checksumAddress:e,parameter:t[i],value:n[i]}));return r}function Q_({checksumAddress:e=!1,parameter:t,value:n}){let r=t,i=sv(r.type);if(i){let[t,a]=i;return tv(n,{checksumAddress:e,length:t,parameter:{...r,type:a}})}if(r.type===`tuple`)return ov(n,{checksumAddress:e,parameter:r});if(r.type===`address`)return ev(n,{checksum:e});if(r.type===`bool`)return rv(n);if(r.type.startsWith(`uint`)||r.type.startsWith(`int`)){let e=r.type.startsWith(`int`),[,,t=`256`]=V_.exec(r.type)??[];return iv(n,{signed:e,size:Number(t)})}if(r.type.startsWith(`bytes`))return nv(n,{type:r.type});if(r.type===`string`)return av(n);throw new wv(r.type)}function $_(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];t+=r?32:hp(i)}let n=[],r=[],i=0;for(let a=0;a<e.length;a++){let{dynamic:o,encoded:s}=e[a];o?(n.push(R(t+i,{size:32})),r.push(s),i+=hp(s)):n.push(s)}return L(...n,...r)}function ev(e,t){let{checksum:n=!1}=t;return A_(e,{strict:n}),{dynamic:!1,encoded:fp(e.toLowerCase())}}function tv(e,t){let{checksumAddress:n,length:r,parameter:i}=t,a=r===null;if(!Array.isArray(e))throw new Cv(e);if(!a&&e.length!==r)throw new bv({expectedLength:r,givenLength:e.length,type:`${i.type}[${r}]`});let o=e.length===0&&cv(i),s=[];for(let t=0;t<e.length;t++){let r=Q_({checksumAddress:n,parameter:i,value:e[t]});r.dynamic&&(o=!0),s.push(r)}if(a||o){let e=$_(s);if(a){let t=R(s.length,{size:32});return{dynamic:!0,encoded:s.length>0?L(t,e):t}}if(o)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:L(...s.map(({encoded:e})=>e))}}function nv(e,{type:t}){let[,n]=t.split(`bytes`),r=hp(e);if(!n){let t=e;return r%32!=0&&(t=pp(t,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:L(fp(R(r,{size:32})),t)}}if(r!==Number.parseInt(n,10))throw new xv({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:pp(e)}}function rv(e){if(typeof e!=`boolean`)throw new I(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:fp(lp(e))}}function iv(e,{signed:t,size:n}){if(typeof n==`number`){let r=2n**(BigInt(n)-(t?1n:0n))-1n,i=t?-r-1n:0n;if(e>r||e<i)throw new wp({max:r.toString(),min:i.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:R(e,{size:32,signed:t})}}function av(e){let t=dp(e),n=Math.ceil(hp(t)/32),r=[];for(let e=0;e<n;e++)r.push(pp(z(t,e*32,(e+1)*32)));return{dynamic:!0,encoded:L(pp(R(hp(t),{size:32})),...r)}}function ov(e,t){let{checksumAddress:n,parameter:r}=t,i=!1,a=[];for(let t=0;t<r.components.length;t++){let o=r.components[t],s=Q_({checksumAddress:n,parameter:o,value:e[Array.isArray(e)?t:o.name]});a.push(s),s.dynamic&&(i=!0)}return{dynamic:i,encoded:i?$_(a):L(...a.map(({encoded:e})=>e))}}function sv(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function cv(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(cv);let n=sv(e.type);return!!(n&&cv({...e,type:n[1]}))}hf();let lv={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:1/0,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new pv({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new fv({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new dv({offset:e});let t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new dv({offset:e});let t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){let n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){let t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){let t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){let t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();let n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();let e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();let e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();let e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();let e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){let t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===1/0)return;let e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function uv(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(lv);return n.bytes=e,n.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var dv=class extends I{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.NegativeOffsetError`})}},fv=class extends I{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.PositionOutOfBoundsError`})}},pv=class extends I{constructor({count:e,limit:t}){super(`Recursive read limit of \\`${t}\\` exceeded (recursive read count: \\`${e}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.RecursiveReadLimitExceededError`})}};op(),hf(),B();function mv(e,t,n={}){let{as:r=`Array`,checksumAddress:i=!1}=n,a=typeof t==`string`?zf(t):t,o=uv(a);if(Wf(a)===0&&e.length>0)throw new yv;if(Wf(a)&&Wf(a)<32)throw new vv({data:typeof t==`string`?t:up(t),parameters:e,size:Wf(a)});let s=0,c=r===`Array`?[]:{};for(let t=0;t<e.length;++t){let n=e[t];s<a.length&&o.setPosition(s);let[l,u]=U_(o,n,{checksumAddress:i,staticPosition:0});s+=u,r===`Array`?c.push(l):c[n.name??t]=l}return c}function hv(e,t,n){let{checksumAddress:r=!1}=n??{};if(e.length!==t.length)throw new Sv({expectedLength:e.length,givenLength:t.length});let i=$_(Z_({checksumAddress:r,parameters:e,values:t}));return i.length===0?`0x`:i}function gv(e,t){if(e.length!==t.length)throw new Sv({expectedLength:e.length,givenLength:t.length});let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r];n.push(gv.encode(i,a))}return L(...n)}(function(e){function t(e,n,r=!1){if(e===`address`){let e=n;return A_(e),fp(e.toLowerCase(),r?32:0)}if(e===`string`)return dp(n);if(e===`bytes`)return n;if(e===`bool`)return fp(lp(n),r?32:1);let i=e.match(V_);if(i){let[e,t,a=`256`]=i,o=Number.parseInt(a,10)/8;return R(n,{size:r?32:o,signed:t===`int`})}let a=e.match(B_);if(a){let[e,t]=a;if(Number.parseInt(t,10)!==(n.length-2)/2)throw new xv({expectedSize:Number.parseInt(t,10),value:n});return pp(n,r?32:0)}let o=e.match(z_);if(o&&Array.isArray(n)){let[e,r]=o,i=[];for(let e=0;e<n.length;e++)i.push(t(r,n[e],!0));return i.length===0?`0x`:L(...i)}throw new wv(e)}e.encode=t})(gv||={});function _v(e){return Array.isArray(e)&&typeof e[0]==`string`||typeof e==`string`?f_(e):e}var vv=class extends I{constructor({data:e,parameters:t,size:n}){super(`Data size of ${n} bytes is too small for given parameters.`,{metaMessages:[`Params: (${Ng(t)})`,`Data: ${e} (${n} bytes)`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.DataSizeTooSmallError`})}},yv=class extends I{constructor(){super(`Cannot decode zero data (\"0x\") with ABI parameters.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.ZeroDataError`})}},bv=class extends I{constructor({expectedLength:e,givenLength:t,type:n}){super(`Array length mismatch for type \\`${n}\\`. Expected: \\`${e}\\`. Given: \\`${t}\\`.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.ArrayLengthMismatchError`})}},xv=class extends I{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${hp(t)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.BytesSizeMismatchError`})}},Sv=class extends I{constructor({expectedLength:e,givenLength:t}){super([`ABI encoding parameters/values length mismatch.`,`Expected length (parameters): ${e}`,`Given length (values): ${t}`].join(`\n`)),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.LengthMismatchError`})}},Cv=class extends I{constructor(e){super(`Value \\`${e}\\` is not a valid array.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.InvalidArrayError`})}},wv=class extends I{constructor(e){super(`Type \\`${e}\\` is not a valid ABI Type.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.InvalidTypeError`})}};op(),hf(),B();function Tv(e){return Ev(e,`Hex`)}function Ev(e,t){let n=t??(typeof e==`string`?`Hex`:`Bytes`);return Dv(uv((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new Dp(e);return zf(e)}return e})(),{recursiveReadLimit:1/0}),n)}function Dv(e,t=`Hex`){if(e.bytes.length===0)return t===`Hex`?up(e.bytes):e.bytes;let n=e.readByte();if(n<128&&e.decrementPosition(1),n<192){let r=Ov(e,n,128),i=e.readBytes(r);return t===`Hex`?up(i):i}return kv(e,Ov(e,n,192),t)}function Ov(e,t,n){if(n===128&&t<128)return 1;if(t<=n+55)return t-n;if(t===n+55+1)return e.readUint8();if(t===n+55+2)return e.readUint16();if(t===n+55+3)return e.readUint24();if(t===n+55+4)return e.readUint32();throw new I(`Invalid RLP prefix`)}function kv(e,t,n){let r=e.position,i=[];for(;e.position-r<t;)i.push(Dv(e,n));return i}function Av(e,t){let{as:n}=t,r=Mv(e),i=uv(new Uint8Array(r.length));return r.encode(i),n===`Hex`?up(i.bytes):i.bytes}function jv(e,t={}){let{as:n=`Hex`}=t;return Av(e,{as:n})}function Mv(e){return Array.isArray(e)?Nv(e.map(e=>Mv(e))):Pv(e)}function Nv(e){let t=e.reduce((e,t)=>e+t.length,0),n=Fv(t);return{length:t<=55?1+t:1+n+t,encode(r){t<=55?r.pushByte(192+t):(r.pushByte(247+n),n===1?r.pushUint8(t):n===2?r.pushUint16(t):n===3?r.pushUint24(t):r.pushUint32(t));for(let{encode:t}of e)t(r)}}}function Pv(e){let t=typeof e==`string`?zf(e):e,n=Fv(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+n+t.length,encode(e){t.length===1&&t[0]<128?e.pushBytes(t):t.length<=55?(e.pushByte(128+t.length),e.pushBytes(t)):(e.pushByte(183+n),n===1?e.pushUint8(t.length):n===2?e.pushUint16(t.length):n===3?e.pushUint24(t.length):e.pushUint32(t.length),e.pushBytes(t))}}}function Fv(e){if(e<=255)return 1;if(e<=65535)return 2;if(e<=16777215)return 3;if(e<=4294967295)return 4;throw new I(`Length is too large.`)}hf(),B(),Pf();function Iv(e,t={}){let{recovered:n}=t;if(e.r===void 0||e.s===void 0||n&&e.yParity===void 0)throw new Xv({signature:e});if(e.r<0n||e.r>H_)throw new Zv({value:e.r});if(e.s<0n||e.s>H_)throw new Qv({value:e.s});if(typeof e.yParity==`number`&&e.yParity!==0&&e.yParity!==1)throw new $v({value:e.yParity})}function Lv(e){return Rv(up(e))}function Rv(e){if(e.length!==130&&e.length!==132)throw new Yv({signature:e});let t=BigInt(z(e,0,32)),n=BigInt(z(e,32,64)),r=(()=>{let t=Number(`0x${e.slice(130)}`);if(!Number.isNaN(t))try{return qv(t)}catch{throw new $v({value:t})}})();return r===void 0?{r:t,s:n}:{r:t,s:n,yParity:r}}function zv(e){if(e.r!==void 0&&e.s!==void 0)return Bv(e)}function Bv(e){let t=typeof e==`string`?Rv(e):e instanceof Uint8Array?Lv(e):typeof e.r==`string`?Hv(e):e.v?Vv(e):{r:e.r,s:e.s,...e.yParity===void 0?{}:{yParity:e.yParity}};return Iv(t),t}function Vv(e){return{r:e.r,s:e.s,yParity:qv(e.v)}}function Hv(e){let t=(()=>{let t=e.v?Number(e.v):void 0,n=e.yParity?Number(e.yParity):void 0;if(typeof t==`number`&&typeof n!=`number`&&(n=qv(t)),typeof n!=`number`)throw new $v({value:e.yParity});return n})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function Uv(e){let[t,n,r]=e;return Bv({r:n===`0x`?0n:BigInt(n),s:r===`0x`?0n:BigInt(r),yParity:t===`0x`?0:Number(t)})}function Wv(e){Iv(e);let t=e.r,n=e.s;return L(R(t,{size:32}),R(n,{size:32}),typeof e.yParity==`number`?R(Jv(e.yParity),{size:1}):`0x`)}function Gv(e){let{r:t,s:n,yParity:r}=e;return{r:R(t,{size:32}),s:R(n,{size:32}),yParity:r===0?`0x0`:`0x1`}}function Kv(e){let{r:t,s:n,yParity:r}=e;return[r?`0x01`:`0x`,t===0n?`0x`:gp(R(t)),n===0n?`0x`:gp(R(n))]}function qv(e){if(e===0||e===27)return 0;if(e===1||e===28)return 1;if(e>=35)return+(e%2==0);throw new ey({value:e})}function Jv(e){if(e===0)return 27;if(e===1)return 28;throw new $v({value:e})}var Yv=class extends I{constructor({signature:e}){super(`Value \\`${e}\\` is an invalid signature size.`,{metaMessages:[`Expected: 64 bytes or 65 bytes.`,`Received ${hp(cp(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSerializedSizeError`})}},Xv=class extends I{constructor({signature:e}){super(`Signature \\`${Mf(e)}\\` is missing either an \\`r\\`, \\`s\\`, or \\`yParity\\` property.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.MissingPropertiesError`})}},Zv=class extends I{constructor({value:e}){super(`Value \\`${e}\\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidRError`})}},Qv=class extends I{constructor({value:e}){super(`Value \\`${e}\\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSError`})}},$v=class extends I{constructor({value:e}){super(`Value \\`${e}\\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidYParityError`})}},ey=class extends I{constructor({value:e}){super(`Value \\`${e}\\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidVError`})}};B();function ty(e,t={}){return typeof e.chainId==`string`?ny(e):{...e,...t.signature}}function ny(e){let{address:t,chainId:n,nonce:r}=e,i=zv(e);return{address:t,chainId:Number(n),nonce:BigInt(r),...i}}function ry(e){return e.map(ny)}function iy(e){let{address:t,chainId:n,nonce:r,...i}=e;return{address:t,chainId:R(n),nonce:R(r),...Gv(i)}}function ay(e){return e.map(iy)}wu(),op(),B();function oy(e){let{privateKey:t}=e;return y_(lu.ProjectivePoint.fromPrivateKey(cp(t).slice(2)))}function sy(e){return N_(cy(e))}function cy(e){let{payload:t,signature:n}=e,{r,s:i,yParity:a}=n;return y_(new lu.Signature(BigInt(r),BigInt(i)).addRecoveryBit(a).recoverPublicKey(cp(t).substring(2)))}function ly(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=lu.sign(Lf(r),Lf(i),{extraEntropy:typeof t==`boolean`?t:cp(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function uy(e){let{hash:t,payload:n}=e;return e.address?P_(e.address,sy({payload:n,signature:e.signature})):lu.verify(e.signature,Lf(n),S_(e.publicKey),...t?[{prehash:!0,lowS:!0}]:[])}hf(),B();let dy=_v(`(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data`);function fy(e){if(typeof e==`string`){if(z(e,-32)!==`0x8010801080108010801080108010801080108010801080108010801080108010`)throw new hy(e)}else Iv(e.authorization)}function py(e){fy(e);let t=yp(z(e,-64,-32)),n=z(e,-t-64,-64),r=z(e,0,-t-64),[i,a,o]=mv(dy,n);return{authorization:ty({address:i.delegation,chainId:Number(i.chainId),nonce:i.nonce,yParity:i.yParity,r:i.r,s:i.s}),signature:r,...o&&o!==`0x`?{data:o,to:a}:{}}}function my(e){try{return fy(e),!0}catch{return!1}}var hy=class extends I{constructor(e){super(`Value \\`${e}\\` is an invalid ERC-8010 wrapped signature.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureErc8010.InvalidWrappedSignatureError`})}};jo(),Ui(),Ln();function gy(e){let t=Hi(e,0,1);if(t===`0x04`)return`eip7702`;if(t===`0x03`)return`eip4844`;if(t===`0x02`)return`eip1559`;if(t===`0x01`)return`eip2930`;if(t!==`0x`&&In(t)>=192)return`legacy`;throw new Co({serializedType:t})}Ci(),jo(),Ni(),Lt(),Sn(),Nn(),Ln();function _y(e){let t=gy(e);return t===`eip1559`?by(e):t===`eip2930`?xy(e):t===`eip4844`?yy(e):t===`eip7702`?vy(e):Sy(e)}function vy(e){let t=Cy(e),[n,r,i,a,o,s,c,l,u,d,f,p,m]=t;if(t.length!==10&&t.length!==13)throw new wo({attributes:{chainId:n,nonce:r,maxPriorityFeePerGas:i,maxFeePerGas:a,gas:o,to:s,value:c,data:l,accessList:u,authorizationList:d,...t.length>9?{v:f,r:p,s:m}:{}},serializedTransaction:e,type:`eip7702`});let h={chainId:In(n),type:`eip7702`};return O(s)&&s!==`0x`&&(h.to=s),O(o)&&o!==`0x`&&(h.gas=j(o)),O(l)&&l!==`0x`&&(h.data=l),O(r)&&(h.nonce=r===`0x`?0:In(r)),O(c)&&c!==`0x`&&(h.value=j(c)),O(a)&&a!==`0x`&&(h.maxFeePerGas=j(a)),O(i)&&i!==`0x`&&(h.maxPriorityFeePerGas=j(i)),u.length!==0&&u!==`0x`&&(h.accessList=wy(u)),d.length!==0&&d!==`0x`&&(h.authorizationList=Ty(d)),Oh(h),{...t.length===13?Ey(t):void 0,...h}}function yy(e){let t=Cy(e),n=t.length===4,r=n?t[0]:t,i=n?t.slice(1):[],[a,o,s,c,l,u,d,f,p,m,h,g,_,v]=r,[y,b,x]=i;if(r.length!==11&&r.length!==14)throw new wo({attributes:{chainId:a,nonce:o,maxPriorityFeePerGas:s,maxFeePerGas:c,gas:l,to:u,value:d,data:f,accessList:p,...r.length>9?{v:g,r:_,s:v}:{}},serializedTransaction:e,type:`eip4844`});let S={blobVersionedHashes:h,chainId:In(a),to:u,type:`eip4844`};return O(l)&&l!==`0x`&&(S.gas=j(l)),O(f)&&f!==`0x`&&(S.data=f),O(o)&&(S.nonce=o===`0x`?0:In(o)),O(d)&&d!==`0x`&&(S.value=j(d)),O(m)&&m!==`0x`&&(S.maxFeePerBlobGas=j(m)),O(c)&&c!==`0x`&&(S.maxFeePerGas=j(c)),O(s)&&s!==`0x`&&(S.maxPriorityFeePerGas=j(s)),p.length!==0&&p!==`0x`&&(S.accessList=wy(p)),y&&b&&x&&(S.sidecars=Hd({blobs:y,commitments:b,proofs:x})),kh(S),{...r.length===14?Ey(r):void 0,...S}}function by(e){let t=Cy(e),[n,r,i,a,o,s,c,l,u,d,f,p]=t;if(t.length!==9&&t.length!==12)throw new wo({attributes:{chainId:n,nonce:r,maxPriorityFeePerGas:i,maxFeePerGas:a,gas:o,to:s,value:c,data:l,accessList:u,...t.length>9?{v:d,r:f,s:p}:{}},serializedTransaction:e,type:`eip1559`});let m={chainId:In(n),type:`eip1559`};return O(s)&&s!==`0x`&&(m.to=s),O(o)&&o!==`0x`&&(m.gas=j(o)),O(l)&&l!==`0x`&&(m.data=l),O(r)&&(m.nonce=r===`0x`?0:In(r)),O(c)&&c!==`0x`&&(m.value=j(c)),O(a)&&a!==`0x`&&(m.maxFeePerGas=j(a)),O(i)&&i!==`0x`&&(m.maxPriorityFeePerGas=j(i)),u.length!==0&&u!==`0x`&&(m.accessList=wy(u)),Ah(m),{...t.length===12?Ey(t):void 0,...m}}function xy(e){let t=Cy(e),[n,r,i,a,o,s,c,l,u,d,f]=t;if(t.length!==8&&t.length!==11)throw new wo({attributes:{chainId:n,nonce:r,gasPrice:i,gas:a,to:o,value:s,data:c,accessList:l,...t.length>8?{v:u,r:d,s:f}:{}},serializedTransaction:e,type:`eip2930`});let p={chainId:In(n),type:`eip2930`};return O(o)&&o!==`0x`&&(p.to=o),O(a)&&a!==`0x`&&(p.gas=j(a)),O(c)&&c!==`0x`&&(p.data=c),O(r)&&(p.nonce=r===`0x`?0:In(r)),O(s)&&s!==`0x`&&(p.value=j(s)),O(i)&&i!==`0x`&&(p.gasPrice=j(i)),l.length!==0&&l!==`0x`&&(p.accessList=wy(l)),jh(p),{...t.length===11?Ey(t):void 0,...p}}function Sy(e){let t=Zh(e,`hex`),[n,r,i,a,o,s,c,l,u]=t;if(t.length!==6&&t.length!==9)throw new wo({attributes:{nonce:n,gasPrice:r,gas:i,to:a,value:o,data:s,...t.length>6?{v:c,r:l,s:u}:{}},serializedTransaction:e,type:`legacy`});let d={type:`legacy`};if(O(a)&&a!==`0x`&&(d.to=a),O(i)&&i!==`0x`&&(d.gas=j(i)),O(s)&&s!==`0x`&&(d.data=s),O(n)&&(d.nonce=n===`0x`?0:In(n)),O(o)&&o!==`0x`&&(d.value=j(o)),O(r)&&r!==`0x`&&(d.gasPrice=j(r)),Mh(d),t.length===6)return d;let f=O(c)&&c!==`0x`?j(c):0n;if(u===`0x`&&l===`0x`)return f>0&&(d.chainId=Number(f)),d;let p=f,m=Number((p-35n)/2n);if(m>0)d.chainId=m;else if(p!==27n&&p!==28n)throw new bo({v:p});return d.v=p,d.s=u,d.r=l,d.yParity=+(p%2n==0n),d}function Cy(e){return Zh(`0x${e.slice(4)}`,`hex`)}function wy(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];if(!Ai(r,{strict:!1}))throw new Si({address:r});t.push({address:r,storageKeys:i.map(e=>tg(e)?e:Mn(e))})}return t}function Ty(e){let t=[];for(let n=0;n<e.length;n++){let[r,i,a,o,s,c]=e[n];t.push({address:i,chainId:r===`0x`?0:In(r),nonce:a===`0x`?0:In(a),...Ey([o,s,c])})}return t}function Ey(e){let t=e.slice(-3),n=t[0]===`0x`?0n:j(t[0]);if(n!==0n&&n!==1n)throw new xo({yParity:n});let r=n===0n?27n:28n;return{r:bn(t[1],{size:32}),s:bn(t[2],{size:32}),v:r,yParity:r===27n?0:1}}co();function Dy(e,t){return eo(e,t)}co();function Oy(e,t){return ro(e,t)}jo(),N();async function ky(e,{blockHash:t,blockNumber:n,blockTag:r,hash:i,index:a,sender:o,nonce:s}){let c=r||`latest`,l=n===void 0?void 0:M(n),u=null;if(i?u=await e.request({method:`eth_getTransactionByHash`,params:[i]},{dedupe:!0}):t?u=await e.request({method:`eth_getTransactionByBlockHashAndIndex`,params:[t,M(a)]},{dedupe:!0}):(l||c)&&typeof a==`number`?u=await e.request({method:`eth_getTransactionByBlockNumberAndIndex`,params:[l||c,M(a)]},{dedupe:!!l}):o&&typeof s==`number`&&(u=await e.request({method:`eth_getTransactionBySenderAndNonce`,params:[o,M(s)]},{dedupe:!0})),!u)throw new Do({blockHash:t,blockNumber:n,blockTag:c,hash:i,index:a});return(e.chain?.formatters?.transaction?.format||bd)(u,`getTransaction`)}jo();async function Ay(e,{hash:t}){let n=await e.request({method:`eth_getTransactionReceipt`,params:[t]},{dedupe:!0});if(!n)throw new Oo({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||mh)(n,`getTransactionReceipt`)}Vp(),qp(),mn(),A(),Uo(),lf(),va(),im(),dm(),Za();async function jy(e,t){let{account:n,authorizationList:r,allowFailure:i=!0,blockHash:a,blockNumber:o,blockOverrides:s,blockTag:c,requireCanonical:l,stateOverride:u}=t,d=t.contracts,f=typeof e.batch?.multicall==`object`?e.batch.multicall:{},p=t.batchSize??f.batchSize??1024,m=t.deployless??f.deployless??!1,h=(()=>{if(t.multicallAddress)return t.multicallAddress;if(m)return null;if(e.chain)return rm({blockNumber:o,chain:e.chain,contract:`multicall3`});throw Error(`client chain not configured. multicallAddress is required.`)})(),g=[[]],_=0,v=0;for(let e=0;e<d.length;e++){let{abi:t,address:r,args:a,functionName:o}=d[e];try{let e=_a({abi:t,args:a,functionName:o});v+=(e.length-2)/2,p>0&&v>p&&g[_].length>0&&(_++,v=(e.length-2)/2,g[_]=[]),g[_]=[...g[_],{allowFailure:!0,callData:e,target:r}]}catch(e){let s=Es(e,{abi:t,address:r,args:a,docsPath:`/docs/contract/multicall`,functionName:o,sender:n});if(!i)throw s;g[_]=[...g[_],{allowFailure:!0,callData:`0x`,target:r}]}}let y=!!e.batch?.multicall,b=y?g.flatMap(e=>e.map(e=>[e])):g,x=await Promise.allSettled(b.map(t=>y?My(e,{account:n,authorizationList:r,batchSize:p,blockHash:a,blockNumber:o,blockOverrides:s,blockTag:c,call:t[0],multicallAddress:h,requireCanonical:l,stateOverride:u}).then(e=>[e]):D(e,V,`readContract`)({...h===null?{code:Kp}:{address:h},abi:Fp,account:n,args:[t],authorizationList:r,blockHash:a,blockNumber:o,blockOverrides:s,blockTag:c,functionName:`aggregate3`,requireCanonical:l,stateOverride:u}))),S=[];for(let e=0;e<x.length;e++){let t=x[e];if(t.status===`rejected`){if(!i)throw t.reason;for(let n=0;n<b[e].length;n++)S.push({status:`failure`,error:t.reason,result:void 0});continue}let n=t.value;for(let t=0;t<n.length;t++){let{returnData:r,success:a}=n[t],{callData:o}=b[e][t],{abi:s,address:c,functionName:l,args:u}=d[S.length];try{if(o===`0x`)throw new qt;if(!a)throw new Ho({data:r});let e=sf({abi:s,args:u,data:r,functionName:l});S.push(i?{result:e,status:`success`}:e)}catch(e){let t=Es(e,{abi:s,address:c,args:u,docsPath:`/docs/contract/multicall`,functionName:l});if(!i)throw t;S.push({error:t,result:void 0,status:`failure`})}}}if(S.length!==d.length)throw new k(`multicall results mismatch`);return S}async function My(e,t){let{batchSize:n,call:r,multicallAddress:i,...a}=t,{wait:o=0}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},{schedule:s}=lm({id:Xa([`multicall`,e.uid,n,i,a]),wait:o,shouldSplitBatch(e){return n!==0&&e.reduce((e,{callData:t})=>e+(t.length-2)/2,0)>n},fn:t=>D(e,V,`readContract`)({...i===null?{code:Kp}:{address:i},...a,abi:Fp,args:[t],functionName:`aggregate3`})}),[c]=await s(r);return c}hf();function Ny(e){let t=!0,n=``,r=0,i=``,a=!1;for(let o=0;o<e.length;o++){let s=e[o];if([`(`,`)`,`,`].includes(s)&&(t=!0),s===`(`&&r++,s===`)`&&r--,t){if(r===0){if(s===` `&&[`event`,`function`,`error`,``].includes(i))i=``;else if(i+=s,s===`)`){a=!0;break}continue}if(s===` `){e[o-1]!==`,`&&n!==`,`&&n!==`,(`&&(n=``,t=!1);continue}i+=s,n+=s}}if(!a)throw new I(`Unable to normalize signature.`);return i}function Py(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return F_(e,{strict:!1});case`bool`:return n===`boolean`;case`function`:return n===`string`;case`string`:return n===`string`;default:return r===`tuple`&&`components`in t?Object.values(t.components).every((t,n)=>Py(Object.values(e)[n],t)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(r)?n===`number`||n===`bigint`:/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?n===`string`||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\\[[0-9]{0,}\\])+$/.test(r)?Array.isArray(e)&&e.every(e=>Py(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function Fy(e,t,n){for(let r in e){let i=e[r],a=t[r];if(i.type===`tuple`&&a.type===`tuple`&&`components`in i&&`components`in a)return Fy(i.components,a.components,n[r]);let o=[i.type,a.type];if(o.includes(`address`)&&o.includes(`bytes20`)||(o.includes(`address`)&&o.includes(`string`)||o.includes(`address`)&&o.includes(`bytes`))&&F_(n[r],{strict:!1}))return o}}hf(),B();function Iy(e,t,n){let{args:r=[],prepare:i=!0}=n??{},a=xp(t,{strict:!1}),o=e.filter(e=>a?e.type===`function`||e.type===`error`?Ly(e)===z(t,0,4):e.type===`event`&&zy(e)===t:`name`in e&&e.name===t);if(o.length===0)throw new Vy({name:t});if(o.length===1)return{...o[0],...i?{hash:zy(o[0])}:{}};let s;for(let e of o)if(`inputs`in e){if(!r||r.length===0){if(!e.inputs||e.inputs.length===0)return{...e,...i?{hash:zy(e)}:{}};continue}if(e.inputs&&e.inputs.length!==0&&e.inputs.length===r.length&&r.every((t,n)=>{let r=`inputs`in e&&e.inputs[n];return r?Py(t,r):!1})){if(s&&`inputs`in s&&s.inputs){let t=Fy(e.inputs,s.inputs,r);if(t)throw new By({abiItem:e,type:t[0]},{abiItem:s,type:t[1]})}s=e}}let c=(()=>{if(s)return s;let[e,...t]=o;return{...e,overloads:t}})();if(!c)throw new Vy({name:t});return{...c,...i?{hash:zy(c)}:{}}}function Ly(...e){return z(zy((()=>{if(Array.isArray(e[0])){let[t,n]=e;return Iy(t,n)}return e[0]})()),0,4)}function Ry(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return Iy(t,n)}return e[0]})();return Ny(typeof t==`string`?t:Pg(t))}function zy(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return Iy(t,n)}return e[0]})();return typeof t!=`string`&&`hash`in t&&t.hash?t.hash:m_(dp(Ry(t)))}var By=class extends I{constructor(e,t){super(`Found ambiguous types in overloaded ABI Items.`,{metaMessages:[`\\`${e.type}\\` in \\`${Ny(Pg(e.abiItem))}\\`, and`,`\\`${t.type}\\` in \\`${Ny(Pg(t.abiItem))}\\``,``,`These types encode differently and cannot be distinguished at runtime.`,`Remove one of the ambiguous items in the ABI.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiItem.AmbiguityError`})}},Vy=class extends I{constructor({name:e,data:t,type:n=`item`}){let r=e?` with name \"${e}\"`:t?` with data \"${t}\"`:``;super(`ABI ${n}${r} not found.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiItem.NotFoundError`})}};function Hy(e){return Ly(e)}hf(),B();function Uy(e){if(z(e,-32)!==`0x6492649264926492649264926492649264926492649264926492649264926492`)throw new Ky(e)}function Wy(e){let{data:t,signature:n,to:r}=e;return L(hv(_v(`address, bytes, bytes`),[r,t,n]),`0x6492649264926492649264926492649264926492649264926492649264926492`)}function Gy(e){try{return Uy(e),!0}catch{return!1}}var Ky=class extends I{constructor(e){super(`Value \\`${e}\\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureErc6492.InvalidWrappedSignatureError`})}};wu(),Ln(),Qn();function qy({r:e,s:t,to:n=`hex`,v:r,yParity:i}){let a=(()=>{if(i===0||i===1)return i;if(r&&(r===27n||r===28n||r>=35n))return+(r%2n==0n);throw Error(\"Invalid `v` or `yParity` value\")})(),o=`0x${new lu.Signature(j(e),j(t)).toCompactHex()}${a===0?`1b`:`1c`}`;return n===`hex`?o:qn(o)}Vp(),qp(),Uo(),nm(),va(),ki(),$d(),Li(),Lt(),Ln(),N(),Wm();async function Jy(e,t){let{address:n,chain:r=e.chain,hash:i,erc6492VerifierAddress:a=t.universalSignatureVerifierAddress??r?.contracts?.erc6492Verifier?.address,multicallAddress:o=t.multicallAddress??r?.contracts?.multicall3?.address,mode:s=`auto`}=t;if(r?.verifyHash)return await r.verifyHash(e,t);let c=(()=>{let e=t.signature;return O(e)?e:typeof e==`object`&&`r`in e&&`s`in e?qy(e):Bn(e)})();try{if(s===`eoa`)try{if(F(Di(n),await Du({hash:i,signature:c})))return!0}catch{}return my(c)?await Yy(e,{...t,multicallAddress:o,signature:c}):await Xy(e,{...t,verifierAddress:a,signature:c})}catch(e){if(s!==`eoa`)try{if(F(Di(n),await Du({hash:i,signature:c})))return!0}catch{}if(e instanceof Qy)return!1;throw e}}async function Yy(e,t){let{address:n,blockHash:r,blockNumber:i,blockTag:a,hash:o,multicallAddress:s,requireCanonical:c}=t,{authorization:l,data:u,signature:d,to:f}=py(t.signature);if(await Dh(e,{address:n,blockHash:r,blockNumber:i,blockTag:a,requireCanonical:c})===Ii([`0xef0100`,l.address]))return await Zy(e,{...t,signature:d});let p={address:l.address,chainId:Number(l.chainId),nonce:Number(l.nonce),r:M(l.r,{size:32}),s:M(l.s,{size:32}),yParity:l.yParity};if(!await Hh({address:n,authorization:p}))throw new Qy;let m=await D(e,V,`readContract`)({...s?{address:s}:{code:Kp},authorizationList:[p],abi:Fp,blockHash:r,blockNumber:i,blockTag:`pending`,functionName:`aggregate3`,requireCanonical:c,args:[[...u?[{allowFailure:!0,target:f??n,callData:u}]:[],{allowFailure:!0,target:n,callData:_a({abi:Rp,functionName:`isValidSignature`,args:[o,d]})}]]});if((m[m.length-1]?.returnData)?.startsWith(`0x1626ba7e`))return!0;throw new Qy}async function Xy(e,t){let{address:n,factory:r,factoryData:i,hash:a,signature:o,verifierAddress:s,...c}=t,l=await(async()=>!r&&!i||Gy(o)?o:Wy({data:i,signature:o,to:r}))(),u=s?{to:s,data:_a({abi:zp,functionName:`isValidSig`,args:[n,a,l]}),...c}:{data:em({abi:zp,args:[n,a,l],bytecode:Gp}),...c},{data:d}=await D(e,Nm,`call`)(u).catch(e=>{throw e instanceof Lo?new Qy:e});if(Fn(d??`0x0`))return!0;throw new Qy}async function Zy(e,t){let{address:n,blockHash:r,blockNumber:i,blockTag:a,hash:o,requireCanonical:s,signature:c}=t;if((await D(e,V,`readContract`)({address:n,abi:Rp,args:[o,c],blockHash:r,blockNumber:i,blockTag:a,functionName:`isValidSignature`,requireCanonical:s}).catch(e=>{throw e instanceof Ro?new Qy:e})).startsWith(`0x1626ba7e`))return!0;throw new Qy}var Qy=class extends Error{};Ln(),Za();function $y(e,{emitOnBegin:t=!1,emitMissed:n=!1,onBlockNumber:r,onError:i,poll:a,pollingInterval:o=e.pollingInterval}){let s=a===void 0?e.transport.type!==`webSocket`&&e.transport.type!==`ipc`&&(e.transport.type!==`fallback`||e.transport.transports[0].config.type!==`webSocket`&&e.transport.transports[0].config.type!==`ipc`):a,c;return s?Ym(Xa([`watchBlockNumber`,e.uid,t,n,o]),{onBlockNumber:r,onError:i},r=>Zm(async()=>{try{let t=await D(e,rh,`getBlockNumber`)({cacheTime:0});if(c!==void 0){if(t===c)return;if(t-c>1&&n)for(let e=c+1n;e<t;e++)r.onBlockNumber(e,c),c=e}(c===void 0||t>c)&&(r.onBlockNumber(t,c),c=t)}catch(e){r.onError?.(e)}},{emitOnBegin:t,interval:o})):Ym(Xa([`watchBlockNumber`,e.uid,t,n]),{onBlockNumber:r,onError:i},t=>{let n=!0,r=()=>n=!1;return(async()=>{try{let{unsubscribe:i}=await(()=>{if(e.transport.type===`fallback`){let t=e.transport.transports.find(e=>e.config.type===`webSocket`||e.config.type===`ipc`);return t?t.value:e.transport}return e.transport})().subscribe({params:[`newHeads`],onData(e){if(!n)return;let r=j(e.result?.number);t.onBlockNumber(r,c),c=r},onError(e){t.onError?.(e)}});r=i,n||r()}catch(e){i?.(e)}})(),()=>r()})}jo(),cm(),Za();async function eb(e,t){let{checkReplacement:n=e.chain?.supportsTransactionReplacementDetection??!0,confirmations:r=1,hash:i,onReplaced:a,retryCount:o=6,retryDelay:s=({count:e})=>~~(1<<e)*200,timeout:c=18e4}=t,l=Xa([`waitForTransactionReceipt`,e.uid,i]),u=t.pollingInterval?t.pollingInterval:e.chain?.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval,d,f,p,m=!1,h,g,{promise:_,resolve:v,reject:y}=sm(),b=c?setTimeout(()=>{g?.(),h?.(),y(new Ao({hash:i}))},c):void 0;return h=Ym(l,{onReplaced:a,resolve:v,reject:y},async t=>{if(p=await D(e,Ay,`getTransactionReceipt`)({hash:i}).catch(()=>void 0),p&&r<=1){clearTimeout(b),t.resolve(p),h?.();return}g=D(e,$y,`watchBlockNumber`)({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:u,async onBlockNumber(a){let c=e=>{clearTimeout(b),g?.(),e(),h?.()},l=a;if(!m)try{if(p){if(r>1&&(!p.blockNumber||l-p.blockNumber+1n<r))return;c(()=>t.resolve(p));return}if(n&&!d&&(m=!0,await fh(async()=>{d=await D(e,ky,`getTransaction`)({hash:i}),d.blockNumber&&(l=d.blockNumber)},{delay:s,retryCount:o}),m=!1),p=await D(e,Ay,`getTransactionReceipt`)({hash:i}),r>1&&(!p.blockNumber||l-p.blockNumber+1n<r))return;c(()=>t.resolve(p))}catch(n){if(n instanceof Do||n instanceof Oo){if(!d){m=!1;return}try{f=d,m=!0;let n=await fh(()=>D(e,wd,`getBlock`)({blockNumber:l,includeTransactions:!0}),{delay:s,retryCount:o,shouldRetry:({error:e})=>e instanceof vd});m=!1;let i=n.transactions.find(({from:e,nonce:t})=>e===f.from&&t===f.nonce);if(!i||(p=await D(e,Ay,`getTransactionReceipt`)({hash:i.hash}),r>1&&(!p.blockNumber||l-p.blockNumber+1n<r)))return;let a=`replaced`;i.to===f.to&&i.value===f.value&&i.input===f.input?a=`repriced`:i.from===i.to&&i.value===0n&&(a=`cancelled`),c(()=>{t.onReplaced?.({reason:a,replacedTransaction:f,transaction:i,transactionReceipt:p}),t.resolve(p)})}catch(e){c(()=>t.reject(e))}}else c(()=>t.reject(n))}}})}),_}function tb(e){let{scheme:t,statement:n,...r}=e.match(nb)?.groups??{},{chainId:i,expirationTime:a,issuedAt:o,notBefore:s,requestId:c,...l}=e.match(rb)?.groups??{},u=e.split(`Resources:`)[1]?.split(`\n- `).slice(1);return{...r,...l,...i?{chainId:Number(i)}:{},...a?{expirationTime:new Date(a)}:{},...o?{issuedAt:new Date(o)}:{},...s?{notBefore:new Date(s)}:{},...c?{requestId:c}:{},...u?{resources:u}:{},...t?{scheme:t}:{},...n?{statement:n}:{}}}let nb=/^(?:(?<scheme>[a-zA-Z][a-zA-Z0-9+-.]*):\\/\\/)?(?<domain>[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\\n)(?<address>0x[a-fA-F0-9]{40})\\n\\n(?:(?<statement>.*)\\n\\n)?/,rb=/(?:URI: (?<uri>.+))\\n(?:Version: (?<version>.+))\\n(?:Chain ID: (?<chainId>\\d+))\\n(?:Nonce: (?<nonce>[a-zA-Z0-9]+))\\n(?:Issued At: (?<issuedAt>.+))(?:\\nExpiration Time: (?<expirationTime>.+))?(?:\\nNot Before: (?<notBefore>.+))?(?:\\nRequest ID: (?<requestId>.+))?/;Ni(),$d(),va();function ib(e,t){return{amount:e,decimals:t,formatted:Dy(e,t)}}function ab(e,t){if(typeof e==`bigint`)return e;let n=e.decimals??t;return Oy(e.formatted,ob(n))}function ob(e){if(e===void 0)throw Error(\"Token decimals are required. Pass `amount.decimals` or select a declared token.\");return e}function sb(e,t){return typeof e==`bigint`?t:e.decimals??t}function cb(e,t){let{decimals:n,token:r}=t,i=lb(e,r);if(i)return{address:i.address,decimals:n??i.decimals};if(Ai(r,{strict:!1}))return{address:r,decimals:n??fb(e,r)};throw Error(`Token \"${r}\" is not a declared ERC-20 token on the client's \\`tokens\\` array (with an address for the client's chain), and is not a valid address.`)}function lb(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;let i=db(n,t);if(i)return ub(i,r);if(Ai(t,{strict:!1}))for(let e of n){let n=ub(e,r);if(n&&F(n.address,t))return n}}function ub(e,t){let n=e.addresses[t];if(n)return{address:n,currency:e.currency,decimals:e.decimals,name:e.name,popular:e.popular,symbol:e.symbol}}function db(e,t){let n=t.toLowerCase();for(let t of e)if(t.symbol?.toLowerCase()===n)return t}function fb(e,t){let n=e.tokens,r=e.chain?.id;if(n&&r!==void 0)for(let e of n){let n=ub(e,r);if(n&&F(n.address,t))return n.decimals}}function pb(e){let{account:t,chain:n,gas:r,maxFeePerGas:i,maxPriorityFeePerGas:a,nonce:o}=e;return{account:t,chain:n,gas:r,maxFeePerGas:i,maxPriorityFeePerGas:a,nonce:o}}function mb(e){return{...e,data:_a(e),to:e.address}}Vp();async function hb(e,t){return hb.inner(uh,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(e,t){return mb(gb(e,t))}e.call=n;async function r(t,n){return Qd(t,{...pb(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Gm(t,{...pb(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=af({abi:Bp,logs:e,eventName:`Approval`,strict:!0});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=a})(hb||={});function gb(e,t){let{amount:n,spender:r,token:i}=t,{address:a,decimals:o}=cb(e,{token:i});return{abi:Bp,address:a,args:[r,ab(n,o)],functionName:`approve`}}jo();async function _b(e,{serializedTransaction:t,throwOnReceiptRevert:n,timeout:r}){let i=await e.request({method:`eth_sendRawTransactionSync`,params:r?[t,r]:[t]},{retryCount:0}),a=(e.chain?.formatters?.transactionReceipt?.format||mh)(i);if(a.status===`reverted`&&n)throw new ko({receipt:a});return a}pa(),A(),jo(),Li(),$u(),od(),Ti(),md();let vb=new wi(128);async function yb(e,t){let{account:n=e.account,assertChainId:r=!0,chain:i=e.chain,accessList:a,authorizationList:o,blobs:s,data:c,dataSuffix:l=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,pollingInterval:g,throwOnReceiptRevert:_,type:v,value:y,...b}=t,x=t.timeout??Math.max((i?.blockTime??0)*3,5e3);if(n===void 0)throw new ih({docsPath:`/docs/actions/wallet/sendTransactionSync`});let S=n?P(n):null,C;try{pd(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Pu({authorization:o[0]}).catch(()=>{throw new k(\"`to` is required. Could not infer from `authorizationList`.\")})})();if(S?.type===`json-rpc`||S===null){let t;i!==null&&(t=await D(e,Gd,`getChainId`)({}),r&&oh({currentChainId:t,chain:i}));let C=e.chain?.formatters?.transactionRequest?.format,w=(C||nd)({...Qu(b,{format:C}),accessList:a,account:S,authorizationList:o,blobs:s,chainId:t,data:l?Pi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,to:n,type:v,value:y},`sendTransaction`),T=vb.get(e.uid),ee=T?`wallet_sendTransaction`:`eth_sendTransaction`,E=await(async()=>{try{return await e.request({method:ee,params:[w]},{retryCount:0})}catch(t){if(T===!1)throw t;let n=t;if(n.name===`InvalidInputRpcError`||n.name===`InvalidParamsRpcError`||n.name===`MethodNotFoundRpcError`||n.name===`MethodNotSupportedRpcError`)return await e.request({method:`wallet_sendTransaction`,params:[w]},{retryCount:0}).then(t=>(vb.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(vb.set(e.uid,!1),n):r});throw n}})(),te=await D(e,eb,`waitForTransactionReceipt`)({checkReplacement:!1,hash:E,pollingInterval:g,timeout:x});if(_&&te.status===`reverted`)throw new ko({receipt:te});return te}if(S?.type===`local`){let r=(()=>{if(!S.nonceManager||h!==void 0)return S.nonceManager;let e=S.nonceManager;return{consume(t){return C={address:t.address,chainId:t.chainId},e.consume(t)},get(t){return e.get(t)},increment(t){return e.increment(t)},reset(t){return e.reset(t)}}})(),g=await D(e,Xd,`prepareTransactionRequest`)({account:S,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?Pi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:r,parameters:[...qd,`sidecars`],type:v,value:y,...b,to:n}),x=i?.serializers?.transaction,w=await S.signTransaction(g,{serializer:x});return await D(e,_b,`sendRawTransactionSync`)({serializedTransaction:w,throwOnReceiptRevert:_,timeout:t.timeout})}throw S?.type===`smart`?new ah({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new ah({docsPath:`/docs/actions/wallet/sendTransactionSync`,type:S?.type})}catch(e){throw e instanceof ah?e:(C&&!(e instanceof ko)&&S?.nonceManager?.reset(C),Wd(e,{...t,account:S,chain:t.chain||void 0}))}}async function bb(e,t){return uh.internal(e,yb,`sendTransactionSync`,t)}async function xb(e,t){let{amount:n,token:r,throwOnReceiptRevert:i=!0}=t,{decimals:a}=cb(e,{token:r}),o=sb(n,a),s=await hb.inner(bb,e,{...t,throwOnReceiptRevert:i}),{args:c}=hb.extractEvent(s.logs);return{...c,...o===void 0?{}:{decimals:o,formatted:Dy(c.value,o)},receipt:s}}Vp();async function Sb(e,t){return Sb.inner(uh,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(e,t){return mb(Cb(e,t))}e.call=n;async function r(t,n){return Qd(t,{...pb(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Gm(t,{...pb(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=af({abi:Bp,logs:e,eventName:`Transfer`,strict:!0});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=a})(Sb||={});function Cb(e,t){let{amount:n,from:r,to:i,token:a}=t,{address:o,decimals:s}=cb(e,{token:a}),c=ab(n,s);return r?{abi:Bp,address:o,args:[r,i,c],functionName:`transferFrom`}:{abi:Bp,address:o,args:[i,c],functionName:`transfer`}}async function wb(e,t){let{amount:n,token:r,throwOnReceiptRevert:i=!0}=t,{decimals:a}=cb(e,{token:r}),o=sb(n,a),s=await Sb.inner(bb,e,{...t,throwOnReceiptRevert:i}),{args:c}=Sb.extractEvent(s.logs);return{...c,...o===void 0?{}:{decimals:o,formatted:Dy(c.value,o)},receipt:s}}N();async function Tb(e,{chain:t}){let{id:n,name:r,nativeCurrency:i,rpcUrls:a,blockExplorers:o}=t;await e.request({method:`wallet_addEthereumChain`,params:[{chainId:M(n),chainName:r,nativeCurrency:i,rpcUrls:a.default.http,blockExplorerUrls:o?Object.values(o).map(({url:e})=>e):void 0}]},{dedupe:!0,retryCount:0})}nm();function Eb(e,t){let{abi:n,args:r,bytecode:i,...a}=t,o=em({abi:n,args:r,bytecode:i});return lh(e,{...a,...a.authorizationList?{to:null}:{},data:o})}ki();async function Db(e){return e.account?.type===`local`?[e.account.address]:(await e.request({method:`eth_accounts`},{dedupe:!0})).map(e=>Ei(e))}pa(),N();async function Ob(e,t={}){let{account:n=e.account,chainId:r}=t,i=n?P(n):void 0,a=r?[i?.address,[M(r)]]:[i?.address],o=await e.request({method:`wallet_getCapabilities`,params:a}),s={};for(let[e,t]of Object.entries(o)){s[Number(e)]={};for(let[n,r]of Object.entries(t))n===`addSubAccount`&&(n=`unstable_addSubAccount`),s[Number(e)][n]=r}return typeof r==`number`?s[r]:s}async function kb(e){return await e.request({method:`wallet_getPermissions`},{dedupe:!0})}pa(),$d();async function Ab(e,t){let{account:n=e.account,chainId:r,nonce:i}=t;if(!n)throw new ih({docsPath:`/docs/eip7702/prepareAuthorization`});let a=P(n),o=(()=>{if(t.executor)return t.executor===`self`?t.executor:P(t.executor)})(),s={address:t.contractAddress??t.address,chainId:r,nonce:i};return s.chainId===void 0&&(s.chainId=e.chain?.id??await D(e,Gd,`getChainId`)({})),s.nonce===void 0&&(s.nonce=await D(e,Ad,`getTransactionCount`)({address:a.address,blockTag:`pending`}),(o===`self`||o?.address&&F(o.address,a.address))&&(s.nonce+=1)),s}ki();async function jb(e){return(await e.request({method:`eth_requestAccounts`},{dedupe:!0,retryCount:0})).map(e=>Di(e))}async function Mb(e,t){return e.request({method:`wallet_requestPermissions`,params:[t]},{retryCount:0})}async function Nb(e,t){let{chain:n=e.chain}=t,r=t.timeout??Math.max((n?.blockTime??0)*3,5e3),i=await D(e,_h,`sendCalls`)(t);return await D(e,yh,`waitForCallsStatus`)({...t,id:i.id,timeout:r})}async function Pb(e,t){let{id:n}=t;await e.request({method:`wallet_showCallsStatus`,params:[n]})}pa();async function Fb(e,t){let{account:n=e.account}=t;if(!n)throw new ih({docsPath:`/docs/eip7702/signAuthorization`});let r=P(n);if(!r.signAuthorization)throw new ah({docsPath:`/docs/eip7702/signAuthorization`,metaMessages:[\"The `signAuthorization` Action does not support JSON-RPC Accounts.\"],type:r.type});let i=await Ab(e,t);return r.signAuthorization(i)}pa(),N();async function Ib(e,{account:t=e.account,message:n}){if(!t)throw new ih({docsPath:`/docs/actions/wallet/signMessage`});let r=P(t);if(r.signMessage)return r.signMessage({message:n});let i=typeof n==`string`?Vn(n):n.raw instanceof Uint8Array?Rn(n.raw):n.raw;return e.request({method:`personal_sign`,params:[i,r.address]},{retryCount:0})}pa(),N(),od(),md();async function Lb(e,t){let{account:n=e.account,chain:r=e.chain,...i}=t;if(!n)throw new ih({docsPath:`/docs/actions/wallet/signTransaction`});let a=P(n);pd({account:a,...t});let o=await D(e,Gd,`getChainId`)({});r!==null&&oh({currentChainId:o,chain:r});let s=(r?.formatters||e.chain?.formatters)?.transactionRequest?.format||nd;return a.signTransaction?a.signTransaction({...i,account:a,chainId:o},{serializer:e.chain?.serializers?.transaction}):await e.request({method:`eth_signTransaction`,params:[{...s({...i,account:a},`signTransaction`),chainId:M(o),from:a.address}]},{retryCount:0})}pa();async function Rb(e,t){let{account:n=e.account,domain:r,message:i,primaryType:a}=t;if(!n)throw new ih({docsPath:`/docs/actions/wallet/signTypedData`});let o=P(n),s={EIP712Domain:gg({domain:r}),...t.types};if(hg({domain:r,message:i,primaryType:a,types:s}),o.signTypedData)return o.signTypedData({domain:r,message:i,primaryType:a,types:s});let c=mg({domain:r,message:i,primaryType:a,types:s});return e.request({method:`eth_signTypedData_v4`,params:[o.address,c]},{retryCount:0})}N();async function zb(e,{id:t}){await e.request({method:`wallet_switchEthereumChain`,params:[{chainId:M(t)}]},{retryCount:0})}async function Bb(e,t){return await e.request({method:`wallet_watchAsset`,params:t},{retryCount:0})}function Vb(e){return{addChain:t=>Tb(e,t),deployContract:t=>Eb(e,t),fillTransaction:t=>Kd(e,t),getAddresses:()=>Db(e),getCallsStatus:t=>vh(e,t),getCapabilities:t=>Ob(e,t),getChainId:()=>Gd(e),getPermissions:()=>kb(e),prepareAuthorization:t=>Ab(e,t),prepareTransactionRequest:t=>Xd(e,t),requestAddresses:()=>jb(e),requestPermissions:t=>Mb(e,t),sendCalls:t=>_h(e,t),sendCallsSync:t=>Nb(e,t),sendRawTransaction:t=>sh(e,t),sendRawTransactionSync:t=>_b(e,t),sendTransaction:t=>lh(e,t),sendTransactionSync:t=>yb(e,t),showCallsStatus:t=>Pb(e,t),signAuthorization:t=>Fb(e,t),signMessage:t=>Ib(e,t),signTransaction:t=>Lb(e,t),signTypedData:t=>Rb(e,t),switchChain:t=>zb(e,t),waitForCallsStatus:t=>yh(e,t),watchAsset:t=>Bb(e,t),writeContract:t=>uh(e,t),writeContractSync:t=>bb(e,t),token:{approve:Eh(e,hb),approveSync:Eh(e,xb),transfer:Eh(e,Sb),transferSync:Eh(e,wb)}}}function Hb(e){let{key:t=`wallet`,name:n=`Wallet Client`,transport:r}=e;return wh({...e,key:t,name:n,transport:r,type:`walletClient`}).extend(Vb)}function Ub({key:e,methods:t,name:n,request:r,retryCount:i=3,retryDelay:a=150,timeout:o,type:s},c){let l=Ch();return{config:{key:e,methods:t,name:n,request:r,retryCount:i,retryDelay:a,timeout:o,type:s},request:Gh(r,{methods:t,retryCount:i,retryDelay:a,uid:l}),value:c}}function Wb(e,t={}){let{key:n=`custom`,methods:r,name:i=`Custom Provider`,retryDelay:a}=t;return({retryCount:o})=>Ub({key:n,methods:r,name:i,request:e.request.bind(e),retryCount:t.retryCount??o,retryDelay:a,type:`custom`})}A();var Gb=class extends k{constructor(){super(`No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.`,{docsPath:`/docs/clients/intro`,name:`UrlRequiredError`})}};Jo(),dm();let Kb=0,qb=new WeakMap;function Jb(e){if(!e)return`default`;let t=qb.get(e);if(t!==void 0)return t;let n=Kb++;return qb.set(e,n),n}function Yb(e,t={}){let{batch:n,fetchFn:r,fetchOptions:i,key:a=`http`,maxResponseBodySize:o,methods:s,name:c=`HTTP JSON-RPC`,onFetchRequest:l,onFetchResponse:u,retryDelay:d,raw:f}=t;return({chain:p,retryCount:m,timeout:h})=>{let{batchSize:g=1e3,wait:_=0}=typeof n==`object`?n:{},v=t.retryCount??m,y=h??t.timeout??1e4,b=e||p?.rpcUrls.default.http[0];if(!b)throw new Gb;let x=ag(b,{fetchFn:r,fetchOptions:i,maxResponseBodySize:o,onRequest:l,onResponse:u,timeout:y});return Ub({key:a,methods:s,name:c,async request({method:e,params:t},r){let i={method:e,params:t},a=r?.signal?{signal:r.signal}:void 0,{schedule:o}=lm({id:`${b}.${Jb(r?.signal)}`,wait:_,shouldSplitBatch(e){return e.length>g},fn:e=>x.request({body:e,fetchOptions:a}),sort:(e,t)=>e.id-t.id}),[{error:s,result:c}]=await(async e=>n?o(e):[await x.request({body:e,fetchOptions:a})])(i);if(f)return{error:s,result:c};if(s)throw new Ko({body:i,error:s,url:b});return c},retryCount:v,retryDelay:d,timeout:y,type:`http`},{fetchOptions:i,url:b})}}hf(),B();function Xb(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];r&&A_(r,{strict:!1}),t.push({address:r,storageKeys:i.map(e=>__(e)?e:gp(e))})}return t}function Zb(e){if(!e||e.length===0)return[];let t=[];for(let{address:n,storageKeys:r}of e){for(let e=0;e<r.length;e++)if(hp(r[e])!==32)throw new Qb({storageKey:r[e]});n&&A_(n,{strict:!1}),t.push([n,r])}return t}var Qb=class extends I{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${hp(e)} bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AccessList.InvalidStorageKeySizeError`})}};op();let $b=new TextEncoder,ex=new TextDecoder,tx=Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[t,e.charCodeAt(0)])),nx={...Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[e.charCodeAt(0),t])),61:0,45:62,95:63};function rx(e,t={}){let{pad:n=!0,url:r=!1}=t,i=new Uint8Array(Math.ceil(e.length/3)*4);for(let t=0,n=0;n<e.length;t+=4,n+=3){let r=(e[n]<<16)+(e[n+1]<<8)+(e[n+2]|0);i[t]=tx[r>>18],i[t+1]=tx[r>>12&63],i[t+2]=tx[r>>6&63],i[t+3]=tx[r&63]}let a=e.length%3,o=Math.floor(e.length/3)*4+(a&&a+1),s=ex.decode(new Uint8Array(i.buffer,0,o));return n&&a===1&&(s+=`==`),n&&a===2&&(s+=`=`),r&&(s=s.replaceAll(`+`,`-`).replaceAll(`/`,`_`)),s}function ix(e,t={}){return rx(zf(e),t)}function ax(e,t={}){return rx(Bf(e),t)}function ox(e){let t=e.replace(/=+$/,``),n=t.length,r=new Uint8Array(n+3);$b.encodeInto(t+`===`,r);for(let e=0,n=0;e<t.length;e+=4,n+=3){let t=(nx[r[e]]<<18)+(nx[r[e+1]]<<12)+(nx[r[e+2]]<<6)+nx[r[e+3]];r[n]=t>>16,r[n+1]=t>>8&255,r[n+2]=t&255}let i=(n>>2)*3+(n%4&&n%4-1);return new Uint8Array(r.buffer,0,i)}function sx(e){return Yf(ox(e))}let cx={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},lx={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function ux(e,t={}){if(!e)return null;let n=zv(e),r={...e,...n};return r.blockNumber=e.blockNumber?BigInt(e.blockNumber):null,`blockTimestamp`in e&&(r.blockTimestamp=e.blockTimestamp?BigInt(e.blockTimestamp):e.blockTimestamp===null?null:void 0),r.data=e.input,r.gas=BigInt(e.gas??0n),r.nonce=BigInt(e.nonce??0n),r.transactionIndex=e.transactionIndex?Number(e.transactionIndex):null,r.value=BigInt(e.value??0n),e.authorizationList&&(r.authorizationList=ry(e.authorizationList)),e.chainId&&(r.chainId=Number(e.chainId)),e.gasPrice&&(r.gasPrice=BigInt(e.gasPrice)),e.maxFeePerBlobGas&&(r.maxFeePerBlobGas=BigInt(e.maxFeePerBlobGas)),e.maxFeePerGas&&(r.maxFeePerGas=BigInt(e.maxFeePerGas)),e.maxPriorityFeePerGas&&(r.maxPriorityFeePerGas=BigInt(e.maxPriorityFeePerGas)),e.type&&(r.type=lx[e.type]??e.type),n&&(r.v=Jv(n.yParity)),r}op(),hf(),B();function dx(e,t={}){let{as:n=`Hex`}=t,r=Tx(e),i=uv(new Uint8Array(r.length));return r.encode(i),n===`Hex`?up(i.bytes):i.bytes}var fx=class extends I{constructor({majorType:e}){super(`Invalid CBOR major type: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidMajorTypeError`})}},px=class extends I{constructor({additionalInfo:e}){super(`Invalid CBOR additional info: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidAdditionalInfoError`})}},mx=class extends I{constructor(){super(`64-bit integers are not supported in CBOR decoding.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.Unsupported64BitIntegerError`})}},hx=class extends I{constructor({tag:e}){super(`CBOR tagged data (tag ${e}) is not yet supported.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnsupportedTagError`})}},gx=class extends I{constructor({type:e}){super(`Invalid chunk type in indefinite-length ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidIndefiniteLengthChunkError`})}},_x=class extends I{constructor({value:e}){super(`Invalid CBOR simple value: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidSimpleValueError`})}},vx=class extends I{constructor(){super(`BigInt values are not supported in CBOR encoding.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnsupportedBigIntError`})}},yx=class extends I{constructor({token:e}){super(`Unexpected token: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnexpectedTokenError`})}},bx=class extends I{constructor({number:e}){super(`Number exceeds maximum safe integer (${2**53-1}): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.NumberTooLargeError`})}},xx=class extends I{constructor({size:e}){super(`String length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.StringTooLargeError`})}},Sx=class extends I{constructor({size:e}){super(`Array length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ArrayTooLargeError`})}},Cx=class extends I{constructor({size:e}){super(`Object size exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ObjectTooLargeError`})}},wx=class extends I{constructor({size:e}){super(`Byte string length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ByteStringTooLargeError`})}};function Tx(e){if(e===void 0)return{length:1,encode:e=>e.pushUint8(247)};if(e===null)return{length:1,encode:e=>e.pushUint8(246)};if(typeof e==`boolean`)return{length:1,encode:t=>t.pushUint8(e?245:244)};if(typeof e==`number`)return Tx.number(e);if(typeof e==`bigint`)throw new vx;if(typeof e==`string`)return Tx.string(e);if(Array.isArray(e))return Tx.array(e);if(e instanceof Uint8Array)return Tx.byteString(e);if(e instanceof ArrayBuffer)return Tx.byteString(new Uint8Array(e));if(ArrayBuffer.isView(e))return Tx.byteString(new Uint8Array(e.buffer,e.byteOffset,e.byteLength));if(e instanceof Map)return Tx.map(e);if(typeof e==`object`)return Tx.object(e);throw new yx({token:String(e)})}(function(e){function t(e){if(!Number.isSafeInteger(e)){let t=Math.fround(e);return Number.isNaN(e)||e===t?{length:5,encode(t){t.pushUint8(250),t.dataView.setFloat32(t.position,e,!1),t.position+=4}}:{length:9,encode(t){t.pushUint8(251),t.dataView.setFloat64(t.position,e,!1),t.position+=8}}}if(e>=0){if(e<=23)return{length:1,encode:t=>t.pushUint8(e)};if(e<=255)return{length:2,encode:t=>{t.pushUint8(24),t.pushUint8(e)}};if(e<=65535)return{length:3,encode:t=>{t.pushUint8(25),t.pushUint16(e)}};if(e<=4294967295)return{length:5,encode:t=>{t.pushUint8(26),t.pushUint32(e)}};throw new bx({number:e.toString(10)})}let t=-1-e;if(e>=-24)return{length:1,encode:e=>e.pushUint8(32+t)};if(t<=255)return{length:2,encode:e=>{e.pushUint8(56),e.pushUint8(t)}};if(t<=65535)return{length:3,encode:e=>{e.pushUint8(57),e.pushUint16(t)}};if(t<=4294967295)return{length:5,encode:e=>{e.pushUint8(58),e.pushUint32(t)}};throw new bx({number:e.toString(10)})}e.number=t;function n(e){let t=Bf(e),n=t.length;if(n<=23)return{length:1+n,encode(e){e.pushUint8(96+n),n>0&&e.pushBytes(t)}};if(n<=255)return{length:2+n,encode(e){e.pushUint8(120),e.pushUint8(n),e.pushBytes(t)}};if(n<=65535)return{length:3+n,encode(e){e.pushUint8(121),e.pushUint16(n),e.pushBytes(t)}};if(n<=4294967295)return{length:5+n,encode(e){e.pushUint8(122),e.pushUint32(n),e.pushBytes(t)}};throw new xx({size:n})}e.string=n;function r(t){let n=t.map(t=>e(t)),r=n.reduce((e,t)=>e+t.length,0),i=t.length;if(i<=23)return{length:1+r,encode(e){e.pushUint8(128+i);for(let t of n)t.encode(e)}};if(i<=255)return{length:2+r,encode(e){e.pushUint8(152),e.pushUint8(i);for(let t of n)t.encode(e)}};if(i<=65535)return{length:3+r,encode(e){e.pushUint8(153),e.pushUint16(i);for(let t of n)t.encode(e)}};if(i<=4294967295)return{length:5+r,encode(e){e.pushUint8(154),e.pushUint32(i);for(let t of n)t.encode(e)}};throw new Sx({size:i})}e.array=r;function i(e){let t=e.byteLength;if(t<=23)return{length:1+t,encode(n){n.pushUint8(64+t),n.pushBytes(e)}};if(t<=255)return{length:2+t,encode(n){n.pushUint8(88),n.pushUint8(t),n.pushBytes(e)}};if(t<=65535)return{length:3+t,encode(n){n.pushUint8(89),n.pushUint16(t),n.pushBytes(e)}};if(t<=4294967295)return{length:5+t,encode(n){n.pushUint8(90),n.pushUint32(t),n.pushBytes(e)}};throw new wx({size:t})}e.byteString=i;function a(t){let n=Object.keys(t),r=n.map(n=>({key:e(n),value:e(t[n])})),i=r.reduce((e,t)=>e+t.key.length+t.value.length,0),a=n.length;if(a<=23)return{length:1+i,encode(e){e.pushUint8(160+a);for(let t of r)t.key.encode(e),t.value.encode(e)}};if(a<=255)return{length:2+i,encode(e){e.pushUint8(184),e.pushUint8(a);for(let t of r)t.key.encode(e),t.value.encode(e)}};if(a<=65535)return{length:3+i,encode(e){e.pushUint8(185),e.pushUint16(a);for(let t of r)t.key.encode(e),t.value.encode(e)}};if(a<=4294967295)return{length:5+i,encode(e){e.pushUint8(186),e.pushUint32(a);for(let t of r)t.key.encode(e),t.value.encode(e)}};throw new Cx({size:a})}e.object=a;function o(t){let n=[];for(let[r,i]of t)n.push({key:e(r),value:e(i)});let r=n.reduce((e,t)=>e+t.key.length+t.value.length,0),i=t.size;if(i<=23)return{length:1+r,encode(e){e.pushUint8(160+i);for(let t of n)t.key.encode(e),t.value.encode(e)}};if(i<=255)return{length:2+r,encode(e){e.pushUint8(184),e.pushUint8(i);for(let t of n)t.key.encode(e),t.value.encode(e)}};if(i<=65535)return{length:3+r,encode(e){e.pushUint8(185),e.pushUint16(i);for(let t of n)t.key.encode(e),t.value.encode(e)}};if(i<=4294967295)return{length:5+r,encode(e){e.pushUint8(186),e.pushUint32(i);for(let t of n)t.key.encode(e),t.value.encode(e)}};throw new Cx({size:i})}e.map=o})(Tx||={});function Ex(e){let t=e.readUint8(),n=t>>5,r=t&31;switch(n){case 0:return Ex.readUnsignedInteger(e,r);case 1:return Ex.readNegativeInteger(e,r);case 2:return Ex.readByteString(e,r);case 3:return Ex.readTextString(e,r);case 4:return Ex.readArray(e,r);case 5:return Ex.readMap(e,r);case 6:throw new hx({tag:r});case 7:return Ex.readSimpleOrFloat(e,r);default:throw new fx({majorType:n})}}(function(e){function t(e,t){if(t<24)return t;if(t===24)return e.readUint8();if(t===25)return e.readUint16();if(t===26)return e.readUint32();throw t===27?new mx:new px({additionalInfo:t})}function n(e,n){return t(e,n)}e.readUnsignedInteger=n;function r(e,n){return-1-t(e,n)}e.readNegativeInteger=r;function i(n,r){if(r===31){let t=[],r=0;for(;;){if(n.inspectUint8()===255){n.readUint8();break}let i=e(n);if(!(i instanceof Uint8Array))throw new gx({type:`byte string`});t.push(i),r+=i.length}let i=new Uint8Array(r),a=0;for(let e of t)i.set(e,a),a+=e.length;return i}let i=t(n,r);return n.readBytes(i)}e.readByteString=i;function a(n,r){if(r===31){let t=[];for(;;){if(n.inspectUint8()===255){n.readUint8();break}let r=e(n);if(typeof r!=`string`)throw new gx({type:`text string`});t.push(r)}return t.join(``)}let i=t(n,r);return Yf(n.readBytes(i))}e.readTextString=a;function o(n,r){if(r===31){let t=[];for(;;){if(n.inspectUint8()===255){n.readUint8();break}t.push(e(n))}return t}let i=t(n,r),a=[];for(let t=0;t<i;t++)a.push(e(n));return a}e.readArray=o;function s(n,r){if(r===31){let t={};for(;;){if(n.inspectUint8()===255){n.readUint8();break}let r=e(n),i=typeof r==`string`?r:String(r);t[i]=e(n)}return t}let i=t(n,r),a={};for(let t=0;t<i;t++){let t=e(n),r=typeof t==`string`?t:String(t);a[r]=e(n)}return a}e.readMap=s;function c(e,t){if(t===20)return!1;if(t===21)return!0;if(t===22)return null;if(t!==23){if(t===25)return l(e.readUint16());if(t===26){let t=e.dataView.getFloat32(e.position,!1);return e.position+=4,t}if(t===27){let t=e.dataView.getFloat64(e.position,!1);return e.position+=8,t}if(t===24){let t=e.readUint8();if(t<32)throw new _x({value:t});return}throw new px({additionalInfo:t})}}e.readSimpleOrFloat=c;function l(e){let t=e>>15&1,n=e>>10&31,r=e&1023;if(n===0){if(r===0)return t?-0:0;let e=2**-14*(r/1024);return t?-e:e}if(n===31)return r===0?t?-1/0:1/0:NaN;let i=2**(n-15)*(1+r/1024);return t?-i:i}})(Ex||={}),hf();function Dx(e){let t=S_(e),n=t.slice(1,33),r=t.slice(33,65);return dx(new Map([[1,2],[3,-7],[-1,1],[-2,n],[-3,r]]))}Ys(),Il(),nl();\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet Ox=Wc(BigInt(`0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff`)),kx=Fl({a:Ox.create(BigInt(`-3`)),b:BigInt(`0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b`),Fp:Ox,n:BigInt(`0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551`),Gx:BigInt(`0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296`),Gy:BigInt(`0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5`),h:BigInt(1),lowS:!1},Ks),Ax=Wc(BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff`));Fl({a:Ax.create(BigInt(`-3`)),b:BigInt(`0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef`),Fp:Ax,n:BigInt(`0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973`),Gx:BigInt(`0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7`),Gy:BigInt(`0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f`),h:BigInt(1),lowS:!1},Js);let jx=Wc(BigInt(`0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`));Fl({a:jx.create(BigInt(`-3`)),b:BigInt(`0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00`),Fp:jx,n:BigInt(`0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409`),Gx:BigInt(`0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66`),Gy:BigInt(`0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650`),h:BigInt(1),lowS:!1,allowedPrivateKeyLengths:[130,131,132]},qs);\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet Mx=kx,Nx=kx;op(),B();function Px(e){let{privateKey:t}=e;return y_(Nx.ProjectivePoint.fromPrivateKey(typeof t==`string`?t.slice(2):up(t).slice(2)))}function Fx(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=Nx.sign(r instanceof Uint8Array?r:zf(r),i instanceof Uint8Array?i:zf(i),{extraEntropy:typeof t==`boolean`?t:cp(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function Ix(e){let{hash:t,payload:n,publicKey:r,signature:i}=e;return Nx.verify(i,n instanceof Uint8Array?n:zf(n),C_(r).substring(2),{lowS:!0,...t?{prehash:!0}:{}})}var Lx=u(s(((e,t)=>{var n=Object.prototype.hasOwnProperty,r=`~`;function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(r=!1));function a(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,n,i,o){if(typeof n!=`function`)throw TypeError(`The listener must be a function`);var s=new a(n,i||e,o),c=r?r+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){--e._eventsCount===0?e._events=new i:delete e._events[t]}function c(){this._events=new i,this._eventsCount=0}c.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)n.call(t,i)&&e.push(r?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e},c.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,a=n.length,o=Array(a);i<a;i++)o[i]=n[i].fn;return o},c.prototype.listenerCount=function(e){var t=r?r+e:e,n=this._events[t];return n?n.fn?1:n.length:0},c.prototype.emit=function(e,t,n,i,a,o){var s=r?r+e:e;if(!this._events[s])return!1;var c=this._events[s],l=arguments.length,u,d;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,i),!0;case 5:return c.fn.call(c.context,t,n,i,a),!0;case 6:return c.fn.call(c.context,t,n,i,a,o),!0}for(d=1,u=Array(l-1);d<l;d++)u[d-1]=arguments[d];c.fn.apply(c.context,u)}else{var f=c.length,p;for(d=0;d<f;d++)switch(c[d].once&&this.removeListener(e,c[d].fn,void 0,!0),l){case 1:c[d].fn.call(c[d].context);break;case 2:c[d].fn.call(c[d].context,t);break;case 3:c[d].fn.call(c[d].context,t,n);break;case 4:c[d].fn.call(c[d].context,t,n,i);break;default:if(!u)for(p=1,u=Array(l-1);p<l;p++)u[p-1]=arguments[p];c[d].fn.apply(c[d].context,u)}}return!0},c.prototype.on=function(e,t,n){return o(this,e,t,n,!1)},c.prototype.once=function(e,t,n){return o(this,e,t,n,!0)},c.prototype.removeListener=function(e,t,n,i){var a=r?r+e:e;if(!this._events[a])return this;if(!t)return s(this,a),this;var o=this._events[a];if(o.fn)o.fn===t&&(!i||o.once)&&(!n||o.context===n)&&s(this,a);else{for(var c=0,l=[],u=o.length;c<u;c++)(o[c].fn!==t||i&&!o[c].once||n&&o[c].context!==n)&&l.push(o[c]);l.length?this._events[a]=l.length===1?l[0]:l:s(this,a)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=r?r+e:e,this._events[t]&&s(this,t)):(this._events=new i,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=r,c.EventEmitter=c,t!==void 0&&(t.exports=c)}))(),1);function Rx(e,t={}){let{raw:n=!1}=t,r=e;if(n)return e;if(r.error)throw zx(r.error);return r.result}function zx(e){let t=e;if(t instanceof Error&&!(`code`in t))return new Zx({cause:t,data:t,message:t.message,stack:t.stack});let{code:n}=t;return n===Zx.code?new Zx(t):n===Vx.code?new Vx(t):n===Xx.code?new Xx(t):n===Jx.code?new Jx(t):n===Kx.code?new Kx(t):n===Yx.code?new Yx(t):n===Gx.code?new Gx(t):n===Qx.code?new Qx(t):n===Hx.code?new Hx(t):n===Ux.code?new Ux(t):n===Wx.code?new Wx(t):n===qx.code?new qx(t):new Zx({cause:t instanceof Error?t:void 0,data:t,message:t.message,stack:t instanceof Error?t.stack:void 0})}var Bx=class extends Error{constructor(e){let{cause:t,code:n,message:r,data:i,stack:a}=e;super(r,{cause:t}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.BaseError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"stack\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t,this.code=n,this.data=i,this.stack=a??``}},Vx=class e extends Bx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Missing or invalid parameters.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.InvalidInputError`})}};Object.defineProperty(Vx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});var Hx=class e extends Bx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Requested resource not found.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.ResourceNotFoundError`})}};Object.defineProperty(Hx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001});var Ux=class e extends Bx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Requested resource not available.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.ResourceUnavailableError`})}};Object.defineProperty(Ux,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002});var Wx=class e extends Bx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Transaction creation failed.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.TransactionRejectedError`})}};Object.defineProperty(Wx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003});var Gx=class e extends Bx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Method is not implemented.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.MethodNotSupportedError`})}};Object.defineProperty(Gx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004});var Kx=class e extends Bx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Rate limit exceeded.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.LimitExceededError`})}};Object.defineProperty(Kx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005});var qx=class e extends Bx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`JSON-RPC version not supported.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.VersionNotSupportedError`})}};Object.defineProperty(qx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006});var Jx=class e extends Bx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Input is not a valid JSON-RPC request.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.InvalidRequestError`})}};Object.defineProperty(Jx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600});var Yx=class e extends Bx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Method does not exist.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.MethodNotFoundError`})}};Object.defineProperty(Yx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601});var Xx=class e extends Bx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Invalid method parameters.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.InvalidParamsError`})}};Object.defineProperty(Xx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602});var Zx=class e extends Bx{constructor(t={}){super({cause:t.cause,code:e.code,data:t.data,message:t.message??`Internal JSON-RPC error.`,stack:t.stack}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.InternalError`})}};Object.defineProperty(Zx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603});var Qx=class e extends Bx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Failed to parse JSON-RPC response.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.ParseError`})}};Object.defineProperty(Qx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),hf();var $x=class extends Error{constructor(e,t){super(t),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`ProviderRpcError`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=e,this.details=t}},eS=class extends $x{constructor({message:e=`The user rejected the request.`}={}){super(4001,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UserRejectedRequestError`})}};Object.defineProperty(eS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001});var tS=class extends $x{constructor({message:e=`The requested method and/or account has not been authorized by the user.`}={}){super(4100,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UnauthorizedError`})}};Object.defineProperty(tS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100});var nS=class extends $x{constructor({message:e=`The provider does not support the requested method.`}={}){super(4200,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UnsupportedMethodError`})}};Object.defineProperty(nS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200});var rS=class extends $x{constructor({message:e=`The provider is disconnected from all chains.`}={}){super(4900,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.DisconnectedError`})}};Object.defineProperty(rS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900});var iS=class extends $x{constructor({message:e=`The provider is not connected to the requested chain.`}={}){super(4901,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.ChainDisconnectedError`})}};Object.defineProperty(iS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901});var aS=class extends $x{constructor({message:e=`An error occurred when attempting to switch chain.`}={}){super(4902,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.SwitchChainError`})}};Object.defineProperty(aS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902});var oS=class extends $x{constructor({message:e=`This Wallet does not support a capability that was not marked as optional.`}={}){super(5700,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UnsupportedNonOptionalCapabilityError`})}};Object.defineProperty(oS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700});var sS=class extends $x{constructor({message:e=`This Wallet does not support the requested chain ID.`}={}){super(5710,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UnsupportedChainIdError`})}};Object.defineProperty(sS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710});var cS=class extends $x{constructor({message:e=`There is already a bundle submitted with this ID.`}={}){super(5720,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.DuplicateIdError`})}};Object.defineProperty(cS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720});var lS=class extends $x{constructor({message:e=`This bundle id is unknown / has not been submitted.`}={}){super(5730,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UnknownBundleIdError`})}};Object.defineProperty(lS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730});var uS=class extends $x{constructor({message:e=`The call bundle is too large for the Wallet to process.`}={}){super(5740,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.BundleTooLargeError`})}};Object.defineProperty(uS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740});var dS=class extends $x{constructor({message:e=`The Wallet can support atomicity after an upgrade, but the user rejected the upgrade.`}={}){super(5750,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.AtomicReadyWalletRejectedUpgradeError`})}};Object.defineProperty(dS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750});var fS=class extends $x{constructor({message:e=`The wallet does not support atomic execution but the request requires it.`}={}){super(5760,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.AtomicityNotSupportedError`})}};Object.defineProperty(fS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760});function pS(){let e=new Lx.default;return{get eventNames(){return e.eventNames.bind(e)},get listenerCount(){return e.listenerCount.bind(e)},get listeners(){return e.listeners.bind(e)},addListener:e.addListener.bind(e),emit:e.emit.bind(e),off:e.off.bind(e),on:e.on.bind(e),once:e.once.bind(e),removeAllListeners:e.removeAllListeners.bind(e),removeListener:e.removeListener.bind(e)}}function mS(e,t={}){if(!e)throw new gS;return{...e,async request(t){try{let n=await e.request(t);return n&&typeof n==`object`&&`jsonrpc`in n?Rx(n):n}catch(e){throw hS(e)}}}}function hS(e){let t=zx(e);if(t instanceof Zx){if(!t.data)return t;let{code:e}=t.data;if(e===rS.code)return new rS(t);if(e===iS.code)return new iS(t);if(e===eS.code)return new eS(t);if(e===tS.code)return new tS(t);if(e===nS.code)return new nS(t);if(e===aS.code)return new aS(t);if(e===dS.code)return new dS(t);if(e===fS.code)return new fS(t);if(e===uS.code)return new uS(t);if(e===lS.code)return new lS(t);if(e===cS.code)return new cS(t);if(e===sS.code)return new sS(t);if(e===oS.code)return new oS(t)}return t}var gS=class extends I{constructor(){super(\"`provider` is undefined.\"),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.IsUndefinedError`})}};function _S(e={}){let t=e.id??0;return{prepare(e){return vS({id:t++,...e})},get id(){return t}}}function vS(e){return{...e,jsonrpc:`2.0`}}function yS(){return null}B();function bS(e){let t={};return e.accessList!==void 0&&(t.accessList=e.accessList),e.authorizationList!==void 0&&(t.authorizationList=ay(e.authorizationList)),e.blobVersionedHashes!==void 0&&(t.blobVersionedHashes=e.blobVersionedHashes),e.blobs!==void 0&&(t.blobs=e.blobs),e.chainId!==void 0&&(t.chainId=R(e.chainId)),e.data===void 0?e.input!==void 0&&(t.data=e.input,t.input=e.input):(t.data=e.data,t.input=e.data),e.from!==void 0&&(t.from=e.from),e.gas!==void 0&&(t.gas=R(e.gas)),e.gasPrice!==void 0&&(t.gasPrice=R(e.gasPrice)),e.maxFeePerBlobGas!==void 0&&(t.maxFeePerBlobGas=R(e.maxFeePerBlobGas)),e.maxFeePerGas!==void 0&&(t.maxFeePerGas=R(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(t.maxPriorityFeePerGas=R(e.maxPriorityFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(t.maxPriorityFeePerGas=R(e.maxPriorityFeePerGas)),e.nonce!==void 0&&(t.nonce=R(e.nonce)),e.to!==void 0&&(t.to=e.to),e.type!==void 0&&(t.type=cx[e.type]||e.type),e.value!==void 0&&(t.value=R(e.value)),t}hf();let xS={wei:0,gwei:9,szabo:12,finney:15,ether:18};function SS(e,t=0){let n=e.toString(),r=n.startsWith(`-`);r&&(n=n.slice(1)),n=n.padStart(t,`0`);let[i,a]=[n.slice(0,n.length-t),n.slice(n.length-t)];return a=a.replace(/(0+)$/,``),`${r?`-`:``}${i||`0`}${a?`.${a}`:``}`}function CS(e,t=`wei`){return SS(e,xS.gwei-xS[t])}hf();var wS=class extends I{constructor({feeCap:e}={}){super(`The fee cap (\\`maxFeePerGas\\`/\\`maxPriorityFeePerGas\\`${e?` = ${CS(e)} gwei`:``}) cannot be higher than the maximum allowed value (2^256-1).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.FeeCapTooHighError`})}},TS=class extends I{constructor({chainId:e}){super(e===void 0?`Chain ID is invalid.`:`Chain ID \"${e}\" is invalid.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.InvalidChainIdError`})}},ES=class extends I{constructor({attributes:e,serialized:t,type:n}){let r=Object.entries(e).map(([e,t])=>t===void 0?e:void 0).filter(Boolean);super(`Invalid serialized transaction of type \"${n}\" was provided.`,{metaMessages:[`Serialized Transaction: \"${t}\"`,r.length>0?`Missing Attributes: ${r.join(`, `)}`:``].filter(Boolean)}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.InvalidSerializedError`})}},DS=class extends I{constructor({maxPriorityFeePerGas:e,maxFeePerGas:t}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${e?` = ${CS(e)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${t?` = ${CS(t)} gwei`:``}).`].join(`\n`)),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.TipAboveFeeCapError`})}};function OS(e){let t=Mx.Signature.fromDER(e).normalizeS();return{r:t.r,s:t.s}}B();function kS(e={}){let{credential:t,flag:n=5,rpId:r=window.location.hostname,signCount:i=0}=e,a=L(g_(dp(r)),R(n,{size:1}),R(i,{size:4}));if(!t)return a;let o=up(new Uint8Array(16)),s=up(t.id);return L(a,o,R(t.id.length,{size:2}),s,Dx(t.publicKey))}function AS(e){let{challenge:t,crossOrigin:n=!1,extraClientData:r,origin:i=window.location.origin,type:a=`webauthn.get`}=e;return JSON.stringify({type:a,challenge:ix(t,{url:!0,pad:!1}),origin:i,crossOrigin:n,...r})}op(),hf(),B();function jS(e){let{credentialId:t,challenge:n,extensions:r,rpId:i=window.location.hostname,userVerification:a=`required`}=e;return{publicKey:{...t?{allowCredentials:Array.isArray(t)?t.map(e=>({id:ox(e),type:`public-key`})):[{id:ox(t),type:`public-key`}]}:{},challenge:zf(n),...r&&{extensions:r},rpId:i,userVerification:a}}}function MS(e){let{challenge:t,crossOrigin:n,extraClientData:r,flag:i,origin:a,rpId:o,signCount:s,userVerification:c=`required`}=e,l=kS({flag:i,rpId:o,signCount:s}),u=AS({challenge:t,crossOrigin:n,extraClientData:r,origin:a}),d=g_(dp(u));return{metadata:{authenticatorData:l,clientDataJSON:u,challengeIndex:u.indexOf(`\"challenge\"`),typeIndex:u.indexOf(`\"type\"`),userVerificationRequired:c===`required`},payload:L(l,d)}}async function NS(e){let{getFn:t=e=>window.navigator.credentials.get(e),...n}=e,r=`publicKey`in n?n:jS(n);try{let e=await t(r);if(!e)throw new PS;let n=e.response,i=new Uint8Array(n.clientDataJSON),a=new Uint8Array(n.authenticatorData),o=new Uint8Array(n.signature),s=e.id,c=String.fromCharCode(...i),l=c.indexOf(`\"challenge\"`),u=c.indexOf(`\"type\"`),d=OS(o);return{id:s,metadata:{authenticatorData:up(a),clientDataJSON:c,challengeIndex:l,typeIndex:u,userVerificationRequired:r.publicKey.userVerification===`required`},signature:d,raw:e}}catch(e){throw new PS({cause:e})}}var PS=class extends I{constructor({cause:e}={}){super(`Failed to request credential.`,{cause:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Authentication.SignFailedError`})}};function FS(e){let{challenge:t,metadata:n,origin:r,publicKey:i,rpId:a,signature:o}=e,{authenticatorData:s,clientDataJSON:c,userVerificationRequired:l}=n,u=zf(s);if(u.length<37||a!==void 0&&!Vf(u.slice(0,32),g_(dp(a),{as:`Bytes`})))return!1;let d=u[32];if((d&1)!=1||l&&(d&4)!=4||(d&8)!=8&&(d&16)==16)return!1;let f=JSON.parse(c);return f.type!==`webauthn.get`||!f.challenge||up(ox(f.challenge))!==t||r!==void 0&&!(Array.isArray(r)?r:[r]).includes(f.origin)?!1:Ix({hash:!0,payload:If(u,g_(Bf(c),{as:`Bytes`})),publicKey:i,signature:o})}let IS=MS;async function LS(e){return NS(e)}function RS(e){return FS(e)}op();async function zS(e={}){let{extractable:t=!1}=e,n=await globalThis.crypto.subtle.generateKey({name:`ECDSA`,namedCurve:`P-256`},t,[`sign`,`verify`]),r=await globalThis.crypto.subtle.exportKey(`raw`,n.publicKey),i=y_(new Uint8Array(r));return{privateKey:n.privateKey,publicKey:i}}async function BS(e){let{payload:t,privateKey:n}=e,r=await globalThis.crypto.subtle.sign({name:`ECDSA`,hash:`SHA-256`},n,Lf(t)),i=Rf(new Uint8Array(r)),a=Kf(Gf(i,0,32)),o=Kf(Gf(i,32,64));return o>Mx.CURVE.n/2n&&(o=Mx.CURVE.n-o),{r:a,s:o}}hf(),B();let VS=2049,HS=`0x${`00`.repeat(32)}`;function US(e){let{salt:t,threshold:n,owners:r}=e;if(t!==void 0&&hp(t)!==32)throw new YS({reason:`salt must be 32 bytes`});if(r.length===0)throw new YS({reason:`owners cannot be empty`});if(r.length>255)throw new YS({reason:`too many owners`});if(!Number.isInteger(Number(n)))throw new YS({reason:`threshold must be an integer`});if(Number(n)<1)throw new YS({reason:`threshold cannot be zero`});if(Number(n)>8)throw new YS({reason:`threshold exceeds max threshold`});let i=0,a;for(let e of r){if(!F_(e.owner)||_p(e.owner)===0n)throw new YS({reason:`owner cannot be zero`});if(!Number.isInteger(Number(e.weight)))throw new YS({reason:`owner weight must be an integer`});if(Number(e.weight)<1)throw new YS({reason:`owner weight cannot be zero`});let t=_p(e.owner);if(a!==void 0&&a>=t)throw new YS({reason:`owners must be strictly ascending`});a=t,i+=Number(e.weight)}if(i>255)throw new YS({reason:`total owner weight exceeds u8 max`});if(Number(n)>i)throw new YS({reason:`threshold exceeds total owner weight`})}function WS(e){let t=[...e.owners].sort((e,t)=>_p(e.owner)<_p(t.owner)?-1:1),n={salt:e.salt?fp(e.salt,32):HS,threshold:e.threshold,owners:t};return US(n),n}function GS(e){let[t,n,r]=e;return{salt:t&&t!==`0x`?fp(t,32):HS,threshold:n===`0x`?0:yp(n),owners:r.map(e=>{let[t,n]=e;return{owner:t,weight:!n||n===`0x`?0:yp(n)}})}}function KS(e){US(e);let t=M_(z(m_(L(dp(`tempo:multisig:account`),fp(e.salt??HS,32),R(e.threshold,{size:1}),R(e.owners.length,{size:1}),...e.owners.flatMap(e=>[e.owner,R(e.weight,{size:1})]))),12,32));if(_p(t)===0n)throw new YS({reason:`derived account cannot be zero`});return t}function qS(e){let{payload:t}=e,n=`account`in e&&e.account?e.account:KS(e.genesisConfig);return m_(L(dp(`tempo:multisig:signature`),cp(t),n))}function JS(e){US(e);let t=e.owners.map(e=>[e.owner,R(e.weight)]);return[e.salt?fp(e.salt,32):HS,R(e.threshold),t]}var YS=class extends I{constructor({reason:e}){super(`Invalid native multisig config: ${e}.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`MultisigConfig.InvalidConfigError`})}};hf(),B(),Pf();let XS=`0x01`,ZS=`0x02`,QS=`0x03`,$S=`0x04`,eC=`0x05`,tC=`0x7777777777777777777777777777777777777777777777777777777777777777`;function nC(e){let t=uC(e);if(t===`secp256k1`){Iv(e.signature);return}if(t===`p256`){let t=e,n=[];if(typeof t.signature?.r!=`bigint`&&n.push(`signature.r`),typeof t.signature?.s!=`bigint`&&n.push(`signature.s`),typeof t.prehash!=`boolean`&&n.push(`prehash`),t.publicKey?(typeof t.publicKey.x!=`bigint`&&n.push(`publicKey.x`),typeof t.publicKey.y!=`bigint`&&n.push(`publicKey.y`)):n.push(`publicKey`),n.length>0)throw new gC({envelope:e,missing:n,type:`p256`});return}if(t===`webAuthn`){let t=e,n=[];if(typeof t.signature?.r!=`bigint`&&n.push(`signature.r`),typeof t.signature?.s!=`bigint`&&n.push(`signature.s`),t.metadata?(t.metadata.authenticatorData||n.push(`metadata.authenticatorData`),t.metadata.clientDataJSON||n.push(`metadata.clientDataJSON`)):n.push(`metadata`),t.publicKey?(typeof t.publicKey.x!=`bigint`&&n.push(`publicKey.x`),typeof t.publicKey.y!=`bigint`&&n.push(`publicKey.y`)):n.push(`publicKey`),n.length>0)throw new gC({envelope:e,missing:n,type:`webAuthn`});return}if(t===`keychain`){nC(e.inner);return}if(t===`multisig`){rC(e,1);return}}function rC(e,t){let n=[];if(e.account||n.push(`account`),Array.isArray(e.signatures)||n.push(`signatures`),n.length>0)throw new gC({envelope:e,missing:n,type:`multisig`});if(t>2)throw new vC({reason:`multisig nesting depth exceeds 2`});if(!F_(e.account))throw new vC({reason:`multisig account is invalid`});if(_p(e.account)===0n)throw new vC({reason:`multisig account cannot be zero`});if(e.signatures.length===0)throw new vC({reason:`multisig signatures cannot be empty`});if(e.signatures.length>8)throw new vC({reason:`multisig signatures exceed 8`});if(e.init&&(US(e.init),!P_(KS(e.init),e.account)))throw new vC({reason:`multisig init does not derive account`});for(let n of e.signatures){let e=uC(n);if(e===`keychain`)throw new vC({reason:`keychain owner approvals are not allowed`});if(e===`multisig`){let e=n;if(e.init)throw new vC({reason:\"nested multisig owner approvals cannot carry `init`\"});rC(e,t+1)}else nC(n);if(hp(dC(n))>2049)throw new vC({reason:`multisig owner signature exceeds ${VS} bytes`})}}function iC(e){let{signature:t,root:n}=e;return t.type===`keychain`?n?t.userAddress:iC({...e,signature:t.inner}):t.type===`multisig`?t.account:N_(aC(e))}function aC(e){let{payload:t,signature:n}=e;switch(n.type){case`secp256k1`:return cy({payload:t,signature:n.signature});case`p256`:case`webAuthn`:return n.publicKey;case`keychain`:return aC({payload:t,signature:n.inner});case`multisig`:throw new hC({envelope:n})}}function oC(e){return sC(e,0)}function sC(e,t){let n=e.endsWith(`7777777777777777777777777777777777777777777777777777777777777777`)?z(e,0,-hp(tC)):e;if(hp(n)===65){let e=Rv(n);return Iv(e),{signature:e,type:`secp256k1`}}let r=z(n,0,1),i=z(n,1),a=hp(i);if(r===XS){if(a!==129)throw new _C({reason:`Invalid P256 signature envelope size: expected 129 bytes, got ${a} bytes`,serialized:n});return{publicKey:{prefix:4,x:_p(z(i,64,96)),y:_p(z(i,96,128))},prehash:yp(z(i,128,129))!==0,signature:{r:_p(z(i,0,32)),s:_p(z(i,32,64))},type:`p256`}}if(r===ZS){if(a<128)throw new _C({reason:`Invalid WebAuthn signature envelope size: expected at least 128 bytes, got ${a} bytes`,serialized:n});let e=a-128,t=z(i,0,e),r,o;for(let n=37;n<e;n++){let e=bp(z(t,n));if(e.startsWith(`{`)&&e.endsWith(`}`))try{JSON.parse(e),r=z(t,0,n),o=e;break}catch{}}if(!r||!o)throw new _C({reason:`Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON`,serialized:n});return{publicKey:{prefix:4,x:_p(z(i,e+64,e+96)),y:_p(z(i,e+96,e+128))},metadata:{authenticatorData:r,clientDataJSON:o},signature:{r:_p(z(i,e,e+32)),s:_p(z(i,e+32,e+64))},type:`webAuthn`}}if(r===QS||r===$S)return{userAddress:z(i,0,20),inner:sC(z(i,20),t),type:`keychain`,version:r===$S?`v2`:`v1`};if(r===eC){let e=t+1;if(e>2)throw new _C({reason:`multisig nesting depth exceeds 2`,serialized:n});let r=Tv(i);if(!Array.isArray(r)||r.length!==2)throw new _C({reason:`invalid multisig wire shape: expected exactly two fields`,serialized:n});let[a,o]=r;if(!Array.isArray(o)||o.some(Array.isArray))throw new _C({reason:`invalid multisig signatures list`,serialized:n});if(o.length===0)throw new _C({reason:`multisig signatures cannot be empty`,serialized:n});if(o.length>8)throw new _C({reason:`multisig signatures exceed 8`,serialized:n});for(let e of o)if(hp(e)>2049)throw new _C({reason:`multisig owner signature exceeds ${VS} bytes`,serialized:n});if(!Array.isArray(a)&&!F_(a))throw new _C({reason:`invalid multisig account`,serialized:n});if(Array.isArray(a)){let[e,t,r]=a;if(a.length!==3||Array.isArray(e)||hp(e)!==32||Array.isArray(t)||hp(t)>1||!Array.isArray(r)||r.some(e=>!Array.isArray(e)||e.length!==2||e.some(Array.isArray)||hp(e[1])>1))throw new _C({reason:`invalid multisig init config`,serialized:n})}let s=Array.isArray(a)?GS(a):void 0,c={type:`multisig`,account:s?KS(s):a,signatures:o.map(t=>sC(t,e)),...s?{init:s}:{}};return rC(c,e),c}throw new _C({reason:`Unknown signature type identifier: ${r}. Expected ${XS} (P256), ${ZS} (WebAuthn), ${QS} (Keychain V1), ${$S} (Keychain V2), or ${eC} (Multisig)`,serialized:n})}function cC(e,t){if(typeof e==`string`)return oC(e);if(typeof e==`object`&&e&&`r`in e&&`s`in e&&`yParity`in e)return{signature:e,type:`secp256k1`};let n=uC(e);if(n===`multisig`){let{genesisConfig:t,init:r,...i}=e,a=i.account?i.account:t?KS(t):i.account,o=r===!0?t:r||void 0;return{...i,account:a,signatures:i.signatures.map(e=>cC(e)),...o?{init:WS(o)}:{},type:n}}return{...e,...n===`p256`?{prehash:e.prehash}:{},...n===`keychain`?{...typeof e==`object`&&e&&`version`in e&&e.version?{}:{version:`v2`},...typeof e==`object`&&`keyId`in e&&e.keyId?{}:(()=>{let n=e.inner;return n.type===`p256`||n.type===`webAuthn`?{keyId:N_(n.publicKey)}:n.type===`secp256k1`&&t?.payload?{keyId:N_(cy({payload:t.payload,signature:n.signature}))}:{}})()}:{},type:n}}function lC(e){if(e.type===`secp256k1`)return{signature:Hv(e),type:`secp256k1`};if(e.type===`p256`)return{prehash:e.preHash,publicKey:{prefix:4,x:_p(e.pubKeyX),y:_p(e.pubKeyY)},signature:{r:_p(e.r),s:_p(e.s)},type:`p256`};if(e.type===`webAuthn`){let t=e.webauthnData,n=hp(t),r,i;for(let e=37;e<n;e++){let n=bp(z(t,e));if(n.startsWith(`{`)&&n.endsWith(`}`))try{JSON.parse(n),r=z(t,0,e),i=n;break}catch{}}if(!r||!i)throw new _C({reason:`Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON`,serialized:t});return{metadata:{authenticatorData:r,clientDataJSON:i},publicKey:{prefix:4,x:_p(e.pubKeyX),y:_p(e.pubKeyY)},signature:{r:_p(e.r),s:_p(e.s)},type:`webAuthn`}}if(e.type===`keychain`||`userAddress`in e&&`signature`in e){let t=e;return{type:`keychain`,userAddress:t.userAddress,inner:lC(t.signature),...t.keyId?{keyId:t.keyId}:{},...t.version?{version:t.version}:{}}}if(e.type===`multisig`||`signatures`in e&&(`account`in e||`init`in e)){let t=e,n=t.account!==void 0,r=t.init!==void 0;if(n===r)throw new vC({reason:\"RPC multisig must contain exactly one of `account` or `init`\"});let i=r?WS(t.init):void 0,a={type:`multisig`,account:i?KS(i):t.account,signatures:t.signatures.map(e=>lC(e)),...i?{init:i}:{}};return nC(a),a}throw new hC({envelope:e})}function uC(e){if(typeof e!=`object`||!e)throw new hC({envelope:e});if(`type`in e&&e.type)return e.type;if(`signature`in e&&!(`publicKey`in e)&&typeof e.signature==`object`&&e.signature!==null&&`r`in e.signature&&`s`in e.signature&&`yParity`in e.signature||`r`in e&&`s`in e&&`yParity`in e)return`secp256k1`;if(`signature`in e&&`prehash`in e&&`publicKey`in e&&typeof e.prehash==`boolean`)return`p256`;if(`signature`in e&&`metadata`in e&&`publicKey`in e)return`webAuthn`;if(`userAddress`in e&&`inner`in e)return`keychain`;if((`account`in e||`genesisConfig`in e||`init`in e)&&`signatures`in e)return`multisig`;throw new hC({envelope:e})}function dC(e,t={}){let n=uC(e);if(n===`secp256k1`)return L(Wv(e.signature),t.magic?tC:`0x`);if(n===`p256`){let n=e;return L(XS,R(n.signature.r,{size:32}),R(n.signature.s,{size:32}),R(n.publicKey.x,{size:32}),R(n.publicKey.y,{size:32}),R(+!!n.prehash,{size:1}),t.magic?tC:`0x`)}if(n===`webAuthn`){let n=e,r=L(n.metadata.authenticatorData,dp(n.metadata.clientDataJSON));return L(ZS,r,R(n.signature.r,{size:32}),R(n.signature.s,{size:32}),R(n.publicKey.x,{size:32}),R(n.publicKey.y,{size:32}),t.magic?tC:`0x`)}if(n===`keychain`){let n=e;return L(n.version===`v1`?QS:$S,n.userAddress,dC(n.inner),t.magic?tC:`0x`)}if(n===`multisig`){let n=e;return nC(n),L(eC,jv([n.init?JS(n.init):n.account,n.signatures.map(e=>dC(e))]),t.magic?tC:`0x`)}throw new hC({envelope:e})}function fC(e){let{payload:t,signatures:n}=e,r=qS(`genesisConfig`in e&&e.genesisConfig?{payload:t,genesisConfig:e.genesisConfig}:{payload:t,account:e.account});return n.map(e=>({key:_p(iC({payload:r,signature:e})),signature:e})).sort((e,t)=>e.key<t.key?-1:+(e.key>t.key)).map(e=>e.signature)}function pC(e){let t=uC(e);if(t===`secp256k1`)return{...Gv(e.signature),type:`secp256k1`};if(t===`p256`){let t=e;return{preHash:t.prehash,pubKeyX:R(t.publicKey.x,{size:32}),pubKeyY:R(t.publicKey.y,{size:32}),r:R(t.signature.r,{size:32}),s:R(t.signature.s,{size:32}),type:`p256`}}if(t===`webAuthn`){let t=e,n=L(t.metadata.authenticatorData,dp(t.metadata.clientDataJSON));return{pubKeyX:R(t.publicKey.x,{size:32}),pubKeyY:R(t.publicKey.y,{size:32}),r:R(t.signature.r,{size:32}),s:R(t.signature.s,{size:32}),type:`webAuthn`,webauthnData:n}}if(t===`keychain`){let t=e;return{type:`keychain`,userAddress:t.userAddress,signature:pC(t.inner),...t.keyId?{keyId:t.keyId}:{},...t.version?{version:t.version}:{}}}if(t===`multisig`){let t=e;nC(t);let n=t.signatures.map(e=>pC(e));return t.init?{init:{...t.init,salt:t.init.salt??HS,threshold:Number(t.init.threshold),owners:t.init.owners.map(e=>({...e,weight:Number(e.weight)}))},signatures:n}:{account:t.account,signatures:n}}throw new hC({envelope:e})}function mC(e,t){let{payload:n}=t,r=(()=>{if(t.address)return t.address;if(t.publicKey)return N_(t.publicKey)})();if(!r)return!1;let i=cC(e);if(i.type===`secp256k1`)return r?uy({address:r,payload:n,signature:i.signature}):!1;if(i.type===`p256`)return P_(N_(i.publicKey),r)?Ix({hash:i.prehash,publicKey:i.publicKey,payload:n,signature:i.signature}):!1;if(i.type===`webAuthn`)return P_(N_(i.publicKey),r)?RS({challenge:cp(n),metadata:i.metadata,publicKey:i.publicKey,signature:i.signature}):!1;throw new yC(`Unable to verify signature envelope of type \"${i.type}\".`)}var hC=class extends I{constructor({envelope:e}){super(`Unable to coerce value (\\`${Mf(e)}\\`) to a valid signature envelope.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.CoercionError`})}},gC=class extends I{constructor({envelope:e,missing:t,type:n}){super(`Signature envelope of type \"${n}\" is missing required properties: ${t.map(e=>`\\`${e}\\``).join(`, `)}.\\n\\nProvided: ${Mf(e)}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.MissingPropertiesError`})}},_C=class extends I{constructor({reason:e,serialized:t}){super(`Unable to deserialize signature envelope: ${e}`,{metaMessages:[`Serialized: ${t}`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.InvalidSerializedError`})}},vC=class extends I{constructor({reason:e}){super(`Invalid native multisig owner approval: ${e}.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.InvalidMultisigApprovalError`})}},yC=class extends I{constructor(){super(...arguments),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.VerificationError`})}};hf(),B();function bC(e){return e.startsWith(`tempo`)?xC(e).address:e}function xC(e){if(!e.startsWith(`tempox`))throw new SC({address:e});let t=e.slice(6);return sp(t,{strict:!0}),{address:j_(t)}}var SC=class extends I{constructor({address:e}){super(`Tempo address \"${e}\" has an invalid prefix. Expected \"tempox\".`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TempoAddress.InvalidPrefixError`})}};B();function CC(e,t={}){if(typeof e.chainId==`string`)return wC(e);let n={...e,address:bC(e.address)};return t.signature?{...n,signature:t.signature}:n}function wC(e){let{address:t,chainId:n,nonce:r}=e,i=lC(e.signature);return{address:t,chainId:Number(n),nonce:BigInt(r),signature:i}}function TC(e){return e.map(e=>wC(e))}function EC(e){let[t,n,r,i]=e,a={address:n,chainId:t===`0x`?0:Number(t),nonce:r===`0x`?0n:BigInt(r)};return i&&(a.signature=oC(i)),CC(a)}function DC(e){let t=[];for(let n of e)t.push(EC(n));return t}function OC(e){let{address:t,chainId:n,nonce:r,signature:i}=e;return{address:t,chainId:R(n),nonce:R(r),signature:pC(i)}}function kC(e){return e.map(e=>OC(e))}function AC(e){let{address:t,chainId:n,nonce:r}=e,i=e.signature?dC(e.signature):void 0;return[n?R(n):`0x`,t,r?R(r):`0x`,...i?[i]:[]]}function jC(e){if(!e||e.length===0)return[];let t=[];for(let n of e)t.push(AC(n));return t}B();let MC=`0x20c0`;function NC(e){let t=bC(e);if(!t.toLowerCase().startsWith(MC))throw Error(`invalid tip20 address.`);return _p(z(t,6))}function PC(e){if(typeof e==`string`){let t=bC(e);return A_(t),t}let t=R(e,{size:18});return L(MC,t)}B();let FC=_v(`address, address, address, address, bytes32, address, bytes32, address, uint256`),IC=_v(`bytes32, bytes32, bytes32, uint256, address`),LC=_v(`bytes32, bytes32, uint96`),RC=m_(dp(`EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)`)),zC=m_(dp(`TIP20 Channel Reserve`)),BC=m_(dp(`1`)),VC=`0x0000000000000000000000000000000000000000`,HC=`0x4d50500000000000000000000000000000000000`,UC=m_(dp(`Voucher(bytes32 channelId,uint96 cumulativeAmount)`));function WC(e){let{authorizedSigner:t=VC,expiringNonceHash:n,operator:r=VC,payee:i,payer:a,salt:o,token:s}=e;return{authorizedSigner:JC(t),expiringNonceHash:n,operator:JC(r),payee:JC(i),payer:JC(a),salt:o,token:typeof s==`string`?JC(s):PC(s)}}function GC(e,t){let n=WC(e);return m_(hv(FC,[n.payer,n.payee,n.operator,n.token,n.salt,n.authorizedSigner,n.expiringNonceHash,HC,BigInt(t.chainId)]))}function KC(e){return m_(hv(IC,[RC,zC,BC,BigInt(e.chainId),HC]))}function qC(e){let t=m_(hv(LC,[UC,e.channelId,e.cumulativeAmount]));return m_(L(`0x1901`,KC({chainId:e.chainId}),t))}function JC(e){return M_(e)}B();function YC(e,t={}){if(`keyId`in e)return XC(e);let n=e;n.witness!==void 0&&uw(n.witness),n.signature&&dw(n.signature);let r={...n,address:bC(n.address),...n.limits?{limits:n.limits.map(e=>({...e,token:bC(e.token)}))}:{},...n.scopes?{scopes:n.scopes.map(e=>({...e,address:bC(e.address),selector:lw(e.selector),...e.recipients?{recipients:e.recipients.map(e=>bC(e))}:{}}))}:{}};if(t.signature){let e=cC(t.signature);return dw(e),{...r,signature:e}}return r}function XC(e){let{allowedCalls:t,chainId:n,keyId:r,expiry:i,limits:a,keyType:o}=e,s=e.witness??void 0,c=e.isAdmin??void 0,l=e.account??void 0,u=lC(e.signature);dw(u),s!==void 0&&uw(s);let d=t?t.flatMap(e=>!e.selectorRules||e.selectorRules.length===0?[{address:e.target}]:e.selectorRules.map(t=>({address:e.target,selector:cw(t.selector),...t.recipients&&t.recipients.length>0?{recipients:t.recipients}:{}}))):void 0,f=l!==void 0&&c?{account:l,isAdmin:!0}:{};return{address:r,chainId:n===`0x`?0n:_p(n),...i==null?{}:{expiry:Number(i)},limits:a?.map(e=>({token:e.token,limit:BigInt(e.limit),...e.period&&sw(e.period)>0?{period:sw(e.period)}:{}})),...d?{scopes:d}:{},signature:u,type:o,...s===void 0?{}:{witness:s},...f}}function ZC(e){let[t,n]=e,[r,i,a,...o]=t,s=(()=>{switch(i){case`0x`:case`0x00`:return`secp256k1`;case`0x01`:return`p256`;case`0x02`:return`webAuthn`;default:throw Error(`Invalid key type: ${i}`)}})(),[c,l,u,d,f,p]=o,m=fw(c)?void 0:sw(c)||void 0,h=Array.isArray(l)&&l.length>0?l.map(e=>{let[t,n,r]=e;return{token:t,limit:ow(n),...r===void 0?{}:{period:sw(r)}}}):void 0,g=Array.isArray(u)?u.flatMap(e=>{let[t,n]=e;return!Array.isArray(n)||n.length===0?[{address:t}]:n.map(e=>{let[n,r]=e;return{address:t,selector:n,...Array.isArray(r)&&r.length>0?{recipients:r}:{}}})}):void 0,_=fw(d)?void 0:d;_!==void 0&&uw(_);let v=(()=>{if(!fw(f)){if(f!==`0x01`)throw new mw(f);return!0}})(),y=fw(p)?void 0:p,b=y!==void 0&&v?{account:y,isAdmin:!0}:{},x={address:a,chainId:r===`0x`?0n:_p(r),type:s,...m===void 0?{}:{expiry:m},...h===void 0?{}:{limits:h},...g===void 0?{}:{scopes:g},..._===void 0?{}:{witness:_},...b};if(n){let e=oC(n);dw(e),x.signature=e}return YC(x)}function QC(e){return ew(e)}function $C(e){return ZC(Tv(e))}function ew(e){let[t]=rw(e);return m_(jv(t))}function tw(e){return jv(rw(e))}function nw(e){let{address:t,scopes:n,chainId:r,expiry:i,limits:a,type:o,signature:s,witness:c,isAdmin:l,account:u}=e;dw(s),c!==void 0&&uw(c);let d=(()=>{if(!n)return;let e=new Map;for(let t of n){let n=t.address;e.has(n)||e.set(n,[]),t.selector&&e.get(n).push({selector:lw(t.selector),...t.recipients&&t.recipients.length>0?{recipients:t.recipients}:{}})}return[...e.entries()].map(([e,t])=>({target:e,...t.length>0?{selectorRules:t}:{}}))})();return{chainId:r===0n?`0x`:R(r),expiry:typeof i==`number`?R(i):null,keyId:bC(t),keyType:o,limits:a?.map(({token:e,limit:t,period:n})=>({token:e,limit:R(t),...n?{period:aw(n)}:{}})),signature:pC(s),...d?{allowedCalls:d}:{},...c===void 0?{}:{witness:c},...l?{isAdmin:!0}:{},...u===void 0?{}:{account:u}}}function rw(e){let{address:t,chainId:n,scopes:r,expiry:i,limits:a,witness:o,isAdmin:s,account:c}=e;o!==void 0&&uw(o);let l=(()=>{if(e.signature)return dw(e.signature),dC(e.signature)})(),u=(()=>{switch(e.type){case`secp256k1`:return`0x`;case`p256`:return`0x01`;case`webAuthn`:return`0x02`;default:throw Error(`Invalid key type: ${e.type}`)}})(),d=a?.map(e=>{let t=[e.token,iw(e.limit)];return e.period&&e.period>0&&t.push(aw(e.period)),t}),f=(()=>{if(!r)return;let e=new Map;for(let t of r){let n=t.address;e.has(n)||e.set(n,[]),t.selector&&e.get(n).push([lw(t.selector),t.recipients??[]])}return[...e.entries()].map(([e,t])=>[e,t.map(([e,t])=>[e,t])])})(),p=o!==void 0||s||c!==void 0,m=[{value:i!=null&&i!==0?aw(i):void 0,placeholder:`0x`},{value:d,placeholder:p?`0x`:[]},{value:f,placeholder:`0x`},{value:o,placeholder:`0x`},{value:s?`0x01`:void 0,placeholder:`0x`},{value:c,placeholder:`0x`}],h=-1;for(let e=m.length-1;e>=0;e--)if(m[e].value!==void 0){h=e;break}let g=m.slice(0,h+1).map(({value:e,placeholder:t})=>e??t);return[[iw(n),u,t,...g],...l?[l]:[]]}function iw(e){return e===0n?`0x`:R(e)}function aw(e){return e===0?`0x`:R(e)}function ow(e){return e===`0x`?0n:BigInt(e)}function sw(e){return e===`0x`?0:yp(e)}function cw(e){return typeof e==`string`?e:Array.isArray(e)?up(new Uint8Array(e)):e}function lw(e){if(e)return e.startsWith(`0x`)?e:Ly(e)}function uw(e){if(hp(e)!==32)throw new pw(e)}function dw(e){if(e.type===`keychain`||e.type===`multisig`)throw new hw(e.type)}function fw(e){return e===void 0||e===`0x`}var pw=class extends Error{constructor(e){super(`Witness \\`${e}\\` must be exactly 32 bytes (got ${hp(e)} bytes).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidWitnessSizeError`})}},mw=class extends Error{constructor(e){super(`Admin marker \\`${e}\\` is invalid; expected \\`0x01\\` (TIP-1049).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidAdminMarkerError`})}},hw=class extends Error{constructor(e){super(`Signature type \\`${e}\\` is invalid for key authorizations; expected \\`secp256k1\\`, \\`p256\\`, or \\`webAuthn\\`.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidSignatureTypeError`})}};B();let gw={defaultAdmin:`DEFAULT_ADMIN_ROLE`,pause:`PAUSE_ROLE`,unpause:`UNPAUSE_ROLE`,issuer:`ISSUER_ROLE`,burnBlocked:`BURN_BLOCKED_ROLE`};function _w(e){return e===`defaultAdmin`?`0x0000000000000000000000000000000000000000000000000000000000000000`:m_(dp(gw[e]??e))}let vw={...cx,tempo:`0x76`},yw={...lx,\"0x76\":`tempo`};function bw(e,t={}){if(!e)return null;let n=ux(e);return n.type=yw[e.type],e.aaAuthorizationList&&(n.authorizationList=TC(e.aaAuthorizationList),delete n.aaAuthorizationList),e.calls&&(n.calls=e.calls.map(e=>({to:e.to,value:e.value&&e.value!==`0x`?BigInt(e.value):void 0,data:e.input||e.data||`0x`}))),e.feeToken&&(n.feeToken=e.feeToken),e.nonceKey&&(n.nonceKey=BigInt(e.nonceKey)),e.signature&&(n.signature=lC(e.signature)),e.validAfter&&(n.validAfter=Number(e.validAfter)),e.validBefore&&(n.validBefore=Number(e.validBefore)),e.keyAuthorization&&(n.keyAuthorization=XC(e.keyAuthorization)),e.feePayerSignature&&(n.feePayerSignature=Hv(e.feePayerSignature),n.feePayerSignature.v=Jv(n.feePayerSignature.yParity)),n}B();function xw(e){let t=bS({...e,authorizationList:void 0});e.authorizationList&&(t.authorizationList=kC(e.authorizationList)),e.calls?t.calls=e.calls.map(e=>({to:e.to?bC(e.to):e.to,value:e.value?R(e.value):`0x`,data:e.data??`0x`})):(e.to||e.data||e.value)&&(t.calls=[{to:e.to?bC(e.to):void 0,value:e.value?R(e.value):`0x`,data:e.data??`0x`}]),e.feeToken!==void 0&&(t.feeToken=PC(e.feeToken)),e.keyAuthorization&&(t.keyAuthorization=nw(e.keyAuthorization)),e.validBefore!==void 0&&(t.validBefore=R(e.validBefore)),e.validAfter!==void 0&&(t.validAfter=R(e.validAfter));let n=(()=>{if(e.nonceKey===`random`)return mp(6);if(typeof e.nonceKey==`bigint`)return R(e.nonceKey)})();return n&&(t.nonceKey=n),(e.calls!==void 0||e.feePayer!==void 0||e.feeToken!==void 0||e.keyAuthorization!==void 0||e.nonceKey!==void 0||e.validBefore!==void 0||e.validAfter!==void 0||e.type===`tempo`)&&(t.type=vw.tempo,delete t.data,delete t.input,delete t.to,delete t.value),t}hf(),B();let Sw=`tempo`;function Cw(e){let{calls:t,chainId:n,maxFeePerGas:r,maxPriorityFeePerGas:i,validBefore:a,validAfter:o}=e;if(!t||t.length===0)throw new jw;if(typeof a==`number`&&typeof o==`number`&&a<=o)throw new Mw({validBefore:a,validAfter:o});if(t)for(let e of t)e.to&&A_(e.to,{strict:!1});if(n<=0)throw new TS({chainId:n});if(r&&BigInt(r)>2n**256n-1n)throw new wS({feeCap:r});if(i&&r&&i>r)throw new DS({maxFeePerGas:r,maxPriorityFeePerGas:i})}function ww(e){let t=Tv(z(e,1)),[n,r,i,a,o,s,c,l,u,d,f,p,m,h,g]=t,_=Array.isArray(h)?h:void 0,v=_?g:h;if(t.length!==13&&t.length!==14&&t.length!==15)throw new ES({attributes:{authorizationList:m,chainId:n,maxPriorityFeePerGas:r,maxFeePerGas:i,gas:a,calls:o,accessList:s,keyAuthorization:_,nonceKey:c,nonce:l,validBefore:u,validAfter:d,feeToken:f,feePayerSignatureOrSender:p,...t.length>12?{signature:v}:{}},serialized:e,type:Sw});let y={chainId:Number(n),type:Sw};xp(a)&&a!==`0x`&&(y.gas=BigInt(a)),xp(l)&&(y.nonce=l===`0x`?0n:BigInt(l)),xp(i)&&i!==`0x`&&(y.maxFeePerGas=BigInt(i)),xp(r)&&r!==`0x`&&(y.maxPriorityFeePerGas=BigInt(r)),xp(c)&&(y.nonceKey=c===`0x`?0n:BigInt(c)),xp(u)&&u!==`0x`&&(y.validBefore=Number(u)),xp(d)&&d!==`0x`&&(y.validAfter=Number(d)),xp(f)&&f!==`0x`&&(y.feeToken=f),o&&o!==`0x`&&(y.calls=o.map(e=>{let[t,n,r]=e,i={};return t&&t!==`0x`&&(i.to=t),n&&n!==`0x`&&(i.value=BigInt(n)),r&&r!==`0x`&&(i.data=r),i})),s?.length!==0&&s!==`0x`&&(y.accessList=Xb(s)),m?.length!==0&&m!==`0x`&&(y.authorizationList=DC(m)),p!==`0x`&&p!==void 0&&(p===`0x00`||F_(p)?(y.feePayerSignature=null,F_(p)&&(y.from=p)):y.feePayerSignature=Uv(p)),_&&(y.keyAuthorization=ZC(_));let b=v?oC(v):void 0;if(b&&(y={...y,signature:b}),!y.from&&b)try{y.from=iC({payload:Ow(Tw(y)),signature:b,root:!0})}catch{}return Cw(y),y}function Tw(e,t={}){let{feePayerSignature:n,signature:r}=t,i=typeof e==`string`?ww(e):e;return i.from&&=bC(i.from),i.calls&&=i.calls.map(e=>({...e,...e.to?{to:bC(e.to)}:{}})),Cw(i),{...i,...r?{signature:cC(r)}:{},...n?{feePayerSignature:Bv(n)}:{},type:`tempo`}}function Ew(e,t={}){let{accessList:n,authorizationList:r,calls:i,chainId:a,feeToken:o,gas:s,keyAuthorization:c,nonce:l,nonceKey:u,maxFeePerGas:d,maxPriorityFeePerGas:f,validBefore:p,validAfter:m}=e;Cw(e);let h=Zb(n),g=t.signature||e.signature,_=jC(r),v=i.map(e=>[e.to?bC(e.to):`0x`,e.value?R(e.value):`0x`,e.data??`0x`]),y=!1,b=(()=>{if(t.sender)return t.sender;if(t.format===`feePayer`&&g){let t=cC(g);if(t.type===`keychain`)return t.userAddress;if(t.type===`p256`||t.type===`webAuthn`)return N_(t.publicKey);if(t.type===`secp256k1`)return sy({payload:Ow(Tw(e)),signature:t.signature})}let n=t.feePayerSignature===void 0?e.feePayerSignature:t.feePayerSignature;return n===null?(y=!0,`0x00`):n?Kv(n):`0x`})(),x=[R(a),f?R(f):`0x`,d?R(d):`0x`,s?R(s):`0x`,v,h,u?R(u):`0x`,l?R(l):`0x`,typeof p==`number`?R(p):`0x`,typeof m==`number`?R(m):`0x`,!y&&(typeof o==`bigint`||typeof o==`string`)?PC(o):`0x`,b,_,...c?[rw(c)]:[],...g?[dC(cC(g))]:[]];return L(t.format===`feePayer`?`0x78`:`0x76`,jv(x))}function Dw(e){return Ew({...e,signature:void 0,...e.feePayerSignature===void 0?{}:{feePayerSignature:null}})}function Ow(e,t={}){let n=kw(e,{presign:!0});return t.from?m_(L(`0x04`,n,bC(t.from))):n}function kw(e,t={}){return m_(t.presign?Dw(e):Ew(e))}function Aw(e,t){let n=bC(t.sender);return m_(Ew({...e,signature:void 0},{sender:n,format:`feePayer`}))}var jw=class extends I{constructor(){super(`Calls list cannot be empty.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.CallsEmptyError`})}},Mw=class extends I{constructor({validBefore:e,validAfter:t}){super(`validBefore (${e}) must be greater than validAfter (${t}).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.InvalidValidityWindowError`})}};let Nw=[{name:`authorizeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`tuple[]`,name:`limits`,components:[{type:`address`,name:`token`},{type:`uint256`,name:`amount`}]}],outputs:[]},{name:`authorizeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`tuple`,name:`config`,components:[{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`tuple[]`,name:`limits`,components:[{type:`address`,name:`token`},{type:`uint256`,name:`amount`},{type:`uint64`,name:`period`}]},{type:`bool`,name:`allowAnyCalls`},{type:`tuple[]`,name:`allowedCalls`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}]}],outputs:[]},{name:`authorizeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`tuple`,name:`config`,components:[{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`tuple[]`,name:`limits`,components:[{type:`address`,name:`token`},{type:`uint256`,name:`amount`},{type:`uint64`,name:`period`}]},{type:`bool`,name:`allowAnyCalls`},{type:`tuple[]`,name:`allowedCalls`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}]},{type:`bytes32`,name:`witness`}],outputs:[]},{name:`authorizeAdminKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`bytes32`,name:`witness`}],outputs:[]},{name:`burnKeyAuthorizationWitness`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`witness`}],outputs:[]},{name:`revokeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`}],outputs:[]},{name:`updateSpendingLimit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`address`,name:`token`},{type:`uint256`,name:`newLimit`}],outputs:[]},{name:`setAllowedCalls`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`tuple[]`,name:`scopes`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}],outputs:[]},{name:`removeAllowedCalls`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`address`,name:`target`}],outputs:[]},{name:`getKey`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`}],outputs:[{type:`tuple`,components:[{type:`uint8`,name:`signatureType`},{type:`address`,name:`keyId`},{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`bool`,name:`isRevoked`}]}]},{name:`getRemainingLimit`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`},{type:`address`,name:`token`}],outputs:[{type:`uint256`,name:`remaining`}]},{name:`getRemainingLimitWithPeriod`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`},{type:`address`,name:`token`}],outputs:[{type:`uint256`,name:`remaining`},{type:`uint64`,name:`periodEnd`}]},{name:`getAllowedCalls`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`}],outputs:[{type:`bool`,name:`isScoped`},{type:`tuple[]`,name:`scopes`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}]},{name:`isKeyAuthorizationWitnessBurned`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`witness`}],outputs:[{type:`bool`}]},{name:`isAdminKey`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`}],outputs:[{type:`bool`}]},{name:`getTransactionKey`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`KeyAuthorized`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0},{type:`uint8`,name:`signatureType`},{type:`uint64`,name:`expiry`}]},{name:`AdminKeyAuthorized`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0}]},{name:`KeyRevoked`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0}]},{name:`SpendingLimitUpdated`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint256`,name:`newLimit`}]},{name:`AccessKeySpend`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint256`,name:`amount`},{type:`uint256`,name:`remainingLimit`}]},{name:`KeyAuthorizationWitness`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`bytes32`,name:`witness`,indexed:!0}]},{name:`KeyAuthorizationWitnessBurned`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`bytes32`,name:`witness`,indexed:!0}]},{name:`UnauthorizedCaller`,type:`error`,inputs:[]},{name:`KeyAlreadyExists`,type:`error`,inputs:[]},{name:`KeyNotFound`,type:`error`,inputs:[]},{name:`KeyExpired`,type:`error`,inputs:[]},{name:`SpendingLimitExceeded`,type:`error`,inputs:[]},{name:`InvalidSpendingLimit`,type:`error`,inputs:[]},{name:`InvalidSignatureType`,type:`error`,inputs:[]},{name:`ZeroPublicKey`,type:`error`,inputs:[]},{name:`ExpiryInPast`,type:`error`,inputs:[]},{name:`KeyAlreadyRevoked`,type:`error`,inputs:[]},{name:`SignatureTypeMismatch`,type:`error`,inputs:[{type:`uint8`,name:`expected`},{type:`uint8`,name:`actual`}]},{name:`CallNotAllowed`,type:`error`,inputs:[]},{name:`InvalidCallScope`,type:`error`,inputs:[]},{name:`InvalidKeyId`,type:`error`,inputs:[]},{name:`InvalidKeyAuthorizationWitness`,type:`error`,inputs:[]},{name:`KeyAuthorizationWitnessAlreadyBurned`,type:`error`,inputs:[]},{name:`LegacyAuthorizeKeySelectorChanged`,type:`error`,inputs:[{type:`bytes4`,name:`newSelector`}]}],Pw=[{name:`registerVirtualMaster`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`salt`}],outputs:[{type:`bytes4`,name:`masterId`}]},{name:`getMaster`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes4`,name:`masterId`}],outputs:[{type:`address`}]},{name:`resolveRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`to`}],outputs:[{type:`address`,name:`effectiveRecipient`}]},{name:`resolveVirtualAddress`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`virtualAddr`}],outputs:[{type:`address`,name:`master`}]},{name:`isVirtualAddress`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`addr`}],outputs:[{type:`bool`}]},{name:`decodeVirtualAddress`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`addr`}],outputs:[{type:`bool`,name:`isVirtual`},{type:`bytes4`,name:`masterId`},{type:`bytes6`,name:`userTag`}]},{name:`isImplicitlyApproved`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`addr`}],outputs:[{type:`bool`}]},{name:`MasterRegistered`,type:`event`,inputs:[{type:`bytes4`,name:`masterId`,indexed:!0},{type:`address`,name:`masterAddress`,indexed:!0}]},{name:`MasterIdCollision`,type:`error`,inputs:[{type:`address`,name:`master`}]},{name:`InvalidMasterAddress`,type:`error`,inputs:[]},{name:`ProofOfWorkFailed`,type:`error`,inputs:[]},{name:`VirtualAddressUnregistered`,type:`error`,inputs:[]}],Fw=[{name:`getNonce`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`uint256`,name:`nonceKey`}],outputs:[{type:`uint64`,name:`nonce`}]},{name:`NonceIncremented`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`uint256`,name:`nonceKey`,indexed:!0},{type:`uint64`,name:`newNonce`}]},{name:`ProtocolNonceNotSupported`,type:`error`,inputs:[]},{name:`InvalidNonceKey`,type:`error`,inputs:[]},{name:`NonceOverflow`,type:`error`,inputs:[]},{name:`ExpiringNonceReplay`,type:`error`,inputs:[]},{name:`ExpiringNonceSetFull`,type:`error`,inputs:[]},{name:`InvalidExpiringNonceExpiry`,type:`error`,inputs:[]}],Iw=[{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes`,name:`receipt`}],outputs:[{type:`uint256`,name:`amount`}]},{name:`claim`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`bytes`,name:`receipt`}],outputs:[]},{name:`burnBlockedReceipt`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes`,name:`receipt`}],outputs:[]},{name:`TransferBlocked`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`address`,name:`receiver`,indexed:!0},{type:`uint64`,name:`blockedNonce`,indexed:!0},{type:`uint256`,name:`amount`},{type:`uint8`,name:`receiptVersion`},{type:`bytes`,name:`receipt`}]},{name:`ReceiptClaimed`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`address`,name:`receiver`,indexed:!0},{type:`uint64`,name:`blockedNonce`,indexed:!0},{type:`uint64`,name:`blockedAt`},{type:`uint8`,name:`receiptVersion`},{type:`address`,name:`originator`},{type:`address`,name:`recipient`},{type:`address`,name:`recoveryAuthority`},{type:`address`,name:`caller`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`}]},{name:`ReceiptBurned`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`address`,name:`receiver`,indexed:!0},{type:`uint64`,name:`blockedNonce`,indexed:!0},{type:`uint64`,name:`blockedAt`},{type:`uint8`,name:`receiptVersion`},{type:`address`,name:`originator`},{type:`address`,name:`recipient`},{type:`address`,name:`recoveryAuthority`},{type:`address`,name:`caller`},{type:`uint256`,name:`amount`}]},{name:`InvalidReceipt`,type:`error`,inputs:[]},{name:`InvalidClaimAddress`,type:`error`,inputs:[]},{name:`UnauthorizedClaimer`,type:`error`,inputs:[]},{name:`AddressReserved`,type:`error`,inputs:[]}],Lw=[{name:`recover`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`address`,name:`signer`}]},{name:`verify`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`signer`},{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`bool`}]},{name:`verifyKeychain`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`bool`}]},{name:`verifyKeychainAdmin`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`bool`}]},{name:`InvalidFormat`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]}],Rw=[{name:`createPair`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`base`}],outputs:[{type:`bytes32`,name:`key`}]},{name:`place`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`}],outputs:[{type:`uint128`,name:`orderId`}]},{name:`placeFlip`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`int16`,name:`flipTick`}],outputs:[{type:`uint128`,name:`orderId`}]},{name:`cancel`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[]},{name:`cancelStaleOrder`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[]},{name:`swapExactAmountIn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountIn`},{type:`uint128`,name:`minAmountOut`}],outputs:[{type:`uint128`,name:`amountOut`}]},{name:`swapExactAmountOut`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountOut`},{type:`uint128`,name:`maxAmountIn`}],outputs:[{type:`uint128`,name:`amountIn`}]},{name:`quoteSwapExactAmountIn`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountIn`}],outputs:[{type:`uint128`,name:`amountOut`}]},{name:`quoteSwapExactAmountOut`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountOut`}],outputs:[{type:`uint128`,name:`amountIn`}]},{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`user`},{type:`address`,name:`token`}],outputs:[{type:`uint128`}]},{name:`withdraw`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`}],outputs:[]},{name:`getOrder`,type:`function`,stateMutability:`view`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[{type:`tuple`,components:[{type:`uint128`,name:`orderId`},{type:`address`,name:`maker`},{type:`bytes32`,name:`bookKey`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`uint128`,name:`amount`},{type:`uint128`,name:`remaining`},{type:`uint128`,name:`prev`},{type:`uint128`,name:`next`},{type:`bool`,name:`isFlip`},{type:`int16`,name:`flipTick`}]}]},{name:`getTickLevel`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`base`},{type:`int16`,name:`tick`},{type:`bool`,name:`isBid`}],outputs:[{type:`uint128`,name:`head`},{type:`uint128`,name:`tail`},{type:`uint128`,name:`totalLiquidity`}]},{name:`pairKey`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`tokenA`},{type:`address`,name:`tokenB`}],outputs:[{type:`bytes32`}]},{name:`nextOrderId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`books`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`pairKey`}],outputs:[{type:`tuple`,components:[{type:`address`,name:`base`},{type:`address`,name:`quote`},{type:`int16`,name:`bestBidTick`},{type:`int16`,name:`bestAskTick`}]}]},{name:`MIN_TICK`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`MAX_TICK`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`TICK_SPACING`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`PRICE_SCALE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`MIN_ORDER_AMOUNT`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint128`}]},{name:`MIN_PRICE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`MAX_PRICE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`tickToPrice`,type:`function`,stateMutability:`pure`,inputs:[{type:`int16`,name:`tick`}],outputs:[{type:`uint32`,name:`price`}]},{name:`priceToTick`,type:`function`,stateMutability:`pure`,inputs:[{type:`uint32`,name:`price`}],outputs:[{type:`int16`,name:`tick`}]},{name:`PairCreated`,type:`event`,inputs:[{type:`bytes32`,name:`key`,indexed:!0},{type:`address`,name:`base`,indexed:!0},{type:`address`,name:`quote`,indexed:!0}]},{name:`OrderPlaced`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`bool`,name:`isFlipOrder`},{type:`int16`,name:`flipTick`}]},{name:`OrderFilled`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`taker`,indexed:!0},{type:`uint128`,name:`amountFilled`},{type:`bool`,name:`partialFill`}]},{name:`OrderFlipped`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`int16`,name:`flipTick`}]},{name:`FlipFailed`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`bytes4`,name:`reason`}]},{name:`OrderCancelled`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0}]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`PairDoesNotExist`,type:`error`,inputs:[]},{name:`PairAlreadyExists`,type:`error`,inputs:[]},{name:`OrderDoesNotExist`,type:`error`,inputs:[]},{name:`IdenticalTokens`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`TickOutOfBounds`,type:`error`,inputs:[{type:`int16`,name:`tick`}]},{name:`InvalidTick`,type:`error`,inputs:[]},{name:`InvalidFlipTick`,type:`error`,inputs:[]},{name:`InsufficientBalance`,type:`error`,inputs:[]},{name:`InsufficientLiquidity`,type:`error`,inputs:[]},{name:`InsufficientOutput`,type:`error`,inputs:[]},{name:`MaxInputExceeded`,type:`error`,inputs:[]},{name:`BelowMinimumOrderSize`,type:`error`,inputs:[{type:`uint128`,name:`amount`}]},{name:`InvalidBaseToken`,type:`error`,inputs:[]},{name:`OrderNotStale`,type:`error`,inputs:[]}],H=[{name:`name`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`symbol`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`decimals`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint8`}]},{name:`totalSupply`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`quoteToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`nextQuoteToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint256`}]},{name:`transfer`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`approve`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`spender`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`allowance`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`owner`},{type:`address`,name:`spender`}],outputs:[{type:`uint256`}]},{name:`transferFrom`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`mint`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[]},{name:`burn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`}],outputs:[]},{name:`currency`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`supplyCap`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`paused`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`transferPolicyId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`logoURI`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`setLogoURI`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`newLogoURI`}],outputs:[]},{name:`burnBlocked`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`uint256`,name:`amount`}],outputs:[]},{name:`mintWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`burnWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`transferWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`transferFromWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[{type:`bool`}]},{name:`changeTransferPolicyId`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`newPolicyId`}],outputs:[]},{name:`setSupplyCap`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`newSupplyCap`}],outputs:[]},{name:`pause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`unpause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`setNextQuoteToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newQuoteToken`}],outputs:[]},{name:`completeQuoteTokenUpdate`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`PAUSE_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`UNPAUSE_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`ISSUER_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`BURN_BLOCKED_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`permit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`owner`},{type:`address`,name:`spender`},{type:`uint256`,name:`value`},{type:`uint256`,name:`deadline`},{type:`uint8`,name:`v`},{type:`bytes32`,name:`r`},{type:`bytes32`,name:`s`}],outputs:[]},{name:`nonces`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`owner`}],outputs:[{type:`uint256`}]},{name:`DOMAIN_SEPARATOR`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`distributeReward`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`}],outputs:[]},{name:`setRewardRecipient`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`recipient`}],outputs:[]},{name:`claimRewards`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[{type:`uint256`}]},{name:`optedInSupply`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`globalRewardPerToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`userRewardInfo`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`tuple`,components:[{type:`address`,name:`rewardRecipient`},{type:`uint256`,name:`rewardPerToken`},{type:`uint256`,name:`rewardBalance`}]}]},{name:`getPendingRewards`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint128`}]},{name:`Transfer`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Approval`,type:`event`,inputs:[{type:`address`,name:`owner`,indexed:!0},{type:`address`,name:`spender`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Mint`,type:`event`,inputs:[{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Burn`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`BurnBlocked`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`TransferWithMemo`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`,indexed:!0}]},{name:`TransferPolicyUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`uint64`,name:`newPolicyId`,indexed:!0}]},{name:`SupplyCapUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`uint256`,name:`newSupplyCap`,indexed:!0}]},{name:`PauseStateUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`bool`,name:`isPaused`}]},{name:`NextQuoteTokenSet`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`nextQuoteToken`,indexed:!0}]},{name:`QuoteTokenUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`newQuoteToken`,indexed:!0}]},{name:`RewardDistributed`,type:`event`,inputs:[{type:`address`,name:`funder`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`RewardRecipientSet`,type:`event`,inputs:[{type:`address`,name:`holder`,indexed:!0},{type:`address`,name:`recipient`,indexed:!0}]},{name:`LogoURIUpdated`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`string`,name:`newLogoURI`}]},{name:`InsufficientBalance`,type:`error`,inputs:[{type:`uint256`,name:`available`},{type:`uint256`,name:`required`},{type:`address`,name:`token`}]},{name:`InsufficientAllowance`,type:`error`,inputs:[]},{name:`SupplyCapExceeded`,type:`error`,inputs:[]},{name:`InvalidSupplyCap`,type:`error`,inputs:[]},{name:`InvalidPayload`,type:`error`,inputs:[]},{name:`PolicyForbids`,type:`error`,inputs:[]},{name:`InvalidRecipient`,type:`error`,inputs:[]},{name:`ContractPaused`,type:`error`,inputs:[]},{name:`InvalidCurrency`,type:`error`,inputs:[]},{name:`InvalidQuoteToken`,type:`error`,inputs:[]},{name:`InvalidAmount`,type:`error`,inputs:[]},{name:`NoOptedInSupply`,type:`error`,inputs:[]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`ProtectedAddress`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`Uninitialized`,type:`error`,inputs:[]},{name:`InvalidTransferPolicyId`,type:`error`,inputs:[]},{name:`PermitExpired`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`LogoURITooLong`,type:`error`,inputs:[]},{name:`InvalidLogoURI`,type:`error`,inputs:[]},{name:`hasRole`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`role`}],outputs:[{type:`bool`}]},{name:`getRoleAdmin`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`role`}],outputs:[{type:`bytes32`}]},{name:`grantRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`address`,name:`account`}],outputs:[]},{name:`revokeRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`address`,name:`account`}],outputs:[]},{name:`renounceRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`}],outputs:[]},{name:`setRoleAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`bytes32`,name:`adminRole`}],outputs:[]},{name:`RoleMembershipUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`role`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`sender`,indexed:!0},{type:`bool`,name:`hasRole`}]},{name:`RoleAdminUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`role`,indexed:!0},{type:`bytes32`,name:`newAdminRole`,indexed:!0},{type:`address`,name:`sender`,indexed:!0}]},{name:`Unauthorized`,type:`error`,inputs:[]}],zw=[{name:`CLOSE_GRACE_PERIOD`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`VOUCHER_TYPEHASH`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`open`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`uint96`,name:`deposit`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`}],outputs:[{type:`bytes32`,name:`channelId`}]},{name:`settle`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`cumulativeAmount`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`topUp`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`additionalDeposit`}],outputs:[]},{name:`close`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`cumulativeAmount`},{type:`uint96`,name:`captureAmount`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`requestClose`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[]},{name:`withdraw`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[]},{name:`getChannel`,type:`function`,stateMutability:`view`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[{type:`tuple`,components:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`tuple`,name:`state`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]}]},{name:`getChannelState`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`channelId`}],outputs:[{type:`tuple`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]},{name:`getChannelStatesBatch`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32[]`,name:`channelIds`}],outputs:[{type:`tuple[]`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]},{name:`computeChannelId`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}],outputs:[{type:`bytes32`}]},{name:`getVoucherDigest`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`channelId`},{type:`uint96`,name:`cumulativeAmount`}],outputs:[{type:`bytes32`}]},{name:`domainSeparator`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`ChannelOpened`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`salt`},{type:`bytes32`,name:`expiringNonceHash`},{type:`uint96`,name:`deposit`}]},{name:`Settled`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`cumulativeAmount`},{type:`uint96`,name:`deltaPaid`},{type:`uint96`,name:`newSettled`}]},{name:`TopUp`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`additionalDeposit`},{type:`uint96`,name:`newDeposit`}]},{name:`CloseRequested`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint256`,name:`closeGraceEnd`}]},{name:`ChannelClosed`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`settledToPayee`},{type:`uint96`,name:`refundedToPayer`}]},{name:`CloseRequestCancelled`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0}]},{name:`ChannelAlreadyExists`,type:`error`,inputs:[]},{name:`ChannelNotFound`,type:`error`,inputs:[]},{name:`NotPayer`,type:`error`,inputs:[]},{name:`NotPayeeOrOperator`,type:`error`,inputs:[]},{name:`InvalidPayee`,type:`error`,inputs:[]},{name:`ZeroDeposit`,type:`error`,inputs:[]},{name:`ExpiringNonceHashNotSet`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`AmountExceedsDeposit`,type:`error`,inputs:[]},{name:`AmountNotIncreasing`,type:`error`,inputs:[]},{name:`CaptureAmountInvalid`,type:`error`,inputs:[]},{name:`CloseNotReady`,type:`error`,inputs:[]},{name:`DepositOverflow`,type:`error`,inputs:[]}],Bw=[{name:`createToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`},{type:`address`,name:`quoteToken`},{type:`address`,name:`admin`},{type:`bytes32`,name:`salt`}],outputs:[{type:`address`}]},{name:`createToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`},{type:`address`,name:`quoteToken`},{type:`address`,name:`admin`},{type:`bytes32`,name:`salt`},{type:`string`,name:`logoURI`}],outputs:[{type:`address`}]},{name:`isTIP20`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`bool`}]},{name:`getTokenAddress`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`sender`},{type:`bytes32`,name:`salt`}],outputs:[{type:`address`}]},{name:`TokenCreated`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`},{type:`address`,name:`quoteToken`},{type:`address`,name:`admin`},{type:`bytes32`,name:`salt`}]},{name:`AddressReserved`,type:`error`,inputs:[]},{name:`AddressNotReserved`,type:`error`,inputs:[]},{name:`InvalidQuoteToken`,type:`error`,inputs:[]},{name:`TokenAlreadyExists`,type:`error`,inputs:[{type:`address`,name:`token`}]}],Vw=[{name:`policyIdCounter`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`policyExists`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`bool`}]},{name:`policyData`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`uint8`,name:`policyType`},{type:`address`,name:`admin`}]},{name:`isAuthorized`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedSender`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedMintRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`compoundPolicyData`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`recipientPolicyId`},{type:`uint64`,name:`mintRecipientPolicyId`}]},{name:`receivePolicy`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`bool`,name:`hasReceivePolicy`},{type:`uint64`,name:`senderPolicyId`},{type:`uint8`,name:`senderPolicyType`},{type:`uint64`,name:`tokenFilterId`},{type:`uint8`,name:`tokenFilterType`},{type:`address`,name:`recoveryAuthority`}]},{name:`validateReceivePolicy`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`},{type:`address`,name:`sender`},{type:`address`,name:`receiver`}],outputs:[{type:`bool`,name:`authorized`},{type:`uint8`,name:`blockedReason`}]},{name:`createPolicy`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`admin`},{type:`uint8`,name:`policyType`}],outputs:[{type:`uint64`}]},{name:`createPolicyWithAccounts`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`admin`},{type:`uint8`,name:`policyType`},{type:`address[]`,name:`accounts`}],outputs:[{type:`uint64`}]},{name:`setPolicyAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`admin`}],outputs:[]},{name:`modifyPolicyWhitelist`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`account`},{type:`bool`,name:`allowed`}],outputs:[]},{name:`modifyPolicyBlacklist`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`account`},{type:`bool`,name:`restricted`}],outputs:[]},{name:`createCompoundPolicy`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`recipientPolicyId`},{type:`uint64`,name:`mintRecipientPolicyId`}],outputs:[{type:`uint64`}]},{name:`setReceivePolicy`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`tokenFilterId`},{type:`address`,name:`recoveryAuthority`}],outputs:[]},{name:`PolicyAdminUpdated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`admin`,indexed:!0}]},{name:`PolicyCreated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`uint8`,name:`policyType`}]},{name:`WhitelistUpdated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`bool`,name:`allowed`}]},{name:`BlacklistUpdated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`bool`,name:`restricted`}]},{name:`CompoundPolicyCreated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`creator`,indexed:!0},{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`recipientPolicyId`},{type:`uint64`,name:`mintRecipientPolicyId`}]},{name:`ReceivePolicyUpdated`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`tokenFilterId`},{type:`address`,name:`recoveryAuthority`}]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`PolicyNotFound`,type:`error`,inputs:[]},{name:`PolicyNotSimple`,type:`error`,inputs:[]},{name:`InvalidPolicyType`,type:`error`,inputs:[]},{name:`IncompatiblePolicyType`,type:`error`,inputs:[]},{name:`VirtualAddressNotAllowed`,type:`error`,inputs:[]},{name:`InvalidReceivePolicyType`,type:`error`,inputs:[]},{name:`InvalidRecoveryAuthority`,type:`error`,inputs:[]}],Hw=[{name:`userTokens`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`user`}],outputs:[{type:`address`}]},{name:`validatorTokens`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validator`}],outputs:[{type:`address`}]},{name:`setUserToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`setValidatorToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`distributeFees`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`validator`},{type:`address`,name:`token`}],outputs:[]},{name:`collectedFees`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validator`},{type:`address`,name:`token`}],outputs:[{type:`uint256`}]},{name:`UserTokenSet`,type:`event`,inputs:[{type:`address`,name:`user`,indexed:!0},{type:`address`,name:`token`,indexed:!0}]},{name:`ValidatorTokenSet`,type:`event`,inputs:[{type:`address`,name:`validator`,indexed:!0},{type:`address`,name:`token`,indexed:!0}]},{name:`FeesDistributed`,type:`event`,inputs:[{type:`address`,name:`validator`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`InsufficientFeeTokenBalance`,type:`error`,inputs:[]},{name:`CannotChangeWithinBlock`,type:`error`,inputs:[]}],Uw=[{name:`M`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`N`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`SCALE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`MIN_LIQUIDITY`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`getPoolId`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`}],outputs:[{type:`bytes32`}]},{name:`getPool`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`}],outputs:[{type:`tuple`,components:[{type:`uint128`,name:`reserveUserToken`},{type:`uint128`,name:`reserveValidatorToken`}]}]},{name:`pools`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`poolId`}],outputs:[{type:`tuple`,components:[{type:`uint128`,name:`reserveUserToken`},{type:`uint128`,name:`reserveValidatorToken`}]}]},{name:`mint`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`},{type:`uint256`,name:`amountValidatorToken`},{type:`address`,name:`to`}],outputs:[{type:`uint256`,name:`liquidity`}]},{name:`burn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`},{type:`uint256`,name:`liquidity`},{type:`address`,name:`to`}],outputs:[{type:`uint256`,name:`amountUserToken`},{type:`uint256`,name:`amountValidatorToken`}]},{name:`totalSupply`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`poolId`}],outputs:[{type:`uint256`}]},{name:`liquidityBalances`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`poolId`},{type:`address`,name:`user`}],outputs:[{type:`uint256`}]},{name:`rebalanceSwap`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`},{type:`uint256`,name:`amountOut`},{type:`address`,name:`to`}],outputs:[{type:`uint256`,name:`amountIn`}]},{name:`Mint`,type:`event`,inputs:[{type:`address`,name:`sender`},{type:`address`,name:`to`,indexed:!0},{type:`address`,name:`userToken`,indexed:!0},{type:`address`,name:`validatorToken`,indexed:!0},{type:`uint256`,name:`amountValidatorToken`},{type:`uint256`,name:`liquidity`}]},{name:`Burn`,type:`event`,inputs:[{type:`address`,name:`sender`,indexed:!0},{type:`address`,name:`userToken`,indexed:!0},{type:`address`,name:`validatorToken`,indexed:!0},{type:`uint256`,name:`amountUserToken`},{type:`uint256`,name:`amountValidatorToken`},{type:`uint256`,name:`liquidity`},{type:`address`,name:`to`}]},{name:`RebalanceSwap`,type:`event`,inputs:[{type:`address`,name:`userToken`,indexed:!0},{type:`address`,name:`validatorToken`,indexed:!0},{type:`address`,name:`swapper`,indexed:!0},{type:`uint256`,name:`amountIn`},{type:`uint256`,name:`amountOut`}]},{name:`IdenticalAddresses`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`InsufficientLiquidity`,type:`error`,inputs:[]},{name:`InsufficientReserves`,type:`error`,inputs:[]},{name:`InvalidAmount`,type:`error`,inputs:[]},{name:`DivisionByZero`,type:`error`,inputs:[]},{name:`InvalidSwapCalculation`,type:`error`,inputs:[]}],Ww=[{name:`getValidators`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`tuple[]`,name:`validators`,components:[{type:`bytes32`,name:`publicKey`},{type:`bool`,name:`active`},{type:`uint64`,name:`index`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}]}]},{name:`addValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newValidatorAddress`},{type:`bytes32`,name:`publicKey`},{type:`bool`,name:`active`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}],outputs:[]},{name:`updateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newValidatorAddress`},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}],outputs:[]},{name:`changeValidatorStatus`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`validator`},{type:`bool`,name:`active`}],outputs:[]},{name:`changeValidatorStatusByIndex`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`index`},{type:`bool`,name:`active`}],outputs:[]},{name:`owner`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`changeOwner`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newOwner`}],outputs:[]},{name:`getNextFullDkgCeremony`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`setNextFullDkgCeremony`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`epoch`}],outputs:[]},{name:`validatorsArray`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`index`}],outputs:[{type:`address`}]},{name:`validators`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validator`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`bool`,name:`active`},{type:`uint64`,name:`index`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}]}]},{name:`validatorCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`ValidatorAlreadyExists`,type:`error`,inputs:[]},{name:`ValidatorNotFound`,type:`error`,inputs:[]},{name:`InvalidPublicKey`,type:`error`,inputs:[]},{name:`NotHostPort`,type:`error`,inputs:[{type:`string`,name:`field`},{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]},{name:`NotIpPort`,type:`error`,inputs:[{type:`string`,name:`field`},{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]}],Gw=[{type:`error`,name:`DelegateCallNotAllowed`,inputs:[]},{type:`error`,name:`InvalidMode`,inputs:[]},{type:`function`,name:`balanceOf`,stateMutability:`view`,inputs:[{name:`account`,type:`address`}],outputs:[{type:`uint64`}]},{type:`function`,name:`modeOf`,stateMutability:`view`,inputs:[{name:`account`,type:`address`}],outputs:[{type:`uint8`}]},{type:`function`,name:`budgetOf`,stateMutability:`view`,inputs:[{name:`account`,type:`address`}],outputs:[{type:`uint64`}]},{type:`function`,name:`setMode`,stateMutability:`nonpayable`,inputs:[{name:`newMode`,type:`uint8`}],outputs:[]},{type:`function`,name:`setBudget`,stateMutability:`nonpayable`,inputs:[{name:`creditBudget`,type:`uint64`}],outputs:[]}],Kw=[{name:`getActiveValidators`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`tuple[]`,name:`validators`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`getInitializedAtHeight`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`owner`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`validatorCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`validatorByIndex`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`index`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`validatorByAddress`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validatorAddress`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`validatorByPublicKey`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`publicKey`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`getNextNetworkIdentityRotationEpoch`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`isInitialized`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`addValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`validatorAddress`},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`bytes`,name:`signature`}],outputs:[{type:`uint64`,name:`index`}]},{name:`deactivateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`}],outputs:[]},{name:`rotateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`setFeeRecipient`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`address`,name:`feeRecipient`}],outputs:[]},{name:`setIpAddresses`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`}],outputs:[]},{name:`transferValidatorOwnership`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`address`,name:`newAddress`}],outputs:[]},{name:`transferOwnership`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newOwner`}],outputs:[]},{name:`setNetworkIdentityRotationEpoch`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`epoch`}],outputs:[]},{name:`migrateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`}],outputs:[]},{name:`initializeIfMigrated`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`ValidatorAdded`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`}]},{name:`ValidatorDeactivated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0}]},{name:`ValidatorRotated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`uint64`,name:`deactivatedIndex`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`oldPublicKey`},{type:`bytes32`,name:`newPublicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`caller`}]},{name:`FeeRecipientUpdated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`feeRecipient`},{type:`address`,name:`caller`}]},{name:`IpAddressesUpdated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`caller`}]},{name:`ValidatorOwnershipTransferred`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`oldAddress`,indexed:!0},{type:`address`,name:`newAddress`,indexed:!0},{type:`address`,name:`caller`}]},{name:`OwnershipTransferred`,type:`event`,inputs:[{type:`address`,name:`oldOwner`,indexed:!0},{type:`address`,name:`newOwner`,indexed:!0}]},{name:`ValidatorMigrated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`publicKey`}]},{name:`NetworkIdentityRotationEpochSet`,type:`event`,inputs:[{type:`uint64`,name:`previousEpoch`,indexed:!0},{type:`uint64`,name:`nextEpoch`,indexed:!0}]},{name:`Initialized`,type:`event`,inputs:[{type:`uint64`,name:`height`}]},{name:`SkippedValidatorMigration`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`publicKey`}]},{name:`AlreadyInitialized`,type:`error`,inputs:[]},{name:`IngressAlreadyExists`,type:`error`,inputs:[{type:`string`,name:`ingress`}]},{name:`EmptyV1ValidatorSet`,type:`error`,inputs:[]},{name:`InvalidMigrationIndex`,type:`error`,inputs:[]},{name:`InvalidOwner`,type:`error`,inputs:[]},{name:`InvalidPublicKey`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`InvalidSignatureFormat`,type:`error`,inputs:[]},{name:`InvalidValidatorAddress`,type:`error`,inputs:[]},{name:`MigrationNotComplete`,type:`error`,inputs:[]},{name:`NotInitialized`,type:`error`,inputs:[]},{name:`NotIp`,type:`error`,inputs:[{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]},{name:`NotIpPort`,type:`error`,inputs:[{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]},{name:`PublicKeyAlreadyExists`,type:`error`,inputs:[]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`AddressAlreadyHasValidator`,type:`error`,inputs:[]},{name:`ValidatorAlreadyDeactivated`,type:`error`,inputs:[]},{name:`ValidatorNotFound`,type:`error`,inputs:[]}],qw=[...Nw,...Pw,...Fw,...Iw,...Lw,...Rw,...Gw,...H,...zw,...Bw,...Vw,...Hw,...Uw,...Ww,...Kw];B();function Jw(e){let t=e.account;return t?.keyType&&t.keyType!==`secp256k1`||t?.source===`accessKey`||t?.source===`multisig`||e.calls!==void 0||e.feePayer!==void 0||e.feePayerSignature!==void 0||e.feeToken!==void 0||e.keyAuthorization!==void 0||e.multisig!==void 0||e.nonceKey!==void 0||e.signature!==void 0||e.signatures!==void 0||e.validBefore!==void 0||e.validAfter!==void 0?`tempo`:e.type?e.type:Ud(e)}function Yw(e){try{return Jw(e)===`tempo`}catch{return!1}}function Xw(e){let t=z(e,0,1);return t===`0x76`||t===`0x78`?Qw(e):_y(e)}async function Zw(e,t){if(!Yw(e)){if(t&&`type`in t&&t.type!==`secp256k1`)throw Error(\"Unsupported signature type. Expected `secp256k1` but got `\"+t.type+\"`.\");if(t&&`type`in t){let{r:n,s:r,yParity:i}=t?.signature;return Ph(e,{r:R(n,{size:32}),s:R(r,{size:32}),yParity:i})}return Ph(e,t)}if(Jw(e)===`tempo`)return $w(e,t);throw Error(`Unsupported transaction type`)}function Qw(e){let{feePayerSignature:t,nonce:n,...r}=ww(e);return{...r,nonce:Number(n??0n),feePayerSignature:t&&{r:R(t.r,{size:32}),s:R(t.s,{size:32}),yParity:t.yParity}}}async function $w(e,t){let n=(()=>{if(e.signature)return e.signature;if(t&&`type`in t)return t;if(t)return cC({r:BigInt(t.r),s:BigInt(t.s),yParity:Number(t.yParity)})})(),{chainId:r,feePayer:i,nonce:a,...o}=e,s=(()=>{let t=e.feePayerSignature;if(t)return{r:BigInt(t.r),s:BigInt(t.s),yParity:Number(t.yParity)};if(t===null||i)return null})(),c=e.feePayerSignature!==void 0&&e.feePayerSignature!==null,l=i===!0&&(!n||!s)||typeof i==`object`&&!n||!n&&c,u={...o,calls:o.calls?.length?o.calls:[{to:o.to||(!o.data||o.data===`0x`?`0x0000000000000000000000000000000000000000`:void 0),value:o.value,data:o.data}],chainId:Number(r),feePayerSignature:s,type:`tempo`,...a?{nonce:BigInt(a)}:{}},d={...u};l&&delete d.feeToken;let f=(()=>{if(n)return n;if(!e.multisig||!e.signatures)return;let t=fC({payload:Ow(Tw(d)),signatures:e.signatures.map(e=>cC(e)),genesisConfig:e.multisig});return cC({genesisConfig:e.multisig,signatures:t,...a||e.nonceKey?{}:{init:!0}})})();if(f&&typeof e.feePayer==`object`){let t=Tw(u,{signature:f}),n=Aw(t,{sender:e.from??iC({payload:Ow(t),root:!0,signature:f})});return Ew(t,{feePayerSignature:Bv(await e.feePayer.sign({hash:n}))})}return i===!0||!f&&c?f&&s?Ew(d,{signature:f}):f?Ew(d,{format:`feePayer`,sender:e.from,signature:f}):Ew(d,{feePayerSignature:null}):Ew(d,{feePayerSignature:void 0,signature:f})}B(),pa(),ui();function eT(e){let{access:t}=e;return t?fT(e):dT(e)}function tT(e,t){let{access:n,keyAuthorizationManager:r,rpId:i,origin:a,internal_version:o}=t,s=Px({privateKey:e});return eT({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:o,keyType:`webAuthn`,publicKey:s,async sign({hash:n}){let{metadata:r,payload:o}=IS({...t,challenge:n,rpId:i,origin:a});return dC({metadata:r,signature:Fx({payload:o,privateKey:e,hash:!0}),publicKey:s,type:`webAuthn`})}})}function nT(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=Px({privateKey:e});return eT({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:t}){return dC({signature:Fx({payload:t,privateKey:e}),publicKey:a,type:`p256`})}})}function rT(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=oy({privateKey:e});return eT({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`secp256k1`,publicKey:a,async sign(t){let{hash:n}=t;return Wv(ly({payload:n,privateKey:e}))}})}function iT(e,t={}){let{id:n}=e,r=x_(e.publicKey);return eT({keyType:`webAuthn`,publicKey:r,async sign({hash:e}){let{metadata:i,signature:a}=await LS({...t,challenge:e,credentialId:n});return dC({publicKey:r,metadata:i,signature:a,type:`webAuthn`})}})}function aT(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,{publicKey:a,privateKey:o}=e;return eT({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:e}){return dC({signature:await BS({payload:e,privateKey:o}),prehash:!0,publicKey:a,type:`p256`})}})}async function oT(e,t){let n=sT(t);return cT(e)?e.sign({hash:n,raw:!0}):e.sign({hash:n})}function sT(e){let{chainId:t,channel:n,cumulativeAmount:r}=e;return qC({chainId:t,channelId:typeof n==`string`?n:GC(n,{chainId:t}),cumulativeAmount:r})}function cT(e){return e.source===`accessKey`&&`accessKeyAddress`in e}async function lT(e,t){let{chainId:n,key:r,expiry:i,limits:a,scopes:o,witness:s,admin:c}=t,{accessKeyAddress:l,keyType:u}=pT(r),d=cT(e),f=d?{account:e.address}:{},p=c?{}:{expiry:i,limits:a,scopes:o},m=QC({address:l,chainId:n,type:u,witness:s,...c?{isAdmin:!0}:{},...f,...p});return YC({address:l,chainId:n,signature:cC(d?await e.sign({hash:m,raw:!0}):await e.sign({hash:m})),type:u,...s?{witness:s}:{},...c?{isAdmin:!0}:{},...f,...p})}function uT(e){let{keyType:t=`secp256k1`,parentAddress:n,source:r=`privateKey`,internal_version:i=`v2`}=e,a=n??N_(e.publicKey),o=C_(e.publicKey,{includePrefix:!1});async function s({hash:t,raw:r}){if(r)return await e.sign({hash:t});let a=n&&i===`v2`?li(L(`0x04`,t,n)):t,o=await e.sign({hash:a});return n?dC(cC({userAddress:n,inner:cC(o),type:`keychain`,version:i})):o}return{address:j_(a),keyType:t,sign:s,async signAuthorization(e){let{chainId:t,nonce:n}=e,r=e.contractAddress??e.address,i=cC(await s({hash:Nu({address:r,chainId:t,nonce:n})}));if(i.type!==`secp256k1`)throw Error(\"Unsupported signature type. Expected `secp256k1` but got `\"+i.type+\"`.\");let{r:a,s:o,yParity:c}=i.signature;return{address:r,chainId:t,nonce:n,r:R(a,{size:32}),s:R(o,{size:32}),yParity:c}},async signMessage(e){let{message:t}=e;return await s({hash:lg(t)})},async signTransaction(e,t){let{serializer:n=Zw}=t??{},r=li(await n(`feePayerSignature`in e&&e.feePayerSignature?{...e,feePayerSignature:null}:e)),i=e.multisig;return i?await s({hash:qS({payload:r,genesisConfig:i}),raw:!0}):await n(e,cC(await s({hash:r})))},async signTypedData(e){return await s({hash:vg(e)})},async signVoucher(e){let t=sT(e);return n?await s({hash:t,raw:!0}):await s({hash:t})},publicKey:o,source:r,type:`local`}}function dT(e){let t=uT(e);return{...t,source:`root`,async signKeyAuthorization(e,n){let{chainId:r,expiry:i,limits:a,scopes:o,witness:s,admin:c}=n,{accessKeyAddress:l,keyType:u}=pT(e),d=c?{}:{expiry:i,limits:a,scopes:o};return YC({address:l,chainId:r,signature:cC(await t.sign({hash:QC({address:l,chainId:r,type:u,witness:s,...c?{isAdmin:!0}:{},...d})})),type:u,...s?{witness:s}:{},...c?{isAdmin:!0}:{},...d})}}}function fT(e){let{access:t,keyAuthorizationManager:n}=e,{address:r}=P(t);return{...uT({...e,parentAddress:r}),accessKeyAddress:N_(e.publicKey),keyAuthorizationManager:n,source:`accessKey`}}function pT(e){return`accessKeyAddress`in e?{accessKeyAddress:e.accessKeyAddress,keyType:e.keyType}:`publicKey`in e&&e.publicKey?{accessKeyAddress:N_(x_(e.publicKey)),keyType:e.type}:{accessKeyAddress:e.address,keyType:e.type}}let mT=`0xaAAAaaAA00000000000000000000000000000000`,hT=`0xdec0000000000000000000000000000000000000`,gT=[`genesis`,`t0`,`t1`,`t1a`,`t1b`,`t1c`,`t2`,`t3`,`t4`,`t5`,`t6`];function _T(e,t){return gT.indexOf(e)<gT.indexOf(t)}$d(),va();function vT(e,t){let{decimals:n,token:r}=t;if(e&&typeof r==`string`){let t=bT(e,r);if(t)return{address:t.address,decimals:n??t.decimals}}let i=PC(r);return{address:i,decimals:n??(e?ST(e,i):void 0)}}function yT(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;if(typeof t==`string`){let n=bT(e,t);if(n)return n}let i=PC(t);for(let e of n){let t=xT(e,r);if(t&&F(t.address,i))return t}}function bT(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;let i=t.toLowerCase();for(let e of n)if(e.symbol?.toLowerCase()===i)return xT(e,r)}function xT(e,t){let n=e.addresses[t];if(n)return{address:n,currency:e.currency,decimals:e.decimals,name:e.name,popular:e.popular,symbol:e.symbol}}function ST(e,t){let n=e.tokens,r=e.chain?.id;if(n&&r!==void 0)for(let e of n){let n=xT(e,r);if(n&&F(n.address,t))return n.decimals}}async function CT(e,t){let{address:n,decimals:r}=vT(e,t);return r===void 0?{address:n,decimals:await V(e,{abi:H,address:n,functionName:`decimals`})}:{address:n,decimals:r}}function wT(e){let{account:t,chain:n,feePayer:r,feeToken:i,gas:a,keyAuthorization:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,nonceKey:u,validAfter:d,validBefore:f}=e;return{account:t,chain:n,feePayer:r,feeToken:i,gas:a,keyAuthorization:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,nonceKey:u,validAfter:d,validBefore:f}}function TT(e){return e.length===2?e:[void 0,e[0]]}function U(e){return{...e,data:_a(e),to:e.address}}pa();let ET={0:`secp256k1`,1:`p256`,2:`webAuthn`},DT={true:`limited`,false:`unlimited`};async function OT(e,t){return OT.inner(lh,e,t)}(function(e){async function t(e,t,n){let{accessKey:r,admin:i,chainId:a=t.chain?.id,expiry:o,limits:s,scopes:c,witness:l,...u}=n,d=u.account??t.account;if(!d)throw Error(`account is required.`);if(!a)throw Error(`chainId is required.`);let f=await lT(P(d),{chainId:BigInt(a),key:r,admin:i,expiry:o,limits:s,scopes:c,witness:l});return await e(t,{...u,keyAuthorization:f})}e.inner=t;function n(e){let[t]=af({abi:Nw,logs:e,eventName:`KeyAuthorized`,strict:!0});if(!t)throw Error(\"`KeyAuthorized` event not found.\");return t}e.extractEvent=n})(OT||={});async function kT(e,t){return kT.inner(uh,e,t)}(function(e){async function t(t,n,r){let{witness:i,...a}=r,o=e.call({witness:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{witness:t}=e;return U({address:mT,abi:Nw,functionName:`burnKeyAuthorizationWitness`,args:[t]})}e.call=n;function r(e){let[t]=af({abi:Nw,logs:e,eventName:`KeyAuthorizationWitnessBurned`,strict:!0});if(!t)throw Error(\"`KeyAuthorizationWitnessBurned` event not found.\");return t}e.extractEvent=r})(kT||={});async function AT(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=P(n),o=await V(e,{...i,account:null,...AT.call({account:a.address,accessKey:r})});return{address:o.keyId,keyType:ET[o.signatureType]??`secp256k1`,expiry:o.expiry,spendPolicy:DT[`${o.enforceLimits}`],isRevoked:o.isRevoked}}(function(e){function t(e){let{account:t,accessKey:n}=e;return U({address:mT,abi:Nw,functionName:`getKey`,args:[t,LT(n)]})}e.call=t})(AT||={});async function jT(e,t){let{account:n=e.account,accessKey:r,token:i,...a}=t;if(!n)throw Error(`account is required.`);let o=P(n),s=e.chain?.hardfork;if(s&&_T(s,`t3`))return{remaining:await V(e,{...a,...jT.call({account:o.address,accessKey:r,token:i})}),periodEnd:void 0};let[c,l]=await V(e,{...a,...jT.callWithPeriod({account:o.address,accessKey:r,token:i})});return{remaining:c,periodEnd:l}}(function(e){function t(e){let{account:t,accessKey:n,token:r}=e;return U({address:mT,abi:Nw,functionName:`getRemainingLimit`,args:[t,LT(n),r]})}e.call=t;function n(e){let{account:t,accessKey:n,token:r}=e;return U({address:mT,abi:Nw,functionName:`getRemainingLimitWithPeriod`,args:[t,LT(n),r]})}e.callWithPeriod=n})(jT||={});async function MT(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=P(n);return V(e,{...i,account:null,...MT.call({account:a.address,accessKey:r})})}(function(e){function t(e){let{account:t,accessKey:n}=e;return U({address:mT,abi:Nw,functionName:`isAdminKey`,args:[t,LT(n)]})}e.call=t})(MT||={});async function NT(e,t){let{account:n=e.account,witness:r,...i}=t;if(!n)throw Error(`account is required.`);let a=P(n);return V(e,{...i,account:null,...NT.call({account:a.address,witness:r})})}(function(e){function t(e){let{account:t,witness:n}=e;return U({address:mT,abi:Nw,functionName:`isKeyAuthorizationWitnessBurned`,args:[t,n]})}e.call=t})(NT||={});async function PT(e,t){return PT.inner(uh,e,t)}(function(e){async function t(t,n,r){let{accessKey:i,...a}=r,o=e.call({accessKey:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{accessKey:t}=e;return U({address:mT,abi:Nw,functionName:`revokeKey`,args:[LT(t)]})}e.call=n;function r(e){let[t]=af({abi:Nw,logs:e,eventName:`KeyRevoked`,strict:!0});if(!t)throw Error(\"`KeyRevoked` event not found.\");return t}e.extractEvent=r})(PT||={});async function FT(e,t){return FT.inner(uh,e,t)}(function(e){async function t(t,n,r){let{accessKey:i,token:a,limit:o,...s}=r,c=e.call({accessKey:i,token:a,limit:o});return await t(n,{...s,...c})}e.inner=t;function n(e){let{accessKey:t,token:n,limit:r}=e;return U({address:mT,abi:Nw,functionName:`updateSpendingLimit`,args:[LT(t),n,r]})}e.call=n;function r(e){let[t]=af({abi:Nw,logs:e,eventName:`SpendingLimitUpdated`,strict:!0});if(!t)throw Error(\"`SpendingLimitUpdated` event not found.\");return t}e.extractEvent=r})(FT||={});async function IT(e,t){let{account:n,admin:r,hash:i,signature:a,...o}=t;return V(e,{...o,...IT.call({account:n,admin:r,hash:i,signature:a})})}(function(e){function t(e){let{account:t,admin:n=!0,hash:r,signature:i}=e;return U({address:`0x5165300000000000000000000000000000000000`,abi:Lw,functionName:n?`verifyKeychainAdmin`:`verifyKeychain`,args:[t,r,i]})}e.call=t})(IT||={});function LT(e){return typeof e==`string`?e:e.accessKeyAddress}B(),pa();async function RT(e,t){return RT.inner(uh,e,t)}(function(e){async function t(t,n,r){let{tokenIn:i,tokenOut:a,amountOut:o,maxAmountIn:s,...c}=r,l=e.call({tokenIn:i,tokenOut:a,amountOut:o,maxAmountIn:s});return await t(n,{...c,...l})}e.inner=t;function n(e){let{tokenIn:t,tokenOut:n,amountOut:r,maxAmountIn:i}=e;return U({address:hT,abi:Rw,functionName:`swapExactAmountOut`,args:[t,n,r,i]})}e.call=n})(RT||={});async function zT(e,t){return zT.inner(uh,e,t)}(function(e){async function t(t,n,r){let{orderId:i,...a}=r,o=e.call({orderId:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{orderId:t}=e;return U({address:hT,abi:Rw,functionName:`cancel`,args:[t]})}e.call=n;function r(e){let[t]=af({abi:Rw,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(zT||={});async function BT(e,t){return BT.inner(uh,e,t)}(function(e){async function t(t,n,r){let{orderId:i,...a}=r,o=e.call({orderId:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{orderId:t}=e;return U({address:hT,abi:Rw,functionName:`cancelStaleOrder`,args:[t]})}e.call=n;function r(e){let[t]=af({abi:Rw,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(BT||={});async function VT(e,t){return VT.inner(uh,e,t)}(function(e){async function t(t,n,r){let{base:i,...a}=r,o=e.call({base:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{base:t}=e;return U({address:hT,abi:Rw,functionName:`createPair`,args:[t]})}e.call=n;function r(e){let[t]=af({abi:Rw,logs:e,eventName:`PairCreated`,strict:!0});if(!t)throw Error(\"`PairCreated` event not found.\");return t}e.extractEvent=r})(VT||={});async function HT(e,t){let{account:n=e.account,token:r,...i}=t,a=n?P(n).address:void 0;if(!a)throw Error(`account is required.`);return V(e,{...i,...HT.call({account:a,token:r})})}(function(e){function t(e){let{account:t,token:n}=e;return U({address:hT,abi:Rw,args:[t,n],functionName:`balanceOf`})}e.call=t})(HT||={});async function UT(e,t){let{tokenIn:n,tokenOut:r,amountOut:i,...a}=t;return V(e,{...a,...UT.call({tokenIn:n,tokenOut:r,amountOut:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountOut:r}=e;return U({address:hT,abi:Rw,args:[t,n,r],functionName:`quoteSwapExactAmountOut`})}e.call=t})(UT||={});async function WT(e,t){let{orderId:n,...r}=t;return V(e,{...r,...WT.call({orderId:n})})}(function(e){function t(e){let{orderId:t}=e;return U({address:hT,abi:Rw,args:[t],functionName:`getOrder`})}e.call=t})(WT||={});async function GT(e,t){let{base:n,quote:r,...i}=t;return V(e,{...i,...GT.call({base:n,quote:r})})}(function(e){function t(e){let{base:t,quote:n}=e,r=QT(t,n);return U({address:hT,abi:Rw,args:[r],functionName:`books`})}e.call=t})(GT||={});async function KT(e,t){let{base:n,tick:r,isBid:i,...a}=t,[o,s,c]=await V(e,{...a,...KT.call({base:n,tick:r,isBid:i})});return{head:o,tail:s,totalLiquidity:c}}(function(e){function t(e){let{base:t,tick:n,isBid:r}=e;return U({address:hT,abi:Rw,args:[t,n,r],functionName:`getTickLevel`})}e.call=t})(KT||={});async function qT(e,t){let{tokenIn:n,tokenOut:r,amountIn:i,...a}=t;return V(e,{...a,...qT.call({tokenIn:n,tokenOut:r,amountIn:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountIn:r}=e;return U({address:hT,abi:Rw,args:[t,n,r],functionName:`quoteSwapExactAmountIn`})}e.call=t})(qT||={});async function JT(e,t){return JT.inner(uh,e,t)}(function(e){async function t(t,n,r){let{amount:i,token:a,type:o,tick:s,...c}=r,l=e.call({amount:i,token:a,type:o,tick:s});return await t(n,{...c,...l})}e.inner=t;function n(e){let{token:t,amount:n,type:r,tick:i}=e;return U({address:hT,abi:Rw,functionName:`place`,args:[t,n,r===`buy`,i]})}e.call=n;function r(e){let[t]=af({abi:Rw,logs:e,eventName:`OrderPlaced`,strict:!0});if(!t)throw Error(\"`OrderPlaced` event not found.\");return t}e.extractEvent=r})(JT||={});async function YT(e,t){return YT.inner(uh,e,t)}(function(e){async function t(t,n,r){let{amount:i,flipTick:a,tick:o,token:s,type:c,...l}=r,u=e.call({amount:i,flipTick:a,tick:o,token:s,type:c});return await t(n,{...l,...u})}e.inner=t;function n(e){let{token:t,amount:n,type:r,tick:i,flipTick:a}=e;return U({address:hT,abi:Rw,functionName:`placeFlip`,args:[t,n,r===`buy`,i,a]})}e.call=n;function r(e){let t=af({abi:Rw,logs:e,eventName:`OrderPlaced`,strict:!0}).find(e=>e.args.isFlipOrder);if(!t)throw Error(\"`OrderPlaced` event (flip order) not found.\");return t}e.extractEvent=r})(YT||={});async function XT(e,t){return XT.inner(uh,e,t)}(function(e){async function t(t,n,r){let{tokenIn:i,tokenOut:a,amountIn:o,minAmountOut:s,...c}=r,l=e.call({tokenIn:i,tokenOut:a,amountIn:o,minAmountOut:s});return await t(n,{...c,...l})}e.inner=t;function n(e){let{tokenIn:t,tokenOut:n,amountIn:r,minAmountOut:i}=e;return U({address:hT,abi:Rw,functionName:`swapExactAmountIn`,args:[t,n,r,i]})}e.call=n})(XT||={});async function ZT(e,t){return ZT.inner(uh,e,t)}(function(e){async function t(t,n,r){let{token:i,amount:a,...o}=r,s=e.call({token:i,amount:a});return await t(n,{...o,...s})}e.inner=t;function n(e){let{token:t,amount:n}=e;return U({address:hT,abi:Rw,functionName:`withdraw`,args:[t,n]})}e.call=n})(ZT||={});function QT(e,t){return m_(L(e,t))}B(),pa(),od();function $T(e){if(!Yw(e))return bd(e);let t=e.blockTimestamp==null?void 0:BigInt(e.blockTimestamp),{feePayerSignature:n,gasPrice:r,nonce:i,...a}=bw(e);return{...a,accessList:a.accessList,...t!==void 0&&{blockTimestamp:t},feePayerSignature:n?{r:R(n.r,{size:32}),s:R(n.s,{size:32}),v:BigInt(n.v??27),yParity:n.yParity}:void 0,nonce:Number(i),typeHex:vw[a.type],type:a.type}}function eE(e){return mh(e)}function tE(e,t){let n=e,r=n.account?P(n.account):void 0;if(!Yw(n))return nd(e,t);t&&(n.calls=n.calls??[{to:e.to||(!e.data||e.data===`0x`?`0x0000000000000000000000000000000000000000`:void 0),value:e.value,data:e.data}]),n.feePayer===!0&&!n.feePayerSignature&&delete n.feeToken;let{multisig:i,multisigInit:a,multisigSignatureCount:o,signatures:s,...c}=n,l=xw({...c,type:`tempo`});t===`estimateGas`&&(l.maxFeePerGas=void 0,l.maxPriorityFeePerGas=void 0),l.to=void 0,l.data=void 0,l.value=void 0;let[u,d]=(()=>{let e=r&&`keyType`in r?r.keyType:r?.source;return e?e===`webAuthn`?[`webAuthn`,`0x0578`]:[`p256`,`secp256k1`].includes(e)?[e,void 0]:[n.keyType,nE(n.keyData)]:[n.keyType,nE(n.keyData)]})(),f=r&&`accessKeyAddress`in r?r.accessKeyAddress:n.keyId;return r&&(l.from=r.address),{...l,...a?{multisigInit:a}:{},...o===void 0?{}:{multisigSignatureCount:o},...n.capabilities?{capabilities:n.capabilities}:{},...d?{keyData:d}:{},...f?{keyId:f}:{},...u?{keyType:u}:{},...n.feePayer===void 0?{}:{feePayer:typeof n.feePayer==`object`?P(n.feePayer):n.feePayer},...`feePayerSignature`in n&&n.feePayerSignature!==void 0?{feePayerSignature:n.feePayerSignature}:{}}}function nE(e){if(!e)return e;let t=(e.length-2)/2;return t<=4?e:R(t,{size:2})}let rE=new Map;async function iE(e){rE.set(e,(rE.get(e)??0)+1),await Promise.resolve();let t=(rE.get(e)??0)>1;return queueMicrotask(()=>{let t=rE.get(e)??0;t<=1?rE.delete(e):rE.set(e,t-1)}),t}B(),fd(),$d(),od(),ui();function aE(){let e=BigInt(Math.floor(Date.now()/1e3))-60n;return e<=0n?0:Number(BigInt(mp(8))%e)}let oE={blockTime:1e3,extendSchema:Yh(),formatters:{transaction:xd({exclude:[`aaAuthorizationList`],format:$T}),transactionReceipt:hh({format:eE}),transactionRequest:ad({format:tE})},prepareTransactionRequest:[async(e,{client:t,phase:n})=>{let r=e;if(n===`afterFillParameters`)return r.gas!==void 0&&r.feePayer&&!r.feePayerSignature&&(r.keyAuthorization?.signature.type===`webAuthn`?r.gas=(r.gas??0n)+20000n:r.account?.source===`accessKey`&&(r.gas=(r.gas??0n)+10000n)),r;let i=r.multisig??(r.account?.source===`multisig`?r.account.config:void 0);if(i){let e=WS(i);r.multisig=e,r.from=KS(e),r.multisigInit={salt:e.salt??HS,threshold:Number(e.threshold),owners:e.owners.map(e=>({owner:e.owner,weight:Number(e.weight)}))},r.multisigSignatureCount??=sE(e),r.account?.source!==`multisig`&&delete r.account}if(await(async()=>{if(r.nonceKey===`expiring`||r.nonceKey===dd)return!0;if(i)return!1;if(r.feePayer&&r.nonceKey===void 0)return!0;let e=r.account,t=typeof e==`string`?e:e?.address;return t&&r.nonceKey===void 0?await iE(t.toLowerCase()):!1})()?(r.nonceKey=dd,r.nonce=0,r.validAfter===void 0&&(r.validAfter=aE()),r.validBefore===void 0&&(r.validBefore=Math.floor(Date.now()/1e3)+25)):r.nonceKey!==void 0&&(r.nonce=typeof r.nonce==`number`?r.nonce:0),!r.keyAuthorization&&r.account?.source===`accessKey`){let e=r.account.keyAuthorizationManager;if(e){let n=r.chainId??r.chain?.id;if(n!==void 0){let i=r.account.address,a=r.account.accessKeyAddress,o={address:i,accessKey:a,chainId:n},s=await e.get(o);if(s){let n=BigInt(Math.floor(Date.now()/1e3));if(s.expiry!=null&&BigInt(s.expiry)<=n)await e.remove(o);else{let c=await D(t,AT,`getMetadata`)({account:i,accessKey:a});F(c.address,a)&&!c.isRevoked&&c.expiry>n?await e.remove(o):r.keyAuthorization=s}}}}}return!r.feeToken&&r.chain?.feeToken&&(r.feeToken=r.chain.feeToken),r},{runAt:[`beforeFillTransaction`,`afterFillParameters`]}],serializers:{transaction:((e,t)=>Zw(e,t))},async verifyHash(e,t){let{address:n,hash:r,signature:i,mode:a}=t,o=(()=>{if(typeof i==`string`)try{return oC(i)}catch{return}})();if(o){if(o?.type===`keychain`&&a===`allowAccessKey`){let i=o.version===`v2`?li(L(`0x04`,r,n)):r,a=(()=>{try{return iC({payload:i,signature:o.inner})}catch{return}})();if(!a)return!1;let s=await AT(e,{account:n,accessKey:a,blockHash:t.blockHash,blockNumber:t.blockNumber,blockTag:t.blockTag,requireCanonical:t.requireCanonical});return s.isRevoked||s.expiry<=BigInt(Math.floor(Date.now()/1e3))?!1:mC(o.inner,{address:a,payload:i})}if(o.type===`p256`||o.type===`webAuthn`){let i=await Dh(e,{address:n,blockHash:t.blockHash,blockNumber:t.blockNumber,blockTag:t.blockTag,requireCanonical:t.requireCanonical});if(!i||i===`0xef01007702c00000000000000000000000000000000000`)return mC(o,{address:n,payload:r})}}return await D(e,Jy,`verifyHash`)({...t,chain:null})}};function sE(e){let t=Number(e.threshold),n=e.owners.map(e=>Number(e.weight)).sort((e,t)=>t-e),r=0;for(let[e,i]of n.entries())if(r+=i,r>=t)return e+1;return n.length}let cE=Jh({...oE,id:4217,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.tempo.xyz`}},name:`Tempo Mainnet`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.tempo.xyz`],webSocket:[`wss://rpc.tempo.xyz`]}}}),lE=Jh({...oE,id:42431,hardfork:`t5`,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.testnet.tempo.xyz`}},name:`Tempo Testnet (Moderato)`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.moderato.tempo.xyz`],webSocket:[`wss://rpc.moderato.tempo.xyz`]}},testnet:!0});B(),pa(),va();async function uE(e,t){return uE.inner(uh,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(...e){let[t,n]=TT(e),{amount:r,spender:i,token:a}=n,{address:o,decimals:s}=vT(t,{token:a});return U({address:o,abi:H,functionName:`approve`,args:[i,ab(r,s)]})}e.call=n;async function r(t,n){return Qd(t,{...wT(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Gm(t,{...wT(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=af({abi:H,logs:e,eventName:`Approval`});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=a})(uE||={});async function dE(e,t){return dE.inner(uh,e,t)}(function(e){async function t(t,n,r){let{amount:i,from:a,token:o,...s}=r,c=e.call(n,{amount:i,from:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(...e){let[t,n]=TT(e),{from:r,amount:i,token:a}=n,{address:o,decimals:s}=vT(t,{token:a});return U({address:o,abi:H,functionName:`burnBlocked`,args:[r,ab(i,s)]})}e.call=n;function r(e){let[t]=af({abi:H,logs:e,eventName:`BurnBlocked`});if(!t)throw Error(\"`BurnBlocked` event not found.\");return t}e.extractEvent=r})(dE||={});async function fE(e,t){return fE.inner(uh,e,t)}(function(e){async function t(t,n,r){let{amount:i,memo:a,token:o,...s}=r,c=e.call(n,{amount:i,memo:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(...e){let[t,n]=TT(e),{amount:r,memo:i,token:a}=n,{address:o,decimals:s}=vT(t,{token:a}),c=ab(r,s),l=i?{functionName:`burnWithMemo`,args:[c,fp(i,32)]}:{functionName:`burn`,args:[c]};return U({address:o,abi:H,...l})}e.call=n;function r(e){let[t]=af({abi:H,logs:e,eventName:`Burn`});if(!t)throw Error(\"`Burn` event not found.\");return t}e.extractEvent=r})(fE||={});async function pE(e,t){return pE.inner(uh,e,t)}(function(e){async function t(t,n,r){let{policyId:i,token:a,...o}=r,s=e.call(n,{policyId:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(...e){let[t,n]=TT(e),{token:r,policyId:i}=n;return U({address:vT(t,{token:r}).address,abi:H,functionName:`changeTransferPolicyId`,args:[i]})}e.call=n;function r(e){let[t]=af({abi:H,logs:e,eventName:`TransferPolicyUpdate`});if(!t)throw Error(\"`TransferPolicyUpdate` event not found.\");return t}e.extractEvent=r})(pE||={});async function mE(e,t){return mE.inner(uh,e,t)}(function(e){async function t(t,n,r){let{account:i=n.account,admin:a=n.account,chain:o=n.chain,...s}=r,c=a?P(a):void 0;if(!c)throw Error(`admin is required.`);let l=e.call(n,{...s,admin:c.address});return await t(n,{...r,account:i,chain:o,...l})}e.inner=t;function n(...e){let[t,n]=TT(e),{name:r,symbol:i,currency:a,logoURI:o,quoteToken:s=`0x20c0000000000000000000000000000000000000`,admin:c,salt:l=mp(32)}=n;return U({address:`0x20fc000000000000000000000000000000000000`,abi:Bw,args:typeof o==`string`?[r,i,a,vT(t,{token:s}).address,c,l,o]:[r,i,a,vT(t,{token:s}).address,c,l],functionName:`createToken`})}e.call=n;function r(e){let[t]=af({abi:Bw,logs:e,eventName:`TokenCreated`,strict:!0});if(!t)throw Error(\"`TokenCreated` event not found.\");return t}e.extractEvent=r})(mE||={});async function hE(e,t){let{account:n,decimals:r,spender:i,token:a,...o}=t,[s,{decimals:c}]=await Promise.all([V(e,{...o,...hE.call(e,{account:n,spender:i,token:a})}),CT(e,{decimals:r,token:a})]);return ib(s,c)}(function(e){function t(...e){let[t,n]=TT(e);return U({address:vT(t,n).address,abi:H,functionName:`allowance`,args:[n.account,n.spender]})}e.call=t})(hE||={});async function gE(e,t){let{account:n=e.account,decimals:r,token:i,...a}=t;if(!n)throw new ih;let o=P(n).address,[s,{decimals:c}]=await Promise.all([V(e,{...a,...gE.call(e,{account:o,token:i})}),CT(e,{decimals:r,token:i})]);return ib(s,c)}(function(e){function t(...e){let[t,n]=TT(e),r=n.account??t?.account;if(!r)throw new ih;let i=P(r).address;return U({address:vT(t,n).address,abi:H,functionName:`balanceOf`,args:[i]})}e.call=t})(gE||={});async function _E(e,t){let{token:n,...r}=t,{address:i}=vT(e,{token:n}),a=H,o=yT(e,n),s={...o?.decimals==null?{}:{decimals:o.decimals},...o?.name==null?{}:{name:o.name},...o?.symbol==null?{}:{symbol:o.symbol}};return NC(i)===NC(`0x20c0000000000000000000000000000000000000`)?vE(e,{...r,contracts:[{address:i,abi:a,functionName:`currency`},{address:i,abi:a,functionName:`decimals`},{address:i,abi:a,functionName:`logoURI`},{address:i,abi:a,functionName:`name`},{address:i,abi:a,functionName:`symbol`},{address:i,abi:a,functionName:`totalSupply`}]}).then(([e,t,n,r,i,a])=>({name:yE(r),symbol:yE(i),currency:yE(e),decimals:yE(t),logoURI:yE(n,``),totalSupply:yE(a),...s})):vE(e,{...r,contracts:[{address:i,abi:a,functionName:`currency`},{address:i,abi:a,functionName:`decimals`},{address:i,abi:a,functionName:`logoURI`},{address:i,abi:a,functionName:`quoteToken`},{address:i,abi:a,functionName:`name`},{address:i,abi:a,functionName:`paused`},{address:i,abi:a,functionName:`supplyCap`},{address:i,abi:a,functionName:`symbol`},{address:i,abi:a,functionName:`totalSupply`},{address:i,abi:a,functionName:`transferPolicyId`}]}).then(([e,t,n,r,i,a,o,c,l,u])=>({name:yE(i),symbol:yE(c),currency:yE(e),decimals:yE(t),logoURI:yE(n,``),quoteToken:yE(r),totalSupply:yE(l),paused:yE(a),supplyCap:yE(o),transferPolicyId:yE(u),...s}))}async function vE(e,t){if(e.batch?.multicall===void 0)return jy(e,{...t,allowFailure:!0,deployless:!0});let{contracts:n,...r}=t;return(await Promise.allSettled(n.map(t=>V(e,{...r,...t})))).map(e=>e.status===`fulfilled`?{result:e.value,status:`success`}:{error:e.reason,status:`failure`})}function yE(e,...t){if(e.status===`failure`){if(t.length>0)return t[0];throw e.error}return e.result}async function bE(e,t){let{decimals:n,token:r,...i}=t,[a,{decimals:o}]=await Promise.all([V(e,{...i,...bE.call(e,{token:r})}),CT(e,{decimals:n,token:r})]);return ib(a,o)}(function(e){function t(...e){let[t,n]=TT(e);return U({address:vT(t,n).address,abi:H,args:[],functionName:`totalSupply`})}e.call=t})(bE||={});async function xE(e,t){return V(e,{...t,...xE.call(e,t)})}(function(e){function t(...e){let[t,n]=TT(e),{role:r,token:i}=n;return U({address:vT(t,{token:i}).address,abi:H,functionName:`getRoleAdmin`,args:[_w(r)]})}e.call=t})(xE||={});async function SE(e,t){let{account:n=e.account}=t,r=n?P(n).address:void 0;if(!r)throw Error(`account is required.`);return V(e,{...t,...SE.call(e,{...t,account:r})})}(function(e){function t(...e){let[t,n]=TT(e),{account:r,role:i,token:a}=n;return U({address:vT(t,{token:a}).address,abi:H,functionName:`hasRole`,args:[r,_w(i)]})}e.call=t})(SE||={});async function CE(e,t){return CE.inner(lh,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,calls:r.roles.map(t=>{let i=e.call(n,{...r,role:t});return{...i,data:_a(i)}})})}e.inner=t;function n(...e){let[t,n]=TT(e),{token:r,to:i,role:a}=n,o=_w(a);return U({address:vT(t,{token:r}).address,abi:H,functionName:`grantRole`,args:[o,i]})}e.call=n;function r(e){let t=af({abi:H,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(CE||={});async function wE(e,t){return wE.inner(uh,e,t)}(function(e){async function t(t,n,r){let{amount:i,memo:a,to:o,token:s,...c}=r,l=e.call(n,{amount:i,memo:a,to:o,token:s});return await t(n,{...c,...l})}e.inner=t;function n(...e){let[t,n]=TT(e),{to:r,amount:i,memo:a,token:o}=n,{address:s,decimals:c}=vT(t,{token:o}),l=ab(i,c),u=a?{functionName:`mintWithMemo`,args:[r,l,fp(a,32)]}:{functionName:`mint`,args:[r,l]};return U({address:s,abi:H,...u})}e.call=n;function r(e){let[t]=af({abi:H,logs:e,eventName:`Mint`});if(!t)throw Error(\"`Mint` event not found.\");return t}e.extractEvent=r})(wE||={});async function TE(e,t){return TE.inner(uh,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call(n,{token:i});return await t(n,{...a,...o})}e.inner=t;function n(...e){let[t,n]=TT(e),{token:r}=n;return U({address:vT(t,{token:r}).address,abi:H,functionName:`pause`,args:[]})}e.call=n;function r(e){let[t]=af({abi:H,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(TE||={});async function EE(e,t){return EE.inner(lh,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,calls:r.roles.map(t=>{let i=e.call(n,{...r,role:t});return{...i,data:_a(i)}})})}e.inner=t;function n(...e){let[t,n]=TT(e),{token:r,role:i}=n,a=_w(i);return U({address:vT(t,{token:r}).address,abi:H,functionName:`renounceRole`,args:[a]})}e.call=n;function r(e){let t=af({abi:H,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(EE||={});async function DE(e,t){return DE.inner(lh,e,t)}(function(e){async function t(t,n,r){let{from:i,...a}=r;return await t(n,{...a,calls:r.roles.map(t=>{let i=e.call(n,{...r,role:t});return{...i,data:_a(i)}})})}e.inner=t;function n(...e){let[t,n]=TT(e),{token:r,from:i,role:a}=n,o=_w(a);return U({address:vT(t,{token:r}).address,abi:H,functionName:`revokeRole`,args:[o,i]})}e.call=n;function r(e){let t=af({abi:H,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(DE||={});async function OE(e,t){return OE.inner(uh,e,t)}(function(e){async function t(t,n,r){let{supplyCap:i,token:a,...o}=r,s=e.call(n,{supplyCap:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(...e){let[t,n]=TT(e),{token:r,supplyCap:i}=n;return U({address:vT(t,{token:r}).address,abi:H,functionName:`setSupplyCap`,args:[i]})}e.call=n;function r(e){let[t]=af({abi:H,logs:e,eventName:`SupplyCapUpdate`});if(!t)throw Error(\"`SupplyCapUpdate` event not found.\");return t}e.extractEvent=r})(OE||={});async function kE(e,t){return kE.inner(uh,e,t)}(function(e){async function t(t,n,r){let{adminRole:i,role:a,token:o,...s}=r,c=e.call(n,{adminRole:i,role:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(...e){let[t,n]=TT(e),{token:r,role:i,adminRole:a}=n,o=_w(i),s=_w(a);return U({address:vT(t,{token:r}).address,abi:H,functionName:`setRoleAdmin`,args:[o,s]})}e.call=n;function r(e){let[t]=af({abi:H,logs:e,eventName:`RoleAdminUpdated`});if(!t)throw Error(\"`RoleAdminUpdated` event not found.\");return t}e.extractEvent=r})(kE||={});async function AE(e,t){return AE.inner(uh,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(...e){let[t,n]=TT(e),{from:r,memo:i,to:a,token:o}=n,{address:s,decimals:c}=vT(t,{token:o}),l=ab(n.amount,c),u=i&&r?{functionName:`transferFromWithMemo`,args:[r,a,l,fp(i,32)]}:i?{functionName:`transferWithMemo`,args:[a,l,fp(i,32)]}:r?{functionName:`transferFrom`,args:[r,a,l]}:{functionName:`transfer`,args:[a,l]};return U({address:s,abi:H,...u})}e.call=n;async function r(t,n){return Qd(t,{...wT(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Gm(t,{...wT(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=af({abi:H,logs:e,eventName:`Transfer`});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=a})(AE||={});async function jE(e,t){return jE.inner(uh,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call(n,{token:i});return await t(n,{...a,...o})}e.inner=t;function n(...e){let[t,n]=TT(e),{token:r}=n;return U({address:vT(t,{token:r}).address,abi:H,functionName:`unpause`,args:[]})}e.call=n;function r(e){let[t]=af({abi:H,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(jE||={});async function ME(e,t){return ME.inner(uh,e,t)}(function(e){async function t(t,n,r){let{quoteToken:i,token:a,...o}=r,s=e.call(n,{quoteToken:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(...e){let[t,n]=TT(e),{token:r,quoteToken:i}=n;return U({address:vT(t,{token:r}).address,abi:H,functionName:`setNextQuoteToken`,args:[vT(t,{token:i}).address]})}e.call=n;function r(e){let[t]=af({abi:H,logs:e,eventName:`NextQuoteTokenSet`});if(!t)throw Error(\"`NextQuoteTokenSet` event not found.\");return t}e.extractEvent=r})(ME||={});async function NE(e,t){return NE.inner(uh,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call(n,{token:i});return await t(n,{...a,...o})}e.inner=t;function n(...e){let[t,n]=TT(e),{token:r}=n;return U({address:vT(t,{token:r}).address,abi:H,functionName:`completeQuoteTokenUpdate`,args:[]})}e.call=n;function r(e){let[t]=af({abi:H,logs:e,eventName:`QuoteTokenUpdate`});if(!t)throw Error(\"`QuoteTokenUpdateCompleted` event not found.\");return t}e.extractEvent=r})(NE||={});let PE=Jh({...oE,id:31318,name:`Tempo Devnet`,hardfork:`t3`,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.devnet.tempo.xyz`}},nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.devnet.tempoxyz.dev`],webSocket:[`wss://rpc.devnet.tempoxyz.dev`]}},testnet:!0}),FE=Jh({...oE,id:1337,name:`Tempo`,hardfork:`t3`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`http://localhost:8545`]}}});function IE(e){return e.source}function LE(e,t,n){let{policy:r=`sign-only`}=n??{};return n=>{let i=e(n),a=t(n);return Ub({key:LE.type,name:`Relay Proxy`,async request({method:e,params:t},n){if(e===`eth_fillTransaction`){let r=t?.[0];if(r&&typeof r==`object`&&`feePayer`in r&&r.feePayer===!0)return a.request({method:e,params:t},n)}if(e===`eth_sendRawTransactionSync`||e===`eth_sendRawTransaction`){let o=t[0];if(Xw(o).feePayerSignature===null){if(r===`sign-and-broadcast`)return a.request({method:e,params:t},n);{let t=await a.request({method:`eth_signRawTransaction`,params:[o]},n);return i.request({method:e,params:[t]},n)}}}return await i.request({method:e,params:t},n)},type:LE.type})}}Ya();let RE={AddressAlreadyHasValidator:`This address already has a validator.`,AddressNotReserved:`Address is not reserved.`,AddressReserved:`Address is reserved.`,AlreadyInitialized:`Already initialized.`,AmountExceedsDeposit:`Amount exceeds deposit.`,AmountNotIncreasing:`Amount is not increasing.`,BelowMinimumOrderSize:`Order size is below the minimum allowed ({0}).`,CallNotAllowed:`This call is not allowed.`,CannotChangeWithinBlock:`Cannot change within the same block.`,CaptureAmountInvalid:`Capture amount is invalid.`,ChannelAlreadyExists:`Channel already exists.`,ChannelNotFound:`Channel not found.`,CloseNotReady:`Channel is not ready to close.`,ContractPaused:`Contract is paused.`,DelegateCallNotAllowed:`Delegate calls are not allowed.`,DepositOverflow:`Deposit overflow.`,DivisionByZero:`Division by zero.`,EmptyV1ValidatorSet:`Validator set is empty.`,ExpiringNonceHashNotSet:`Expiring nonce hash is not set.`,ExpiringNonceReplay:`Expiring nonce has already been used.`,ExpiringNonceSetFull:`Expiring nonce set is full.`,ExpiryInPast:`Expiry is in the past.`,IdenticalAddresses:`Addresses must be different.`,IdenticalTokens:`Cannot swap a token for itself \u2014 input and output tokens must be different.`,IncompatiblePolicyType:`Incompatible policy type.`,IngressAlreadyExists:`Ingress \"{0}\" already exists.`,InsufficientAllowance:`Insufficient allowance.`,InsufficientBalance:`Insufficient balance. Required: {1}, available: {0}.`,InsufficientFeeTokenBalance:`Insufficient fee token balance.`,InsufficientLiquidity:`Not enough liquidity in the order book to fill this trade.`,InsufficientOutput:`The output amount is below the slippage minimum \u2014 try increasing slippage tolerance.`,InsufficientReserves:`Insufficient reserves.`,InvalidAmount:`Invalid amount.`,InvalidBaseToken:`This token is not a valid base token for the requested pair.`,InvalidCallScope:`Invalid call scope.`,InvalidClaimAddress:`Invalid claim address.`,InvalidCurrency:`Invalid currency.`,InvalidExpiringNonceExpiry:`Invalid expiring nonce expiry.`,InvalidFlipTick:`The flip-order price tick is invalid.`,InvalidFormat:`Invalid format.`,InvalidKeyAuthorizationWitness:`Invalid key authorization witness.`,InvalidKeyId:`Invalid key ID.`,InvalidLogoURI:`Invalid logo URI.`,InvalidMasterAddress:`Invalid master address.`,InvalidMigrationIndex:`Invalid migration index.`,InvalidMode:`Invalid mode.`,InvalidNonceKey:`Invalid nonce key.`,InvalidOwner:`Invalid owner.`,InvalidPayee:`Invalid payee.`,InvalidPayload:`Invalid payload.`,InvalidPolicyType:`Invalid policy type.`,InvalidPublicKey:`Invalid public key.`,InvalidQuoteToken:`Invalid quote token.`,InvalidReceipt:`Invalid receipt.`,InvalidReceivePolicyType:`Invalid receive policy type.`,InvalidRecipient:`Invalid recipient.`,InvalidRecoveryAuthority:`Invalid recovery authority.`,InvalidSignature:`Invalid signature.`,InvalidSignatureFormat:`Invalid signature format.`,InvalidSignatureType:`Invalid signature type.`,InvalidSpendingLimit:`Invalid spending limit.`,InvalidSupplyCap:`Invalid supply cap.`,InvalidSwapCalculation:`Invalid swap calculation.`,InvalidTick:`The price tick is invalid.`,InvalidToken:`This token is not supported on the exchange.`,InvalidTransferPolicyId:`Invalid transfer policy.`,InvalidValidatorAddress:`Invalid validator address.`,KeyAlreadyExists:`Key already exists.`,KeyAlreadyRevoked:`Key has already been revoked.`,KeyAuthorizationWitnessAlreadyBurned:`Key authorization witness has already been burned.`,KeyExpired:`Key has expired.`,KeyNotFound:`Key not found.`,LegacyAuthorizeKeySelectorChanged:`Legacy authorize key selector changed to {0}.`,LogoURITooLong:`Logo URI is too long.`,MasterIdCollision:`Master ID collision with {0}.`,MaxInputExceeded:`The required input exceeds the slippage maximum \u2014 try increasing slippage tolerance.`,MigrationNotComplete:`Migration is not complete.`,NoOptedInSupply:`No opted-in supply.`,NonceOverflow:`Nonce overflow.`,NotHostPort:`\"{1}\" is not a valid host:port for {0}.`,NotInitialized:`Not initialized.`,NotIp:`\"{0}\" is not a valid IP address.`,NotIpPort:`\"{1}\" is not a valid IP:port for {0}.`,NotPayeeOrOperator:`Not payee or operator.`,NotPayer:`Not payer.`,OrderDoesNotExist:`No order exists with the given ID.`,OrderNotStale:`This order is not yet eligible for stale-cleanup.`,PairAlreadyExists:`A trading pair for these tokens has already been created.`,PairDoesNotExist:`No trading pair exists for these tokens.`,PermitExpired:`Permit has expired.`,PolicyForbids:`Forbidden by policy.`,PolicyNotFound:`Policy not found.`,PolicyNotSimple:`Policy is not a simple policy.`,ProofOfWorkFailed:`Proof of work failed.`,ProtectedAddress:`Address is protected.`,ProtocolNonceNotSupported:`Protocol nonce is not supported.`,PublicKeyAlreadyExists:`Public key already exists.`,SignatureTypeMismatch:`Signature type mismatch. Expected {0}, got {1}.`,SpendingLimitExceeded:`Spending limit exceeded.`,SupplyCapExceeded:`Supply cap exceeded.`,TickOutOfBounds:`Price tick {0} is outside the allowed range.`,TokenAlreadyExists:`Token {0} already exists.`,Unauthorized:`Unauthorized.`,UnauthorizedCaller:`Unauthorized caller.`,UnauthorizedClaimer:`Unauthorized claimer.`,Uninitialized:`Uninitialized.`,ValidatorAlreadyDeactivated:`Validator is already deactivated.`,ValidatorAlreadyExists:`Validator already exists.`,ValidatorNotFound:`Validator not found.`,VirtualAddressNotAllowed:`Virtual address is not allowed.`,VirtualAddressUnregistered:`Virtual address is not registered.`,ZeroDeposit:`Deposit cannot be zero.`,ZeroPublicKey:`Public key cannot be zero.`};function zE(e,t){return t?e.replace(/\\{(\\d+)\\}/g,(e,n)=>{let r=t[Number(n)];return r===void 0?`{${n}}`:String(r)}):e}function BE(e){let t=e.details??e.shortMessage??e.message,n=VE(e);if(n)try{let e=Ja({abi:qw,data:n}),r=RE[e.errorName];return{...e,data:n,message:r?zE(r,e.args):t.replace(/^execution reverted:\\s*/i,``)}}catch{}let r=/:\\s*(\\w+)\\(\\w+/.exec(t)?.[1];return r&&r in RE?{errorName:`unknown`,message:RE[r]}:{errorName:`unknown`,message:t.replace(/^execution reverted:\\s*/i,``)}}function VE(e){if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.data==`string`&&t.data.startsWith(`0x`))return t.data;if(t.cause)return VE(t.cause);if(t.error)return VE(t.error);if(typeof t.walk==`function`){let e=t.walk(e=>typeof e.data==`string`);if(e)return VE(e)}return null}function HE(e={}){let{extractable:t=!1}=e;return{requiresStructuredClone:!t,async createKey(){if(!globalThis.crypto?.subtle)throw Error(\"`webCryptoP256` keystore requires WebCrypto (`crypto.subtle`) support.\");let e=await zS({extractable:t}),n=C_(e.publicKey);return t?{handle:{jwk:await globalThis.crypto.subtle.exportKey(`jwk`,e.privateKey),kind:`webcrypto-p256`},publicKey:n}:{handle:{keyPair:e,kind:`webcrypto-p256`},publicKey:n}},async toAccount(e,t){let n=e.handle;if(n?.kind!==`webcrypto-p256`)throw Error(\"Unrecognized `webCryptoP256` keystore handle.\");let r={access:t.access,keyAuthorizationManager:t.keyAuthorizationManager};if(n.keyPair){if(!UE(n.keyPair.privateKey))throw new WE(\"`webCryptoP256` key material did not survive storage.\");return aT(n.keyPair,r)}if(n.jwk)return aT({privateKey:await globalThis.crypto.subtle.importKey(`jwk`,n.jwk,{name:`ECDSA`,namedCurve:`P-256`},!1,[`sign`]).catch(e=>{throw new WE(\"`webCryptoP256` keystore handle holds unusable key material.\",{cause:e})}),publicKey:x_(e.publicKey)},r);throw Error(\"Unrecognized `webCryptoP256` keystore handle.\")}}}function UE(e){return typeof CryptoKey<`u`&&e instanceof CryptoKey||!!e&&typeof e==`object`&&`algorithm`in e&&e.type===`private`}var WE=class extends Error{constructor(e,t){super(e??`Keystore key material is permanently unavailable.`,t),this.name=`Keystore.KeyUnavailableError`}};function GE(e){return e instanceof WE||e instanceof Error&&e.name===`Keystore.KeyUnavailableError`}let KE={p256:HE()};var qE;function W(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,\"_zod\",{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,\"name\",{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,\"init\",{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,\"name\",{value:e}),o}var JE=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},YE=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(qE=globalThis).__zod_globalConfig??(qE.__zod_globalConfig={});let XE=globalThis.__zod_globalConfig;function ZE(e){return e&&Object.assign(XE,e),XE}function QE(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function $E(e,t){return typeof t==`bigint`?t.toString():t}function eD(e){return{get value(){{let t=e();return Object.defineProperty(this,\"value\",{value:t}),t}}}}function tD(e){return e==null}function nD(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}let rD=Symbol(`evaluating`);function iD(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==rD)return r===void 0&&(r=rD,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function aD(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function oD(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}let sD=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function cD(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function lD(e){if(cD(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return cD(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}let uD=new Set([`string`,`number`,`symbol`]),dD=new Set([`string`,`number`,`bigint`,`boolean`,`symbol`,`undefined`]);function fD(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,`\\\\$&`)}function pD(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function mD(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error(\"Cannot specify both `message` and `error` params\");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function hD(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}-Number.MAX_VALUE,Number.MAX_VALUE;function gD(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);return pD(e,oD(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: \"${e}\"`);t[e]&&delete r[e]}return aD(this,`shape`,r),r},checks:[]}))}function _D(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function vD(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function yD(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function bD(e){return typeof e==`string`?e:e?.message}function xD(e,t,n){let r=e.message?e.message:bD(e.inst?._zod.def?.error?.(e))??bD(t?.error?.(e))??bD(n.customError?.(e))??bD(n.localeError?.(e))??`Invalid input`,{inst:i,continue:a,input:o,...s}=e;return s.path??=[],s.message=r,t?.reportInput&&(s.input=o),s}function SD(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function CD(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}let wD=(e,t)=>{e.name=`$ZodError`,Object.defineProperty(e,\"_zod\",{value:e._zod,enumerable:!1}),Object.defineProperty(e,\"issues\",{value:t,enumerable:!1}),e.message=JSON.stringify(t,$E,2),Object.defineProperty(e,\"toString\",{value:()=>e.message,enumerable:!1})},TD=W(`$ZodError`,wD),ED=W(`$ZodError`,wD,{Parent:Error}),DD=e=>(t,n,r,i)=>{let a=r?{...r,async:!1}:{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new JE;if(o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>xD(e,a,ZE())));throw sD(t,i?.callee),t}return o.value},OD=DD(ED),kD=(e=>async(t,n,r,i)=>{let a=r?{...r,async:!0}:{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>xD(e,a,ZE())));throw sD(t,i?.callee),t}return o.value})(ED),AD=(e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new JE;return a.issues.length?{success:!1,error:new(e??TD)(a.issues.map(e=>xD(e,i,ZE())))}:{success:!0,data:a.value}})(ED),jD=(e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>xD(e,i,ZE())))}:{success:!0,data:a.value}})(ED),MD=(e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return DD(e)(t,n,i)})(ED),ND=e=>{let t=e?`[\\\\s\\\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\\\s\\\\S]*`;return RegExp(`^${t}$`)},PD=/^-?\\d+n?$/,FD=/^-?\\d+(?:\\.\\d+)?$/,ID=/^(?:true|false)$/i,LD=/^null$/i,RD=/^undefined$/i,zD=W(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),BD={number:`number`,bigint:`bigint`,object:`date`},VD=W(`$ZodCheckLessThan`,(e,t)=>{zD.init(e,t);let n=BD[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),HD=W(`$ZodCheckGreaterThan`,(e,t)=>{zD.init(e,t);let n=BD[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),UD=W(`$ZodCheckMaxLength`,(e,t)=>{var n;zD.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!tD(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value;if(r.length<=t.maximum)return;let i=SD(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),WD=W(`$ZodCheckMinLength`,(e,t)=>{var n;zD.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!tD(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=SD(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),GD=W(`$ZodCheckStringFormat`,(e,t)=>{var n,r;zD.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),KD=W(`$ZodCheckRegex`,(e,t)=>{GD.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),qD={major:4,minor:4,patch:3},JD=W(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=qD;let r=[...e._zod.def.checks??[]];e._zod.traits.has(`$ZodCheck`)&&r.unshift(e);for(let t of r)for(let n of t._zod.onattach)n(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(e,t,n)=>{let r=_D(e),i;for(let a of t){if(a._zod.def.when){if(vD(e)||!a._zod.def.when(e))continue}else if(r)continue;let t=e.issues.length,o=a._zod.check(e);if(o instanceof Promise&&n?.async===!1)throw new JE;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=_D(e,t))});else{if(e.issues.length===t)continue;r||=_D(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(_D(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new JE;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(i,a)=>{if(a.skipChecks)return e._zod.parse(i,a);if(a.direction===`backward`){let t=e._zod.parse({value:i.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,i,a)):n(t,i,a)}let o=e._zod.parse(i,a);if(o instanceof Promise){if(a.async===!1)throw new JE;return o.then(e=>t(e,r,a))}return t(o,r,a)}}iD(e,`~standard`,()=>({validate:t=>{try{let n=AD(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return jD(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),YD=W(`$ZodString`,(e,t)=>{JD.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??ND(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),XD=W(`$ZodNumber`,(e,t)=>{JD.init(e,t),e._zod.pattern=e._zod.bag.pattern??FD,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:`Infinity`:void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),ZD=W(`$ZodBoolean`,(e,t)=>{JD.init(e,t),e._zod.pattern=ID,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n}}),QD=W(`$ZodBigInt`,(e,t)=>{JD.init(e,t),e._zod.pattern=PD,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=BigInt(n.value)}catch{}return typeof n.value==`bigint`||n.issues.push({expected:`bigint`,code:`invalid_type`,input:n.value,inst:e}),n}}),$D=W(`$ZodUndefined`,(e,t)=>{JD.init(e,t),e._zod.pattern=RD,e._zod.values=new Set([void 0]),e._zod.parse=(t,n)=>{let r=t.value;return r===void 0||t.issues.push({expected:`undefined`,code:`invalid_type`,input:r,inst:e}),t}}),eO=W(`$ZodNull`,(e,t)=>{JD.init(e,t),e._zod.pattern=LD,e._zod.values=new Set([null]),e._zod.parse=(t,n)=>{let r=t.value;return r===null||t.issues.push({expected:`null`,code:`invalid_type`,input:r,inst:e}),t}}),tO=W(`$ZodUnknown`,(e,t)=>{JD.init(e,t),e._zod.parse=e=>e});function nO(e,t,n){e.issues.length&&t.issues.push(...yD(n,e.issues)),t.value[n]=e.value}let rO=W(`$ZodArray`,(e,t)=>{JD.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({expected:`array`,code:`invalid_type`,input:i,inst:e}),n;n.value=Array(i.length);let a=[];for(let e=0;e<i.length;e++){let o=i[e],s=t.element._zod.run({value:o,issues:[]},r);s instanceof Promise?a.push(s.then(t=>nO(t,n,e))):nO(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function iO(e,t,n,r,i,a){let o=n in r;if(e.issues.length){if(i&&a&&!o)return;t.issues.push(...yD(n,e.issues))}if(!o&&!i){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?o&&(t.value[n]=void 0):t.value[n]=e.value}function aO(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key \"${n}\": expected a Zod schema`);let n=hD(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function oO(e,t,n,r,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optin===`optional`,d=c.optout===`optional`;for(let i in t){if(i===`__proto__`||s.has(i))continue;if(l===`never`){o.push(i);continue}let a=c.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>iO(e,n,i,t,u,d))):iO(a,n,i,t,u,d)}return o.length&&n.issues.push({code:`unrecognized_keys`,keys:o,input:t,inst:a}),e.length?Promise.all(e).then(()=>n):n}let sO=W(`$ZodObject`,(e,t)=>{if(JD.init(e,t),!Object.getOwnPropertyDescriptor(t,`shape`)?.get){let e=t.shape;Object.defineProperty(t,\"shape\",{get:()=>{let n={...e};return Object.defineProperty(t,\"shape\",{value:n}),n}})}let n=eD(()=>aO(t));iD(e._zod,`propValues`,()=>{let e=t.shape,n={};for(let t in e){let r=e[t]._zod;if(r.values){n[t]??(n[t]=new Set);for(let e of r.values)n[t].add(e)}}return n});let r=cD,i=t.catchall,a;e._zod.parse=(t,o)=>{a??=n.value;let s=t.value;if(!r(s))return t.issues.push({expected:`object`,code:`invalid_type`,input:s,inst:e}),t;t.value={};let c=[],l=a.shape;for(let e of a.keys){let n=l[e],r=n._zod.optin===`optional`,i=n._zod.optout===`optional`,a=n._zod.run({value:s[e],issues:[]},o);a instanceof Promise?c.push(a.then(n=>iO(n,t,e,s,r,i))):iO(a,t,e,s,r,i)}return i?oO(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}});function cO(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!_D(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>xD(e,r,ZE())))}),t)}let lO=W(`$ZodUnion`,(e,t)=>{JD.init(e,t),iD(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),iD(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),iD(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),iD(e._zod,`pattern`,()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>nD(e.source)).join(`|`)})$`)}});let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,i)=>{if(n)return n(r,i);let a=!1,o=[];for(let e of t.options){let t=e._zod.run({value:r.value,issues:[]},i);if(t instanceof Promise)o.push(t),a=!0;else{if(t.issues.length===0)return t;o.push(t)}}return a?Promise.all(o).then(t=>cO(t,r,e,i)):cO(o,r,e,i)}}),uO=W(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,lO.init(e,t);let n=e._zod.parse;iD(e._zod,`propValues`,()=>{let e={};for(let n of t.options){let r=n._zod.propValues;if(!r||Object.keys(r).length===0)throw Error(`Invalid discriminated union option at index \"${t.options.indexOf(n)}\"`);for(let[t,n]of Object.entries(r)){e[t]||(e[t]=new Set);for(let r of n)e[t].add(r)}}return e});let r=eD(()=>{let e=t.options,n=new Map;for(let r of e){let e=r._zod.propValues?.[t.discriminator];if(!e||e.size===0)throw Error(`Invalid discriminated union option at index \"${t.options.indexOf(r)}\"`);for(let t of e){if(n.has(t))throw Error(`Duplicate discriminator value \"${String(t)}\"`);n.set(t,r)}}return n});e._zod.parse=(i,a)=>{let o=i.value;if(!cD(o))return i.issues.push({code:`invalid_type`,expected:`object`,input:o,inst:e}),i;let s=r.value.get(o?.[t.discriminator]);return s?s._zod.run(i,a):t.unionFallback||a.direction===`backward`?n(i,a):(i.issues.push({code:`invalid_union`,errors:[],note:`No matching discriminator`,discriminator:t.discriminator,options:Array.from(r.value.keys()),input:o,path:[t.discriminator],inst:e}),i)}}),dO=W(`$ZodTuple`,(e,t)=>{JD.init(e,t);let n=t.items;e._zod.parse=(r,i)=>{let a=r.value;if(!Array.isArray(a))return r.issues.push({input:a,inst:e,expected:`tuple`,code:`invalid_type`}),r;r.value=[];let o=[],s=fO(n,`optin`),c=fO(n,`optout`);if(!t.rest){if(a.length<s)return r.issues.push({code:`too_small`,minimum:s,inclusive:!0,input:a,inst:e,origin:`array`}),r;a.length>n.length&&r.issues.push({code:`too_big`,maximum:n.length,inclusive:!0,input:a,inst:e,origin:`array`})}let l=Array(n.length);for(let e=0;e<n.length;e++){let t=n[e]._zod.run({value:a[e],issues:[]},i);t instanceof Promise?o.push(t.then(t=>{l[e]=t})):l[e]=t}if(t.rest){let e=n.length-1,s=a.slice(n.length);for(let n of s){e++;let a=t.rest._zod.run({value:n,issues:[]},i);a instanceof Promise?o.push(a.then(t=>pO(t,r,e))):pO(a,r,e)}}return o.length?Promise.all(o).then(()=>mO(l,r,n,a,c)):mO(l,r,n,a,c)}});function fO(e,t){for(let n=e.length-1;n>=0;n--)if(e[n]._zod[t]!==`optional`)return n+1;return 0}function pO(e,t,n){e.issues.length&&t.issues.push(...yD(n,e.issues)),t.value[n]=e.value}function mO(e,t,n,r,i){for(let a=0;a<n.length;a++){let n=e[a],o=a<r.length;if(n.issues.length){if(!o&&a>=i){t.value.length=a;break}t.issues.push(...yD(a,n.issues))}t.value[a]=n.value}for(let e=t.value.length-1;e>=r.length&&n[e]._zod.optout===`optional`&&t.value[e]===void 0;e--)t.value.length=e;return t}let hO=W(`$ZodRecord`,(e,t)=>{JD.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!lD(i))return n.issues.push({expected:`record`,code:`invalid_type`,input:i,inst:e}),n;let a=[],o=t.keyType._zod.values;if(o){n.value={};let s=new Set;for(let c of o)if(typeof c==`string`||typeof c==`number`||typeof c==`symbol`){s.add(typeof c==`number`?c.toString():c);let o=t.keyType._zod.run({value:c,issues:[]},r);if(o instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(o.issues.length){n.issues.push({code:`invalid_key`,origin:`record`,issues:o.issues.map(e=>xD(e,r,ZE())),input:c,path:[c],inst:e});continue}let l=o.value,u=t.valueType._zod.run({value:i[c],issues:[]},r);u instanceof Promise?a.push(u.then(e=>{e.issues.length&&n.issues.push(...yD(c,e.issues)),n.value[l]=e.value})):(u.issues.length&&n.issues.push(...yD(c,u.issues)),n.value[l]=u.value)}let c;for(let e in i)s.has(e)||(c??=[],c.push(e));c&&c.length>0&&n.issues.push({code:`unrecognized_keys`,input:i,inst:e,keys:c})}else{n.value={};for(let o of Reflect.ownKeys(i)){if(o===`__proto__`||!Object.prototype.propertyIsEnumerable.call(i,o))continue;let s=t.keyType._zod.run({value:o,issues:[]},r);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof o==`string`&&FD.test(o)&&s.issues.length){let e=t.keyType._zod.run({value:Number(o),issues:[]},r);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(s=e)}if(s.issues.length){t.mode===`loose`?n.value[o]=i[o]:n.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>xD(e,r,ZE())),input:o,path:[o],inst:e});continue}let c=t.valueType._zod.run({value:i[o],issues:[]},r);c instanceof Promise?a.push(c.then(e=>{e.issues.length&&n.issues.push(...yD(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...yD(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),gO=W(`$ZodEnum`,(e,t)=>{JD.init(e,t);let n=QE(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>uD.has(typeof e)).map(e=>typeof e==`string`?fD(e):e.toString()).join(`|`)})$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),_O=W(`$ZodLiteral`,(e,t)=>{if(JD.init(e,t),t.values.length===0)throw Error(`Cannot create literal schema with no valid values`);let n=new Set(t.values);e._zod.values=n,e._zod.pattern=RegExp(`^(${t.values.map(e=>typeof e==`string`?fD(e):e?fD(e.toString()):String(e)).join(`|`)})$`),e._zod.parse=(r,i)=>{let a=r.value;return n.has(a)||r.issues.push({code:`invalid_value`,values:t.values,input:a,inst:e}),r}}),vO=W(`$ZodTransform`,(e,t)=>{JD.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new YE(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n.fallback=!0,n));if(i instanceof Promise)throw new JE;return n.value=i,n.fallback=!0,n}});function yO(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}let bO=W(`$ZodOptional`,(e,t)=>{JD.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,iD(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),iD(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${nD(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=e.value,i=t.innerType._zod.run(e,n);return i instanceof Promise?i.then(e=>yO(e,r)):yO(i,r)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),xO=W(`$ZodNullable`,(e,t)=>{JD.init(e,t),iD(e._zod,`optin`,()=>t.innerType._zod.optin),iD(e._zod,`optout`,()=>t.innerType._zod.optout),iD(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${nD(e.source)}|null)$`):void 0}),iD(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),SO=W(`$ZodPipe`,(e,t)=>{JD.init(e,t),iD(e._zod,`values`,()=>t.in._zod.values),iD(e._zod,`optin`,()=>t.in._zod.optin),iD(e._zod,`optout`,()=>t.out._zod.optout),iD(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>CO(e,t.in,n)):CO(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>CO(e,t.out,n)):CO(r,t.out,n)}});function CO(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},n)}let wO=W(`$ZodCodec`,(e,t)=>{JD.init(e,t),iD(e._zod,`values`,()=>t.in._zod.values),iD(e._zod,`optin`,()=>t.in._zod.optin),iD(e._zod,`optout`,()=>t.out._zod.optout),iD(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if((n.direction||`forward`)===`forward`){let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>TO(e,t,n)):TO(r,t,n)}{let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>TO(e,t,n)):TO(r,t,n)}}});function TO(e,t,n){if(e.issues.length)return e.aborted=!0,e;if((n.direction||`forward`)===`forward`){let r=t.transform(e.value,e);return r instanceof Promise?r.then(r=>EO(e,r,t.out,n)):EO(e,r,t.out,n)}{let r=t.reverseTransform(e.value,e);return r instanceof Promise?r.then(r=>EO(e,r,t.in,n)):EO(e,r,t.in,n)}}function EO(e,t,n,r){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:t,issues:e.issues},r)}let DO=W(`$ZodReadonly`,(e,t)=>{JD.init(e,t),iD(e._zod,`propValues`,()=>t.innerType._zod.propValues),iD(e._zod,`values`,()=>t.innerType._zod.values),iD(e._zod,`optin`,()=>t.innerType?._zod?.optin),iD(e._zod,`optout`,()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(OO):OO(r)}});function OO(e){return e.value=Object.freeze(e.value),e}let kO=W(`$ZodTemplateLiteral`,(e,t)=>{JD.init(e,t);let n=[];for(let e of t.parts)if(typeof e==`object`&&e){if(!e._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...e._zod.traits].shift()}`);let t=e._zod.pattern instanceof RegExp?e._zod.pattern.source:e._zod.pattern;if(!t)throw Error(`Invalid template literal part: ${e._zod.traits}`);let r=+!!t.startsWith(`^`),i=t.endsWith(`$`)?t.length-1:t.length;n.push(t.slice(r,i))}else if(e===null||dD.has(typeof e))n.push(fD(`${e}`));else throw Error(`Invalid template literal part: ${e}`);e._zod.pattern=RegExp(`^${n.join(``)}$`),e._zod.parse=(n,r)=>typeof n.value==`string`?(e._zod.pattern.lastIndex=0,e._zod.pattern.test(n.value)||n.issues.push({input:n.value,inst:e,code:`invalid_format`,format:t.format??`template_literal`,pattern:e._zod.pattern.source}),n):(n.issues.push({input:n.value,inst:e,expected:`string`,code:`invalid_type`}),n)}),AO=W(`$ZodCustom`,(e,t)=>{zD.init(e,t),JD.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>jO(t,n,r,e));jO(i,n,r,e)}});function jO(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(CD(e))}}function MO(e,t){return new e({type:`string`,...mD(t)})}function NO(e,t){return new e({type:`number`,checks:[],...mD(t)})}function PO(e,t){return new e({type:`boolean`,...mD(t)})}function FO(e,t){return new e({type:`bigint`,...mD(t)})}function IO(e,t){return new e({type:`undefined`,...mD(t)})}function LO(e,t){return new e({type:`null`,...mD(t)})}function RO(e){return new e({type:`unknown`})}function zO(e,t){return new VD({check:`less_than`,...mD(t),value:e,inclusive:!0})}function BO(e,t){return new HD({check:`greater_than`,...mD(t),value:e,inclusive:!0})}function VO(e,t){return new UD({check:`max_length`,...mD(t),maximum:e})}function HO(e,t){return new WD({check:`min_length`,...mD(t),minimum:e})}function UO(e,t){return new KD({check:`string_format`,format:`regex`,...mD(t),pattern:e})}function WO(e,t,n){let r=mD(n);return r.abort??=!0,new e({type:`custom`,check:`custom`,fn:t,...r})}function GO(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...mD(n)})}let KO=W(`ZodMiniType`,(e,t)=>{if(!e._zod)throw Error(`Uninitialized schema in ZodMiniType.`);JD.init(e,t),e.def=t,e.type=t.type,e.parse=(t,n)=>OD(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>AD(e,t,n),e.parseAsync=async(t,n)=>kD(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>jD(e,t,n),e.check=(...n)=>e.clone({...t,checks:[...t.checks??[],...n.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]},{parent:!0}),e.with=e.check,e.clone=(t,n)=>pD(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.apply=t=>t(e)}),qO=W(`ZodMiniString`,(e,t)=>{YD.init(e,t),KO.init(e,t)});function G(e){return MO(qO,e)}let JO=W(`ZodMiniNumber`,(e,t)=>{XD.init(e,t),KO.init(e,t)});function YO(e){return NO(JO,e)}let XO=W(`ZodMiniBoolean`,(e,t)=>{ZD.init(e,t),KO.init(e,t)});function ZO(e){return PO(XO,e)}let QO=W(`ZodMiniBigInt`,(e,t)=>{QD.init(e,t),KO.init(e,t)});function $O(e){return FO(QO,e)}let ek=W(`ZodMiniUndefined`,(e,t)=>{$D.init(e,t),KO.init(e,t)});function tk(e){return IO(ek,e)}let nk=W(`ZodMiniNull`,(e,t)=>{eO.init(e,t),KO.init(e,t)});function rk(e){return LO(nk,e)}let ik=W(`ZodMiniUnknown`,(e,t)=>{tO.init(e,t),KO.init(e,t)});function ak(){return RO(ik)}let ok=W(`ZodMiniArray`,(e,t)=>{rO.init(e,t),KO.init(e,t)});function K(e,t){return new ok({type:`array`,element:e,...mD(t)})}let sk=W(`ZodMiniObject`,(e,t)=>{sO.init(e,t),KO.init(e,t),iD(e,`shape`,()=>t.shape)});function q(e,t){let n={type:`object`,shape:e??{},...mD(t)};return new sk(n)}function ck(e,t){return new sk({type:`object`,shape:e,catchall:ak(),...mD(t)})}function lk(e,t){return gD(e,t)}let uk=W(`ZodMiniUnion`,(e,t)=>{lO.init(e,t),KO.init(e,t)});function J(e,t){return new uk({type:`union`,options:e,...mD(t)})}let dk=W(`ZodMiniDiscriminatedUnion`,(e,t)=>{uO.init(e,t),KO.init(e,t)});function fk(e,t,n){return new dk({type:`union`,options:t,discriminator:e,...mD(n)})}let pk=W(`ZodMiniTuple`,(e,t)=>{dO.init(e,t),KO.init(e,t)});function mk(e,t,n){let r=t instanceof JD;return new pk({type:`tuple`,items:e,rest:r?t:null,...mD(r?n:t)})}let hk=W(`ZodMiniRecord`,(e,t)=>{hO.init(e,t),KO.init(e,t)});function gk(e,t,n){return!t||!t._zod?new hk({type:`record`,keyType:G(),valueType:e,...mD(t)}):new hk({type:`record`,keyType:e,valueType:t,...mD(n)})}let _k=W(`ZodMiniEnum`,(e,t)=>{gO.init(e,t),KO.init(e,t),e.options=Object.values(t.entries)});function vk(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new _k({type:`enum`,entries:n,...mD(t)})}let yk=W(`ZodMiniLiteral`,(e,t)=>{_O.init(e,t),KO.init(e,t)});function Y(e,t){return new yk({type:`literal`,values:Array.isArray(e)?e:[e],...mD(t)})}let bk=W(`ZodMiniTransform`,(e,t)=>{vO.init(e,t),KO.init(e,t)});function xk(e){return new bk({type:`transform`,transform:e})}let Sk=W(`ZodMiniOptional`,(e,t)=>{bO.init(e,t),KO.init(e,t)});function X(e){return new Sk({type:`optional`,innerType:e})}let Ck=W(`ZodMiniNullable`,(e,t)=>{xO.init(e,t),KO.init(e,t)});function wk(e){return new Ck({type:`nullable`,innerType:e})}let Tk=W(`ZodMiniPipe`,(e,t)=>{SO.init(e,t),KO.init(e,t)});function Ek(e,t){return new Tk({type:`pipe`,in:e,out:t})}let Dk=W(`ZodMiniCodec`,(e,t)=>{Tk.init(e,t),wO.init(e,t)});function Ok(e,t,n){return new Dk({type:`pipe`,in:e,out:t,transform:n.decode,reverseTransform:n.encode})}let kk=W(`ZodMiniReadonly`,(e,t)=>{DO.init(e,t),KO.init(e,t)});function Z(e){return new kk({type:`readonly`,innerType:e})}let Ak=W(`ZodMiniTemplateLiteral`,(e,t)=>{kO.init(e,t),KO.init(e,t)});function jk(e,t){return new Ak({type:`template_literal`,parts:e,...mD(t)})}let Mk=W(`ZodMiniCustom`,(e,t)=>{AO.init(e,t),KO.init(e,t)});function Nk(e,t){return WO(Mk,e??(()=>!0),t)}function Pk(e,t={}){return GO(Mk,e,t)}function Fk(e){return e}function Ik(e){return e}B();let Q=()=>jk([`0x`,G().check(UO(/^[0-9a-fA-F]{40}$/))],`Expected address`),Lk=()=>Ok(J([$(),$O()]),$O(),{decode:e=>typeof e==`bigint`?e:e===`0x`?0n:_p(e),encode:e=>R(e)}),$=()=>jk([`0x`,G()],`Expected hex value`),Rk=()=>Ok(J([$(),YO()]),YO(),{decode:e=>typeof e==`number`?e:e===`0x`?0:yp(e),encode:e=>R(e)});B();let zk=q({address:Q(),blockHash:$(),blockNumber:Lk(),data:$(),logIndex:Rk(),removed:ZO(),topics:Z(K($())),transactionHash:$(),transactionIndex:Rk()}),Bk=q({blobGasPrice:X(Lk()),blobGasUsed:X(Lk()),blockHash:$(),blockNumber:Lk(),contractAddress:wk(Q()),cumulativeGasUsed:Lk(),effectiveGasPrice:Lk(),feePayer:X(Q()),feeToken:X(Q()),from:Q(),gasUsed:Lk(),logs:K(zk),logsBloom:$(),root:X($()),status:Ok($(),vk([`success`,`reverted`]),{decode:e=>e===`0x1`?`success`:`reverted`,encode:e=>e===`success`?`0x1`:`0x0`}),to:wk(Q()),transactionHash:$(),transactionIndex:Rk(),type:$()}),Vk=Nk(),Hk=J([Y(`secp256k1`),Y(`p256`),Y(`webAuthn`)]),Uk=Ok(q({allowedCalls:X(Z(K(q({target:Q(),selectorRules:X(Z(K(q({selector:$(),recipients:X(Z(K(Q())))}))))})))),address:X(Q()),chainId:Lk(),expiry:J([Rk(),rk(),tk()]),keyId:Q(),keyType:Hk,limits:X(Z(K(q({token:Q(),limit:Lk(),period:X(Rk())})))),signature:Vk}),Nk(),{decode(e){return XC({chainId:R(e.chainId),expiry:e.expiry==null?null:R(e.expiry),keyId:e.keyId,keyType:e.keyType,limits:e.limits?.map(({limit:e,period:t,token:n})=>({token:n,limit:R(e),...typeof t==`number`?{period:R(t)}:{}})),signature:e.signature,...e.allowedCalls?{allowedCalls:e.allowedCalls.map(({selectorRules:e,target:t})=>({target:t,...e?{selectorRules:e.map(({recipients:e,selector:t})=>({selector:t,...e?{recipients:e}:{}}))}:{}}))}:{}})},encode(e){let t=nw(e);return{chainId:t.chainId===`0x`?0n:_p(t.chainId),expiry:t.expiry==null?null:yp(t.expiry),keyId:t.keyId,keyType:t.keyType,limits:t.limits?.map(({limit:e,period:t,token:n})=>({token:n,limit:_p(e),...t?{period:yp(t)}:{}})),signature:t.signature,address:t.keyId,...t.allowedCalls?{allowedCalls:t.allowedCalls.map(({selectorRules:e,target:t})=>({target:t,...e?{selectorRules:e.map(({recipients:e,selector:t})=>({selector:t,...e?{recipients:e}:{}}))}:{}}))}:{}}}}),Wk=q({data:X($()),to:X(Q()),value:X(Lk())}),Gk=q({accessList:X(K(q({address:Q(),storageKeys:K($())}))),calls:X(Z(K(Wk))),chainId:X(Rk()),data:X($()),feePayer:X(J([ZO(),G()])),feePayerSignature:X(gk(G(),ak())),feeToken:X(Q()),from:X(Q()),gas:X(Lk()),keyAuthorization:X(Uk),keyData:X($()),keyId:X(Q()),keyType:X(Hk),maxFeePerGas:X(Lk()),maxPriorityFeePerGas:X(Lk()),nonce:X(Rk()),nonceKey:X(Lk()),to:X(Q()),validAfter:X(Rk()),validBefore:X(Rk()),value:X(Lk())});var Kk;(function(e){e.schema=Fk({method:Y(`eth_accounts`),params:void 0,returns:Z(K(Q()))})})(Kk||={});var qk;(function(e){e.schema=Fk({method:Y(`eth_chainId`),params:void 0,returns:$()})})(qk||={});var Jk;(function(e){e.schema=Fk({method:Y(`eth_requestAccounts`),params:void 0,returns:Z(K(Q()))})})(Jk||={});var Yk;(function(e){e.schema=Fk({method:Y(`eth_sendTransaction`),params:Z(mk([Gk])),returns:$()})})(Yk||={});var Xk;(function(e){let t=q({address:Q(),decimals:YO(),direction:vk([`incoming`,`outgoing`]),formatted:G(),name:G(),recipients:Z(K(Q())),symbol:G(),value:$()}),n=q({decimals:YO(),formatted:G(),name:G(),symbol:G(),token:Q(),value:$()});e.schema=Fk({method:Y(`eth_fillTransaction`),params:Z(mk([Gk])),returns:q({capabilities:q({balanceDiffs:X(gk(Q(),Z(K(t)))),error:X(q({abiItem:X(gk(G(),ak())),data:X($()),errorName:G(),message:G()})),fee:X(q({amount:$(),decimals:YO(),formatted:G(),symbol:G()})),requireFunds:X(q({amount:$(),decimals:YO(),formatted:G(),token:Q(),symbol:G()})),autoSwap:X(q({maxIn:n,minOut:n,slippage:YO()})),sponsor:X(q({address:Q(),name:X(G()),url:X(G())})),sponsored:ZO()}),tx:gk(G(),ak())})})})(Xk||={});var Zk;(function(e){e.schema=Fk({method:Y(`eth_signTransaction`),params:Z(mk([Gk])),returns:$()})})(Zk||={});var Qk;(function(e){e.schema=Fk({method:Y(`eth_sendTransactionSync`),params:Z(mk([Gk])),returns:Bk})})(Qk||={});var $k;(function(e){e.schema=Fk({method:Y(`eth_signTypedData_v4`),params:Z(mk([Q(),G()])),returns:$()})})($k||={});var eA;(function(e){e.schema=Fk({method:Y(`personal_sign`),params:Z(mk([$(),Q()])),returns:$()})})(eA||={});let tA=X(q({feePayer:X(J([ZO(),G()])),sync:X(ZO())}));var nA;(function(e){e.schema=Fk({method:Y(`wallet_sendCalls`),params:X(Z(mk([q({atomicRequired:X(ZO()),calls:Z(K(Wk)),capabilities:tA,chainId:X(Rk()),from:X(Q()),version:X(G())})]))),returns:q({atomic:X(ZO()),capabilities:tA,chainId:X(Rk()),id:G(),receipts:X(K(Bk)),status:X(YO()),version:X(G())})})})(nA||={});var rA;(function(e){e.schema=Fk({method:Y(`wallet_getBalances`),params:X(Z(mk([q({account:X(Q()),chainId:X(Rk()),tokens:X(Z(K(Q())))})]))),returns:Z(K(q({address:Q(),balance:Lk(),decimals:YO(),display:G(),name:G(),symbol:G()})))})})(rA||={});var iA;(function(e){e.schema=Fk({method:Y(`wallet_getCapabilities`),params:X(Z(J([mk([Q()]),mk([Q(),Z(K($()))])]))),returns:gk($(),q({accessKeys:X(q({status:J([Y(`supported`),Y(`unsupported`)])})),atomic:q({status:J([Y(`supported`),Y(`ready`),Y(`unsupported`)])}),feePayer:X(q({status:J([Y(`supported`),Y(`unsupported`)])}))}))})})(iA||={});var aA;(function(e){e.showDeposit=X(J([ZO(),q({amount:X(G()),displayName:X(G()),token:X(J([Q(),G()]))})])),e.parameters=q({address:X(Q()),chainId:X(Lk()),expiry:YO(),keyType:X(Hk),limits:X(Z(K(q({token:Q(),limit:Lk(),period:X(YO())})))),publicKey:X($()),scopes:X(Z(K(q({address:Q(),selector:X(J([$(),G()])),recipients:X(Z(K(Q())))})))),showDeposit:e.showDeposit}),e.returns=q({keyAuthorization:Uk,rootAddress:Q()}),e.schema=Fk({method:Y(`wallet_authorizeAccessKey`),params:Z(mk([e.parameters])),returns:e.returns})})(aA||={});var oA;(function(e){e.parameters=q({address:X(Q()),expiry:YO(),keyType:X(Hk),limits:Z(K(q({token:Q(),limit:Lk(),period:X(YO())})).check(HO(1))),publicKey:X($()),scopes:Z(K(q({address:Q(),selector:X(J([$(),G()])),recipients:X(Z(K(Q())))})).check(HO(1))),showDeposit:aA.showDeposit})})(oA||={});var sA;(function(e){e.schema=Fk({method:Y(`wallet_revokeAccessKey`),params:Z(mk([q({address:Q(),accessKeyAddress:Q()})])),returns:void 0})})(sA||={});var cA;(function(e){e.parameters=q({address:Q(),accessKeyAddress:Q(),chainId:X(Lk()),limits:Z(K(q({token:Q(),limit:Lk()})).check(HO(1)))}),e.schema=Fk({method:Y(`wallet_updateAccessKey`),params:Z(mk([e.parameters])),returns:void 0})})(cA||={});var lA;(function(e){e.authorizeAccessKey=X(lk(aA.parameters,{showDeposit:!0})),e.showDeposit=X(J([ZO(),q({amount:X(G()),displayName:X(G()),on:X(J([Y(`login`),Y(`register`)])),token:X(J([Q(),G()]))})])),e.auth=X(J([G(),q({url:X(G()),challenge:X(G()),verify:X(G()),logout:X(G()),resources:X(Z(K(G()))),returnToken:X(ZO())})])),e.personalSign=X(q({message:G()})),e.identity=X(q({email:X(J([ZO(),G(),q({address:X(G()),domains:X(K(G())),nonce:X(G())})]))})),e.capabilities={request:X(J([q({digest:X($()),authorizeAccessKey:e.authorizeAccessKey,auth:e.auth,identity:e.identity,method:Y(`register`),name:X(G()),personalSign:e.personalSign,showDeposit:e.showDeposit,userId:X(G())}),q({digest:X($()),credentialId:X(G()),authorizeAccessKey:e.authorizeAccessKey,auth:e.auth,identity:e.identity,method:X(Y(`login`)),personalSign:e.personalSign,selectAccount:X(ZO()),showDeposit:e.showDeposit})])),result:q({identity:X(q({email:X(wk(G())),idToken:X(G())})),keyAuthorization:X(Uk),personalSign:X(q({message:G(),keyAuthorization:X($())})),signature:X($()),username:X(wk(G())),auth:X(ck({token:X(G())}))})},e.schema=Fk({method:Y(`wallet_connect`),params:X(Z(mk([q({capabilities:e.capabilities.request,chainId:X(Rk()),version:X(G())})]))),returns:q({accounts:Z(K(q({address:Q(),capabilities:e.capabilities.result})))})})})(lA||={});var uA;(function(e){let t=X(lk(oA.parameters,{showDeposit:!0})),n=lA.auth,r=lA.identity,i=lA.personalSign,a=lA.showDeposit;e.parameters=q({capabilities:X(J([q({digest:X($()),authorizeAccessKey:t,auth:n,identity:r,method:Y(`register`),name:X(G()),personalSign:i,showDeposit:a,userId:X(G())}),q({digest:X($()),credentialId:X(G()),authorizeAccessKey:t,auth:n,identity:r,method:X(Y(`login`)),personalSign:i,selectAccount:X(ZO()),showDeposit:a})])),chainId:X(Rk()),version:X(G())})})(uA||={});var dA;(function(e){e.schema=Fk({method:Y(`wallet_disconnect`),params:void 0,returns:void 0})})(dA||={});var fA;(function(e){e.schema=Fk({method:Y(`wallet_getCallsStatus`),params:X(Z(mk([G()]))),returns:q({atomic:ZO(),chainId:Rk(),id:G(),receipts:X(K(Bk)),status:YO(),version:G()})})})(fA||={});var pA;(function(e){e.parameters=fk(`editable`,[q({amount:G(),chainId:X(Rk()),editable:X(Y(!1)),feePayer:X(J([ZO(),G()])),from:X(Q()),memo:X(G()),to:Q(),token:J([Q(),G()])}),q({amount:X(G()),chainId:X(Rk()),editable:Y(!0),feePayer:X(J([ZO(),G()])),memo:X(G()),to:X(Q()),token:X(J([Q(),G()]))})]),e.schema=Fk({method:Y(`wallet_transfer`),params:X(Z(mk([e.parameters]))),returns:q({chainId:Rk(),receipt:Bk})})})(pA||={});let mA=q({amount:X(G()),pairToken:X(Q()),slippage:X(YO().check(BO(0),zO(1))),token:X(Q()),type:X(J([Y(`buy`),Y(`sell`)]))});var hA;(function(e){e.schema=Fk({method:Y(`wallet_swap`),params:X(Z(mk([mA]))),returns:q({receipt:Bk})})})(hA||={});var gA;(function(e){e.schema=Fk({method:Y(`wallet_switchEthereumChain`),params:Z(mk([q({chainId:Rk()})])),returns:void 0})})(gA||={});var _A;(function(e){e.schema=Fk({method:Y(`wallet_deposit`),params:X(Z(mk([q({address:X(Q()),amount:X(G()),chainId:X(Rk()),displayName:X(G()),intent:X(J([Y(`applePay`),Y(`credits`),Y(`crypto`),Y(`faucet`),Y(`referralCode`),Y(`x`)])),token:X(J([Q(),G()]))})]))),returns:X(q({receipts:X(Z(K(Bk)))}))})})(_A||={});var vA;(function(e){e.parameters=q({amount:X(G()),feePayer:X(J([ZO(),G()])),token:X(Q()),zoneId:X(Rk())}),e.schema=Fk({method:Y(`wallet_depositZone`),params:X(Z(mk([e.parameters]))),returns:q({receipt:Bk})})})(vA||={});var yA;(function(e){e.parameters=q({amount:X(G()),token:X(Q()),zoneId:X(Rk())}),e.schema=Fk({method:Y(`wallet_withdrawZone`),params:X(Z(mk([e.parameters]))),returns:q({receipt:Bk})})})(yA||={}),oA.parameters,uA.parameters;let bA=Ik([Kk.schema,qk.schema,Xk.schema,Jk.schema,Yk.schema,Qk.schema,Zk.schema,$k.schema,eA.schema,aA.schema,lA.schema,_A.schema,vA.schema,dA.schema,rA.schema,fA.schema,iA.schema,sA.schema,cA.schema,pA.schema,nA.schema,hA.schema,gA.schema,yA.schema]),xA=yS();function SA(e){return e.params?q({method:e.method,params:e.params}):q({method:e.method})}let CA=fk(`method`,bA.map(SA));function wA(e){let t=new CustomEvent(`eip6963:announceProvider`,{detail:Object.freeze(e)});window.dispatchEvent(t);let n=()=>window.dispatchEvent(t);return window.addEventListener(`eip6963:requestProvider`,n),()=>window.removeEventListener(`eip6963:requestProvider`,n)}let TA={acceptPayment:`Accept-Payment`,authorization:`Authorization`,paymentReceipt:`Payment-Receipt`,paymentSession:`Payment-Session`,paymentSessionSnapshot:`Payment-Session-Snapshot`,wwwAuthenticate:`WWW-Authenticate`},EA={payment:`Payment`},DA={evm:`evm`,stripe:`stripe`,tempo:`tempo`},OA={charge:`charge`,session:`session`,subscription:`subscription`},kA={sessionProtocol:`sessionProtocol`,sessionSnapshot:`sessionSnapshot`},AA={v1:`v1`,v2:`v2`};function jA(e,t){if(!(!e||typeof e!=`object`))return e[t]}var MA=class extends Error{details;status=402;hint;constructor(e,t={}){super(e),this.details=t.details}toProblemDetails(e){return{type:this.type,title:this.title,status:this.status,detail:this.message,...this.details&&Object.keys(this.details).length>0&&{details:this.details},...this.hint&&{hint:this.hint},...e&&{challengeId:e}}}},NA=class extends MA{name=`InvalidChallengeError`;title=`Invalid Challenge`;status=402;type=`https://paymentauth.org/problems/invalid-challenge`;constructor(e={}){let{id:t,reason:n}=e,r=t?` \"${t}\"`:``,i=n?`: ${n}`:``;super(`Challenge${r} is invalid${i}.`)}},PA=class extends MA{name=`VerificationFailedError`;title=`Verification Failed`;type=`https://paymentauth.org/problems/verification-failed`;constructor(e={}){let{details:t,reason:n}=e;super(n?`Payment verification failed: ${n}.`:`Payment verification failed.`,{details:t})}},FA=class extends MA{name=`PaymentExpiredError`;title=`Payment Expired`;type=`https://paymentauth.org/problems/payment-expired`;constructor(e={}){let{expires:t}=e;super(t?`Payment expired at ${t}.`:`Payment has expired.`)}};function IA(e,t){if(!e)throw new NA({...t&&{id:t},reason:`missing required expires field`});if(Number.isNaN(new Date(e).getTime()))throw new NA({...t&&{id:t},reason:`malformed expires timestamp`});if(new Date(e)<new Date)throw new FA({expires:e})}Pf();function LA(e){let t=sx(e);return JSON.parse(t)}function RA(e){return ax(Af(e),{pad:!1,url:!0})}function zA(){return G().check(UO(/^\\d+(\\.\\d+)?$/,`Invalid amount`))}function BA(){return G().check(UO(/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$/,`Invalid ISO 8601 datetime`))}function VA(e=`Invalid ISO 8601 datetime`){return Ek(J([BA(),Nk(e=>e instanceof Date)]),xk(HA)).check(Pk(e=>Number.isFinite(e.getTime()),e))}function HA(e){return e instanceof Date?e:new Date(e)}function UA(e){return e instanceof Date?Number.isFinite(e.getTime())?e.toISOString():`Invalid Date`:e}function WA(){return G().check(UO(/^0x[0-9a-fA-F]{40}$/,`Invalid address`))}function GA(){return G().check(UO(/^0x[0-9a-fA-F]{64}$/,`Invalid hash`))}function KA(){return G().check(UO(/^0x[0-9a-fA-F]+$/,`Invalid signature`))}op();let qA=q({description:X(G()),digest:X(G().check(UO(/^sha-256=/,`Invalid digest format`))),expires:X(BA()),id:G().check(HO(1)),intent:G(),method:G(),meta:X(gk(G(),G())),opaque:X(G()),realm:G(),request:gk(G(),ak())});function JA(e,t){let{description:n,digest:r,meta:i,method:a,intent:o,realm:s,request:c,secretKey:l}=e,u=e.expires?UA(e.expires):void 0,d=e.opaque??(i===void 0?void 0:RA(i)),f=l?cj({...e,expires:u,...i!==void 0&&{meta:i},opaque:d},{secretKey:l}):e.id;return qA.parse({id:f,realm:s,method:a,intent:o,request:c,...n&&{description:n},...r&&{digest:r},...u&&{expires:u},...i!==void 0&&{meta:i},...d!==void 0&&{opaque:d}})}function YA(e){let t=[XA(`id`,e.id),XA(`realm`,e.realm),XA(`method`,e.method),XA(`intent`,e.intent),XA(`request`,RA(e.request))];return e.description!==void 0&&t.push(XA(`description`,e.description)),e.digest!==void 0&&t.push(XA(`digest`,e.digest)),e.expires!==void 0&&t.push(XA(`expires`,e.expires)),e.opaque===void 0?e.meta!==void 0&&t.push(XA(`opaque`,RA(e.meta))):t.push(XA(`opaque`,e.opaque)),`${EA.payment} ${t.join(`, `)}`}function XA(e,t){if(/[\\r\\n]/.test(t))throw Error(`Invalid quoted-string value.`);return`${e}=\"${t.replace(/\\\\/g,`\\\\\\\\`).replace(/\"/g,`\\\\\"`).replace(/[\\u0100-\\uffff]/g,e=>`\\\\u${e.charCodeAt(0).toString(16).padStart(4,`0`)}`)}\"`}function ZA(e,t){let n=QA(e);if(!n)throw Error(`Missing Payment scheme.`);let{request:r,opaque:i,...a}=$A(n);if(!r)throw Error(`Missing request parameter.`);if(r.length>16384)throw Error(`Request parameter too large.`);if(a.method&&!/^[a-z][a-z0-9:_-]*$/.test(a.method))throw Error(`Invalid method: \"${a.method}\". Must be lowercase per spec.`);return JA({...a,request:LA(r),...i&&{opaque:i}},t)}function QA(e){let t=EA.payment,[n]=rj(e,t);if(n===void 0)return null;let r=n+t.length;for(;r<e.length&&/\\s/.test(e[r]??``);)r++;return e.slice(r)}function $A(e){let t=Object.create(null),n=0;for(;n<e.length;){for(;n<e.length&&/[\\s,]/.test(e[n]??``);)n++;if(n>=e.length)break;let r=n;for(;n<e.length&&/[A-Za-z0-9_-]/.test(e[n]??``);)n++;let i=e.slice(r,n).toLowerCase();if(!i)throw Error(`Malformed auth-param.`);for(;n<e.length&&/\\s/.test(e[n]??``);)n++;if(e[n]!==`=`)break;for(n++;n<e.length&&/\\s/.test(e[n]??``);)n++;let[a,o]=ej(e,n);if(n=o,i in t)throw Error(`Duplicate parameter: ${i}`);t[i]=a}return t}function ej(e,t){if(e[t]===`\"`)return tj(e,t+1);let n=t;for(;n<e.length&&e[n]!==`,`;)n++;return[e.slice(t,n).trim(),n]}function tj(e,t){let n=t,r=!1,i=t,a;for(;n<e.length;){let o=e[n];if(n++,r){a??=[];let t=o===`u`?e.slice(n,n+4):void 0;t&&/^[0-9A-Fa-f]{4}$/.test(t)?(a.push(String.fromCharCode(Number.parseInt(t,16))),n+=4):a.push(o),i=n,r=!1;continue}if(o===`\\\\`){a??=[],a.push(e.slice(i,n-1)),i=n,r=!0;continue}if(o===`\"`)return[a?[...a,e.slice(i,n-1)].join(``):e.slice(t,n-1),n]}throw Error(`Unterminated quoted-string.`)}function nj(e,t,n){if(e.slice(t,t+n.length).toLowerCase()!==n.toLowerCase())return!1;let r=e[t+n.length];return!!(r&&/\\s/.test(r))}function rj(e,t){let n=[],r=!1,i=!1;for(let a=0;a<e.length;a++){let o=e[a];if(r){i?i=!1:o===`\\\\`?i=!0:o===`\"`&&(r=!1);continue}if(o===`\"`){r=!0;continue}if(!nj(e,a,t))continue;let s=a-1;for(;s>=0&&/\\s/.test(e[s]??``);)s--;s>=0&&e[s]!==`,`||n.push(a)}return n}function ij(e,t){if(e.status!==402)throw Error(`Response status is not 402.`);return aj(e.headers,t)}function aj(e,t){let n=e.get(TA.wwwAuthenticate);if(!n)throw Error(`Missing ${TA.wwwAuthenticate} header.`);return oj(n,t)}function oj(e,t){let n=rj(e,EA.payment);if(n.length===0)throw Error(`No Payment schemes found.`);return n.map((r,i)=>{let a=i+1<n.length?n[i+1]:e.length;return ZA(e.slice(r,a).replace(/,\\s*$/,``),t)})}function sj(e){return[e.realm,e.method,e.intent,RA(e.request),e.expires??``,e.digest??``,e.opaque??(e.meta?RA(e.meta):``)].join(`|`)}function cj(e,t){let n=sj(e);return rx(h_(Bf(t.secretKey),Bf(n),{as:`Bytes`}),{url:!0,pad:!1})}let lj=Symbol.for(`mppx.x402.challenge`);function uj(e){return Object.defineProperty(e,lj,{value:!0}),e}function dj(e){return!!e?.[lj]}function fj(e){let t={};for(let n of e){let e=t[n.name]??={};e[n.intent]=_j(n)}return t}function pj(e,t){let n=fj(e),r=wj(e,n,t),i=e.map((e,t)=>({intent:e.intent,method:e.name,q:r[_j(e)]??1,index:t}));return{definition:r,entries:i,header:hj(i),keys:n}}function mj(e){let t=e.split(/\\s*,\\s*/).map(e=>e.trim()).filter(Boolean);if(t.length===0)throw Error(`Accept-Payment header is empty.`);return t.map((e,t)=>Sj(e,t))}function hj(e){return e.map(({method:e,intent:t,q:n})=>{let r=`${e}/${t}`;return n===1?r:`${r};q=${Oj(n)}`}).join(`, `)}function gj(e,t,n){let r=new Map;for(let e of t){let t=_j(e),n=r.get(t);n?n.push(e):r.set(t,[e])}return e.flatMap((e,t)=>{let i=r.get(_j(e));if(!i)return[];let a=vj(e,n);return!a||a.q<=0?[]:i.filter(t=>t.canHandleChallenge?.({challenge:e})??!0).map(n=>({challenge:e,index:t,match:a,method:n}))}).sort((e,t)=>xj(e.challenge)-xj(t.challenge)||t.match.q-e.match.q||e.index-t.index).map(e=>{let{match:t,...n}=e;return n})}function _j(e){let t=e.method??e.name;if(!t)throw Error(`Missing payment method name.`);return`${t}/${e.intent}`}function vj(e,t){let n;for(let r of t){if(!yj(e,r))continue;let t={...r,specificity:bj(r)};(!n||t.specificity>n.specificity||t.specificity===n.specificity&&t.q>n.q||t.specificity===n.specificity&&t.q===n.q&&t.index<n.index)&&(n=t)}return n}function yj(e,t){return(t.method===`*`||t.method===e.method)&&(t.intent===`*`||t.intent===e.intent)}function bj(e){return Number(e.method!==`*`)+Number(e.intent!==`*`)}function xj(e){return+!!dj(e)}function Sj(e,t){let n=/^(?<method>[^/;\\s]+|\\*)\\s*\\/\\s*(?<intent>[^/;\\s]+|\\*)(?<params>(?:\\s*;\\s*.+)?)$/u.exec(e),r=n?.groups?.method,i=n?.groups?.intent;if(!r||!i)throw Error(`Invalid Accept-Payment entry: ${e}`);kj(r,`method`),kj(i,`intent`);let a=1;for(let t of Cj(n.groups?.params)){if(!t)continue;let n=/^(?<name>[A-Za-z0-9_-]+)\\s*=\\s*(?<value>\\S+)$/u.exec(t),r=n?.groups?.name,i=n?.groups?.value;if(!r||!i)throw Error(`Invalid Accept-Payment parameter: ${t}`);r===`q`&&(a=Ej(i,`Accept-Payment entry \"${e}\"`))}return{intent:i,method:r,q:a,index:t}}function Cj(e){return e?e.split(/\\s*;\\s*/).filter(Boolean):[]}function wj(e,t,n){if(!n)return{};let r=typeof n==`function`?n(t):n,i=new Set(e.map(e=>_j(e))),a={};for(let[e,t]of Object.entries(r??{})){if(!i.has(e))throw Error(`Unknown payment preference \"${e}\". Available: ${[...i].join(`, `)}`);a[e]=Tj(t,`payment preference \"${e}\"`)}return a}function Tj(e,t){if(typeof e!=`number`||Number.isNaN(e)||!Number.isFinite(e))throw Error(`Invalid q-value for ${t}. Expected a finite number.`);return Dj(e,t)}function Ej(e,t){if(!/^0(?:\\.\\d{0,3})?$|^1(?:\\.0{0,3})?$/.test(e))throw Error(`Invalid q-value for ${t}. Expected an HTTP qvalue.`);return Dj(Number(e),t)}function Dj(e,t){if(e<0||e>1)throw Error(`Invalid q-value for ${t}. Expected a value between 0 and 1.`);let n=Math.round(e*1e3);if(Math.abs(e*1e3-n)>1e-9)throw Error(`Invalid q-value for ${t}. Expected at most 3 decimal places.`);return n/1e3}function Oj(e){return e.toFixed(3).replace(/\\.0+$/,``).replace(/(\\.\\d*?)0+$/,`$1`)}function kj(e,t){if(e!==`*`&&!/^[a-z0-9-]+$/.test(e))throw Error(`Invalid Accept-Payment ${t}: ${e}`)}var Aj=class extends Error{name=`MissingPaymentSchemeError`;constructor(){super(`Missing Payment scheme.`)}},jj=class extends Error{name=`InvalidCredentialEncodingError`;constructor(){super(`Invalid base64url or JSON.`)}};function Mj(e){let t=e.match(RegExp(`^${EA.payment}\\\\s+(.+)$`,`i`));if(!t?.[1])throw new Aj;try{let e=sx(t[1]),n=JSON.parse(e),{opaque:r,request:i,meta:a,...o}=n.challenge,{meta:s,opaque:c}=Nj(r);return{challenge:qA.parse({...o,...s!==void 0&&{meta:s},...c!==void 0&&{opaque:c},request:LA(i)}),payload:n.payload,...n.source&&{source:n.source}}}catch{throw new jj}}function Nj(e){if(e===void 0)return{};if(typeof e==`string`)return{opaque:e};if(!Pj(e))throw Error(`Invalid opaque.`);return{meta:e,opaque:RA(e)}}function Pj(e){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.values(e).every(e=>typeof e==`string`)}function Fj(e){let{meta:t,opaque:n,request:r,...i}=e.challenge,a=n??(t===void 0?void 0:RA(t)),o={challenge:{...i,...a!==void 0&&{opaque:a},request:RA(r)},payload:e.payload,...e.source&&{source:e.source}},s=ax(JSON.stringify(o),{pad:!1,url:!0});return`${EA.payment} ${s}`}var Ij=class extends Error{constructor(e,t){super(e),this.name=`ParseError`,this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}};function Lj(e){}function Rj(e){if(typeof e==`function`)throw TypeError(\"`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?\");let{onEvent:t=Lj,onError:n=Lj,onRetry:r=Lj,onComment:i,maxBufferSize:a}=e,o=[],s=0,c=!0,l,u=``,d=0,f,p=!1;function m(e){if(p)throw Error(\"Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.\");if(c&&(c=!1,e.charCodeAt(0)===239&&e.charCodeAt(1)===187&&e.charCodeAt(2)===191&&(e=e.slice(3))),o.length===0){let t=g(e);t!==``&&(o.push(t),s=t.length),h();return}if(e.indexOf(`\n`)===-1&&e.indexOf(`\\r`)===-1){o.push(e),s+=e.length,h();return}o.push(e);let t=o.join(``);o.length=0,s=0;let n=g(t);n!==``&&(o.push(n),s=n.length),h()}function h(){a!==void 0&&(s+u.length<=a||(p=!0,o.length=0,s=0,l=void 0,u=``,d=0,f=void 0,n(new Ij(`Buffered data exceeded max buffer size of ${a} characters`,{type:`max-buffer-size-exceeded`}))))}function g(e){let n=0;if(e.indexOf(`\\r`)===-1){let r=e.indexOf(`\n`,n);for(;r!==-1;){if(n===r){d>0&&t({id:l,event:f,data:u}),l=void 0,u=``,d=0,f=void 0,n=r+1,r=e.indexOf(`\n`,n);continue}let i=e.charCodeAt(n);if(zj(e,n,i)){let i=e.charCodeAt(n+5)===32?n+6:n+5,a=e.slice(i,r);if(d===0&&e.charCodeAt(r+1)===10){t({id:l,event:f,data:a}),l=void 0,u=``,f=void 0,n=r+2,r=e.indexOf(`\n`,n);continue}u=d===0?a:`${u}\n${a}`,d++}else Bj(e,n,i)?f=e.slice(e.charCodeAt(n+6)===32?n+7:n+6,r)||void 0:_(e,n,r);n=r+1,r=e.indexOf(`\n`,n)}return e.slice(n)}for(;n<e.length;){let t=e.indexOf(`\\r`,n),r=e.indexOf(`\n`,n),i=-1;if(t!==-1&&r!==-1?i=t<r?t:r:t===-1?r!==-1&&(i=r):i=t===e.length-1?-1:t,i===-1)break;_(e,n,i),n=i+1,e.charCodeAt(n-1)===13&&e.charCodeAt(n)===10&&n++}return e.slice(n)}function _(e,t,n){if(t===n){y();return}let r=e.charCodeAt(t);if(zj(e,t,r)){let r=e.charCodeAt(t+5)===32?t+6:t+5,i=e.slice(r,n);u=d===0?i:`${u}\n${i}`,d++;return}if(Bj(e,t,r)){f=e.slice(e.charCodeAt(t+6)===32?t+7:t+6,n)||void 0;return}if(r===105&&e.charCodeAt(t+1)===100&&e.charCodeAt(t+2)===58){let r=e.slice(e.charCodeAt(t+3)===32?t+4:t+3,n);r.includes(`\\0`)||(l=r);return}if(r===58){if(i){let r=e.slice(t,n);i(r.slice(e.charCodeAt(t+1)===32?2:1))}return}let a=e.slice(t,n),o=a.indexOf(`:`);if(o===-1){v(a,``,a);return}let s=a.slice(0,o),c=a.charCodeAt(o+1)===32?2:1;v(s,a.slice(o+c),a)}function v(e,t,i){switch(e){case`event`:f=t||void 0;break;case`data`:u=d===0?t:`${u}\n${t}`,d++;break;case`id`:t.includes(`\\0`)||(l=t);break;case`retry`:/^\\d+$/.test(t)?r(parseInt(t,10)):n(new Ij(`Invalid \\`retry\\` value: \"${t}\"`,{type:`invalid-retry`,value:t,line:i}));break;default:n(new Ij(`Unknown field \"${e.length>20?`${e.slice(0,20)}\\u2026`:e}\"`,{type:`unknown-field`,field:e,value:t,line:i}))}}function y(){d>0&&t({id:l,event:f,data:u}),l=void 0,u=``,d=0,f=void 0}function b(e={}){if(e.consume&&o.length>0){let e=o.join(``);_(e,0,e.length)}c=!0,l=void 0,u=``,d=0,f=void 0,o.length=0,s=0,p=!1}return{feed:m,reset:b}}function zj(e,t,n){return n===100&&e.charCodeAt(t+1)===97&&e.charCodeAt(t+2)===116&&e.charCodeAt(t+3)===97&&e.charCodeAt(t+4)===58}function Bj(e,t,n){return n===101&&e.charCodeAt(t+1)===118&&e.charCodeAt(t+2)===101&&e.charCodeAt(t+3)===110&&e.charCodeAt(t+4)===116&&e.charCodeAt(t+5)===58}let Vj=[`exact`],Hj=`PAYMENT-REQUIRED`,Uj=`PAYMENT-SIGNATURE`,Wj=G().check(HO(1)),Gj=YO().check(Pk(e=>e>0,`Must be positive`)),Kj=G().check(UO(/^\\d+$/,`Invalid atomic amount`)),qj=WA(),Jj=G().check(UO(RegExp(`^eip155:\\\\d+$`),`Invalid EVM CAIP-2 network`)),Yj=q({description:X(G()),iconUrl:X(G()),mimeType:X(G()),serviceName:X(G()),tags:X(K(G())),url:Wj}),Xj=q({amount:Kj,asset:Wj,extra:X(gk(G(),ak())),maxTimeoutSeconds:Gj,network:Jj,payTo:Wj,scheme:vk(Vj)}),Zj=gk(G(),q({info:gk(G(),ak()),schema:gk(G(),ak())})),Qj=q({accepts:K(Xj).check(HO(1)),error:X(G()),extensions:X(Zj),resource:Yj,x402Version:Y(2)}),$j=J([q({authorization:q({from:qj,nonce:GA(),to:qj,validAfter:Kj,validBefore:Kj,value:Kj}),signature:KA()}),q({permit2Authorization:q({deadline:Kj,from:qj,nonce:Kj,permitted:q({amount:Kj,token:qj}),spender:qj,witness:q({to:qj,validAfter:Kj})}),signature:KA()})]),eM=q({accepted:Xj,extensions:X(Zj),payload:$j,resource:X(Yj),x402Version:Y(2)}),tM=q({amount:X(Kj),errorMessage:X(G()),errorReason:X(G()),extensions:X(Zj),extra:X(gk(G(),ak())),network:Wj,payer:X(G()),success:ZO(),transaction:G()}),nM=[TA.authorization,Hj,`PAYMENT-RESPONSE`,Uj];function rM(e,t,n){let r=new Headers(e.headers);for(let e of nM)r.delete(e);return r.set(t,n),{...e,headers:r}}function iM(e){if(typeof e==`string`)try{let t=JSON.parse(e),n=t?.id;return t?.jsonrpc!==`2.0`||typeof t?.method!=`string`?void 0:typeof n==`string`||typeof n==`number`?n:void 0}catch{return}}let aM=new WeakMap;function oM(e){let t=iM(e?.body);if(t===void 0)return;let n=new Headers(e?.headers);if(n.has(`mcp-method`))return t;let r=n.get(`accept`)?.toLowerCase()??``;return r.includes(`application/json`)&&r.includes(`text/event-stream`)?t:void 0}function sM(e){if(!e||typeof e!=`object`)return;let t=e,n=t.id;if(t.jsonrpc!==`2.0`||n!==void 0&&typeof n!=`string`&&typeof n!=`number`)return;let r=`error`in t;if(r!==`result`in t)return r?Number.isInteger(t.error?.code)&&typeof t.error?.message==`string`?e:void 0:n!==void 0&&typeof t.result==`object`?e:void 0}function cM(e){if(!e||typeof e!=`object`)return;let t=e?.challenges;if(!Array.isArray(t)||t.length===0)return;let n=[];for(let e of t){let t=qA.safeParse(e);if(!t.success)return;n.push(t.data)}let{httpStatus:r,problem:i}=e;return{challenges:n,...typeof r==`number`?{httpStatus:r}:{},...i===void 0?{}:{problem:i}}}function lM(e){if(e)return`error`in e?e.error?.code===-32042?cM(e.error.data):void 0:cM(e.result?._meta?.[`org.paymentauth/payment-required`])}function uM(e,t){return!e||e.id!==t?[]:lM(e)?.challenges??[]}async function dM(e){let t=e.clone().body?.getReader();if(!t)return;let n=new TextDecoder,r=!1,i,a=Rj({onEvent(e){if(!(r||!e.data)&&(r=!0,!(e.event&&e.event!==`message`)))try{i=sM(JSON.parse(e.data))}catch{}}});try{for(;;){if(r)return i;let{done:e,value:o}=await t.read();if(e)return a.feed(n.decode()),a.reset({consume:!0}),i;a.feed(n.decode(o,{stream:!0}))}}finally{t.cancel().catch(()=>{})}}function fM(e){let t=aM.get(e);if(t)return t;let n=(async()=>{let t=e.headers.get(`content-type`)?.toLowerCase()??``;if(t.includes(`application/json`))return e.clone().json().then(sM).catch(()=>void 0);if(t.includes(`text/event-stream`))return dM(e)})();return aM.set(e,n),n}function pM(){return{getChallenges(e,t){let n=oM(t);return e.status===402||n===void 0?[]:fM(e).then(e=>uM(e,n))},setCredential(e,t){let n=JSON.parse(e.body),r=Mj(t);return{...e,body:JSON.stringify({...n,params:{...n.params,_meta:{...n.params?._meta,\"org.paymentauth/credential\":r}}})}}}}function mM(){return{getChallenges(e){return e.status!==402||!e.headers.has(TA.wwwAuthenticate)?[]:ij(e)},setCredential(e,t){return rM(e,TA.authorization,t)}}}function hM(e){return{encode(t){return ax(JSON.stringify(e.parse(t)))},decode(t){try{return e.parse(JSON.parse(sx(t)))}catch{throw new gM}}}}var gM=class extends Error{name=`InvalidJsonHeaderError`;constructor(){super(`Invalid base64 JSON header.`)}};let _M=hM(Qj),vM=hM(eM),yM=hM(tM);_M.encode,_M.decode;function bM(e){try{let t=JSON.parse(sx(e));return xM(t)}catch{throw new gM}}vM.encode,vM.decode,yM.encode,yM.decode;let xM=e=>{if(!e||typeof e!=`object`||Array.isArray(e))throw new gM;let t=e;if(t.x402Version!==2||!Array.isArray(t.accepts))throw new gM;let n=Yj.parse(t.resource),r=t.extensions===void 0?void 0:Zj.safeParse(t.extensions).data;return{accepts:t.accepts,...r?{extensions:r}:{},resource:n,x402Version:2}};function SM(){return{getChallenges(e){if(e.status!==402)return[];let t=e.headers.get(Hj);if(!t)return[];let n=bM(t);if(e.url&&n.resource.url!==e.url)throw Error(`x402 payment-required resource does not match response URL.`);return n.accepts.flatMap((e,t)=>{let r=Xj.safeParse(e);if(!r.success)return[];let i=r.data;return uj(JA({id:`x402:${t}`,intent:`charge`,method:`evm`,realm:new URL(n.resource.url).host,request:{...i,...n.extensions?{extensions:n.extensions}:{},resource:n.resource}}))})},setCredential(e,t){return rM(e,Uj,t)}}}function CM(e){return e}function wM(){let e=[mM(),SM(),pM()],t=new WeakMap,n=(e,n)=>{for(let r of n)t.set(r,e);return n},r=(t,r)=>{let i=(a,o)=>{for(let s=a;s<e.length;s++){let a=e[s],c=a.getChallenges(t,r);if(c instanceof Promise)return c.then(e=>i(s+1,[...o,...n(a,e)]));o.push(...n(a,c))}return o};return i(0,[])};return CM({name:`http`,isPaymentRequired(e,t){if(e.status===402)return!0;let n=r(e,t);return n instanceof Promise?n.then(e=>e.length>0):n.length>0},getChallenges(e,t){return r(e,t)},setCredential(n,r,i){let a=i?.challenge?t.get(i.challenge):void 0,o=e[0];if(!a&&!o)throw Error(`No protocol to attach the credential.`);return(a??o).setCredential(n,r)}})}let TM=new WeakMap;function EM(e,t){return TM.set(e,t),e}function DM(e){return TM.has(e)}function OM(e,t){return Promise.resolve(TM.get(e)?.(t))}let kM=new WeakMap,AM=new WeakMap;function jM(e,t){return kM.set(e,t),e}function MM(e){kM.delete(e)}function NM(e,t,n){kM.has(e)&&AM.set(t,n)}function PM(e){return AM.get(e)}function FM(e,t){return Promise.resolve(kM.get(e)?.(t)??t.response)}let IM=Symbol.for(`mppx.fetch.wrapper`),LM,RM=new WeakMap;async function zM(e,t){let n=e?.attempt.settle;if(!n)return t.status!==`pending`;e.attempt.settle=void 0;let r=await n(t);return r||(e.attempt.settle=n),r}function BM(e){let{acceptPayment:t,acceptPaymentPolicy:n=`always`,fetch:r=globalThis.fetch,maxPaymentRetries:i=3,methods:a,onChallenge:o,orderChallenges:s,transport:c=wM()}=e,l=e.eventDispatcher??UM(),u=t??pj(a),d=uN(r),f=async(e,t,r)=>{let p=lN(e,t?.headers),m=p.has(TA.acceptPayment),h=hN(p,u),g=sN(e,t,p),_=oN(e,t,p,h.header,m,n),v=await d(dN(_.input),_.init),y=cN(_.init,await g);if(!await c.isPaymentRequired(v,y))return v;let b=t?.context,{context:x,orderChallenges:S,...C}=y??{},w,T,ee,E;try{for(let n=0;n<i;n++){T=await c.getChallenges(v,y);let i=(await gN(gj(T,a,h.entries),S??s))[0];if(!i){if(await zM(E,{challenges:T,response:v,status:`rejected`}),n>0)return v;throw Error(`No method found for challenges: ${T.map(e=>`${e.method}.${e.intent}`).join(`, `)}. Available: ${a.map(e=>`${e.name}.${e.intent}`).join(`, `)}`)}let u=i.challenge;w=u,ee=i.method,w.expires&&IA(w.expires,w.id);let p=xN(v,_.input,_.input),m=E,g=YA(u),x=m?.method===i.method&&m?.key===g,te=!1;if(m){let e=await zM(m,{challenges:T,response:v,status:x?`pending`:`rejected`});te=x&&!e}E=te?m:void 0;let ne=JM(async e=>{if(e===void 0&&te&&m)return m.promise;te&&m&&(await zM(m,{status:`rejected`}),E=void 0);let t=e??b;if(!DM(i.method))return mN(u,i.method,t);let n={prepare:()=>OM(i.method,{challenge:u,context:t,fetch:d,input:p})},r=n.prepare().then(()=>mN(u,i.method,t,n));return E={attempt:n,key:e===void 0?g:void 0,method:i.method,promise:r},r}),re=await l.emit(`challenge.received`,YM({challenge:u,challenges:T,createCredential:ne,init:t,input:e,method:i.method,response:v}))??(o?await o(w,{createCredential:ne}):void 0)??await ne(),ie=E;ie&&await ie.promise.catch(()=>void 0)!==re&&(await zM(ie,{status:`rejected`}),E=void 0),pN(re),await l.emit(`credential.created`,XM({challenge:u,credential:re,init:t,input:e,method:i.method,response:v})),v=await d(p,c.setCredential({...C,headers:_.headers},re,{challenge:u}));let ae=await c.isPaymentRequired(v,y);if(ae||(await zM(ie,{response:v,status:v.ok?`accepted`:`rejected`}),E=void 0),v.ok&&WM(l,`payment.response`)&&await l.emit(`payment.response`,ZM({challenge:u,credential:re,init:t,input:e,method:i.method,response:v})),!ae)return v.ok?FM(i.method,{challenge:u,credential:re,fetch:d,headers:_.headers,input:p,...r?{refetch:()=>f(dN(_.input),t,!1)}:{},response:v,signal:fN(e,t)}):v}T=void 0;try{T=await c.getChallenges(v,y)}catch{}return await zM(E,{challenges:T,response:v,status:`rejected`}),v}catch(n){throw await zM(E,{challenges:T,response:v,status:`rejected`}),await l.emit(`payment.failed`,QM({challenge:w,challenges:T,error:n,init:t,input:e,method:ee,response:v})),n}},p=(e,t)=>f(e,t,!0);return p[IM]=d,p}function VM(e){let t=Object.getOwnPropertyDescriptor(globalThis,`fetch`);if(!t||!t.writable&&!t.set)throw Error(`globalThis.fetch is not writable`);LM||=globalThis.fetch,globalThis.fetch=BM({...e,acceptPaymentPolicy:e.acceptPaymentPolicy??(yN()?`same-origin`:`always`),fetch:globalThis.fetch})}function HM(e){if(!e)return{};if(e instanceof Headers){let t={};return e.forEach((e,n)=>{t[n]=e}),t}return Array.isArray(e)?Object.fromEntries(e):e}function UM(){let e={\"*\":new Set,\"challenge.received\":new Set,\"credential.created\":new Set,\"payment.failed\":new Set,\"payment.response\":new Set},t={async emit(t,n){switch(t){case`challenge.received`:{let r;for(let t of e[`challenge.received`]){let e=await GM(t,n);if(typeof e==`string`&&e.length>0){r=e;break}}return await qM(e[`*`],t,n),r}case`credential.created`:await KM(e[`credential.created`],n),await qM(e[`*`],t,n);return;case`payment.failed`:await KM(e[`payment.failed`],n),await qM(e[`*`],t,n);return;case`payment.response`:await KM(e[`payment.response`],n),await qM(e[`*`],t,n);return}},on:(t,n)=>{switch(t){case`*`:case`challenge.received`:case`credential.created`:case`payment.failed`:case`payment.response`:return e[t].add(n),()=>e[t].delete(n);default:throw Error(`Unknown client event \"${String(t)}\".`)}}};return RM.set(t,t=>e[t].size>0||e[`*`].size>0),t}function WM(e,t){return RM.get(e)?.(t)??!0}async function GM(e,t){try{return await e(t)}catch{return}}async function KM(e,t){for(let n of e)try{await n(t)}catch{}}async function qM(e,t,n){await KM(e,Object.freeze({name:t,payload:n}))}function JM(e){let t;return n=>(t??=e(n),t)}function YM(e){return Object.freeze({challenge:rN(e.challenge),challenges:e.challenges.map(e=>rN(e)),createCredential:e.createCredential,init:$M(e.init),input:eN(e.input),method:tN(e.method),response:nN(e.response)})}function XM(e){return Object.freeze({challenge:rN(e.challenge),credential:e.credential,init:$M(e.init),input:eN(e.input),method:tN(e.method),...e.response===void 0?{}:{response:nN(e.response)}})}function ZM(e){return Object.freeze({challenge:rN(e.challenge),credential:e.credential,init:$M(e.init),input:eN(e.input),method:tN(e.method),response:nN(e.response)})}function QM(e){return Object.freeze({...e.challenge?{challenge:rN(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>rN(e))}:{},error:e.error,init:$M(e.init),input:eN(e.input),...e.method?{method:tN(e.method)}:{},...e.response===void 0?{}:{response:nN(e.response)}})}function $M(e){if(e)return aN({...e,...e.headers?{headers:new Headers(e.headers)}:{}})}function eN(e){if(e instanceof Request)try{return e.clone()}catch{return e}return e instanceof URL?new URL(e):e}function tN(e){return aN(Object.assign({},e))}function nN(e){return e instanceof Response?e.clone():rN(e)}function rN(e){try{return iN(structuredClone(e))}catch{return aN(e)}}function iN(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))iN(t);return e}function aN(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function oN(e,t,n,r,i,a){let o=!!r&&!i&&_N(e,a);if(!o)return{headers:n,init:t,input:e};let s=new Headers(e instanceof Request?e.headers:void 0);return n.forEach((e,t)=>{s.set(t,e)}),s.set(TA.acceptPayment,r),t?(t.headers=s,{headers:s,init:t,input:e}):{headers:s,init:o?{headers:s}:void 0,input:e}}function sN(e,t,n){if(!(!(e instanceof Request)||t?.body!==void 0||!e.body||e.bodyUsed)){if(!n.has(`mcp-method`)){let e=n.get(`accept`)?.toLowerCase()??``;if(!e.includes(`application/json`)||!e.includes(`text/event-stream`))return}try{return e.clone().text().catch(()=>void 0)}catch{return}}}function cN(e,t){return t===void 0?e:{...e,body:t}}function lN(e,t){return t?new Headers(t):new Headers(e instanceof Request?e.headers:void 0)}function uN(e){let t=e;for(;t[IM];)t=t[IM];return t}function dN(e){if(!(e instanceof Request)||!e.body||e.bodyUsed)return e;try{return e.clone()}catch{return e}}function fN(e,t){return t?.signal??(e instanceof Request?e.signal:void 0)}function pN(e){if(!e.trim())throw Error(`Credential header value must be non-empty`);if(e.includes(`\\r`)||e.includes(`\n`))throw Error(`Credential header value contains illegal newline characters`)}async function mN(e,t,n,r){let i=t.context&&n!==void 0?t.context.parse(n):void 0,a=i===void 0?{challenge:e}:{challenge:e,context:i};return r&&NM(t,a,r),t.createCredential(a)}function hN(e,t){let n=e.get(TA.acceptPayment);if(!n)return t;try{return{...t,entries:mj(n),header:n}}catch{return t}}async function gN(e,t){return t?t(e):e}function _N(e,t){if(t===`always`)return!0;if(t===`never`)return!1;let n=bN(e);return t===`same-origin`?!yN()||n.origin===globalThis.location.origin:t.origins.some(e=>vN(n,e))}function vN(e,t){if(t.startsWith(`*.`)){let n=t.slice(1);return e.hostname.endsWith(n)||e.hostname===t.slice(2)}return e.origin===new URL(t).origin}function yN(){return globalThis.location!==void 0}function bN(e){return e instanceof URL?e:e instanceof Request?new URL(e.url):new URL(e,yN()?globalThis.location.href:void 0)}function xN(e,t,n){if(!e.url)return t;let r=new URL(e.url),i=bN(n);if(r.origin!==i.origin)throw Error(`Refusing to send payment credential across redirect from ${i.origin} to ${r.origin}`);return e.url}function SN(e){return e}function CN(e,t){let{canHandleChallenge:n,context:r,createCredential:i}=t;return{...e,canHandleChallenge:n,context:r,createCredential:i}}function wN(e={}){let{account:t}=e;return(e,{account:n}={})=>{let r=n??t;if(!r){if(!e.account)throw Error(\"No `account` provided. Pass `account` to parameters or context.\");return e.account}return P(r)}}let TN={[cE.id]:cE,[lE.id]:lE};function EN(e){let{chain:t,feePayerUrl:n,getClient:r,rpcUrl:i}=e;return r?!t?.serializers&&!n?r:async e=>{let i=await r(e),a=i;if(n&&i.transport.key!==`feePayer`){let e=i.request.bind(i),t=LE(Wb({request:t=>e(t)},{retryCount:0}),Yb(n,{retryCount:i.transport.retryCount}))({account:i.account,chain:i.chain,pollingInterval:i.pollingInterval,retryCount:0}),r=Ub({...t.config,retryCount:0},t.value);a=Object.assign({},i,{request:r.request,transport:{...r.config,...r.value}})}return!t?.serializers||a.chain?.serializers?.transaction?a:Object.assign({},a,{chain:{...t,...a.chain,formatters:a.chain?.formatters??t.formatters,prepareTransactionRequest:a.chain?.prepareTransactionRequest??t.prepareTransactionRequest,serializers:a.chain?.serializers?.transaction?a.chain.serializers:t.serializers}})}:({chainId:e})=>{if(!i)throw Error(\"No `rpcUrl` provided.\");let r=e||Number(Object.keys(i)[0]),a=i[r];if(!a)throw Error(`No \\`rpcUrl\\` configured for \\`chainId\\` (${r}).`);let o=n?LE(Yb(a),Yb(n)):Yb(a);return wh({chain:TN[r]??{...t,id:r},transport:o})}}let DN={mainnet:4217,testnet:42431},ON={usdc:`0x20C000000000000000000000b9537d11c60E8b50`,pathUsd:`0x20c0000000000000000000000000000000000000`};DN.mainnet,ON.usdc,DN.testnet,ON.pathUsd;let kN={[DN.mainnet]:{swap:`0xd588ED9Ae08643A450157Adaf61c3C0C1BBd0dbb`,token:`0x20c0000000000000000000006637932dE5413804`},[DN.testnet]:{swap:`0xd588ED9Ae08643A450157Adaf61c3C0C1BBd0dbb`,token:`0x20c0000000000000000000006637932dE5413804`}},AN={[DN.mainnet]:`0x33b901018174DDabE4841042ab76ba85D4e24f25`,[DN.testnet]:`0xe1c4d3dce17bc111181ddf716f75bae49e61a336`},jN={[DN.mainnet]:`https://rpc.tempo.xyz`,[DN.testnet]:`https://rpc.moderato.tempo.xyz`},MN=[`push`,`pull`],NN=q({amount:zA(),memo:X(GA()),recipient:Ek(G(),xk(e=>e))}),PN=(1n<<64n)-1n,FN={dev_second:1n,day:86400n,week:604800n},IN=Ek(WA(),xk(e=>e.toLowerCase())),LN=q({accessKeyAddress:IN,keyType:vk([`p256`,`secp256k1`,`webAuthn`])}),RN=q({accessKey:X(LN),chainId:X(YO())}),zN=VA(`subscriptionExpires must be a valid date`).check(Pk(e=>e.getTime()%1e3==0,`subscriptionExpires must be representable as whole seconds`)),BN=vk([`dev_second`,`day`,`week`]),VN=Ek(J([G(),$O(),Nk(e=>typeof e==`number`&&Number.isSafeInteger(e))]),xk(e=>e.toString())).check(UO(/^[1-9]\\d*$/,`Invalid periodCount`),Pk(e=>{try{return BigInt(e)<=PN}catch{return!1}},`periodCount exceeds uint64`));function HN(e){return Pk(e=>{let{amount:t,decimals:n}=e;return Oy(t,n)>0n},e)}function UN(e){let{periodCount:t,periodUnit:n}=e;try{let e=FN[n];return e!==void 0&&BigInt(t)*e<=PN}catch{return!1}}let WN=SN({name:`tempo`,intent:`charge`,schema:{credential:{payload:fk(`type`,[q({hash:GA(),type:Y(`hash`)}),q({signature:KA(),type:Y(`transaction`)}),q({signature:KA(),type:Y(`proof`)})])},request:Ek(q({machineTokenEnabled:X(ZO()),amount:zA(),chainId:X(YO()),currency:G(),decimals:YO(),description:X(G()),externalId:X(G()),feePayer:X(Ek(J([ZO(),Nk()]),xk(e=>typeof e==`object`||e))),memo:X(GA()),recipient:X(G()),splits:X(K(NN).check(HO(1),VO(10))),supportedModes:X(K(vk(MN)).check(HO(1)))}).check(Pk(({amount:e,decimals:t,splits:n})=>{if(!n)return!0;let r=Oy(e,t),i=n.reduce((e,n)=>e+Oy(n.amount,t),0n);return n.every(e=>Oy(e.amount,t)>0n)&&i<r},`Invalid splits`)),xk(({machineTokenEnabled:e,amount:t,chainId:n,decimals:r,feePayer:i,memo:a,splits:o,supportedModes:s,...c})=>({...c,amount:Oy(t,r).toString(),...e!==void 0||n!==void 0||i!==void 0||a!==void 0||o!==void 0||s!==void 0?{methodDetails:{...e!==void 0&&{machineTokenEnabled:e},...n!==void 0&&{chainId:n},...i!==void 0&&{feePayer:i},...a!==void 0&&{memo:a},...o!==void 0&&{splits:o.map(e=>({...e,amount:Oy(e.amount,r).toString()}))},...s!==void 0&&{supportedModes:s}}}:{}})))}}),GN=SN({name:`tempo`,intent:`session`,schema:{credential:{payload:fk(`action`,[q({action:Y(`open`),authorizationSignature:X(KA()),authorizedSigner:X(G()),channelId:GA(),cumulativeAmount:zA(),descriptor:X(Nk()),signature:KA(),transaction:KA(),type:Y(`transaction`)}),q({action:Y(`topUp`),additionalDeposit:zA(),channelId:GA(),descriptor:X(Nk()),transaction:KA(),type:Y(`transaction`)}),q({action:Y(`voucher`),authorizationSignature:X(KA()),channelId:GA(),cumulativeAmount:zA(),descriptor:X(Nk()),signature:KA()}),q({action:Y(`close`),authorizationSignature:X(KA()),channelId:GA(),cumulativeAmount:zA(),descriptor:X(Nk()),refundSignature:X(KA()),signature:KA()})])},request:Ek(q({amount:zA(),chainId:X(YO()),channelId:X(GA()),currency:G(),decimals:YO(),escrowContract:X(G()),feePayer:X(Ek(J([ZO(),Nk()]),xk(e=>typeof e==`object`||e))),feeToken:X(WA()),machineTokenEnabled:X(ZO()),minVoucherDelta:X(zA()),operator:X(WA()),recipient:X(G()),sessionProtocol:X(vk([AA.v2,AA.v1])),sessionSnapshot:X(Nk()),suggestedDeposit:X(zA()),unitType:G()}).check(Pk(({amount:e,decimals:t})=>Oy(e,t)>0n,`Session amount must be greater than 0`)),xk(({amount:e,chainId:t,channelId:n,decimals:r,escrowContract:i,feePayer:a,feeToken:o,machineTokenEnabled:s,minVoucherDelta:c,operator:l,sessionProtocol:u,sessionSnapshot:d,suggestedDeposit:f,...p})=>({...p,amount:Oy(e,r).toString(),...f?{suggestedDeposit:Oy(f,r).toString()}:{},methodDetails:{escrowContract:i,...n!==void 0&&{channelId:n},...c!==void 0&&{minVoucherDelta:Oy(c,r).toString()},...t!==void 0&&{chainId:t},...a!==void 0&&{feePayer:a},...o!==void 0&&{feeToken:o},...s!==void 0&&{machineTokenEnabled:s},...l!==void 0&&{operator:l},...u!==void 0&&{[kA.sessionProtocol]:u},...d!==void 0&&{[kA.sessionSnapshot]:d}}})))}}),KN=SN({name:`tempo`,intent:`subscription`,schema:{credential:{payload:q({signature:KA(),type:Y(`keyAuthorization`)})},request:Ek(q({amount:zA(),accessKey:X(LN),chainId:X(YO()),currency:IN,decimals:YO(),description:X(G()),externalId:X(G()),methodDetails:X(RN),periodCount:VN,periodUnit:BN,recipient:IN,subscriptionExpires:zN}).check(HN(`Subscription amount must be greater than 0`),Pk(UN,`Subscription period exceeds uint64`)),xk(({accessKey:e,amount:t,chainId:n,decimals:r,methodDetails:i,subscriptionExpires:a,...o})=>{let s={...i,...e!==void 0&&{accessKey:e},...n!==void 0&&{chainId:n}};return{...o,amount:Oy(t,r).toString(),subscriptionExpires:a.toISOString(),...Object.keys(s).length>0?{methodDetails:s}:{}}}))}});Ni(),$d();let qN=(1n<<64n)-1n,JN={dev_second:1n,day:86400n,week:604800n};function YN(e){return e instanceof Date?e:new Date(e)}function XN(e){let t=e.getTime();if(!Number.isFinite(t))throw new PA({reason:`subscriptionExpires is invalid`});if(t%1e3!=0)throw new PA({reason:`subscriptionExpires must be representable as whole seconds`});let n=t/1e3;if(n<=0||!Number.isSafeInteger(n))throw new PA({reason:`subscriptionExpires cannot be represented in a Tempo key authorization`});return n}function ZN(e){if(!/^[1-9]\\d*$/.test(e.periodCount))throw new PA({reason:`periodCount is invalid`});let t=JN[e.periodUnit];if(t===void 0)throw new PA({reason:`periodUnit is invalid`});let n=BigInt(e.periodCount)*t;if(n>qN)throw new PA({reason:`subscription period cannot be represented as an unsigned 64-bit integer`});if(n>BigInt(2**53-1))throw new PA({reason:`subscription period cannot be represented exactly by this Tempo client`});return Number(n)}function QN(e){let{challengeExpires:t,request:n}=e;ZN(n);let r=XN(YN(n.subscriptionExpires));if(t){let e=Math.floor(new Date(t).getTime()/1e3);if(!Number.isFinite(e)||r<=e)throw new PA({reason:`subscriptionExpires must be strictly later than challenge expires`})}}function $N(e){return[{address:dP(e.currency,`currency`),selector:`0x95777d59`,recipients:[dP(e.recipient,`recipient`)]}]}async function eP(e){let{accessKey:t,account:n,chainId:r,request:i}=e;if(typeof n.sign!=`function`)return;let a=nP({accessKey:t,chainId:r,request:i}),o=await n.sign({hash:QC(a)}),s=cC(o);if(s.type===`keychain`||s.type===`multisig`)throw new PA({reason:`keyAuthorization must use a primitive signature`});return YC(a,{signature:o})}function tP(e){let{accessKey:t,chainId:n,payload:r,request:i}=e;if(r.type!==`keyAuthorization`)throw new PA({reason:`invalid keyAuthorization payload`});let a=rP(r.signature),o=iP(a);return aP({accessKey:t,authorization:a,chainId:n}),oP(a,i),cP(sP(a),i),lP(a.scopes,i),{authorization:a,source:{address:uP(a,o),chainId:n}}}function nP(e){let{accessKey:t,chainId:n,request:r}=e;return YC({address:dP(t.accessKeyAddress,`accessKeyAddress`),chainId:BigInt(n),expiry:XN(YN(r.subscriptionExpires)),limits:[{token:dP(r.currency,`currency`),limit:BigInt(r.amount),period:ZN(r)}],scopes:$N(r),type:t.keyType})}function rP(e){try{return $C(e)}catch(e){throw e instanceof hw?new PA({reason:`keyAuthorization must use a primitive signature`}):new PA({reason:`invalid keyAuthorization payload`})}}function iP(e){let t=e.signature;if(!t)throw new PA({reason:`keyAuthorization must use a primitive signature`});return t}function aP(e){let{accessKey:t,authorization:n,chainId:r}=e;if(n.chainId!==BigInt(r))throw new PA({reason:`keyAuthorization chainId mismatch`});if(t){if(!F(n.address,dP(t.accessKeyAddress,`accessKeyAddress`)))throw new PA({reason:`keyAuthorization access key mismatch`});if(n.type!==t.keyType)throw new PA({reason:`keyAuthorization key type mismatch`})}}function oP(e,t){if(QN({request:t}),e.expiry!==XN(YN(t.subscriptionExpires)))throw new PA({reason:`keyAuthorization expiry mismatch`})}function sP(e){let[t]=e.limits??[];if(!t||e.limits?.length!==1)throw new PA({reason:`keyAuthorization must contain exactly one token limit`});return t}function cP(e,t){if(!F(e.token,dP(t.currency,`currency`)))throw new PA({reason:`keyAuthorization currency mismatch`});if(e.limit!==BigInt(t.amount))throw new PA({reason:`keyAuthorization amount mismatch`});if(e.period!==ZN(t))throw new PA({reason:`keyAuthorization period mismatch`})}function lP(e,t){if(!e||e.length!==1)throw new PA({reason:`keyAuthorization must contain a recipient-scoped transferWithMemo call`});let n=dP(t.currency,`currency`),r=dP(t.recipient,`recipient`),i=new Set;for(let t of e){if(!F(t.address,n))throw new PA({reason:`keyAuthorization call target mismatch`});let e=fP(t.selector);if(e!==`0xa9059cbb`&&e!==`0x95777d59`)throw new PA({reason:`keyAuthorization selector not allowed`});if(i.has(e))throw new PA({reason:`keyAuthorization duplicate selector`});if(i.add(e),t.recipients?.length!==1||!F(t.recipients[0],r))throw new PA({reason:`keyAuthorization recipient mismatch`})}if(!i.has(`0x95777d59`))throw new PA({reason:`keyAuthorization must allow transferWithMemo`})}function uP(e,t){let n=QC(e);try{let e=iC({payload:n,signature:t});if(!mC(t,{address:e,payload:n}))throw new PA({reason:`keyAuthorization signature is invalid`});return e}catch(e){throw e instanceof PA?e:new PA({reason:`keyAuthorization signature is invalid`})}}function dP(e,t){if(!Ai(e))throw new PA({reason:`${t} must be an address`});return e.toLowerCase()}function fP(e){return typeof e==`string`?e.toLowerCase():``}B(),$d();let pP=q({accessKey:X(Nk()),account:X(Nk())});function mP(e={}){let t=EN({chain:cE,getClient:e.getClient,rpcUrl:jN}),n=wN({account:e.account});return CN(KN,{context:pP,async createCredential({challenge:r,context:i}){let a=r.request.methodDetails?.chainId??DN.testnet,o=await t({chainId:a}),s=n(o,i),c=i?.accessKey??e.accessKey??r.request.methodDetails?.accessKey;if(!c)throw Error(\"No `accessKey` provided. The subscription challenge must include `accessKey`, or the client must pass one to parameters/context.\");gP(r.request),await e.validateRequest?.(r.request);let l=await hP(o,{accessKey:c,account:s,chainId:a,request:r.request});if(!F(tP({accessKey:c,chainId:a,payload:{signature:tw(l),type:`keyAuthorization`},request:r.request}).source.address,s.address))throw Error(`keyAuthorization signer does not match the selected account`);return Fj({challenge:r,payload:{signature:tw(l),type:`keyAuthorization`},source:`did:pkh:eip155:${a}:${s.address.toLowerCase()}`})}})}async function hP(e,t){let{accessKey:n,account:r,chainId:i,request:a}=t;return await eP({accessKey:n,account:r,chainId:i,request:a})||XC((await e.request({method:`wallet_authorizeAccessKey`,params:[{address:n.accessKeyAddress,expiry:XN(YN(a.subscriptionExpires)),keyType:n.keyType,limits:[{token:a.currency,limit:R(BigInt(a.amount)),period:ZN(a)}],scopes:$N(a)}]})).keyAuthorization)}function gP(e){ZN(e),XN(YN(e.subscriptionExpires))}op(),B();let _P=z(m_(Bf(`mpp`),{as:`Hex`}),0,4);function vP(e){return vp(z(m_(Bf(e),{as:`Hex`}),0,10))}function yP(e){let{serverId:t,clientId:n,challengeId:r}=e,i=new Uint8Array(32);return i.set(vp(_P),0),i[4]=1,i.set(vP(t),5),n&&i.set(vP(n),15),i.set(bP(r),25),up(i)}function bP(e){return vp(z(m_(Bf(e),{as:`Hex`}),0,7))}function xP(e,t){return bC(e).toLowerCase()===bC(t).toLowerCase()}let SP=[ON.pathUsd,ON.usdc];async function CP(e,t){let{account:n,amountOut:r,tokenOut:i,tokenIn:a,slippage:o}=t,s=a.filter(e=>!xP(e,i)),c=await Promise.allSettled([V(e,gE.call(e,{account:n,token:i})),...s.map(t=>V(e,gE.call(e,{account:n,token:t})))]),l=c[0];if(!(l.status===`fulfilled`&&l.value>=r)){for(let t=0;t<s.length;t++){let n=c[t+1];if(n.status!==`fulfilled`)continue;let a=n.value;if(a<=0n)continue;let l=s[t];try{let t=await UT(e,{tokenIn:l,tokenOut:i,amountOut:r});if(a>=t){let n=t+t*BigInt(Math.round(o*100))/10000n;return[uE.call(e,{amount:n,spender:hT,token:l}),RT.call({tokenIn:l,tokenOut:i,amountOut:r,maxAmountIn:n})]}}catch{}}throw new TP({currency:i})}}function wP(e,t){return e?e===!0?{tokenIn:t,slippage:1}:{tokenIn:e.tokenIn?[...e.tokenIn,...t.filter(t=>!e.tokenIn.some(e=>xP(e,t)))]:t,slippage:e.slippage??1}:!1}var TP=class extends Error{name=`InsufficientFundsError`;constructor({currency:e}){super(`Insufficient funds: no balance in ${e} and no viable swap route from fallback currencies.`)}};function EP(e){let t=BigInt(e.amount),n=e.methodDetails?.splits??[],r=n.reduce((e,t)=>e+BigInt(t.amount),0n);if(r>=t)throw Error(`Invalid charge request: split total must be less than total amount.`);let i=t-r;if(i<=0n)throw Error(`Invalid charge request: primary transfer amount must be positive.`);return[{amount:i.toString(),memo:e.methodDetails?.memo,recipient:e.recipient},...n.map(e=>({amount:e.amount,memo:e.memo,recipient:e.recipient}))]}va(),Wm();let DP=[{inputs:[{name:`inputToken`,type:`address`},{name:`amount`,type:`uint256`},{name:`targetToken`,type:`address`},{name:`recipient`,type:`address`},{name:`memo`,type:`bytes32`}],name:`swapTo`,outputs:[],stateMutability:`nonpayable`,type:`function`}];function OP(e){if(e!==void 0)return kN[e]}function kP(e){let t=OP(e.chainId),n=e.transfers.length===1?e.transfers[0]:void 0;if(!t||!n?.memo)return;let r=BigInt(n.amount),i=n.memo;return{calls:[{data:_a({abi:H,functionName:`approve`,args:[t.swap,r]}),to:t.token},{data:_a({abi:DP,functionName:`swapTo`,args:[t.token,r,e.currency,n.recipient,i]}),to:t.swap}],settlementSender:t.swap,transfers:[{amount:r,memo:i,recipient:n.recipient}]}}async function AP(e,t){let n=kP(t);if(n)try{return await V(e,gE.call(e,{account:t.account,token:n.calls[0].to}))<n.transfers[0].amount?void 0:(await Nm(e,{account:t.account,calls:n.calls}),n)}catch{return}}let jP={Proof:[{name:`account`,type:`address`},{name:`challengeId`,type:`string`},{name:`realm`,type:`string`}]};function MP(e){return{name:`MPP`,version:`3`,chainId:e}}function NP(e){let{account:t,challengeId:n,realm:r}=e;return{account:t,challengeId:n,realm:r}}function PP(e){let{account:t,chainId:n,challengeId:r,realm:i}=e;return{domain:MP(n),types:jP,primaryType:`Proof`,message:NP({account:t,challengeId:r,realm:i})}}function FP(e){return`did:pkh:eip155:${e.chainId}:${e.address}`}let IP=q({account:X(Nk()),autoSwap:X(Nk()),mode:X(vk(MN))});function LP(e={}){let{clientId:t}=e,n=EN({chain:cE,getClient:e.getClient,rpcUrl:jN}),r=wN({account:e.account});return CN(WN,{context:IP,async createCredential({challenge:i,context:a}){let o=i.request.methodDetails?.chainId;if(e.expectedChainId!==void 0&&o!==void 0&&o!==e.expectedChainId)throw Error(`Chain ID mismatch: expected ${e.expectedChainId}, got ${o}.`);let s=o??e.expectedChainId,c=await n({chainId:s}),l=s??c.chain?.id;if(l===void 0)throw Error(\"No `chainId` provided. Pass a chain ID in the challenge or client.\");let{request:u}=i,{amount:d,methodDetails:f}=u,p=f?.supportedModes??[`pull`,`push`],m=r(c,a);if(BigInt(d)===0n)return Fj({challenge:i,payload:{signature:await Rb(c,{account:m,...PP({account:m.address,chainId:l,challengeId:i.id,realm:i.realm})}),type:`proof`},source:FP({address:m.address,chainId:l})});let h=u.currency;if(e.expectedRecipients){let t=new Set(e.expectedRecipients.map(e=>e.toLowerCase())),n=f?.splits;if(n){for(let e of n)if(!t.has(e.recipient.toLowerCase()))throw Error(`Unexpected split recipient: ${e.recipient}`)}}let g=f?.memo?f.memo:yP({challengeId:i.id,clientId:t,serverId:i.realm}),_=EP({amount:d,methodDetails:{...f,memo:g},recipient:u.recipient}),v=_.map(e=>AE.call(c,{amount:BigInt(e.amount),...e.memo&&{memo:e.memo},to:e.recipient,token:h})),y=wP(a?.autoSwap??e.autoSwap,SP),b=f?.machineTokenEnabled===!0,x=await e.resolveAccount?.({account:m,chainId:l,operation:{kind:`executeCalls`,...y||b?{}:{calls:v}}})??m,S=(()=>{let t=a?.mode??e.mode;if(t){if(!p.includes(t))throw Error(`Challenge does not support ${t} mode.`);return t}let n=x.type===`json-rpc`?`push`:`pull`;return p.includes(n)?n:p[0]})(),C=b?await AP(c,{account:x.address,chainId:l,currency:h,transfers:_}):void 0,w=!C&&y?await CP(c,{account:x.address,amountOut:BigInt(d),tokenOut:h,tokenIn:y.tokenIn,slippage:y.slippage}):void 0,T=C?.calls??[...w??[],...v],ee=(()=>{let e=Math.floor(Date.now()/1e3)+25;if(!i.expires)return e;let t=Math.floor(new Date(i.expires).getTime()/1e3);return Math.min(e,t)})();if(S===`push`){let{receipts:e}=x.type===`local`?{receipts:[await yb(c,{account:x,calls:T,nonceKey:`expiring`,validBefore:ee})]}:await Nb(c,{account:x,calls:T,experimental_fallback:T.length===1,forceAtomic:T.length>1}),t=e?.[0]?.transactionHash;if(!t)throw Error(`No transaction receipt returned.`);return Fj({challenge:i,payload:{hash:t,type:`hash`},source:FP({address:x.address,chainId:l})})}let E=await Xd(c,{account:x,calls:T,nonceKey:`expiring`,validBefore:ee});if(E.gas=(E.gas??0n)+5000n,f?.feePayer){let e=E;delete e.feePayerSignature,delete e.feeToken,e.feePayer=!0}return Fj({challenge:i,payload:{signature:await Lb(c,E),type:`transaction`},source:FP({address:x.address,chainId:l})})}})}function RP(e){return`accessKeyAddress`in e}function zP(e){return RP(e)?e.accessKeyAddress:e.address}function BP(e,t){return{name:`Tempo Stream Channel`,version:`1`,chainId:t,verifyingContract:e}}let VP={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint128`}]};function HP(e){return{channelId:e.channelId,cumulativeAmount:e.cumulativeAmount}}function UP(e,t,n){return vg({domain:BP(e,t),types:VP,primaryType:`Voucher`,message:HP(n)})}async function WP(e,t,n,r,i){return Rb(e,{account:t,domain:BP(r,i),types:VP,primaryType:`Voucher`,message:HP(n)})}function GP(e){let t=cC(e);if(t.type===`keychain`){if(t.inner.type!==`secp256k1`)throw Error(`Session vouchers only unwrap secp256k1 keychain signatures; pass a direct voucherSigner for other key types.`);return Wv(t.inner.signature)}return dC(t)}function KP(e){return e.type!==`keychain`&&e.type===`secp256k1`}function qP(e){if(!KP(e))throw Error(`Session vouchers only support secp256k1 signatures until TIP-1020 voucher verification is enabled.`)}async function JP(e,t,n,r,i,a){let o=a??t,s=zP(o),c=UP(r,i,n),l=GP(RP(o)?await o.sign({hash:c,raw:!0}):await WP(e,o,n,r,i)),u=cC(l);if(qP(u),!mC(u,{address:s,payload:c}))throw Error(`voucher signature does not match voucher signer`);return l}function YP(e){return m_(hv(_v([`address payer`,`address payee`,`address token`,`bytes32 salt`,`address authorizedSigner`,`address escrowContract`,`uint256 chainId`]),[e.payer,e.payee,e.token,e.salt,e.authorizedSigner,e.escrowContract,BigInt(e.chainId)]))}let XP=[{type:`function`,name:`CLOSE_GRACE_PERIOD`,inputs:[],outputs:[{name:``,type:`uint64`,internalType:`uint64`}],stateMutability:`view`},{type:`function`,name:`VOUCHER_TYPEHASH`,inputs:[],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`channels`,inputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:`finalized`,type:`bool`,internalType:`bool`},{name:`closeRequestedAt`,type:`uint64`,internalType:`uint64`},{name:`payer`,type:`address`,internalType:`address`},{name:`payee`,type:`address`,internalType:`address`},{name:`token`,type:`address`,internalType:`address`},{name:`authorizedSigner`,type:`address`,internalType:`address`},{name:`deposit`,type:`uint128`,internalType:`uint128`},{name:`settled`,type:`uint128`,internalType:`uint128`}],stateMutability:`view`},{type:`function`,name:`close`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`},{name:`cumulativeAmount`,type:`uint128`,internalType:`uint128`},{name:`signature`,type:`bytes`,internalType:`bytes`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`computeChannelId`,inputs:[{name:`payer`,type:`address`,internalType:`address`},{name:`payee`,type:`address`,internalType:`address`},{name:`token`,type:`address`,internalType:`address`},{name:`salt`,type:`bytes32`,internalType:`bytes32`},{name:`authorizedSigner`,type:`address`,internalType:`address`}],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`domainSeparator`,inputs:[],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`eip712Domain`,inputs:[],outputs:[{name:`fields`,type:`bytes1`,internalType:`bytes1`},{name:`name`,type:`string`,internalType:`string`},{name:`version`,type:`string`,internalType:`string`},{name:`chainId`,type:`uint256`,internalType:`uint256`},{name:`verifyingContract`,type:`address`,internalType:`address`},{name:`salt`,type:`bytes32`,internalType:`bytes32`},{name:`extensions`,type:`uint256[]`,internalType:`uint256[]`}],stateMutability:`view`},{type:`function`,name:`getChannel`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:``,type:`tuple`,internalType:`struct TempoStreamChannel.Channel`,components:[{name:`finalized`,type:`bool`,internalType:`bool`},{name:`closeRequestedAt`,type:`uint64`,internalType:`uint64`},{name:`payer`,type:`address`,internalType:`address`},{name:`payee`,type:`address`,internalType:`address`},{name:`token`,type:`address`,internalType:`address`},{name:`authorizedSigner`,type:`address`,internalType:`address`},{name:`deposit`,type:`uint128`,internalType:`uint128`},{name:`settled`,type:`uint128`,internalType:`uint128`}]}],stateMutability:`view`},{type:`function`,name:`getChannelsBatch`,inputs:[{name:`channelIds`,type:`bytes32[]`,internalType:`bytes32[]`}],outputs:[{name:`channelStates`,type:`tuple[]`,internalType:`struct TempoStreamChannel.Channel[]`,components:[{name:`finalized`,type:`bool`,internalType:`bool`},{name:`closeRequestedAt`,type:`uint64`,internalType:`uint64`},{name:`payer`,type:`address`,internalType:`address`},{name:`payee`,type:`address`,internalType:`address`},{name:`token`,type:`address`,internalType:`address`},{name:`authorizedSigner`,type:`address`,internalType:`address`},{name:`deposit`,type:`uint128`,internalType:`uint128`},{name:`settled`,type:`uint128`,internalType:`uint128`}]}],stateMutability:`view`},{type:`function`,name:`getVoucherDigest`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`},{name:`cumulativeAmount`,type:`uint128`,internalType:`uint128`}],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`open`,inputs:[{name:`payee`,type:`address`,internalType:`address`},{name:`token`,type:`address`,internalType:`address`},{name:`deposit`,type:`uint128`,internalType:`uint128`},{name:`salt`,type:`bytes32`,internalType:`bytes32`},{name:`authorizedSigner`,type:`address`,internalType:`address`}],outputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`}],stateMutability:`nonpayable`},{type:`function`,name:`requestClose`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`settle`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`},{name:`cumulativeAmount`,type:`uint128`,internalType:`uint128`},{name:`signature`,type:`bytes`,internalType:`bytes`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`topUp`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`},{name:`additionalDeposit`,type:`uint256`,internalType:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`withdraw`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`event`,name:`ChannelClosed`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`},{name:`settledToPayee`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`refundedToPayer`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`ChannelExpired`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`}],anonymous:!1},{type:`event`,name:`ChannelOpened`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`},{name:`token`,type:`address`,indexed:!1,internalType:`address`},{name:`authorizedSigner`,type:`address`,indexed:!1,internalType:`address`},{name:`salt`,type:`bytes32`,indexed:!1,internalType:`bytes32`},{name:`deposit`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`CloseRequestCancelled`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`}],anonymous:!1},{type:`event`,name:`CloseRequested`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`},{name:`closeGraceEnd`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`Settled`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`},{name:`cumulativeAmount`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`deltaPaid`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`newSettled`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`TopUp`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`},{name:`additionalDeposit`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`newDeposit`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`error`,name:`AmountExceedsDeposit`,inputs:[]},{type:`error`,name:`AmountNotIncreasing`,inputs:[]},{type:`error`,name:`ChannelAlreadyExists`,inputs:[]},{type:`error`,name:`ChannelFinalized`,inputs:[]},{type:`error`,name:`ChannelNotFound`,inputs:[]},{type:`error`,name:`CloseNotReady`,inputs:[]},{type:`error`,name:`DepositOverflow`,inputs:[]},{type:`error`,name:`InvalidPayee`,inputs:[]},{type:`error`,name:`InvalidSignature`,inputs:[]},{type:`error`,name:`NotPayee`,inputs:[]},{type:`error`,name:`NotPayer`,inputs:[]},{type:`error`,name:`TransferFailed`,inputs:[]}];fa(),ca();async function ZP(e,t,n){return V(e,{address:t,abi:XP,functionName:`getChannel`,args:[n]})}la({abi:XP,name:`open`}),la({abi:XP,name:`topUp`}),B(),va();function QP(e,t){return t??e}function $P(e,t,n,r=!1){let i=e.request.methodDetails?.escrowContract,a=n??AN[t];if(!a&&!(r&&i))throw Error(\"No trusted `escrowContract` available. Provide it in client parameters or use a supported chain.\");if(i&&a&&i.toLowerCase()!==a.toLowerCase()&&(!r||n!==void 0))throw Error(`Tempo session escrow ${i} does not match client escrow ${a}.`);return i&&(!a||i.toLowerCase()!==a.toLowerCase())?i:a}function eF(e,t,n,r){return Fj({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}async function tF(e,t,n,r,i,a,o){let s=QP(t,o),c=await JP(e,t,{channelId:n,cumulativeAmount:r},i,a,s);return{action:`voucher`,channelId:n,cumulativeAmount:r.toString(),signature:c}}async function nF(e,t,n){let{escrowContract:r,payee:i,currency:a,deposit:o,initialAmount:s,chainId:c,feePayer:l}=n,u=QP(t,n.voucherSigner),d=zP(u),f=mp(32),p=YP({authorizedSigner:d,chainId:c,escrowContract:r,payee:i,payer:t.address,salt:f,token:a}),m=_a({abi:H,functionName:`approve`,args:[r,o]}),h=_a({abi:XP,functionName:`open`,args:[i,a,o,f,d]}),g=Math.floor(Date.now()/1e3)+25,_=await Xd(e,{account:t,calls:[{to:a,data:m},{to:r,data:h}],feeToken:a,nonceKey:`expiring`,validBefore:g});_.gas=(_.gas??0n)+5000n,l&&(_.feePayer=!0);let v=await Lb(e,_),y=await JP(e,t,{channelId:p,cumulativeAmount:s},r,c,u);return{entry:{authorizedSigner:d,channelId:p,salt:f,cumulativeAmount:s,escrowContract:r,chainId:c,opened:!0},payload:{action:`open`,type:`transaction`,channelId:p,transaction:v,authorizedSigner:d,cumulativeAmount:s.toString(),signature:y}}}async function rF(e,t,n,r){try{let i=await ZP(e,t,n);if(i.deposit>0n&&!i.finalized)return{authorizedSigner:BigInt(i.authorizedSigner)===0n?i.payer:i.authorizedSigner,channelId:n,salt:`0x`,cumulativeAmount:i.settled,escrowContract:t,chainId:r,opened:!0}}catch{}}let iF=q({account:X(Nk()),action:X(vk([`open`,`topUp`,`voucher`,`close`])),channelId:X(G()),cumulativeAmount:X(zA()),cumulativeAmountRaw:X(G()),transaction:X(G()),additionalDeposit:X(zA()),additionalDepositRaw:X(G()),depositRaw:X(G())});function aF(e={}){let{allowCustomEscrow:t=!1,decimals:n=6}=e,r=EN({chain:cE,getClient:e.getClient,rpcUrl:jN}),i=wN({account:e.account}),a=e.maxDeposit===void 0?void 0:Oy(e.maxDeposit,n),o=new Map,s=new Map,c=new Map;function l(t){e.onChannelUpdate?.(t)}function u(e,t,n){return`${e.toLowerCase()}:${t.toLowerCase()}:${n.toLowerCase()}`}function d(n,r,i){if(i){let e=o.get(i);if(e)return $P(n,r,e)}return $P(n,r,e.escrowContract,t)}async function f(t,i,f){let p=t.request.methodDetails,m=p?.chainId??0,h=await r({chainId:m}),g=d(t,m),_=t.request.recipient,v=t.request.currency,y=BigInt(t.request.amount),b=t.request.suggestedDeposit,x=b?BigInt(b):void 0,S=(()=>{if(f?.depositRaw)return BigInt(f.depositRaw);if(e.deposit!==void 0)return Oy(e.deposit,n);if(x!==void 0&&a!==void 0)return x<a?x:a;if(a!==void 0)return a;if(x!==void 0)return x;throw Error(\"No deposit amount available. Set `deposit`, `maxDeposit`, or ensure the server challenge includes `suggestedDeposit`.\")})(),C=e.voucherSigner??i,w=u(_,v,g),T=s.get(w);if(!T){let e=f?.channelId??p?.channelId;if(e){let t=await rF(h,g,e,m);if(t){let e=f?.cumulativeAmountRaw?BigInt(f.cumulativeAmountRaw):f?.cumulativeAmount?Oy(f.cumulativeAmount,n):void 0;e!==void 0&&(t.cumulativeAmount=e),s.set(w,t),c.set(t.channelId,w),o.set(t.channelId,g),T=t,l(T)}else if(f?.channelId)throw Error(`Channel ${f.channelId} cannot be reused (closed or not found on-chain).`)}}T?.opened&&T.authorizedSigner.toLowerCase()!==zP(C).toLowerCase()&&(T=void 0);let ee;if(T?.opened)T.cumulativeAmount+=y,ee=await tF(h,i,T.channelId,T.cumulativeAmount,g,m,C),l(T);else{let e=await nF(h,i,{voucherSigner:C,escrowContract:g,payee:_,currency:v,deposit:S,initialAmount:y,chainId:m,feePayer:p?.feePayer});s.set(w,e.entry),c.set(e.entry.channelId,w),o.set(e.entry.channelId,g),ee=e.payload,l(e.entry)}return eF(t,ee,m,i)}async function p(t,i,a){let u=t.request.methodDetails?.chainId??0,f=await r({chainId:u}),p=a.action,{channelId:m,transaction:h}=a,g=e.voucherSigner??i,_=m,v=a.cumulativeAmountRaw?BigInt(a.cumulativeAmountRaw):a.cumulativeAmount?Oy(a.cumulativeAmount,n):void 0,y=a.additionalDepositRaw?BigInt(a.additionalDepositRaw):a.additionalDeposit?Oy(a.additionalDeposit,n):void 0,b=d(t,u,_);o.set(_,b);let x;switch(p){case`open`:{if(!h)throw Error(`transaction required for open action`);if(v===void 0)throw Error(`cumulativeAmount required for open action`);let e=await JP(f,i,{channelId:_,cumulativeAmount:v},b,u,g);x={action:`open`,type:`transaction`,channelId:_,transaction:h,authorizedSigner:zP(g),cumulativeAmount:v.toString(),signature:e};break}case`topUp`:if(!h)throw Error(`transaction required for topUp action`);if(y===void 0)throw Error(`additionalDeposit required for topUp action`);x={action:`topUp`,type:`transaction`,channelId:_,transaction:h,additionalDeposit:y.toString()};break;case`voucher`:{if(v===void 0)throw Error(`cumulativeAmount required for voucher action`);x=await tF(f,i,_,v,b,u,g);let e=c.get(_);if(e){let t=s.get(e);t&&(t.cumulativeAmount=t.cumulativeAmount>v?t.cumulativeAmount:v,l(t))}break}case`close`:{if(v===void 0)throw Error(`cumulativeAmount required for close action`);let e=await JP(f,i,{channelId:_,cumulativeAmount:v},b,u,g);x={action:`close`,channelId:_,cumulativeAmount:v.toString(),signature:e};let t=c.get(_);if(t){let e=s.get(t);e&&(e.opened=!1,e.cumulativeAmount=e.cumulativeAmount>v?e.cumulativeAmount:v,l(e))}break}}return eF(t,x,u,i)}return CN(GN,{canHandleChallenge({challenge:e}){let t=jA(e.request.methodDetails,kA.sessionProtocol);return t===void 0||t===AA.v1},context:iF,async createCredential({challenge:t,context:n}){let o=t.request.methodDetails?.chainId??0,s=await r({chainId:o}),c=i(s,n);if(!n?.action&&(e.deposit!==void 0||a!==void 0))return f(t,c,n);if(n?.action)return p(t,c,n);throw Error(\"No `action` in context and no `deposit` or `maxDeposit` configured. Either provide context with action/channelId/cumulativeAmount, or configure `deposit`/`maxDeposit` for auto-management.\")}})}let oF=(1n<<96n)-1n;function sF(e){return e>=0n&&e<=oF}function cF(e){if(!/^\\d{1,29}$/.test(e))return;let t=BigInt(e);return sF(t)?t:void 0}function lF(e){return uF(e),e}function uF(e){if(!sF(e))throw Error(`Value ${e} is outside uint96 bounds.`)}let dF=new Set([`open`,`topUp`,`voucher`,`close`]);function fF(e){return typeof e==`object`&&!!e}function pF(e){return typeof e==`string`&&dF.has(e)}function mF(e){if(typeof e!=`object`||!e)return!1;let t=e;return!(typeof t.channelId!=`string`||t.action!==void 0&&!pF(t.action))}function hF(e,t=`No session credential context available.`){if(!mF(e))throw Error(t);return e}function gF(e){let t=e.request.amount;if(typeof t!=`string`)throw Error(`Session challenge is missing amount.`);return BigInt(t)}function _F(e){return fF(e)?typeof e.channelId==`string`&&typeof e.requiredCumulative==`string`&&typeof e.acceptedCumulative==`string`&&typeof e.deposit==`string`:!1}function vF(e){return fF(e)?e.method===`tempo`&&e.intent===`session`&&e.status===`success`&&typeof e.timestamp==`string`&&typeof e.reference==`string`&&typeof e.challengeId==`string`&&typeof e.channelId==`string`&&typeof e.acceptedCumulative==`string`&&typeof e.spent==`string`&&(e.units===void 0||typeof e.units==`number`)&&(e.txHash===void 0||typeof e.txHash==`string`):!1}function yF(e){let t=sx(e),n=JSON.parse(t);if(!vF(n))throw Error(`Invalid session receipt.`);return n}function bF(e){return e.headers.get(`content-type`)?.toLowerCase().startsWith(`text/event-stream`)??!1}function xF(e){let t=`message`,n=[];for(let r of e.split(`\n`))r.startsWith(`event: `)?t=r.slice(7).trim():r.startsWith(`data: `)?n.push(r.slice(6)):r===`data:`&&n.push(``);if(n.length===0)return null;let r=n.join(`\n`);switch(t){case`message`:return{type:`message`,data:r};case`payment-need-voucher`:{let e=SF(r);return _F(e)?{type:`payment-need-voucher`,data:e}:null}case`payment-receipt`:{let e=SF(r);return vF(e)?{type:`payment-receipt`,data:e}:null}default:return{type:`message`,data:r}}}function SF(e){try{return JSON.parse(e)}catch{return null}}function CF(e){return JSON.stringify({mpp:`authorization`,authorization:e})}function wF(){return JSON.stringify({mpp:`payment-close-request`})}function TF(e){let t=EF(e);return t?t.mpp===`authorization`&&typeof t.authorization==`string`?{mpp:`authorization`,authorization:t.authorization}:t.mpp===`message`&&typeof t.data==`string`?{mpp:`message`,data:t.data}:t.mpp===`payment-close-request`?{mpp:`payment-close-request`}:t.mpp===`payment-close-ready`&&vF(t.data)?{mpp:`payment-close-ready`,data:t.data}:t.mpp===`payment-error`&&typeof t.status==`number`&&typeof t.message==`string`?{mpp:`payment-error`,status:t.status,message:t.message}:t.mpp===`payment-need-voucher`&&_F(t.data)?{mpp:`payment-need-voucher`,data:t.data}:t.mpp===`payment-receipt`&&vF(t.data)?{mpp:`payment-receipt`,data:t.data}:null:null}function EF(e){try{let t=JSON.parse(e);return typeof t!=`object`||!t?null:t}catch{return null}}let DF=`0x4d50500000000000000000000000000000000000`,OF={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function kF(e){let t=e.allowCustomEscrow??!1,n=e.fetch??globalThis.fetch,r=e.webSocket??globalThis.WebSocket,i=e.maxDeposit===void 0?null:Oy(e.maxDeposit,e.decimals??6),a=null,o=null,s=null,c=0n,l=0n,u=null,d=null,f=null,p=null,m=null,h=null,g=null,_=0n,v=0n,y=aF({account:e.account,allowCustomEscrow:t,voucherSigner:e.voucherSigner,getClient:e.client?()=>e.client:e.getClient,escrowContract:e.escrowContract,decimals:e.decimals,maxDeposit:e.maxDeposit,onChannelUpdate(e){e.channelId!==a?.channelId&&(c=0n,l=0n),a=e}}),b=BM({fetch:n,methods:[y],onChallenge:async(e,t)=>{o=e},orderChallenges:e.orderChallenges});function x(e){if(!e||e.channelId!==a?.channelId)return;S(e);let t=BigInt(e.acceptedCumulative),n=BigInt(e.spent);c=c>t?c:t,l=l>n?l:n}function S(e){if(!a||e.channelId!==a.channelId)return;let t=BigInt(e.acceptedCumulative),n=BigInt(e.spent);if(n>t)throw Error(`receipt spent exceeds accepted cumulative voucher amount`);if(t>a.cumulativeAmount)throw Error(`receipt accepted cumulative exceeds local voucher state`);if(n>a.cumulativeAmount)throw Error(`receipt spent exceeds local voucher state`);re(t),re(n)}function C(e=()=>!0){if(g)throw Error(`receipt wait already in progress`);return new Promise((t,n)=>{g={predicate:e,resolve:t,reject:n}})}function w(){if(p)return Promise.resolve(p);if(m)throw Error(`close-ready wait already in progress`);return new Promise((e,t)=>{m={resolve:e,reject:t}})}function T(e){if(!g||!g.predicate(e))return;let t=g;g=null,t.resolve(e)}function ee(e){if(p=e,!m)return;let t=m;m=null,t.resolve(e)}function E(e){if(!g)return;let t=g;g=null,t.reject(e)}function te(e){if(!m)return;let t=m;m=null,t.reject(e)}function ne(e,t){if(p&&p.challengeId===e.id&&p.channelId===t)return p.spent;let n=a?.channelId===t?a.cumulativeAmount:0n;if(v>0n){let e=_*v,t=l>e?l:e;return(t>n?n:t).toString()}return(l>c?l:c).toString()}function re(e){if(i!==null&&!(e<=i))throw Error(`requested voucher amount ${e} exceeds local maxDeposit ${i}`)}function ie(e){let t=e.headers.get(TA.paymentReceipt),n=t?yF(t):null;return x(n),Object.assign(e,{receipt:n,challenge:o,channelId:a?.channelId??null,cumulative:a?.cumulativeAmount??0n})}async function ae(e,t){return s=e,ie(await b(e,t))}function oe(e){let t=new Map,n=!1,r=[],i=e.readyState,a=(e,n,i)=>{let a=t.get(e);if(a||(a=new Set,t.set(e,a)),a.add({once:typeof i==`object`&&i.once===!0,value:n}),e===`message`&&r){let e=r;r=null;for(let t of e)s(`message`,t)}},o=(e,n)=>{let r=t.get(e);if(r)for(let e of r)e.value===n&&r.delete(e)},s=(e,a)=>{if(e===`close`){if(n)return;n=!0,i=OF.CLOSED,r=null}if(e===`open`&&(i=OF.OPEN),e===`message`&&r){r.push(a);return}let o=`on${e}`,s=c[o];typeof s==`function`&&s(a);let l=t.get(e);if(l)for(let e of Array.from(l))typeof e.value==`function`?e.value(a):e.value.handleEvent(a),e.once&&l.delete(e)},c={addEventListener:a,close(t,n){e.close(t,n)},get bufferedAmount(){return e.bufferedAmount},get extensions(){return e.extensions},on(e,t){a(e,t)},onclose:null,onerror:null,_onmessage:null,get onmessage(){return c._onmessage},set onmessage(e){if(c._onmessage=e,e&&r){let e=r;r=null;for(let t of e)s(`message`,t)}},onopen:null,off(e,t){o(e,t)},get protocol(){return e.protocol},get readyState(){return i},removeEventListener:o,send(t){e.send(t)},get url(){return e.url}};return{emit:s,socket:c}}return{get channelId(){return a?.channelId},get cumulative(){return a?.cumulativeAmount??0n},get opened(){return a?.opened??!1},async open(e){if(a?.opened)return;if(!o)throw Error(`No challenge available. Make a request first to receive a 402 challenge, or pass a challenge via .fetch()/.sse().`);let t=e?.deposit,r=await y.createCredential({challenge:o,context:{...t!==void 0&&{depositRaw:t.toString()}}});if(!s)throw Error(`No URL available \u2014 call fetch() or sse() before open().`);let i=await n(s,{method:`POST`,headers:{[TA.authorization]:r}});if(!i.ok){let e=await i.text().catch(()=>``),t=i.headers.get(TA.wwwAuthenticate)??``;throw Error(`Open request failed with status ${i.status}${e?`: ${e}`:``}${t?` [${TA.wwwAuthenticate}: ${t}]`:``}`)}},fetch:ae,async sse(e,t){let{onReceipt:r,signal:i,...s}=t??{},c=await ae(e,{...s,headers:{...HM(s.headers),Accept:`text/event-stream`},...i?{signal:i}:{}}),l=o;if(!c.body)throw Error(`Response has no body.`);let u=c.body.getReader(),d=new TextDecoder;async function*f(){let t=``;try{for(;!i?.aborted;){let{done:i,value:o}=await u.read();if(i)break;t+=d.decode(o,{stream:!0});let s=t.split(`\n\n`);t=s.pop();for(let t of s){if(!t.trim())continue;let i=xF(t);if(i)switch(i.type){case`message`:yield i.data;break;case`payment-need-voucher`:{if(!a||!l)break;let t=BigInt(i.data.requiredCumulative);re(t),a.cumulativeAmount=a.cumulativeAmount>t?a.cumulativeAmount:t;let r=await y.createCredential({challenge:l,context:{action:`voucher`,channelId:a.channelId,cumulativeAmountRaw:a.cumulativeAmount.toString()}}),o=await n(e,{method:`POST`,headers:{Accept:`text/event-stream`,[TA.authorization]:r}});if(!o.ok)throw Error(`Voucher POST failed with status ${o.status}`);break}case`payment-receipt`:x(i.data),r?.(i.data)}}}}finally{u.releaseLock()}}return f()},async ws(t,i){if(!r)throw Error(\"No WebSocket implementation available. Pass `webSocket` to sessionManager() in this runtime.\");let{onReceipt:c,protocols:l,signal:m}=i??{},g=new URL(t.toString()),b=new URL(g.toString());b.protocol===`ws:`&&(b.protocol=`http:`),b.protocol===`wss:`&&(b.protocol=`https:`),s=b.toString();let S=await n(b,m?{signal:m}:void 0);if(S.status!==402)throw Error(`Expected a 402 payment challenge from ${b}, received ${S.status} instead.`);let w=(await AF(gj(ij(S),[y],pj([y]).entries),i?.orderChallenges??e.orderChallenges))[0]?.challenge;if(!w)throw Error(`No payment challenge received from HTTP endpoint for this WebSocket URL. The server may not require payment or did not advertise a challenge.`);o=w;let ne=await y.createCredential({challenge:w,context:{}});p=null,u=w,_=0n,v=BigInt(w.request.amount);let ie=Mj(ne);d=ie.payload.channelId;let ae=new r(g,l);f=ae;let se=oe(ae),ce=e=>{E(Error(e)),te(Error(e)),(ae.readyState===OF.CONNECTING||ae.readyState===OF.OPEN)&&ae.close(3008,e)},le=e=>e.challengeId===w.id&&e.channelId===d,ue=new Promise((e,t)=>{let n=()=>{ae.removeEventListener(`error`,r),se.emit(`open`,{type:`open`}),e()},r=()=>{ae.removeEventListener(`open`,n),t(Error(`WebSocket connection to ${g} failed to open.`))};ae.addEventListener(`open`,n,{once:!0}),ae.addEventListener(`error`,r,{once:!0})});return ae.addEventListener(`close`,e=>{f===ae&&(f=null),u===w&&(u=null),d===ie.payload.channelId&&(d=null),h=null,E(Error(`WebSocket closed before the payment flow completed.`)),te(Error(`WebSocket closed before the payment flow completed.`)),se.emit(`close`,{code:e.code??1e3,reason:e.reason??``,type:`close`,wasClean:!0})}),ae.addEventListener(`error`,()=>{se.emit(`error`,{type:`error`})}),ae.addEventListener(`message`,async e=>{let t=typeof e.data==`string`?e.data:void 0;if(!t)return;let n=TF(t);if(!n){se.emit(`message`,{data:t,type:`message`});return}switch(n.mpp){case`authorization`:break;case`message`:_+=1n,se.emit(`message`,{data:n.data,type:`message`});break;case`payment-close-ready`:if(!le(n.data)){ce(`received mismatched payment-close-ready frame`);break}if(BigInt(n.data.spent)>(a?.cumulativeAmount??0n)){ce(`received payment-close-ready beyond local voucher state`);break}x(n.data),c?.(n.data),ee(n.data),se.emit(`close`,{code:1e3,reason:`stream complete`,type:`close`});break;case`payment-error`:E(Error(n.message)),te(Error(n.message));break;case`payment-need-voucher`:{if(n.data.channelId!==d){ce(`received mismatched payment-need-voucher frame`);break}let e=BigInt(n.data.requiredCumulative);try{re(e)}catch(e){ce(e instanceof Error?e.message:`requested voucher amount exceeds local maxDeposit`);break}let t=(a?.cumulativeAmount??0n)>e?a?.cumulativeAmount??0n:e;a?.channelId===d&&(a.cumulativeAmount=t);let r=await y.createCredential({challenge:w,context:{action:`voucher`,channelId:d,cumulativeAmountRaw:t.toString()}});ae.send(CF(r));break}case`payment-receipt`:if(!le(n.data)){ce(`received mismatched payment-receipt frame`);break}if(h!==null&&n.data.txHash&&(n.data.acceptedCumulative!==h||n.data.spent!==h)){ce(`received mismatched payment-close receipt frame`);break}x(n.data),c?.(n.data),T(n.data)}}),m&&m.addEventListener(`abort`,()=>{E(Error(`WebSocket payment flow aborted.`)),te(Error(`WebSocket payment flow aborted.`)),ae.close()},{once:!0}),await ue,ae.send(CF(ne)),await C(),se.socket},async close(){let e=u??o,t=d??a?.channelId;if(!a?.opened)return;if(!e)throw Error(`Cannot close session: no challenge available. This usually means close() was called on a SessionManager instance that was recreated after the session was opened. Use the same SessionManager instance that opened the session, or make a request first to receive a fresh 402 challenge.`);if(!t)throw Error(`Cannot close session: no channel ID available. The session may not have been fully opened.`);if(f?.readyState===OF.OPEN){let n=p??await(async()=>(f.send(wF()),w()))(),r=BigInt(n.spent);if(r>(a.cumulativeAmount>l?a.cumulativeAmount:l))throw Error(`close-ready spent exceeds local voucher state`);let i=await y.createCredential({challenge:e,context:{action:`close`,channelId:t,cumulativeAmountRaw:r.toString()}}),o=r.toString();h=o;try{let n=C(n=>!!n.txHash&&n.challengeId===e.id&&n.channelId===t&&n.acceptedCumulative===o&&n.spent===o);f.send(CF(i));let r=await n;return f.close(),p=null,r}finally{h=null}}let r=await y.createCredential({challenge:e,context:{action:`close`,channelId:t,cumulativeAmountRaw:(()=>{let n=BigInt(ne(e,t));if(n>a.cumulativeAmount)throw Error(`fallback close amount exceeds local voucher state`);return re(n),n.toString()})()}});if(!s)throw Error(`Cannot close session: no URL available. This usually means close() was called on a SessionManager instance that was recreated after the session was opened. Use the same SessionManager instance that opened the session, or call fetch()/sse() before close().`);let i=await n(s,{method:`POST`,headers:{[TA.authorization]:r}});if(!i.ok){let e=await i.text().catch(()=>``),t=(()=>{if(!e)return``;if(!i.headers.get(`Content-Type`)?.includes(`application/problem+json`))return e;try{return JSON.parse(e).detail??e}catch{return e}})(),n=i.headers.get(TA.wwwAuthenticate)??``;throw Error(`Close request failed with status ${i.status}${t?`: ${t}`:``}${n?` [${TA.wwwAuthenticate}: ${n}]`:``}`)}let c=i.headers.get(TA.paymentReceipt);return c?yF(c):void 0}}}async function AF(e,t){let n=t;return n?n(e):e}function jF(e){return e===`secp256k1`||e===`p256`||e===`webAuthn`}function MF(e,t){let n=cC(e);if(!jF(n.type))throw Error(`${t} require a TIP-1020 primitive signature; received \"${n.type}\".`);return dC(n)}function NF(e){let t=cC(e);if(jF(t.type)&&dC(t).toLowerCase()===e.toLowerCase())return t}$d(),jt();let PF=At([`function sessionRouteFor(address merchant,address targetToken) view returns (address routeAddress)`,`function sessionRoutes(address routeAddress) view returns (address merchant,address targetToken)`]),FF={SessionAuthorization:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint96`}]};function IF(e){if(e!==void 0)return kN[e]}function LF(e){let t=IF(e.chainId);return t&&F(e.descriptor.operator,t.swap)&&F(e.descriptor.token,t.token)?t:void 0}function RF(e){return e.request.methodDetails?.machineTokenEnabled===!0}function zF(e){if(e.override)return e.override;let t=IF(e.chainId);return t&&F(e.paymentToken,t.token)?ON.pathUsd:e.paymentToken}async function BF(e,t){try{return await V(e,gE.call(e,{account:t.account,token:t.token}))>=t.amount}catch{return!1}}function VF(e,t){return{name:`MachineUSD Session Router`,version:`1`,chainId:t,verifyingContract:e}}function HF(e){return vg({domain:VF(e.router,e.chainId),types:FF,primaryType:`SessionAuthorization`,message:e.authorization})}async function UF(e,t,n){return MF(RP(t)?await t.sign({hash:HF(n),raw:!0}):await Rb(e,{account:t,domain:VF(n.router,n.chainId),types:FF,primaryType:`SessionAuthorization`,message:n.authorization}),`Machine-token session authorizations`)}async function WF(e,t,n){let r=n.payee??await V(e,{address:t.swap,abi:PF,functionName:`sessionRouteFor`,args:[n.merchant,n.targetToken]});if(F(r,`0x0000000000000000000000000000000000000000`))return;let[i,a]=await Promise.all([V(e,{address:t.swap,abi:PF,functionName:`sessionRoutes`,args:[r]}),n.active&&n.payee?V(e,{address:t.swap,abi:PF,functionName:`sessionRouteFor`,args:[n.merchant,n.targetToken]}):r]);if(!(F(i[0],`0x0000000000000000000000000000000000000000`)||F(i[1],`0x0000000000000000000000000000000000000000`)||!F(i[0],n.merchant)||!F(i[1],n.targetToken)||!F(a,r)))return{operator:t.swap,payee:r,token:t.token}}async function GF(e,t){let n=IF(t.chainId);if(n)return WF(e,n,{...t,active:!0})}async function KF(e,t){let n=LF(t);if(n)return WF(e,n,{...t,active:t.active!==!1,payee:t.descriptor.payee})}B();function qF(e){return BigInt(e.authorizedSigner)===0n?e.payer:e.authorizedSigner}function JF(e){return m_(hv(_v([`address payer`,`address payee`,`address operator`,`address token`,`bytes32 salt`,`address authorizedSigner`,`bytes32 expiringNonceHash`,`address escrow`,`uint256 chainId`]),[e.payer,e.payee,e.operator,e.token,e.salt,e.authorizedSigner,e.expiringNonceHash,e.escrow??`0x4d50500000000000000000000000000000000000`,BigInt(e.chainId)]))}function YF(e){return Dw(e)}function XF(e){let{feePayer:t,transaction:n}=e;return t?{...n,feePayerSignature:null}:n}function ZF(e,t){return m_(L(YF(e),t.sender))}let QF=[{name:`payer`,type:`address`},{name:`payee`,type:`address`},{name:`operator`,type:`address`},{name:`token`,type:`address`},{name:`salt`,type:`bytes32`},{name:`authorizedSigner`,type:`address`},{name:`expiringNonceHash`,type:`bytes32`}],$F=[{name:`settled`,type:`uint96`},{name:`deposit`,type:`uint96`},{name:`closeRequestedAt`,type:`uint32`}],eI={name:`descriptor`,type:`tuple`,components:QF},tI=[{type:`function`,name:`CLOSE_GRACE_PERIOD`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{type:`function`,name:`VOUCHER_TYPEHASH`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{type:`function`,name:`open`,stateMutability:`nonpayable`,inputs:[{name:`payee`,type:`address`},{name:`operator`,type:`address`},{name:`token`,type:`address`},{name:`deposit`,type:`uint96`},{name:`salt`,type:`bytes32`},{name:`authorizedSigner`,type:`address`}],outputs:[{name:`channelId`,type:`bytes32`}]},{type:`function`,name:`settle`,stateMutability:`nonpayable`,inputs:[eI,{name:`cumulativeAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`topUp`,stateMutability:`nonpayable`,inputs:[eI,{name:`additionalDeposit`,type:`uint96`}],outputs:[]},{type:`function`,name:`close`,stateMutability:`nonpayable`,inputs:[eI,{name:`cumulativeAmount`,type:`uint96`},{name:`captureAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`requestClose`,stateMutability:`nonpayable`,inputs:[eI],outputs:[]},{type:`function`,name:`withdraw`,stateMutability:`nonpayable`,inputs:[eI],outputs:[]},{type:`function`,name:`getChannel`,stateMutability:`view`,inputs:[eI],outputs:[{type:`tuple`,components:[{name:`descriptor`,type:`tuple`,components:QF},{name:`state`,type:`tuple`,components:$F}]}]},{type:`function`,name:`getChannelState`,stateMutability:`view`,inputs:[{name:`channelId`,type:`bytes32`}],outputs:[{type:`tuple`,components:$F}]},{type:`function`,name:`getChannelStatesBatch`,stateMutability:`view`,inputs:[{name:`channelIds`,type:`bytes32[]`}],outputs:[{type:`tuple[]`,components:$F}]},{type:`function`,name:`computeChannelId`,stateMutability:`view`,inputs:[{name:`payer`,type:`address`},{name:`payee`,type:`address`},{name:`operator`,type:`address`},{name:`token`,type:`address`},{name:`salt`,type:`bytes32`},{name:`authorizedSigner`,type:`address`},{name:`expiringNonceHash`,type:`bytes32`}],outputs:[{type:`bytes32`}]},{type:`function`,name:`getVoucherDigest`,stateMutability:`view`,inputs:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint96`}],outputs:[{type:`bytes32`}]},{type:`function`,name:`domainSeparator`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{type:`event`,name:`ChannelOpened`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0},{name:`payer`,type:`address`,indexed:!0},{name:`payee`,type:`address`,indexed:!0},{name:`operator`,type:`address`},{name:`token`,type:`address`},{name:`authorizedSigner`,type:`address`},{name:`salt`,type:`bytes32`},{name:`expiringNonceHash`,type:`bytes32`},{name:`deposit`,type:`uint96`}]},{type:`event`,name:`Settled`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0},{name:`payer`,type:`address`,indexed:!0},{name:`payee`,type:`address`,indexed:!0},{name:`cumulativeAmount`,type:`uint96`},{name:`deltaPaid`,type:`uint96`},{name:`newSettled`,type:`uint96`}]},{type:`event`,name:`TopUp`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0},{name:`payer`,type:`address`,indexed:!0},{name:`payee`,type:`address`,indexed:!0},{name:`additionalDeposit`,type:`uint96`},{name:`newDeposit`,type:`uint96`}]},{type:`event`,name:`CloseRequested`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0},{name:`payer`,type:`address`,indexed:!0},{name:`payee`,type:`address`,indexed:!0},{name:`closeGraceEnd`,type:`uint256`}]},{type:`event`,name:`ChannelClosed`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0},{name:`payer`,type:`address`,indexed:!0},{name:`payee`,type:`address`,indexed:!0},{name:`settledToPayee`,type:`uint96`},{name:`refundedToPayer`,type:`uint96`}]},{type:`event`,name:`CloseRequestCancelled`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0},{name:`payer`,type:`address`,indexed:!0},{name:`payee`,type:`address`,indexed:!0}]}];jt(),At([`function settleSession((address payer,address payee,address operator,address token,bytes32 salt,address authorizedSigner,bytes32 expiringNonceHash) descriptor,uint96 cumulativeAmount,bytes signature,bytes authorizationSignature)`,`function closeSession((address payer,address payee,address operator,address token,bytes32 salt,address authorizedSigner,bytes32 expiringNonceHash) descriptor,uint96 cumulativeAmount,bytes signature,bytes authorizationSignature,bytes refundSignature)`]);let nI=2n**96n-1n;function rI(e){if(e<0n||e>nI)throw new PA({reason:`amount exceeds uint96 range`})}async function iI(e,t,n=DF,r){return aI(await V(e,{address:n,abi:tI,functionName:`getChannelState`,args:[t],...r===void 0?{}:{blockNumber:r}}))}function aI(e){return rI(e.settled),rI(e.deposit),{settled:e.settled,deposit:e.deposit,closeRequestedAt:e.closeRequestedAt}}function oI(e,t){return{name:`TIP20 Channel Reserve`,version:`1`,chainId:t,verifyingContract:e}}let sI={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint96`}]};function cI(e,t){return qC({chainId:e,channelId:t.channelId,cumulativeAmount:t.cumulativeAmount})}function lI(e,t,n){return e.toLowerCase()===`0x4d50500000000000000000000000000000000000`?cI(t,n):vg({domain:oI(e,t),types:sI,primaryType:`Voucher`,message:{channelId:n.channelId,cumulativeAmount:n.cumulativeAmount}})}function uI(e,t){return oT(e,{chainId:t.chainId,channel:t.channelId,cumulativeAmount:t.cumulativeAmount})}async function dI(e,t,n,r,i){return MF(await(async()=>{if(r.toLowerCase()===`0x4d50500000000000000000000000000000000000`)try{return await uI(t,{chainId:i,channelId:n.channelId,cumulativeAmount:n.cumulativeAmount})}catch{}return Rb(e,{account:t,domain:oI(r,i),types:sI,primaryType:`Voucher`,message:n})})(),`TIP-1034 vouchers`)}function fI(e,t,n,r){try{let i=NF(n.signature);if(!i)return!1;let a=lI(e,t,n),o=iC({payload:a,signature:i});return mC(i,{address:o,payload:a})&&xP(o,r)}catch{return!1}}B(),va(),Ni();function pI(e){return typeof e==`object`&&!!e}function mI(e){return typeof e==`string`&&Ai(e,{strict:!1})?e:void 0}function hI(e){return mI(e.accessKeyAddress)}function gI(){let e=BigInt(Math.floor(Date.now()/1e3))-60n;return e<=0n?0:Number(BigInt(mp(8))%e)}function _I(e){return hI(e)??e.address}async function vI(e,t){let{account:n,calls:r,feePayer:i,feeToken:a,validAfter:o}=t;return Xd(e,{account:n,calls:r,nonceKey:`expiring`,...i?{feePayer:!0}:{},feeToken:a,...o===void 0?{}:{validAfter:o}})}async function yI(e,t){return await Lb(e,t)}function bI(e,t,n=!1){let r=e.request.methodDetails,i=pI(r)?mI(r.escrowContract)??mI(r.escrow):void 0,a=t??`0x4d50500000000000000000000000000000000000`;if(i&&!SI(i,a)&&(!n||t!==void 0))throw Error(`Tempo session escrow ${i} does not match client escrow ${a}.`);return i&&!SI(i,a)?i:a}function xI(e,t,n,r){return Fj({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}function SI(e,t){return e.toLowerCase()===t.toLowerCase()}function CI(e){return SI(e.escrow,`0x4d50500000000000000000000000000000000000`)&&LF({chainId:e.chainId,descriptor:e.descriptor})!==void 0}function wI(e){let t=e.paymentScope;return t?!SI(t.payee,e.descriptor.payee)||!SI(t.token,e.descriptor.token):!1}async function TI(e,t,n,r,i,a=DF){let o=JF({...n,chainId:i,escrow:a}),s=lF(r),c=await dI(e,t,{channelId:o,cumulativeAmount:s},a,i);return{action:`voucher`,channelId:o,descriptor:n,cumulativeAmount:s.toString(),signature:c}}async function EI(e,t,n,r,i,a=DF){let o=await TI(e,t,n,r,i,a);return{action:`close`,channelId:o.channelId,descriptor:n,cumulativeAmount:o.cumulativeAmount,signature:o.signature}}async function DI(e,t,n){let r=_I(t),i=n.escrow??`0x4d50500000000000000000000000000000000000`,a=n.operator??`0x0000000000000000000000000000000000000000`,o=mp(32),s=lF(n.deposit),c=lF(n.initialAmount),l=_a({abi:tI,functionName:`open`,args:[n.payee,a,n.token,s,o,r]}),u=await yI(e,await vI(e,{account:t,calls:[...n.prefixCalls??[],{to:i,data:l}],feePayer:n.feePayer,feeToken:n.feeToken??n.token})),d=Xw(u),f={authorizedSigner:r,expiringNonceHash:ZF(XF({...n.feePayer?{feePayer:!0}:{},transaction:d}),{sender:t.address}),operator:a,payee:n.payee,payer:t.address,salt:o,token:n.token},p=JF({...f,chainId:n.chainId,escrow:i});return{action:`open`,type:`transaction`,channelId:p,transaction:u,signature:await dI(e,t,{channelId:p,cumulativeAmount:c},i,n.chainId),descriptor:f,cumulativeAmount:c.toString(),authorizedSigner:f.authorizedSigner}}async function OI(e,t,n,r,i,a,o=DF,s=[],c=n.token){let l=JF({...n,chainId:i,escrow:o}),u=lF(r);return{action:`topUp`,type:`transaction`,channelId:l,transaction:await yI(e,await vI(e,{account:t,calls:[...s,{to:o,data:_a({abi:tI,functionName:`topUp`,args:[n,u]})}],feePayer:a,feeToken:c,validAfter:gI()})),descriptor:n,additionalDeposit:u.toString()}}function kI(e){let{payee:t,token:n,escrow:r,chainId:i}=e;return`${t.toLowerCase()}:${n.toLowerCase()}:${r.toLowerCase()}:${i}`}function AI(e){return kI({payee:e.paymentScope?.payee??e.descriptor.payee,token:e.paymentScope?.token??e.descriptor.token,escrow:e.escrow,chainId:e.chainId})}function jI(){let e=new Map;return{get:t=>e.get(t),set(t){e.set(AI(t),t)},delete(t){e.delete(t)}}}Ni();let MI=Nk(e=>typeof e==`string`&&Ai(e,{strict:!1})),NI=Nk(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e)),PI=hM(q({acceptedCumulative:G(),chainId:YO(),channelId:NI,closeRequestedAt:X(G()),deposit:G(),descriptor:q({authorizedSigner:MI,expiringNonceHash:NI,operator:MI,payee:MI,payer:MI,salt:NI,token:MI}),escrow:MI,highestVoucher:X(q({channelId:NI,cumulativeAmount:G(),signature:Nk(e=>typeof e==`string`&&/^0x[0-9a-fA-F]+$/.test(e))})),requiredCumulative:G(),settled:G(),spent:G(),units:X(YO())}));function FI(e){return PI.encode(e)}function II(e){return PI.decode(e)}let LI={status:`idle`};function RI(e){return{status:`active`,...e}}function zI(e,t){switch(t.type){case`challengeReceived`:return e.status===`closing`||e.status===`closed`?WI(e,t):{state:{status:`challenged`,challengeId:t.challengeId},effects:[]};case`challenge`:return e.status!==`idle`&&e.status!==`active`?WI(e,t):t.snapshot?{state:{status:`hydrating`,challengeId:t.challengeId,snapshot:t.snapshot},effects:[{type:`hydrate`,snapshot:t.snapshot}]}:{state:{status:`opening`,challengeId:t.challengeId},effects:[{type:`open`}]};case`hydrated`:return e.status===`hydrating`?{state:HI(e.challengeId,t.snapshot),effects:[]}:WI(e,t);case`activated`:return e.status===`closing`||e.status===`closed`?WI(e,t):{state:nL({challengeId:t.challengeId,entry:t.entry,spent:t.spent,units:t.units??0}),effects:[]};case`opened`:return e.status===`opening`?{state:UI(e.challengeId,t.receipt,t.descriptor,t.deposit),effects:[]}:WI(e,t);case`receiptAccepted`:return e.status===`closing`||e.status===`closed`?WI(e,t):{state:aL(t.receipt,t.entry),effects:[]};case`needVoucher`:return e.status===`active`?VI({challengeId:e.challengeId,descriptor:t.descriptor,event:t.event}):WI(e,t);case`topUpStarted`:return e.status===`voucherNeeded`?{state:{status:`toppingUp`,challengeId:e.challengeId,channelId:e.channelId,descriptor:e.descriptor,deposit:e.deposit},effects:[]}:WI(e,t);case`voucherAccepted`:return e.status!==`voucherNeeded`&&e.status!==`toppingUp`?WI(e,t):{state:UI(e.challengeId,t.receipt,e.descriptor,t.deposit??e.deposit),effects:[]};case`settleStarted`:return e.status===`active`?{state:{status:`settling`,channelId:e.channelId,descriptor:e.descriptor,deposit:e.deposit},effects:[{type:`settle`,channelId:e.channelId}]}:WI(e,t);case`settled`:return e.status===`settling`?{state:UI(t.receipt.challengeId,t.receipt,e.descriptor,t.deposit??e.deposit),effects:[]}:WI(e,t);case`closeRequested`:return e.status===`active`?{state:{status:`closeRequested`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`requestClose`,channelId:e.channelId}]}:WI(e,t);case`withdrawable`:return e.status===`closeRequested`?{state:{status:`withdrawable`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`withdraw`,channelId:e.channelId}]}:WI(e,t);case`closeStarted`:return e.status!==`active`&&e.status!==`withdrawable`&&e.status!==`closeRequested`?WI(e,t):{state:{status:`closing`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`close`,channelId:e.channelId}]};case`closed`:return e.status!==`closing`&&e.status!==`withdrawable`?WI(e,t):{state:{status:`closed`,channelId:e.channelId,descriptor:e.descriptor},effects:[]}}}function BI(e,t){let n=zI(e.state,t);return e.state=n.state,n}function VI(e){let{challengeId:t,descriptor:n,event:r}=e,i=BigInt(r.requiredCumulative),a=BigInt(r.deposit);return i>a?{state:{status:`toppingUp`,challengeId:t,channelId:r.channelId,descriptor:n,deposit:r.deposit},effects:[{type:`topUp`,channelId:r.channelId,amount:(i-a).toString()}]}:{state:{status:`voucherNeeded`,challengeId:t,channelId:r.channelId,descriptor:n,requiredCumulative:r.requiredCumulative,deposit:r.deposit},effects:[{type:`voucher`}]}}function HI(e,t){return RI({challengeId:e,channelId:t.channelId,descriptor:t.descriptor,acceptedCumulative:t.acceptedCumulative,deposit:t.deposit,spent:t.spent,units:t.units??0})}function UI(e,t,n,r){return RI({challengeId:e,channelId:t.channelId,descriptor:n,acceptedCumulative:t.acceptedCumulative,deposit:r,spent:t.spent,units:t.units??0})}function WI(e,t){throw Error(`Invalid session transition: ${e.status} + ${t.type}`)}function GI(e){let{cumulativeAmount:t,maxVoucherCumulative:n}=e;if(n!==null&&!(t<=n))throw Error(`requested voucher amount ${t} exceeds local maxDeposit ${n}`)}function KI(e){let{channel:t,maxVoucherCumulative:n,receipt:r}=e;if(!t||r.channelId!==t.channelId)return;let i=BigInt(r.acceptedCumulative),a=BigInt(r.spent);if(a>i)throw Error(`receipt spent exceeds accepted cumulative voucher amount`);if(i>t.cumulativeAmount)throw Error(`receipt accepted cumulative exceeds local voucher state`);if(a>t.cumulativeAmount)throw Error(`receipt spent exceeds local voucher state`);GI({cumulativeAmount:i,maxVoucherCumulative:n}),GI({cumulativeAmount:a,maxVoucherCumulative:n})}function qI(e){let{channel:t,maxVoucherCumulative:n,receipt:r,spent:i}=e;if(!r||r.channelId!==t?.channelId)return i;KI({channel:t,maxVoucherCumulative:n,receipt:r});let a=BigInt(r.spent);return i>a?i:a}function JI(e,t){return typeof e==`bigint`?e:Oy(e,t)}function YI(e){let{contextDepositRaw:t,maxDeposit:n,requestAmount:r,suggestedDepositRaw:i}=e;if(ZI(r,n),t!==void 0){let e=BigInt(t);if(e<r)throw Error(`opening deposit ${e} below request amount ${r}`);return e}let a=i===void 0?void 0:BigInt(i),o=a!==void 0&&a>r?a:r;return n===void 0||o<n?o:n}function XI(e){let{deposit:t,maxDeposit:n,requiredCumulative:r,suggestedDeposit:i,topUpAmount:a}=e;if(r<=t)return 0n;GI({cumulativeAmount:r,maxVoucherCumulative:n??null});let o=r-t,s=a??i??o,c=s>o?s:o;if(n==null)return c;let l=n-t;return c<l?c:l}function ZI(e,t){GI({cumulativeAmount:e,maxVoucherCumulative:t??null})}function QI(e){let{channel:t,currentSocket:n,lastChallenge:r}=e;if(!t?.opened)return;let i=n?.challenge??r,a=n?.channelId??t.channelId;if(!i)throw Error(`Cannot close session: no challenge available. This usually means close() was called on a SessionManager instance that was recreated after the session was opened. Use the same SessionManager instance that opened the session, or make a request first to receive a fresh 402 challenge.`);if(!a)throw Error(`Cannot close session: no channel ID available. The session may not have been fully opened.`);return{challenge:i,channel:t,channelId:a}}function $I(e){let{cumulativeAmount:t,spent:n}=e;return t>n?t:n}function eL(e){let{cumulativeAmount:t,readySpent:n,spent:r}=e;if(!sF(n))throw Error(`close-ready spent is not a uint96 amount`);if(n<r)throw Error(`close-ready spent is below locally confirmed spend`);if(n>$I({cumulativeAmount:t,spent:r}))throw Error(`close-ready spent exceeds local voucher state`)}function tL(e){let{challengeId:t,channelId:n,expectedCloseAmount:r,minimumSpent:i=0n,receipt:a}=e,o=cF(r),s=cF(a.spent);return o===void 0||s===void 0||!sF(i)?!1:!!a.txHash&&a.challengeId===t&&a.channelId===n&&a.acceptedCumulative===r&&s>=i&&s<=o}function nL(e){return RI({challengeId:e.challengeId,channelId:e.entry.channelId,descriptor:e.entry.descriptor,acceptedCumulative:e.entry.cumulativeAmount.toString(),deposit:e.entry.deposit.toString(),spent:e.spent,units:e.units})}function rL(){return{channel:null,lastChallenge:null,lastUrl:null,spent:0n,socketSession:null,state:LI}}function iL(e){let{maxVoucherCumulative:t,receipt:n,runtime:r}=e;r.spent=qI({channel:r.channel,maxVoucherCumulative:t,receipt:n,spent:r.spent}),n&&r.channel?.channelId===n.channelId&&BI(r,{type:`receiptAccepted`,receipt:n,entry:r.channel})}function aL(e,t){return RI({challengeId:e.challengeId,channelId:e.channelId,descriptor:t.descriptor,acceptedCumulative:e.acceptedCumulative,deposit:t.deposit.toString(),spent:e.spent,units:e.units??0})}function oL(e){let{challengeId:t,channelId:n,closeReadyReceipt:r,cumulativeAmount:i,deliveredChunks:a=0n,socketChallengeId:o,socketChannelId:s,spent:c,tickCost:l=0n}=e;if(c>i)throw Error(`locally confirmed spend exceeds local voucher state`);if(r&&r.challengeId===t&&r.channelId===n){let e=cF(r.spent);if(e===void 0)throw Error(`close-ready spent is not a uint96 amount`);return e>c?e:c}if(o===t&&s===n&&l>0n){let e=a*l,t=c>e?c:e;return t>i?i:t}return i}function sL(e){let{channel:t,channelId:n,challengeId:r,cumulativeAmount:i,spent:a,state:o}=e;if(!(!t||t.channelId!==n)&&(t.cumulativeAmount=i,r))return zI(o,{type:`activated`,challengeId:r,entry:t,spent:a.toString(),units:o.status===`active`?o.units:0}).state}function cL(e){return{channel:e.channel===null?null:{entry:e.channel,cumulativeAmount:e.channel.cumulativeAmount,deposit:e.channel.deposit,opened:e.channel.opened},spent:e.spent,state:e.state}}function lL(e,t){return e.channel?(e.channel.entry.cumulativeAmount=e.channel.cumulativeAmount,e.channel.entry.deposit=e.channel.deposit,e.channel.entry.opened=e.channel.opened,{channel:e.channel.entry,spent:e.spent,state:e.state}):(t&&(t.opened=!1),{channel:null,spent:e.spent,state:e.state})}async function uL(e){let{activeSocket:t,currentSocket:n,target:r}=e,i=n.closeReadyReceipt??await(async()=>(t.send(wF()),e.waitForCloseReady()))(),a=BigInt(i.spent);eL({cumulativeAmount:r.channel.cumulativeAmount,readySpent:a,spent:e.spent});let o=await e.createSessionCredential(r.challenge,{action:`close`,channelId:r.channelId,descriptor:r.channel.descriptor,cumulativeAmountRaw:a.toString()}),s=a.toString();n.expectedCloseAmount=s;try{let i=e.waitForReceipt(e=>tL({challengeId:r.challenge.id,channelId:r.channelId,expectedCloseAmount:s,minimumSpent:a,receipt:e}));t.send(CF(o));let c=await i;return t.close(),n.closeReadyReceipt=null,c}finally{n.expectedCloseAmount=null}}Ni();function dL(e){return`cumulativeAmount`in e}function fL(e){if(dL(e))return BigInt(e.cumulativeAmount)}function pL(e,t){let n=fL(t);if(!(n===void 0||!e||e.channelId.toLowerCase()!==t.channelId.toLowerCase()))return{...e,cumulativeAmount:e.cumulativeAmount>n?e.cumulativeAmount:n,opened:t.action!==`close`&&e.opened}}let mL=Nk(e=>typeof e==`string`&&/^0x[0-9a-fA-F]*$/.test(e)),hL=q({account:X(Nk()),autoSwap:X(Nk()),action:X(vk([`open`,`topUp`,`voucher`,`close`])),channelId:X(Nk(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e))),cumulativeAmount:X(zA()),cumulativeAmountRaw:X(G()),transaction:X(mL),descriptor:X(Nk()),additionalDeposit:X(zA()),additionalDepositRaw:X(G()),depositRaw:X(G())});function gL(e){return e?.action!==void 0}function _L(e){return gL(e)&&e.descriptor!==void 0}function vL(e,t,n){let r=n===`additionalDeposit`?e.additionalDepositRaw:e.cumulativeAmountRaw,i=n===`additionalDeposit`?e.additionalDeposit:e.cumulativeAmount;if(r)return BigInt(r);if(i)return Oy(i,t)}function yL(e,t,n,r){let i=vL(e,t,n);if(i===void 0)throw Error(`${n} required for ${r} action`);return i}function bL(e){return typeof e==`object`&&!!e}function xL(e){return typeof e==`string`&&Ai(e,{strict:!1})?e:void 0}function SL(e){let t=e.request.methodDetails;return bL(t)?{chainId:typeof t.chainId==`number`?t.chainId:void 0,escrowContract:xL(t.escrowContract),escrow:xL(t.escrow),feePayer:typeof t.feePayer==`boolean`?t.feePayer:void 0,feeToken:xL(t.feeToken),operator:xL(t.operator),sessionSnapshot:jA(t,kA.sessionSnapshot)}:{}}function CL(e,t){if(typeof e==`string`&&Ai(e,{strict:!1}))return e;throw Error(`tempo session challenge missing ${t}`)}function wL(e){if(typeof e==`string`)return BigInt(e);throw Error(`tempo session challenge missing amount`)}function TL(e){return typeof e==`string`?e:void 0}async function EL(e){let{allowCustomEscrow:t,challenge:n,escrowOverride:r,getClient:i}=e,a=SL(n),o=await i({chainId:a.chainId}),s=a.chainId??o.chain?.id;if(!s)throw Error(`No chainId configured for TIP-1034 session challenge.`);let c=bI(n,r,t),l=CL(n.request.recipient,`recipient`),u=CL(n.request.currency,`currency`);return{amount:wL(n.request.amount),challenge:n,chainId:s,client:o,escrow:c,feePayer:a.feePayer,feeToken:a.feeToken,key:kI({payee:l,token:u,escrow:c,chainId:s}),operator:a.operator,payee:l,snapshot:a.sessionSnapshot,suggestedDepositRaw:TL(n.request.suggestedDeposit),token:u}}async function DL(e){let{channelId:t,client:n,descriptor:r,expected:i,readChannelState:a=iI}=e,o=JF({...r,chainId:i.chainId,escrow:i.escrow});OL({channelId:t,descriptor:r,expectedChannelId:o,payee:i.payee,payer:i.payer,authorizedSigner:i.authorizedSigner,token:i.token});let s=await a(n,o,i.escrow);if(s.deposit===0n)throw Error(`Channel ${o} cannot be reused (closed or not found on-chain).`);if(s.closeRequestedAt!==0)throw Error(`Channel ${o} cannot be reused (pending close request).`);return{channelId:o,state:s}}function OL(e){let{authorizedSigner:t,channelId:n,descriptor:r,expectedChannelId:i,payee:a,payer:o,token:s}=e;if(n&&n.toLowerCase()!==i.toLowerCase())throw Error(`context channelId does not match descriptor`);if(!SI(r.payee,a))throw Error(`context descriptor payee does not match challenge`);if(!SI(r.token,s))throw Error(`context descriptor token does not match challenge`);if(!SI(r.payer,o))throw Error(`context descriptor payer does not match account`);if(!SI(qF(r),t))throw Error(`context descriptor authorizedSigner does not match account`)}function kL(e){let{context:t,snapshot:n}=e,r=t?.descriptor??n?.descriptor;if(r)return{...t,channelId:t?.channelId??n?.channelId,descriptor:r}}function AL(e){let{context:t,decimals:n,requestAmount:r,snapshot:i,settled:a}=e;if(i)return[BigInt(i.acceptedCumulative),BigInt(i.requiredCumulative),BigInt(i.spent)+r,a].reduce((e,t)=>t>e?t:e,0n);let o=vL(t,n,`cumulativeAmount`);return o===void 0?a+r:o+r}async function jL(e){let{account:t,client:n,readChannelState:r,snapshot:i}=e,a=i.highestVoucher;if(!a)throw Error(`session snapshot is missing its highest signed voucher`);if(a.channelId.toLowerCase()!==i.channelId.toLowerCase())throw Error(`session snapshot voucher channelId does not match snapshot channelId`);let o=BigInt(i.acceptedCumulative),s=BigInt(a.cumulativeAmount),c=BigInt(i.requiredCumulative),l=BigInt(i.deposit),u=BigInt(i.settled),d=BigInt(i.spent);if(s!==o)throw Error(`session snapshot voucher amount does not match acceptedCumulative`);if(d>o)throw Error(`session snapshot spent exceeds acceptedCumulative`);if(u>l)throw Error(`session snapshot settled amount exceeds deposit`);if(!fI(i.escrow,i.chainId,{channelId:a.channelId,cumulativeAmount:s,signature:a.signature},qF(i.descriptor)))throw Error(`session snapshot highest voucher signature is invalid`);let f=await DL({channelId:i.channelId,client:n,descriptor:i.descriptor,expected:{chainId:i.chainId,escrow:i.escrow,payee:i.descriptor.payee,payer:t.address,authorizedSigner:_I(t),token:i.descriptor.token},readChannelState:r}),p=[o,c,f.state.settled].reduce((e,t)=>t>e?t:e,0n);if(p>f.state.deposit)throw Error(`recovered session cumulative amount exceeds on-chain channel deposit`);return{entry:{channelId:f.channelId,cumulativeAmount:p,deposit:f.state.deposit,descriptor:i.descriptor,escrow:i.escrow,chainId:i.chainId,opened:!0},spent:d}}function ML(e,t){return SI(e.address,t.payer)?SI(_I(e),qF(t)):!1}function NL(e){let{account:t,entry:n,context:r,decimals:i,maxDeposit:a,resolved:o}=e;if(gL(r)){if(!_L(r))throw Error(`descriptor required for TIP-1034 session action`);return{type:`manual`,account:t,context:r,decimals:i,entry:n,resolved:o}}if(!n&&r?.channelId&&!r.descriptor)throw Error(`descriptor required to reuse TIP-1034 channel`);let s=kL({context:r,snapshot:o.snapshot});return!n&&s&&ML(t,s.descriptor)&&(r?.descriptor!==void 0||SI(s.descriptor.payee,o.payee)&&SI(s.descriptor.token,o.token))?{type:`recover`,account:t,context:s,decimals:i,maxDeposit:a,resolved:o}:n?.opened&&ML(t,n.descriptor)?{type:`voucher`,account:t,entry:n,maxDeposit:a,resolved:o}:{type:`open`,account:t,context:r,maxDeposit:a,resolved:o}}async function PL(e,t=!1,n){switch(e.type){case`open`:return IL(e,t,n);case`recover`:return LL(e);case`voucher`:return RL(e);case`manual`:return zL(e,t,n)}}async function FL(e,t){if(e)return await CP(t.client,{account:t.account,amountOut:t.amountOut,tokenOut:t.tokenOut,tokenIn:e.tokenIn,slippage:e.slippage})}async function IL(e,t,n){let{account:r,resolved:i}=e,a=YI({contextDepositRaw:e.context?.depositRaw,maxDeposit:e.maxDeposit,requestAmount:i.amount,suggestedDepositRaw:i.suggestedDepositRaw}),o=await DI(i.client,r,{chainId:i.chainId,deposit:a,escrow:i.escrow,feePayer:i.feePayer,feeToken:n,initialAmount:i.amount,operator:i.operator,payee:i.payee,prefixCalls:await FL(t,{account:r.address,amountOut:a,client:i.client,tokenOut:i.token}),token:i.token});return{payload:o,entry:{channelId:o.channelId,cumulativeAmount:i.amount,deposit:a,descriptor:o.descriptor,escrow:i.escrow,chainId:i.chainId,opened:!0,...i.paymentScope&&{paymentScope:i.paymentScope}}}}async function LL(e){let{account:t,context:n,decimals:r,maxDeposit:i,resolved:a}=e,{descriptor:o}=n,s=await DL({channelId:n.channelId,client:a.client,descriptor:o,expected:{chainId:a.chainId,escrow:a.escrow,payee:a.payee,payer:t.address,authorizedSigner:_I(t),token:a.token}}),c=AL({context:n,decimals:r,requestAmount:a.amount,settled:s.state.settled,snapshot:a.snapshot});if(c>s.state.deposit)throw Error(`recovered voucher amount exceeds on-chain channel deposit`);return ZI(c,i),{payload:await TI(a.client,t,o,c,a.chainId,a.escrow),entry:{channelId:s.channelId,cumulativeAmount:c,deposit:s.state.deposit,descriptor:o,escrow:a.escrow,chainId:a.chainId,opened:!0,...a.paymentScope&&{paymentScope:a.paymentScope}}}}async function RL(e){let{account:t,entry:n,resolved:r}=e,i=n.cumulativeAmount+r.amount;return ZI(i,e.maxDeposit),{payload:await TI(r.client,t,n.descriptor,i,r.chainId,r.escrow),entry:{...n,cumulativeAmount:i}}}async function zL(e,t,n){let{account:r,context:i,decimals:a,resolved:o}=e,{descriptor:s}=i,c=JF({...s,chainId:o.chainId,escrow:o.escrow});OL({channelId:i.channelId,descriptor:s,expectedChannelId:c,payee:o.payee,payer:r.address,authorizedSigner:_I(r),token:o.token});let l=await BL({account:r,channelId:c,context:i,decimals:a,descriptor:s,resolved:o},t,n);return{payload:l,entry:pL(e.entry,l)}}async function BL(e,t,n){switch(e.context.action){case`open`:return VL(e);case`topUp`:return HL(e,t,n);case`voucher`:return UL(e);case`close`:return WL(e)}}async function VL(e){let{account:t,channelId:n,context:r,decimals:i,descriptor:a,resolved:o}=e;if(!r.transaction)throw Error(`transaction required for open action`);let s=yL(r,i,`cumulativeAmount`,`open`),c=await TI(o.client,t,a,s,o.chainId,o.escrow);return{action:`open`,type:`transaction`,channelId:n,transaction:r.transaction,signature:c.signature,descriptor:a,cumulativeAmount:s.toString(),authorizedSigner:a.authorizedSigner}}async function HL(e,t,n){let{account:r,channelId:i,context:a,decimals:o,descriptor:s,resolved:c}=e,l=yL(a,o,`additionalDeposit`,`topUp`);return a.transaction?{action:`topUp`,type:`transaction`,channelId:i,transaction:a.transaction,descriptor:s,additionalDeposit:l.toString()}:OI(c.client,r,s,l,c.chainId,c.feePayer,c.escrow,await FL(t,{account:r.address,amountOut:l,client:c.client,tokenOut:c.token}),n)}function UL(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return TI(a.client,t,i,yL(n,r,`cumulativeAmount`,`voucher`),a.chainId,a.escrow)}function WL(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return EI(a.client,t,i,yL(n,r,`cumulativeAmount`,`close`),a.chainId,a.escrow)}B();let GL={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function KL(e){let t=new Map,n=!1,r=[],i=e.readyState,a=(e,n,i)=>{let a=t.get(e);if(a||(a=new Set,t.set(e,a)),a.add({once:typeof i==`object`&&i.once===!0,value:n}),e===`message`&&r){let e=r;r=null;for(let t of e)s(`message`,t)}},o=(e,n)=>{let r=t.get(e);if(r)for(let e of r)e.value===n&&r.delete(e)};function s(e,a){if(a.type===`close`){if(n)return;n=!0,i=GL.CLOSED,r=null}if(a.type===`open`&&(i=GL.OPEN),a.type===`message`&&r){r.push(a);return}switch(a.type){case`close`:l.onclose?.(a);break;case`error`:l.onerror?.(a);break;case`message`:l.onmessage?.(a);break;case`open`:l.onopen?.(a)}let o=t.get(e);if(o)for(let e of Array.from(o))typeof e.value==`function`?e.value(a):e.value.handleEvent(a),e.once&&o.delete(e)}let c=null,l={addEventListener:a,close(t,n){e.close(t,n)},get bufferedAmount(){return e.bufferedAmount},get extensions(){return e.extensions},on(e,t){a(e,t)},onclose:null,onerror:null,get onmessage(){return c},set onmessage(e){if(c=e,e&&r){let e=r;r=null;for(let t of e)s(`message`,t)}},onopen:null,off(e,t){o(e,t)},get protocol(){return e.protocol},get readyState(){return i},removeEventListener:o,send(t){e.send(t)},get url(){return e.url}};return{emit:s,socket:l}}function qL(e){return{acceptedCumulative:BigInt(e.acceptedCumulative),deposit:BigInt(e.deposit),requiredCumulative:BigInt(e.requiredCumulative)}}function JL(e){let{amount:t,assertVoucherWithinLocalLimit:n,channel:r,decimals:i,lastChallenge:a,lastUrl:o}=e;if(!r?.opened)throw Error(`Cannot top up session: no open channel.`);if(!a)throw Error(`Cannot top up session: no challenge available. Make a request first.`);if(!o)throw Error(`Cannot top up session: no URL available. Call fetch(), sse(), or ws() first.`);let s=JI(t,i);if(s<=0n)throw Error(`Top-up amount must be greater than zero.`);return n(r.cumulativeAmount+s),{additionalDeposit:s,challenge:a,channelId:r.channelId,input:o}}function YL(e){let{additionalDeposit:t,channel:n,channelId:r,challengeId:i,currentState:a,knownDeposit:o,receipt:s,spent:c}=e;if(n?.channelId!==r)return;let l=o!==void 0&&o>n.deposit?o:n.deposit,u={...n,deposit:l+t};return s?{channel:u,state:aL(s,u)}:i?{channel:u,state:nL({challengeId:i,entry:u,spent:c.toString(),units:a.status===`active`?a.units:0})}:{channel:u}}async function XL(e){if(e.event.channelId!==e.expectedChannelId)return{status:`ignored`,reason:`channel-mismatch`};let t=qL(e.event);e.assertVoucherWithinLocalLimit(t.requiredCumulative),await e.topUpIfNeeded({challenge:e.challenge,input:e.input,channelId:e.expectedChannelId,deposit:t.deposit,requiredCumulative:t.requiredCumulative});let n=e.getChannel();if(!n||n.channelId!==e.expectedChannelId)return{status:`ignored`,reason:`missing-channel`};let r=n.cumulativeAmount>t.requiredCumulative?n.cumulativeAmount:lF(t.requiredCumulative);return{status:`ready`,context:{action:`voucher`,channelId:e.expectedChannelId,descriptor:n.descriptor,cumulativeAmountRaw:r.toString()}}}function ZL(e){return e.method===DA.tempo&&e.intent===OA.session}function QL(e){return ZL(e)&&jA(e.request.methodDetails,kA.sessionProtocol)===AA.v2}function $L(e){return jA(e.request.methodDetails,kA.sessionSnapshot)}function eR(e,t,n){let r=e instanceof Request?e.headers:void 0;return{...t,headers:{...HM(r),...HM(t?.headers),[TA.authorization]:n}}}function tR(e){try{let t=typeof location>`u`?void 0:location.href,n=e instanceof Request?new URL(e.url):e instanceof URL?new URL(e):new URL(String(e),t);return n.hash=``,n}catch{return e}}function nR(e){let t=new URL(e.toString());return t.protocol===`ws:`&&(t.protocol=`http:`),t.protocol===`wss:`&&(t.protocol=`https:`),t}async function rR(e){let t=await e.text().catch(()=>``);if(!t)return``;if(!e.headers.get(`Content-Type`)?.includes(`application/problem+json`))return t;try{return JSON.parse(t).detail??t}catch{return t}}async function iR(e){let{channel:t,channelId:n}=e;if(!t?.descriptor||t.channelId!==n)throw Error(`Cannot top up session: no local channel descriptor available.`);let r=await aR({challenge:e.challenge,context:{action:`topUp`,channelId:n,descriptor:t.descriptor,additionalDepositRaw:e.additionalDeposit.toString()},createSessionCredential:e.createSessionCredential,fetch:e.fetch,input:e.input});if(!r.ok)throw Error(`Top-up POST failed with status ${r.status}`);let i=r.headers.get(TA.paymentReceipt);return i?yF(i):void 0}async function aR(e){let t=async t=>e.fetch(tR(e.input),{method:`POST`,headers:{[TA.authorization]:await e.createSessionCredential(t,e.context)}}),n=await t(e.challenge);if(n.status!==402)return n;let r=ij(n).find(QL);return r?t(r):n}async function oR(e){let t=sR({channel:e.getChannel(),response:e.response});if(!t)return;let{channel:n,challenge:r,snapshot:i}=t;e.setChallenge(r);let a=BigInt(i.requiredCumulative),o=n.cumulativeAmount;await e.topUpIfNeeded({challenge:r,input:e.input,channelId:i.channelId,deposit:BigInt(i.deposit),requiredCumulative:a});let s=e.getChannel();if(!s?.descriptor||s.channelId!==i.channelId)return;let c=s.cumulativeAmount>a?s.cumulativeAmount:a,l=()=>e.restoreCumulative(i.channelId,o),u;try{let t=await e.createSessionCredential(r,{action:`voucher`,channelId:i.channelId,descriptor:s.descriptor,cumulativeAmountRaw:c.toString()});u=await e.fetch(e.input,eR(e.input,e.init,t))}catch(e){throw await l(),e}return!u.ok&&!u.headers.get(TA.paymentReceipt)&&await l(),u}function sR(e){let t=ij(e.response).find(QL);if(!t)return;let n=$L(t);if(!n)return;let{channel:r}=e;if(!(!r?.descriptor||r.channelId!==n.channelId))return{channel:r,challenge:t,snapshot:n}}async function cR(e){if(!e.lastUrl)throw Error(`Cannot close session: no URL available. This usually means close() was called on a SessionManager instance that was recreated after the session was opened. Use the same SessionManager instance that opened the session, or call fetch()/sse() before close().`);let t=e.target.challenge,n=e.signedCloseAmount,r=async(r,i=!1)=>{t=r,n=(i?e.resolveSignedCloseAmount?.(r):void 0)??e.signedCloseAmount;let a=await e.createSessionCredential(r,{action:`close`,channelId:e.target.channelId,descriptor:e.target.channel.descriptor,cumulativeAmountRaw:n});return e.fetch(e.lastUrl,{method:`POST`,headers:{[TA.authorization]:a}})},i=await r(e.target.challenge);if(i.status===402){let t=ij(i).find(QL);t&&(e.setChallenge?.(t),i=await r(t,!0))}if(!i.ok){let e=await rR(i),t=i.headers.get(TA.wwwAuthenticate)??``;throw Error(`Close request failed with status ${i.status}${e?`: ${e}`:``}${t?` [${TA.wwwAuthenticate}: ${t}]`:``}`)}let a=i.headers.get(TA.paymentReceipt);if(!a)return;let o=yF(a);if(!o.txHash||!xp(o.txHash,{strict:!0})||hp(o.txHash)!==32||!tL({challengeId:t.id,channelId:e.target.channelId,expectedCloseAmount:n,minimumSpent:e.getMinimumSpent?.()??0n,receipt:o}))throw Error(`Session close response included a mismatched payment receipt.`);return o}async function lR(e,t,n){let{onReceipt:r,signal:i,...a}=t??{},o={...a,headers:{...HM(a.headers),Accept:`text/event-stream`},...i?{signal:i}:{}},s=await n.doFetch(e,o);return!bF(s)&&n.getChannel()?.opened&&(s=await n.doFetch(e,o)),uR(e,s,{onReceipt:r,signal:i},n)}function uR(e,t,n,r){if(!bF(t))throw Error(`SSE response is not an event stream.`);if(!t.body)throw Error(`Response has no body.`);let i=r.getChallenge();return dR({onNeedVoucher:t=>gR({challenge:i,driver:r,input:e},t),onReceipt(e){r.acceptReceipt(e),n?.onReceipt?.(e)},response:t,signal:n?.signal})}async function*dR(e){for await(let t of fR(e))t.data!==void 0&&(yield t.data)}async function*fR(e){if(!e.response.body)throw Error(`Response has no body.`);let t=e.response.body.getReader(),n=new TextDecoder,r=``,i=!1,a=()=>{t.cancel(e.signal?.reason).catch(()=>void 0)};e.signal?.addEventListener(`abort`,a,{once:!0}),e.signal?.aborted&&a();try{for(;!e.signal?.aborted;){let{done:a,value:o}=await t.read();for(a?(i=!0,r+=n.decode()):r+=n.decode(o,{stream:!0});;){let t=pR(r,a);if(!t)break;let n=t.index+t.length,i=r.slice(0,t.index),o=r.slice(0,n);if(r=r.slice(n),!i.trim())continue;let s=xF(i.replace(/\\r\\n|\\r/g,`\n`));if(!s){yield{raw:o};continue}switch(s.type){case`message`:yield{data:s.data,raw:o};break;case`payment-need-voucher`:await e.onNeedVoucher(s.data);break;case`payment-receipt`:e.onReceipt(s.data)}}if(a)break}}finally{e.signal?.removeEventListener(`abort`,a),i||await t.cancel().catch(()=>void 0),t.releaseLock()}}function pR(e,t){for(let n=0;n<e.length;n++){let r=mR(e,n,t);if(!r)continue;let i=mR(e,n+r,t);if(i)return{index:n,length:r+i};n+=r-1}}function mR(e,t,n){return e[t]===`\n`?1:e[t]===`\\r`?e[t+1]===`\n`?2:t+1===e.length&&!n?0:1:0}function hR(e){let t=new AbortController,n=()=>t.abort(e.signal?.reason);e.signal?.addEventListener(`abort`,n,{once:!0}),e.signal?.aborted&&n();let r=fR({...e,signal:t.signal}),i=new TextEncoder,a=new Headers(e.response.headers);a.delete(`content-length`);let o=()=>e.signal?.removeEventListener(`abort`,n),s=new Response(new ReadableStream({async pull(e){try{let t=await r.next();if(t.done)return o(),e.close();e.enqueue(i.encode(t.value.raw))}catch(e){throw o(),e}},async cancel(){o(),t.abort(),await r.return(void 0)}}),{headers:a,status:e.response.status,statusText:e.response.statusText});for(let t of[`redirected`,`type`,`url`])Object.defineProperty(s,t,{configurable:!0,get:()=>e.response[t]});return s}async function gR(e,t){let n=e.driver.getChannel();if(!n||!e.challenge)return;let r=await XL({assertVoucherWithinLocalLimit:e.driver.assertVoucherWithinLocalLimit,challenge:e.challenge,event:t,expectedChannelId:n.channelId,getChannel:e.driver.getChannel,input:e.input,topUpIfNeeded:e.driver.topUpIfNeeded});if(r.status!==`ready`)return;let i=await aR({challenge:e.challenge,context:r.context,createSessionCredential:e.driver.createSessionCredential,fetch:e.driver.fetch,input:e.input});if(!i.ok)throw Error(`Voucher POST failed with status ${i.status}`)}async function _R(e){let t=new URL(e.input.toString()),n=nR(t);e.onProbeUrl?.(n);let r=await e.fetch(n,{...e.probeInit,...e.signal?{signal:e.signal}:{}});if(r.status!==402)throw Error(`Expected a 402 payment challenge from ${n}, received ${r.status} instead.`);let i=ij(r).find(QL);if(!i)throw Error(`No payment challenge received from HTTP endpoint for this WebSocket URL. The server may not require payment or did not advertise a challenge.`);return{challenge:i,httpUrl:n,wsUrl:t}}async function vR(e){let t=await _R(e);return{...t,credential:await e.createSessionCredential(t.challenge,{})}}function yR(e){let{challenge:t,credential:n,socket:r}=e;return{challenge:t,channelId:Mj(n).payload.channelId,closeReadyReceipt:null,deliveredChunks:0n,expectedCloseAmount:null,socket:r,tickCost:gF(t)}}function bR(e){let{challengeId:t,channelId:n,receipt:r}=e;return r.challengeId===t&&r.channelId===n}function xR(e){if(!bR(e))return`received mismatched payment-close-ready frame`;let t=cF(e.receipt.spent);if(t===void 0)return`received invalid payment-close-ready spend`;if(t>e.cumulativeAmount)return`received payment-close-ready beyond local voucher state`}function SR(e){let{challengeId:t,channelId:n,expectedCloseAmount:r,receipt:i}=e;if(!bR(e))return`received mismatched payment-receipt frame`;if(r!==null&&i.txHash&&!tL({challengeId:t,channelId:n,expectedCloseAmount:r,minimumSpent:BigInt(r),receipt:i}))return`received mismatched payment-close receipt frame`}async function CR(e){let{challenge:t,credential:n,options:r,WebSocket:i,wsUrl:a}=e,o=new i(a,r?.protocols),s=yR({challenge:t,credential:n,socket:o});e.setSocketSession(s);let c=KL(o),l=t=>{e.rejectReceipt(Error(t)),e.rejectCloseReady(Error(t)),(o.readyState===GL.CONNECTING||o.readyState===GL.OPEN)&&o.close(3008,t)};return o.addEventListener(`close`,t=>{s.socket=null,s.expectedCloseAmount=null,e.rejectReceipt(Error(`WebSocket closed before the payment flow completed.`)),e.rejectCloseReady(Error(`WebSocket closed before the payment flow completed.`)),c.emit(`close`,{code:t.code??1e3,reason:t.reason??``,type:`close`,wasClean:!0})}),o.addEventListener(`error`,()=>{c.emit(`error`,{type:`error`})}),o.addEventListener(`message`,async t=>{let n=typeof t.data==`string`?t.data:void 0;n&&await TR({driver:e,failSocketFlow:l,managedEmit:c.emit,message:n,rawSocket:o,socketState:s})}),r?.signal?.addEventListener(`abort`,()=>{e.rejectReceipt(Error(`WebSocket payment flow aborted.`)),e.rejectCloseReady(Error(`WebSocket payment flow aborted.`)),o.close()},{once:!0}),await wR(o,c.emit,a),o.send(CF(n)),await e.waitForReceipt(),c.socket}function wR(e,t,n){return new Promise((r,i)=>{let a=()=>{e.removeEventListener(`error`,o),t(`open`,{type:`open`}),r()},o=()=>{e.removeEventListener(`open`,a),i(Error(`WebSocket connection to ${n} failed to open.`))};e.addEventListener(`open`,a,{once:!0}),e.addEventListener(`error`,o,{once:!0})})}async function TR(e){let t=TF(e.message);if(!t){e.managedEmit(`message`,{data:e.message,type:`message`});return}switch(t.mpp){case`authorization`:return;case`message`:e.socketState.deliveredChunks+=1n,e.managedEmit(`message`,{data:t.data,type:`message`});return;case`payment-close-ready`:ER(e,t.data);return;case`payment-error`:e.driver.rejectReceipt(Error(t.message)),e.driver.rejectCloseReady(Error(t.message));return;case`payment-need-voucher`:await DR(e,t.data);return;case`payment-receipt`:OR(e,t.data);return}}function ER(e,t){let n=e.driver.getChannel()?.cumulativeAmount??0n,r=xR({challengeId:e.driver.challenge.id,channelId:e.socketState.channelId,cumulativeAmount:n,receipt:t});if(r){e.failSocketFlow(r);return}e.driver.acceptReceipt(t),e.driver.options?.onReceipt?.(t),e.driver.settleCloseReady(t),e.managedEmit(`close`,{code:1e3,reason:`stream complete`,type:`close`,wasClean:!0})}async function DR(e,t){try{let n=e.driver.challenge;n.expires&&new Date(n.expires).getTime()<=Date.now()+5e3&&(n=await e.driver.refreshChallenge(),e.driver.challenge=n,e.socketState.challenge=n);let r=await XL({assertVoucherWithinLocalLimit:e.driver.assertVoucherWithinLocalLimit,challenge:n,event:t,expectedChannelId:e.socketState.channelId,getChannel:e.driver.getChannel,input:e.driver.httpUrl,topUpIfNeeded:e.driver.topUpIfNeeded});if(r.status===`ignored`){e.failSocketFlow(r.reason===`channel-mismatch`?`received mismatched payment-need-voucher frame`:`cannot create voucher: no active channel`);return}let i=await e.driver.createSessionCredential(n,r.context);e.rawSocket.send(CF(i))}catch(t){e.failSocketFlow(t instanceof Error?t.message:`failed to create websocket voucher`)}}function OR(e,t){let n=SR({challengeId:e.driver.challenge.id,channelId:e.socketState.channelId,expectedCloseAmount:e.socketState.expectedCloseAmount,receipt:t});if(n){e.failSocketFlow(n);return}e.driver.acceptReceipt(t),e.driver.options?.onReceipt?.(t),e.driver.settleReceipt(t)}$d();let kR=new WeakMap;async function AR(e,t){let n=kR.get(e)??new Map;kR.set(e,n);let r=n.get(t),i,a=new Promise(e=>{i=e});return n.set(t,a),await r,()=>{i(),n.get(t)===a&&n.delete(t)}}function jR(e,t){try{return t?.channelId.toLowerCase()===e.channelId.toLowerCase()&&BigInt(t.acceptedCumulative)===e.cumulativeAmount}catch{return!1}}function MR(e,t,n){try{let r=e.response?.headers.get(TA.paymentReceipt);if(r){let e=yF(r);if(e.challengeId===t.id&&jR(n,e))return!0}}catch{}return e.challenges?.some(e=>QL(e)?jR(n,$L(e)):!1)??!1}function NR(e,t){let n=e.snapshot?.descriptor,r=n&&F(n.payee,t.payee)&&F(n.operator,t.operator)&&F(n.token,t.token);return{...e,operator:t.operator,payee:t.payee,paymentScope:{payee:e.payee,token:e.token},snapshot:r?e.snapshot:void 0,token:t.token}}async function PR(e,t){let n=t?.descriptor??e.snapshot?.descriptor;if(!n||!LF({chainId:e.chainId,descriptor:n}))return;let r=t?.action===`close`;if(!r&&!RF(e.challenge)||!F(e.escrow,`0x4d50500000000000000000000000000000000000`))return;let i=await KF(e.client,{active:!r,chainId:e.chainId,descriptor:n,merchant:e.payee,targetToken:e.token});if(!i)throw Error(`Machine-token channel is not bound to this merchant session challenge.`);return NR(e,i)}function FR(e={}){let{account:t,allowCustomEscrow:n=!1,autoSwap:r,channelStore:i,decimals:a=6,escrow:o,getClient:s,maxDeposit:c,topUpAmount:l,onChannelUpdate:u,resolveAccount:d}=e,f=EN({chain:cE,getClient:s,rpcUrl:jN}),p=wN({account:t}),m=c===void 0?void 0:Oy(c,a),h=l===void 0?void 0:Oy(l,a),g=i??jI(),_=async e=>{e&&(e.opened?await g.set(e):await g.delete(AI(e)),u?.(e))},v=async(e,t,n)=>{let r=p(e.client,t),i=t?.action?t.descriptor:n?.descriptor??kL({context:t,snapshot:e.snapshot})?.descriptor;return await d?.({account:r,chainId:e.chainId,operation:{kind:`authorizePaymentChannel`,...i?{authority:qF(i)}:{}}})??r},y=e=>EL({allowCustomEscrow:n,challenge:e,escrowOverride:o,getClient:f}),b=async(e,t)=>{let n,r=t?.descriptor??e.snapshot?.descriptor;if(r||gL(t)){let i=r?await PR(e,t):void 0,a=i??e;return{account:n,entry:await g.get(a.key),machine:i!==void 0,resolved:a}}let i=await g.get(e.key);if(i?.opened){if(!LF({chainId:e.chainId,descriptor:i.descriptor}))return{account:n,entry:i,machine:!1,resolved:e};let t=await PR(e,{descriptor:i.descriptor});if(!t)throw Error(`Machine-token channel is not bound to this merchant session challenge.`);return{account:n,entry:i,machine:!0,resolved:t}}if(!RF(e.challenge)||!F(e.escrow,`0x4d50500000000000000000000000000000000000`))return{account:n,entry:void 0,machine:!1,resolved:e};let a=await GF(e.client,{chainId:e.chainId,merchant:e.payee,targetToken:e.token}).catch(()=>void 0);if(!a)return{account:n,entry:void 0,machine:!1,resolved:e};let o=NR(e,a);n=await v(o,t,void 0);let s=YI({contextDepositRaw:t?.depositRaw,maxDeposit:m,requestAmount:e.amount,suggestedDepositRaw:e.suggestedDepositRaw});return await BF(o.client,{account:n.address,amount:s,token:o.token})?{account:n,entry:void 0,machine:!0,resolved:o}:{account:n,entry:void 0,machine:!1,resolved:e}},x=CN(GN,{canHandleChallenge:({challenge:e})=>QL(e),context:hL,async createCredential(e){let{challenge:t,context:n}=e,i=PM(e),o=()=>{};try{let e=await y(t);!gL(n)&&n?.descriptor===void 0&&(o=await AR(g,e.key),i&&(await g.get(e.key))?.opened&&await i.prepare());let{account:s,entry:c,machine:l,resolved:u}=await b(e,n),d=NL({account:s??await v(u,n,c),entry:c,context:n,decimals:a,maxDeposit:m,resolved:u});if(l&&d.type===`manual`&&d.context.action===`topUp`){let e=yL(d.context,d.decimals,`additionalDeposit`,`topUp`);if(!await BF(d.resolved.client,{account:d.account.address,amount:e,token:d.resolved.token}))throw Error(`Insufficient machine-token balance for session top-up.`)}let f=zF({chainId:u.chainId,override:u.feeToken,paymentToken:u.token}),p=await PL(d,wP(n?.autoSwap??r,SP),f),{payload:h}=p;if(l&&h.action!==`topUp`){if(h.action===`close`){let e=await iI(d.resolved.client,h.channelId,d.resolved.escrow);if(e.deposit===0n)throw Error(`Cannot authorize a machine-token refund for an empty channel.`);let t=BigInt(h.cumulativeAmount)===e.deposit?h.signature:(await TI(d.resolved.client,d.account,h.descriptor,e.deposit,d.resolved.chainId,d.resolved.escrow)).signature;h={...h,refundSignature:t}}let e=await UF(d.resolved.client,d.account,{authorization:{channelId:h.channelId,cumulativeAmount:BigInt(h.cumulativeAmount)},chainId:d.resolved.chainId,router:d.resolved.operator});h={...h,authorizationSignature:e}}i&&d.type===`open`||await _(p.entry);let x=await xI(t,h,u.chainId,d.account);if(i&&d.type===`open`&&p.entry){let e=p.entry;i.settle=async n=>{let r=n.status===`accepted`||MR(n,t,e);if(!r&&n.status===`pending`)return!1;try{if(r){let t=await g.get(u.key);(!t?.opened||t.channelId.toLowerCase()!==e.channelId.toLowerCase())&&await _(e)}return!0}finally{o()}}}else o();return x}catch(e){throw o(),e}}}),S=async({challenge:e,channel:t,deposit:n,fetch:r,input:i,requiredCumulative:a})=>{let o=t.deposit>n?t.deposit:n,s=XI({deposit:o,maxDeposit:m,requiredCumulative:a,suggestedDeposit:e.request.suggestedDeposit===void 0?void 0:BigInt(e.request.suggestedDeposit),topUpAmount:h});s>0n&&await iR({additionalDeposit:s,challenge:e,channel:t,channelId:t.channelId,createSessionCredential:(e,t)=>x.createCredential({challenge:e,context:t}),fetch:r,input:i});let c=o+s;if(c===t.deposit)return;let l=await g.get(AI(t)),d=l?.channelId.toLowerCase()===t.channelId.toLowerCase()?l:t,f={...d,deposit:d.deposit>c?d.deposit:c};await g.set(f),u?.(f)};return EM(x,async({challenge:e,context:t,fetch:n,input:r})=>{if(!QL(e))return;let i=t===void 0?void 0:hL.parse(t);if(gL(i))return;let a=await y(e),{entry:o,resolved:s}=await b(a,i).catch(()=>({entry:void 0,resolved:a}));if(!o?.opened)return;let c=s.snapshot?.channelId.toLowerCase()===o.channelId.toLowerCase()?s.snapshot:void 0,l=o.cumulativeAmount+gF(e),u=c?BigInt(c.requiredCumulative):l,d=u>l?u:l,f=c?BigInt(c.deposit):o.deposit,p=f>o.deposit?f:o.deposit;d<=p&&p===o.deposit||!ML(await v(s,i,o),o.descriptor)||await S({challenge:e,channel:o,deposit:p,fetch:n,input:r,requiredCumulative:d})}),jM(x,async({challenge:e,credential:t,fetch:n,headers:r,input:i,refetch:a,response:o,signal:s})=>{if(!QL(e))return o;let c=hF(Mj(t).payload);if(!bF(o))return c.action===`open`&&r.get(`accept`)?.toLowerCase().includes(`text/event-stream`)?await a?.()??o:o;let l=await y(e).then(async e=>await PR(e,c)??e).catch(()=>void 0),u=l?await g.get(l.key):void 0,d={assertVoucherWithinLocalLimit:e=>ZI(e,m),createSessionCredential:(e,t)=>x.createCredential({challenge:e,context:t}),fetch:n,getChannel:()=>u??null,async topUpIfNeeded({deposit:t,requiredCumulative:r}){u&&await S({challenge:e,channel:u,deposit:u.deposit>t?u.deposit:t,fetch:n,input:i,requiredCumulative:r})}};return hR({onNeedVoucher:t=>gR({challenge:e,driver:d,input:i},t),onReceipt(){},response:o,signal:s})})}let IR=new WeakMap;function LR(e,t){IR.set(e,t)}function RR(e){let t=null;return{wait(n=()=>!0){if(t)throw Error(`${e} wait already in progress`);return new Promise((e,r)=>{t={predicate:n,resolve:e,reject:r}})},settle(e){if(!t||!t.predicate(e))return;let n=t;t=null,n.resolve(e)},reject(e){if(!t)return;let n=t;t=null,n.reject(e)}}}function zR(e){let t=RR(`close-ready`),n=RR(`receipt`);return{waitForReceipt(e){return n.wait(e)},waitForCloseReady(){let n=e.getSocketSession()?.closeReadyReceipt;return n?Promise.resolve(n):t.wait()},settleReceipt(e){n.settle(e)},settleCloseReady(n){let r=e.getSocketSession();r&&r.challenge.id===n.challengeId&&r.channelId===n.channelId&&(r.closeReadyReceipt=n),t.settle(n)},rejectReceipt(e){n.reject(e)},rejectCloseReady(e){t.reject(e)}}}function BR(e){return e.method===DA.tempo&&e.intent===OA.charge}function VR(e){if(!BR(e)||typeof e.request.amount!=`string`)return!1;try{return BigInt(e.request.amount)===0n}catch{return!1}}function HR(e,t,n){if(!n)return t;let r={...HM(e instanceof Request?e.headers:void 0),...HM(t?.headers)};return Object.keys(r).some(e=>e.toLowerCase()===TA.paymentSession.toLowerCase())?t:{...t,headers:{...r,[TA.paymentSession]:n}}}function UR(e){let t=e.decimals??6,n=e.webSocket??globalThis.WebSocket;return{decimals:t,fetch:e.fetch??globalThis.fetch.bind(globalThis),maxVoucherCumulative:e.maxDeposit===void 0?null:Oy(e.maxDeposit,t),topUpAmount:e.topUpAmount===void 0?null:Oy(e.topUpAmount,t),WebSocket:n}}function WR(e){let t=e.allowCustomEscrow??!1,n=UR(e),r=EN({chain:cE,getClient:e.client?()=>e.client:e.getClient,rpcUrl:jN}),i=wN({account:e.account}),a=rL(),o=zR({getSocketSession:()=>a.socketSession}),s=e.channelStore??jI(),c=new Set,l;async function u(e){let t=await s.get(e);if(t?.opened&&!c.has(t.channelId))return t}let d={async get(e){let t=await u(e);return t&&l&&(l.seenExisting.add(e),!l.committed&&!l.created.has(e)&&(l.resumed??=t)),t},async set(e){let t=AI(e);e.opened&&c.delete(e.channelId),l?.trackCreates&&!l.seenExisting.has(t)&&l.created.set(t,e),await s.set(e)},delete:e=>s.delete(e)};async function f(e){let t=AI(e);c.add(e.channelId),l?.seenExisting.delete(t),l?.resumed===e&&(l.resumed=void 0),await Promise.resolve(s.delete(t)).catch(()=>void 0)}async function p(){let e=l;if(e?.created.size){for(let[t,n]of e.created)c.add(n.channelId),await Promise.resolve(s.delete(t)).catch(()=>void 0);e.created.clear(),await se(e.committed??e.previous)}}function m(e){let t=jA(e.request.methodDetails,kA.sessionSnapshot);if(typeof t?.channelId!=`string`)return!1;let n=l;if(!n?.created.size||!a.channel)return!1;for(let[e,r]of n.created)if(r.channelId.toLowerCase()===t.channelId.toLowerCase()&&a.channel.channelId.toLowerCase()===t.channelId.toLowerCase())return n.created.delete(e),n.committed=cL({channel:a.channel,spent:a.spent,state:a.state}),!0;return!1}function h(e){return BI(a,e)}function g(){let e=a.state.status===`active`?a.state:l?.committed?.state??l?.previous.state;return e?.status===`active`?e.units:0}function _(e){let t=l,n=t?.committed?.channel?.entry??t?.resumed;!t||n?.channelId.toLowerCase()!==e.channelId.toLowerCase()||e.deposit<=n.deposit||(t.resumed=void 0,t.committed=cL({channel:a.channel,spent:a.spent,state:a.state}))}let v=FR({account:e.account,allowCustomEscrow:t,autoSwap:e.autoSwap,getClient:e.client?()=>e.client:e.getClient,resolveAccount:e.resolveAccount,escrow:e.escrow,decimals:n.decimals,maxDeposit:e.maxDeposit,topUpAmount:e.topUpAmount,channelStore:d,onChannelUpdate(e){e.channelId!==a.channel?.channelId&&(a.spent=0n),a.channel=e,a.lastChallenge&&h({type:`activated`,challengeId:a.lastChallenge.id,entry:e,spent:a.spent.toString(),units:g()}),_(e)}});MM(v);let y=LP({account:e.account,getClient:e.client?()=>e.client:e.getClient}),b=BM({fetch:n.fetch,methods:[v],onChallenge:async(e,t)=>{if(!ZL(e))return;let n=l,r=n&&n.challengesReceived>0&&e.id===a.lastChallenge?.id,i=r&&YA(e)===YA(a.lastChallenge);n&&n.challengesReceived++,!i&&(m(e)||(n?.created.size?await p():r&&await se(n.committed??n.previous)),a.lastChallenge=e,h({type:`challengeReceived`,challengeId:e.id}))}});function x(e,t){return v.createCredential({challenge:e,context:t})}function S(e){iL({maxVoucherCumulative:n.maxVoucherCumulative,receipt:e,runtime:a})}function C(e=a.state.status===`active`?a.state.units:0){!a.channel||!a.lastChallenge||a.state.status!==`active`&&a.state.status!==`withdrawable`&&a.state.status!==`closeRequested`&&h({type:`activated`,challengeId:a.lastChallenge.id,entry:a.channel,spent:a.spent.toString(),units:e})}async function w(t,n){let o=t.headers.get(TA.paymentSessionSnapshot);if(!o)return;let s=II(o),c=await r({chainId:s.chainId}),l=i(c),u=await jL({account:await e.resolveAccount?.({account:l,chainId:s.chainId,operation:{authority:qF(s.descriptor),kind:`authorizePaymentChannel`}})??l,client:c,snapshot:s}),f=n&&wI({descriptor:u.entry.descriptor,paymentScope:n})?{...u.entry,paymentScope:n}:u.entry;return re(f.cumulativeAmount),await Promise.resolve(d.set(f)).catch(()=>void 0),a.channel=f,a.spent=u.spent,f}async function T(t,r){if(!e.bootstrap||a.channel?.opened)return;let i=t instanceof Request?t.headers:void 0,{body:o,method:s,...c}=r??{},l=t instanceof Request?t.url:t,u={...c,method:`HEAD`,headers:{...HM(i),...HM(r?.headers),[TA.acceptPayment]:`${DA.tempo}/${OA.charge}`}};try{let e=await n.fetch(l,u);if(e.status!==402)return await w(e);let t=ij(e).find(BR);if(!t||!VR(t))return;let r=await y.createCredential({challenge:t,context:{}}),i=await n.fetch(l,{...u,headers:{...HM(u.headers),[TA.authorization]:r}});return i.ok?await w(i,{payee:t.request.recipient,token:t.request.currency}):void 0}catch{return}}function ee(e,t){let n=a.socketSession;return oL({challengeId:e.id,channelId:t,closeReadyReceipt:n?.closeReadyReceipt,cumulativeAmount:a.channel?.channelId===t?a.channel.cumulativeAmount:0n,deliveredChunks:n?.deliveredChunks,socketChallengeId:n?.challenge.id,socketChannelId:n?.channelId,spent:a.spent,tickCost:n?.tickCost})}function E(e,t){let n=$L(t);if(!n)return;if(JF({...n.descriptor,chainId:n.chainId,escrow:n.escrow}).toLowerCase()!==n.channelId.toLowerCase())throw Error(`close snapshot descriptor does not match its channel ID`);if(n.channelId.toLowerCase()!==e.channelId.toLowerCase())throw Error(`close snapshot channel ID does not match local session`);if(n.chainId!==e.chainId||n.escrow.toLowerCase()!==e.escrow.toLowerCase())throw Error(`close snapshot payment scope does not match local session`);let r=BigInt(n.acceptedCumulative),i=BigInt(n.settled),a=BigInt(n.spent);if(r<0n||i<0n||a<0n)throw Error(`close snapshot amounts must not be negative`);if(a>r)throw Error(`close snapshot spent exceeds accepted cumulative amount`);if(r>e.cumulativeAmount)throw Error(`close snapshot accepted cumulative exceeds local voucher state`);return{acceptedCumulative:r,settled:i,spent:a}}function te(e,t){let n=E(e.channel,t);if(!n)return;let{acceptedCumulative:r,spent:i}=n;if(a.spent>r)throw Error(`close snapshot accepted cumulative is below locally confirmed spend`);return i>a.spent&&(a.spent=i),n}function ne(e,t=e.challenge,n=!1){let r=n?te(e,t):E(e.channel,t),i=CI(e.channel),a=r?i?r.spent>r.settled?r.spent:r.settled:r.acceptedCumulative:ee(t,e.channelId);if(a>e.channel.cumulativeAmount)throw Error(`fallback close amount exceeds local voucher state`);return re(a),a.toString()}function re(e){GI({cumulativeAmount:e,maxVoucherCumulative:n.maxVoucherCumulative})}async function ie(e){let{knownDeposit:t,...r}=e,i=await iR({...r,channel:a.channel,createSessionCredential:x,fetch:n.fetch});S(i);let o=YL({additionalDeposit:e.additionalDeposit,channel:a.channel,channelId:e.channelId,challengeId:a.lastChallenge?.id,currentState:a.state,knownDeposit:t,receipt:i,spent:a.spent});return o?.channel&&a.lastChallenge&&(await d.set(o.channel),h({type:`activated`,challengeId:a.lastChallenge.id,entry:o.channel,spent:a.spent.toString(),units:g()}),_(o.channel)),i}async function ae(e){let t=a.channel?.channelId===e.channelId?a.channel.deposit:0n,r=t>e.deposit?t:e.deposit,i=XI({deposit:r,maxDeposit:n.maxVoucherCumulative,requiredCumulative:e.requiredCumulative,suggestedDeposit:e.challenge.request.suggestedDeposit===void 0?void 0:BigInt(e.challenge.request.suggestedDeposit),topUpAmount:n.topUpAmount});i!==0n&&await ie({challenge:e.challenge,input:e.input,channelId:e.channelId,additionalDeposit:i,knownDeposit:r})}async function oe(e,t){let n=sL({channel:a.channel,channelId:e,challengeId:a.lastChallenge?.id,cumulativeAmount:t,spent:a.spent,state:a.state});n&&a.channel&&(h({type:`activated`,challengeId:n.challengeId,entry:a.channel,spent:n.spent,units:n.units}),await s.set(a.channel))}async function se(e){let t=lL(e,a.channel);a.channel=t.channel,a.spent=t.spent,a.state=t.state,a.channel?.opened&&await s.set(a.channel)}function ce(e){let t=e.headers.get(TA.paymentReceipt),n=t?yF(t):null;return S(n),Object.assign(e,{receipt:n,challenge:a.lastChallenge,channelId:a.channel?.channelId??null,cumulative:a.channel?.cumulativeAmount??0n})}async function le(e,t){if(l)throw Error(`SessionManager: a request is already in flight; concurrent requests on one manager are not supported`);a.lastUrl=e;let r=cL({channel:a.channel,spent:a.spent,state:a.state}),i={challengesReceived:0,committed:void 0,created:new Map,previous:r,seenExisting:new Set,resumed:void 0,trackCreates:!1};l=i;try{await T(e,t),i.trackCreates=!0;let o=HR(e,t,a.channel?.opened?a.channel.channelId:void 0),s=!r.channel?.opened;async function c(){let n=i.resumed;return!s||!n||n.opened&&(CI(n)||wI(n))?!1:(s=!1,await f(n),o=HR(e,t,void 0),!0)}for(;;){let t;try{t=await b(e,o)}catch(e){if(i.created.size?await p():await se(i.committed??r),await c())continue;throw e}let s=ce(t),l=!1;if(s.status===402){let t=await oR({input:e,init:o,response:s,createSessionCredential:x,fetch:n.fetch,getChannel:()=>a.channel,restoreCumulative:oe,setChallenge(e){a.lastChallenge=e},topUpIfNeeded:ae});t&&(l=!0,s=ce(t))}if(!l&&!s.ok&&!s.receipt){if(i.created.size?await p():await se(i.committed??r),await c())continue;return s}return s}}finally{l=void 0}}async function ue(e){let t=await cR({createSessionCredential:x,fetch:n.fetch,getMinimumSpent:()=>a.spent,lastUrl:a.lastUrl,resolveSignedCloseAmount:t=>ne(e,t,!0),signedCloseAmount:ne(e),setChallenge(e){a.lastChallenge=e},target:e});return t&&(C(),h({type:`closeStarted`}),h({type:`closed`,receipt:t})),t}let de={createSessionCredential:x,doFetch:le,fetch:n.fetch,getChannel:()=>a.channel,getChallenge:()=>a.lastChallenge,assertVoucherWithinLocalLimit:re,acceptReceipt(e){S(e)},topUpIfNeeded:ae},fe={get channelId(){return a.channel?.channelId},get cumulative(){return a.channel?.cumulativeAmount??0n},get opened(){return a.channel?.opened??!1},get state(){return a.state},fetch:le,async topUp(e){let t=JL({amount:e,assertVoucherWithinLocalLimit:re,channel:a.channel,decimals:n.decimals,lastChallenge:a.lastChallenge,lastUrl:a.lastUrl});return ie({additionalDeposit:t.additionalDeposit,challenge:t.challenge,channelId:t.channelId,input:t.input})},async sse(e,t){return lR(e,t,de)},async ws(e,t){if(!n.WebSocket)throw Error(\"No WebSocket implementation available. Pass `webSocket` to sessionManager() in this runtime.\");let r=nR(e),i=t?.signal?{signal:t.signal}:void 0;await T(r,i);let s=a.channel?.opened?a.channel.channelId:void 0,{challenge:c,credential:l,httpUrl:u,wsUrl:d}=await vR({async createSessionCredential(e,t){return a.lastChallenge=e,await OM(v,{challenge:e,context:t,fetch:n.fetch,input:r}),x(e,t)},fetch:n.fetch,input:e,onProbeUrl(e){a.lastUrl=e.toString()},probeInit:HR(r,i,s),signal:t?.signal});return a.lastChallenge=c,CR({challenge:c,credential:l,httpUrl:u,WebSocket:n.WebSocket,wsUrl:d,options:t,createSessionCredential:x,getChannel:()=>a.channel,setSocketSession(e){a.socketSession=e},async refreshChallenge(){let e=await _R({fetch:n.fetch,input:u,probeInit:HR(u,i,a.channel?.opened?a.channel.channelId:void 0),signal:t?.signal});return a.lastChallenge=e.challenge,e.challenge},assertVoucherWithinLocalLimit:re,acceptReceipt:S,rejectCloseReady:o.rejectCloseReady,rejectReceipt:o.rejectReceipt,settleCloseReady:o.settleCloseReady,settleReceipt:o.settleReceipt,topUpIfNeeded:ae,waitForReceipt:o.waitForReceipt})},async close(){let e=a.socketSession,t=QI({channel:a.channel,currentSocket:e,lastChallenge:a.lastChallenge});if(!t)return;let n=e?.socket;if(e&&n?.readyState===GL.OPEN){let r=await uL({activeSocket:n,createSessionCredential:x,currentSocket:e,spent:a.spent,target:t,waitForCloseReady:o.waitForCloseReady,waitForReceipt:o.waitForReceipt});return C(),h({type:`closeStarted`}),h({type:`closed`,receipt:r}),r}return ue(t)}};return LR(fe,{consumeSseResponse(e,t,n){return uR(e,t,n,de)},rehydrate({channel:e,challenge:t,input:n,spent:r}){if(!e.opened)throw Error(`Cannot restore a closed session channel.`);if(!ZL(t))throw Error(`Cannot restore session: challenge is not tempo/session.`);if(r<0n)throw Error(`Cannot restore session: spent must not be negative.`);if(r>e.cumulativeAmount)throw Error(`Cannot restore session: spent exceeds local voucher state.`);re(e.cumulativeAmount);let i=E(e,t),o=i&&i.spent>r?i.spent:r;a.lastUrl=n,a.lastChallenge=t,a.channel=e,a.spent=o,h({type:`challengeReceived`,challengeId:t.id}),h({type:`activated`,challengeId:t.id,entry:e,spent:o.toString(),units:0})}}),fe}(function(e){e.serializeSnapshot=FI,e.deserializeSnapshot=II})(WR||={});let GR=Object.assign(FR,{manager:WR}),KR=Object.assign(kF,{method:aF});function qR(e={}){return[LP(e),GR(e)]}(function(e){e.charge=LP,e.common=qR,e.session=GR,e.sessionLegacy=KR,e.subscription=mP})(qR||={});function JR(){let e=new Uint8Array(64);return crypto.getRandomValues(e),Object.freeze({created:Math.floor(Date.now()/1e3),nonce:rx(e,{pad:!1,url:!0})})}function YR(...e){return{protocol:`composed`,async sign(t,n=JR()){for(let r of e)t=await r.sign(t,n);return t}}}function XR(e,t){return async(n,r)=>e(await t.sign(new Request(n,r)))}function ZR(e){let{attestation:t,maxPaymentRetries:n,onChallenge:r,orderChallenges:i,polyfill:a=!0,acceptPaymentPolicy:o=a&&globalThis.location!==void 0?`same-origin`:`always`,transport:s=wM()}=e,c=e.fetch??globalThis.fetch,l=t?QR(c,t):c,u=e.methods.flat(),d=pj(u,e.paymentPreferences),f=UM(),p=r,m={acceptPayment:d,acceptPaymentPolicy:o,...(e.fetch||t)&&{fetch:l},eventDispatcher:f,...n!==void 0&&{maxPaymentRetries:n},...p&&{onChallenge:p},...i&&{orderChallenges:i},methods:u,transport:s},h=BM(m);a&&VM(m);function g(e){return f.on(`challenge.received`,e)}function _(e){return f.on(`credential.created`,e)}function v(e){return f.on(`payment.failed`,e)}function y(e){return f.on(`payment.response`,e)}return{fetch:h,rawFetch:c,methods:u,transport:s,on:f.on,onChallengeReceived:g,onCredentialCreated:_,onPaymentFailed:v,onPaymentResponse:y,async createCredential(e,t,n){let r=await s.getChallenges(e),a=cz(d.entries,n?.acceptPayment),o,c;try{let s=(await lz(gj(r,u,a),n?.orderChallenges??i))[0];if(!s)throw Error(`No method found for challenges: ${r.map(e=>`${e.method}.${e.intent}`).join(`, `)}. Available: ${u.map(e=>`${e.name}.${e.intent}`).join(`, `)}`);let l=s.challenge;o=l,c=s.method,o.expires&&IA(o.expires,o.id);let d=$R(e=>uz(l,c,e??t)),p=await f.emit(`challenge.received`,ez({challenge:l,challenges:r,createCredential:d,method:c,response:e}))??await d();return pN(p),await f.emit(`credential.created`,tz({challenge:l,credential:p,method:c,response:e})),p}catch(t){throw await f.emit(`payment.failed`,nz({challenge:o,challenges:r,error:t,method:c,response:e})),t}}}}function QR(e,t){let n=Object.values(t);if(n.length===0)throw TypeError(`Mppx client attestation must configure at least one signer.`);return XR(e,YR(...n))}function $R(e){let t;return n=>(t??=e(n),t)}function ez(e){return Object.freeze({challenge:az(e.challenge),challenges:e.challenges.map(e=>az(e)),createCredential:e.createCredential,method:rz(e.method),response:iz(e.response)})}function tz(e){return Object.freeze({challenge:az(e.challenge),credential:e.credential,method:rz(e.method),response:iz(e.response)})}function nz(e){return Object.freeze({...e.challenge?{challenge:az(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>az(e))}:{},error:e.error,...e.method?{method:rz(e.method)}:{},response:iz(e.response)})}function rz(e){return sz(Object.assign({},e))}function iz(e){return e instanceof Response?e.clone():az(e)}function az(e){try{return oz(structuredClone(e))}catch{return sz(e)}}function oz(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))oz(t);return e}function sz(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function cz(e,t){return t?typeof t==`string`?mj(t):t:e}async function lz(e,t){return t?t(e):e}async function uz(e,t,n){let r=t.context&&n!==void 0?t.context.parse(n):void 0;return t.createCredential(r===void 0?{challenge:e}:{challenge:e,context:r})}A();let dz={missing:`missing`,pending:`pending`,published:`published`,expired:`expired`},fz=new Set([`KeyAlreadyRevoked`,`KeyNotFound`]);function pz(e){return{add:t=>Sz({...t,store:e}),authorize:t=>hz({...t,store:e}),clear:()=>Ez({store:e}),get:t=>bz({...t,store:e}),prepareAuthorization:t=>mz({...t,keystores:e.keystores}),getStatus:t=>vz({...t,store:e}),list:t=>Hz({...t,store:e}),remove:t=>Tz({...t,store:e}),select:t=>yz({...t,store:e}),updateAuthorization:t=>wz({...t,store:e})}}async function mz(e){let{address:t,chainId:n,expiry:r,keystores:i,keyType:a,limits:o,privateKey:s,publicKey:c,scopes:l,witness:u}=e;if(s){let e=a??`secp256k1`;return{keyAuthorization:YC({address:(()=>{switch(e){case`secp256k1`:return rT(s);case`p256`:return nT(s);case`webAuthn`:throw new Xx({message:'`privateKey` cannot be used with `keyType: \"webAuthn\"`.'})}})().address,chainId:BigInt(n),expiry:r,limits:o,scopes:l,type:e,...u?{witness:u}:{}}),privateKey:s}}if(t||c)return{keyAuthorization:YC({address:t??N_(y_(c)),chainId:BigInt(n),expiry:r,limits:o,scopes:l,type:a??`secp256k1`,...u?{witness:u}:{}})};let d=i??KE,f=a??`p256`,p=f===`webAuthn`?void 0:d[f];if(!p)throw new Xx({message:`\\`keyType: \"${f}\"\\` requires externally generated key material; provide \\`publicKey\\` or \\`address\\`.`});let m=await p.createKey(),h=YC({address:N_(x_(m.publicKey)),chainId:BigInt(n),expiry:r,limits:o,scopes:l,type:f,...u?{witness:u}:{}});return{key:{handle:m.handle,publicKey:m.publicKey},keyAuthorization:h}}async function hz(e){let{account:t,chainId:n,parameters:r}=e,{store:i}=e,a=await mz({...r,chainId:r.chainId??n,keystores:i.keystores}),o=QC(a.keyAuthorization),s=await t.sign({hash:o}),c=YC(a.keyAuthorization,{signature:cC(s)});return Sz({account:t.address,authorization:c,...a.key?{handle:a.key.handle,publicKey:a.key.publicKey}:{},...a.privateKey?{privateKey:a.privateKey}:{},store:i}),nw(c)}async function gz(e){let{account:t,calls:n,chainId:r,parameters:i,store:a}=e,o=e.now??Date.now()/1e3,s=Hz({account:t,chainId:r,store:a});for(let e of s)if(!Bz(e.expiry,o)&&Az(e,i)&&!(n&&!Oz(e,{calls:n}))&&await zz(e,a))return!0;return!1}function _z(e){return kz(e.parameters.scopes,{calls:e.calls})}async function vz(e){let{accessKey:t,account:n,calls:r,chainId:i,client:a}=e,{store:o}=e,s=e.now??Date.now()/1e3,c=Hz({account:n,accessKey:t,chainId:i,store:o}).find(e=>Oz(e,{calls:r}));if(c){if(Bz(c.expiry,s))return dz.expired;if(c.keyAuthorization){let e=await Vz(a,{accessKey:c.address,account:n,now:s});return e===dz.published&&Cz({accessKey:c.address,account:n,chainId:i,store:o}),e===dz.published?dz.published:dz.pending}return await Vz(a,{accessKey:c.address,account:n,now:s})}return t?await Vz(a,{accessKey:t,account:n,now:s}):dz.missing}async function yz(e){let{account:t,calls:n,chainId:r,store:i}=e,a=e.now??Date.now()/1e3,o=Hz({account:t,chainId:r,store:i});for(let e of o){if(!Oz(e,{calls:n}))continue;if(Bz(e.expiry,a)){await Tz({accessKey:e.address,account:e.access,chainId:e.chainId,store:i});continue}let t=await zz(e,i);if(t)return t}}async function bz(e){let{accessKey:t,account:n,calls:r,chainId:i}=e,{store:a}=e,o=e.now??Date.now()/1e3,s=Hz({account:n,accessKey:t,chainId:i,store:a})[0];if(s&&!(`calls`in e&&!Oz(s,{calls:r}))){if(Bz(s.expiry,o)){await Tz({accessKey:s.address,account:s.access,chainId:s.chainId,store:a});return}return await zz(s,a)}}function xz(e){return IE({source:{get(t){return Hz({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})[0]?.keyAuthorization},remove(t){Cz({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})},set(t,n){wz({account:t.address,accessKey:t.accessKey,authorization:n,chainId:t.chainId,store:e})}}})}function Sz(e){let{account:t,authorization:n,handle:r,keyPair:i,privateKey:a,publicKey:o}=e,{store:s}=e,c={address:n.address,access:t,chainId:Number(n.chainId),expiry:n.expiry??void 0,keyAuthorization:n,keyType:n.type,limits:n.limits,scopes:n.scopes},l=a?{privateKey:a}:i?{keyPair:i}:r!==void 0&&o?{handle:r,publicKey:o}:{},u={...c,...l};return s.state.setState(e=>({accessKeys:[u,...e.accessKeys.filter(e=>!Wz(e,{account:u.access,accessKey:u.address,chainId:u.chainId}))]})),u}function Cz(e){let{store:t,...n}=e;Uz({...n,patch:{keyAuthorization:void 0},store:t})}function wz(e){let{authorization:t,store:n,...r}=e;Uz({...r,patch:{expiry:t.expiry??void 0,keyAuthorization:t,limits:t.limits,scopes:t.scopes},store:n})}function Tz(e){let{store:t,...n}=e;t.state.setState(e=>({accessKeys:e.accessKeys.filter(e=>!Wz(e,n))}))}function Ez(e){let{store:t}=e;t.state.setState({accessKeys:[]})}function Dz(e){return e instanceof k&&e.walk(e=>{let t=e.data?.errorName;return!!t&&fz.has(t)})?!0:e instanceof Error&&fz.has(BE(e).errorName)}function Oz(e,t){return kz(e.scopes,t)}function kz(e,t){return e===void 0?!0:!Array.isArray(e)||!t.calls?!1:t.calls.every(t=>{if(!t.to)return!1;let n=t.to.toLowerCase(),r=t.data?.slice(0,10).toLowerCase();return e.some(e=>{if(!Lz(e)||e.address.toLowerCase()!==n)return!1;let i=e.selector;if(!i)return!e.recipients||e.recipients.length===0;let a=Pz(i);if(!a||r!==a)return!1;if(!e.recipients||e.recipients.length===0)return!0;if(!t.data||t.data.length<74)return!1;let o=`0x${t.data.slice(34,74)}`;return F_(o)?e.recipients.some(e=>e.toLowerCase()===o.toLowerCase()):!1})})}function Az(e,t){return!(!jz(e.scopes,t.scopes)||typeof t.reuse?.minExpiry==`number`&&e.expiry&&e.expiry<t.reuse.minExpiry||!Iz(e.limits,t.reuse?.minLimits))}function jz(e,t){return!t||!e||t.every(t=>e.some(e=>Mz(e,t)))}function Mz(e,t){return!Lz(e)||!Lz(t)||e.address.toLowerCase()!==t.address.toLowerCase()||!Nz(e.selector,t.selector)?!1:Fz(e.recipients,t.recipients)}function Nz(e,t){if(!e)return!0;if(!t)return!1;let n=Pz(e),r=Pz(t);return!!n&&n===r}function Pz(e){try{return(e.startsWith(`0x`)&&e.length===10?e:Hy(e)).toLowerCase()}catch{return}}function Fz(e,t){return!e||e.length===0?!0:!t||t.length===0?!1:t.every(t=>e.some(e=>e.toLowerCase()===t.toLowerCase()))}function Iz(e,t){return!t||!e||t.every(t=>e.some(e=>e.token.toLowerCase()===t.token.toLowerCase()&&Number(e.period??0)===Number(t.period??0)&&BigInt(e.limit)>=BigInt(t.limit)))}function Lz(e){if(!e||typeof e!=`object`)return!1;let t=e;return!(typeof t.address!=`string`||!F_(t.address)||t.selector!==void 0&&typeof t.selector!=`string`||t.recipients!==void 0&&(!Array.isArray(t.recipients)||t.recipients.some(e=>typeof e!=`string`)||t.recipients.some(e=>!F_(e))))}let Rz=new WeakMap;async function zz(e,t){let n=xz(t);if(`keyPair`in e&&e.keyPair)return aT(e.keyPair,{access:e.access,keyAuthorizationManager:n});if(`privateKey`in e&&e.privateKey)switch(e.keyType){case`secp256k1`:return rT(e.privateKey,{access:e.access,keyAuthorizationManager:n});case`p256`:return nT(e.privateKey,{access:e.access,keyAuthorizationManager:n})}if(`handle`in e&&e.handle!==void 0&&e.publicKey){let r=e.keyType===`p256`||e.keyType===`secp256k1`?t.keystores[e.keyType]:void 0;if(!r)return;let i=Rz.get(e);i||(i=(async()=>await r.toAccount({handle:e.handle,keyType:e.keyType,publicKey:e.publicKey},{access:e.access,keyAuthorizationManager:n}))(),Rz.set(e,i));try{return await i}catch(n){Rz.delete(e),GE(n)&&Tz({accessKey:e.address,account:e.access,chainId:e.chainId,store:t});return}}}function Bz(e,t){return typeof e==`number`&&e<t}async function Vz(e,t){let{accessKey:n,account:r,now:i}=t;try{let t=await AT(e,{account:r,accessKey:n});return t.address.toLowerCase()!==n.toLowerCase()||t.isRevoked?dz.missing:t.expiry>0n&&t.expiry<BigInt(Math.floor(i))?dz.expired:dz.published}catch(e){if(Dz(e))return dz.missing;throw e}}function Hz(e){let{store:t,...n}=e;return t.state.getState().accessKeys.filter(e=>Wz(e,n))}function Uz(e){let{patch:t,store:n,...r}=e;n.state.setState(e=>({accessKeys:e.accessKeys.map(e=>{if(!Wz(e,r))return e;let n={...e};for(let[e,r]of Object.entries(t))r===void 0?delete n[e]:n[e]=r;return n})}))}function Wz(e,t){let{accessKey:n,account:r,chainId:i}=t;return!(e.access.toLowerCase()!==r.toLowerCase()||e.chainId!==i||n&&e.address.toLowerCase()!==n.toLowerCase())}function Gz(e){switch(e?.keyType){case`secp256k1`:case`p256`:case`webAuthn`:return e.keyType;case`webCrypto`:return`p256`;case`webAuthn_headless`:return`webAuthn`;default:return}}function Kz(e){let{address:t,signable:n=!1,store:r}=e,{accounts:i,activeAccount:a}=r.getState(),o=i[a]?.address,s=t?i.find(e=>e.address.toLowerCase()===t.toLowerCase()):i.find(e=>o&&e.address.toLowerCase()===o.toLowerCase());if(!s)throw t?new tS({message:`Account \"${t}\" not found.`}):new rS({message:`No active account.`});return qz(s,{signable:n})}function qz(e,t={}){let{signable:n=!1}=t;if(!n)return{address:e.address,type:`json-rpc`,...e.keyType?{keyType:e.keyType}:{}};if(`sign`in e&&typeof e.sign==`function`)return e;if(!e.keyType)throw new tS({message:`Account \"${e.address}\" cannot sign.`});switch(e.keyType){case`secp256k1`:return rT(e.privateKey);case`p256`:return nT(e.privateKey);case`webCrypto`:return aT(e.keyPair);case`webAuthn`:return iT(e.credential,{rpId:e.credential.rpId});case`webAuthn_headless`:return tT(e.privateKey,{rpId:e.rpId,origin:e.origin});default:throw new tS({message:`Unknown key type.`})}}let Jz=new Map;function Yz(e,t){let n=Qz(e),r=Symbol();n.attachments.add(r);let i=t.dialog({host:t.host,onReject:t=>eB(e,t),onResponse:t=>tB(e,t),store:t.store,theme:t.theme}),a=!!(n.dialog&&n.dialog!==i);if(n.dialog&&n.dialog!==i&&n.dialog.destroy(),n.dialog=i,a)for(let e of n.requestQueue)e.synced=!1;return nB(e),()=>{n.attachments.delete(r),$z(e)}}function Xz(e,t){let n=Qz(e),r=n.ids.prepare(t.request);return new Promise((i,a)=>{n.requestQueue.push({account:t.account,chainId:t.chainId,reject:a,request:r,resolve:i,status:`pending`,synced:!1}),nB(e)})}function Zz(e){return new URL(e).host}function Qz(e){let t=Zz(e),n=Jz.get(t);if(n)return n;let r={attachments:new Set,dialog:void 0,ids:_S(),requestQueue:[],synced:!1};return Jz.set(t,r),r}function $z(e){let t=Qz(e);t.attachments.size>0||t.requestQueue.length>0||(t.dialog?.destroy(),t.dialog=void 0,t.synced=!1)}function eB(e,t){if(t.length===0)return;let n=Qz(e),r=new Set(t),i=n.requestQueue.filter(e=>r.has(e.request.id));if(i.length!==0){n.requestQueue=n.requestQueue.filter(e=>!r.has(e.request.id));for(let e of i)e.reject(new eS);nB(e,{force:!0})}}function tB(e,t){let n=Qz(e),r=n.requestQueue.find(e=>e.request.id===t.id);r&&(n.requestQueue=n.requestQueue.filter(e=>e.request.id!==t.id),t.error?r.reject(hS(t.error)):r.resolve(t.result),nB(e,{force:!0}))}function nB(e,t={}){let n=Qz(e),r=n.dialog;if(!r)return;let i=n.requestQueue;if(i.length===0){n.synced&&r.close(),n.synced=!1,$z(e);return}let a=i[0];!t.force&&a.synced||(a.synced=!0,n.synced=!0,r.syncRequests({account:a.account,chainId:a.chainId,requests:[rB(a)]}))}function rB(e){return{request:e.request,status:e.status}}B();function iB(e={}){let{dialog:t=w()?te():E(),host:n=`https://wallet.tempo.xyz/embed`,icon:r=`data:image/svg+xml,<svg width=\"269\" height=\"269\" viewBox=\"0 0 269 269\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"269\" height=\"269\" fill=\"black\"/><path d=\"M123.273 190.794H93.445L121.09 105.318H85.7334L93.445 80.2642H191.95L184.238 105.318H150.773L123.273 190.794Z\" fill=\"white\"/></svg>`,name:i=`Tempo Wallet`,rdns:a=`xyz.tempo`,theme:o}=e;return typeof window<`u`&&!window.isSecureContext&&console.warn(`[accounts] Detected insecure context (HTTP).`,`\\n\\nThe Tempo Wallet iframe dialog is not supported on HTTP origins (${window.location.origin})`,`due to lack of WebAuthn passkey support in non-secure contexts.`),d({icon:r,name:i,rdns:a},({getAccount:e,store:r})=>{let i=Yz(n,{dialog:t,host:n,store:r,theme:o});function a(){let{accounts:e,activeAccount:t}=r.getState(),n=e[t];if(n)return{address:n.address}}let s=mS({async request(e){return e.method===`eth_chainId`?R(r.getState().chainId):Xz(n,{account:a(),chainId:r.getState().chainId,request:e})}},{schema:xA});return{cleanup(){i()},forwardsAuth:!0,actions:{async createAccount(e,t){let{accounts:n}=await s.request({...t}),r=n[0]?.capabilities,i=r?.keyAuthorization;return{accounts:n.map(e=>({address:e.address})),...r?.auth?{auth:r.auth}:{},...r?.identity?{identity:r.identity}:{},...i?{keyAuthorization:i}:{},...r?.signature?{signature:r.signature}:{},...r?.personalSign?{personalSign:r.personalSign}:{}}},async loadAccounts(e,t){let{accounts:n}=await s.request({...t}),r=n[0]?.capabilities,i=r?.keyAuthorization;return{accounts:n.map(e=>({address:e.address})),...r?.auth?{auth:r.auth}:{},...r?.identity?{identity:r.identity}:{},...i?{keyAuthorization:i}:{},...r?.signature?{signature:r.signature}:{},...r?.personalSign?{personalSign:r.personalSign}:{}}},async deposit(e,t){return await s.request(t)},async transfer(e,t){return await s.request({...t,params:[MD(pA.parameters,e)]})},async swap(e,t){return await s.request(t)},async depositZone(e,t){return await s.request({...t,params:[MD(vA.parameters,e)]})},async withdrawZone(e,t){return await s.request({...t,params:[MD(yA.parameters,e)]})},async disconnect(){r.disconnect()}},getAccount(t={}){return{account:{address:e({address:t.address,signable:!1}).address,type:`json-rpc`},transport:Wb(s)}}}})}let aB=new Map,oB=new WeakMap;function sB(e,t){let{chains:n,feePayer:r,provider:i,store:a,transports:o}=t,s=(()=>{if(r!==!1){if(typeof r==`string`)return uB(r);if(r?.url)return uB(r.url)}})(),c=typeof r==`object`&&r?r.precedence??`fee-payer-first`:`fee-payer-first`,l=e??a.getState().chainId,u=`${l}:${i?`p`:``}:${r===!1?`no-fp`:s??``}:${c}`,d=i??o,f=(()=>{if(!d)return aB;let e=oB.get(d);return e||(e=new Map,oB.set(d,e)),e})(),p=f.get(u);if(!p){let t=n.find(e=>e.id===l)??n[0],r=o?.[l]??Yb(),a=i?cB(i,r,e===void 0?void 0:t.id):r;p=wh({chain:t,transport:s?dB(a,s,c):a,pollingInterval:1e3}),f.set(u,p)}return p}function cB(e,t,n){return r=>{let i=t(r);return{...i,async request({method:t,params:r}){if(n!==void 0&&!lB(t))return i.request({method:t,params:r});let a=(()=>{if(t!==`eth_fillTransaction`||n===void 0)return r;let e=r?.[0];return!e||typeof e!=`object`?r:[{...e,chainId:n}]})();return e.request({method:t,params:a})}}}}function lB(e){return e.startsWith(`wallet_`)||[`eth_accounts`,`eth_fillTransaction`,`eth_requestAccounts`,`eth_sendTransaction`,`eth_sendTransactionSync`,`eth_signTransaction`,`eth_signTypedData_v4`,`personal_sign`].includes(e)}function uB(e){return e.startsWith(`http://`)||e.startsWith(`https://`)?e:typeof window<`u`?new URL(e,window.location.origin).href:e}function dB(e,t,n){return r=>{let i=e(r),a=Yb(t)(r);return{...i,async request({method:e,params:t}){let r=t;if(n===`fee-payer-first`&&e===`eth_fillTransaction`){let t=r?.[0];if(t&&typeof t==`object`&&`feePayer`in t&&(t.feePayer===!0||typeof t.feePayer==`string`))return a.request({method:e,params:[{...t,feePayer:!0}]})}if(e===`eth_sendRawTransaction`||e===`eth_sendRawTransactionSync`){let t=r?.[0];if(typeof t==`string`&&(t.startsWith(`0x76`)||t.startsWith(`0x78`))){let n=Xw(t);if(`feePayerSignature`in n&&n.feePayerSignature===null){let n=await a.request({method:`eth_signRawTransaction`,params:[t]});return await i.request({method:e,params:[n]})}}}return await i.request({method:e,params:t})}}}}let fB=new Set([`InvalidSignature`,`InvalidSignatureFormat`,`InvalidSignatureType`,`KeyAlreadyRevoked`,`KeyExpired`,`KeyNotFound`,`SignatureTypeMismatch`]);async function pB(e){let{address:t,calls:n,chainId:r,client:i,store:a}=e,o=await a.accessKeys.select({account:t,calls:n,chainId:r});if(o)return mB({account:o,address:t,chainId:r,client:i,store:a})}function mB(e){let{account:t,address:n,chainId:r,client:i,store:a}=e;return{async fill(e){try{let n=await Xd(i,{account:t,...e,parameters:[],type:`tempo`});return await gB(i,n)}catch(e){throw _B(e,{account:t,address:n,chainId:r,store:a}),e}},async prepare(e){try{let o=await Xd(i,{account:t,...e,type:`tempo`});return hB({account:t,address:n,chainId:r,client:i,request:o,store:a})}catch(e){throw _B(e,{account:t,address:n,chainId:r,store:a}),e}}}}function hB(e){let{account:t,address:n,chainId:r,client:i,request:a,store:o}=e;async function s(){try{return await t.signTransaction(a)}catch(e){throw _B(e,{account:t,address:n,chainId:r,store:o}),e}}return{request:a,sign:s,async send(){try{let e=await s();return await i.request({method:`eth_sendRawTransaction`,params:[e]})}catch(e){throw _B(e,{account:t,address:n,chainId:r,store:o}),e}},async sendSync(){try{let e=await s();return await i.request({method:`eth_sendRawTransactionSync`,params:[e]})}catch(e){throw _B(e,{account:t,address:n,chainId:r,store:o}),e}}}}async function gB(e,t){let n=e.chain?.formatters?.transactionRequest,r=n?n.format({...t},`fillTransaction`):t;return await e.request({method:`eth_fillTransaction`,params:[r]})}function _B(e,t){vB(e)&&t.store.accessKeys.remove({accessKey:t.account.accessKeyAddress,account:t.address,chainId:t.chainId})}function vB(e){if(!(e instanceof Error))return!1;let t=BE(e);if(fB.has(t.errorName))return!0;let n=yB(e);return[...fB].some(e=>n.includes(e))}function yB(e){if(!(e instanceof Error))return``;let t=e.details,n=e.shortMessage,r=e.cause;return[e.message,typeof t==`string`?t:``,typeof n==`string`?n:``,yB(r)].join(`\n`)}$d();function bB(e){if(typeof e==`string`&&F_(e))return e}function xB(e,t){return F(e,t)}function SB(e){return F(e,`0x0000000000000000000000000000000000000000`)}function CB(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(CB.cache.get(n))return CB.cache.get(n);let r=e().finally(()=>CB.cache.delete(n));return CB.cache.set(n,r),r}CB.cache=new Map;function wB(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function TB(e,t){let n,r=()=>{if(n)return n;let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),n=wB(r),n.then(e=>{e.onclose=()=>n=void 0},()=>{n=void 0}),n};return(e,n)=>r().then(r=>n(r.transaction(t,e).objectStore(t)))}let EB;function DB(){return EB||=TB(`keyval-store`,`keyval`),EB}function OB(e,t=DB()){return t(`readonly`,t=>wB(t.get(e)))}function kB(e,t,n=DB()){return n(`readwrite`,n=>(n.put(t,e),wB(n.transaction)))}function AB(e,t=DB()){return t(`readwrite`,t=>(t.delete(e),wB(t.transaction)))}let jB=Symbol.for(`accounts.storage.supportsStructuredClone`);function MB(e,t={}){let n=`${t.key??`tempo`}.`,r={getItem:t=>e.getItem(`${n}${t}`),setItem:(t,r)=>e.setItem(`${n}${t}`,r),removeItem:t=>e.removeItem(`${n}${t}`)};return NB(e)?PB(r):r}function NB(e){return e[jB]===!0}function PB(e){return Object.assign(e,{[jB]:!0})}function FB(e={}){let t=typeof indexedDB<`u`?TB(`tempo`,`store`):void 0;return PB(MB({async getItem(e){let n=await OB(e,t);return n===null?null:n},async setItem(e,n){await kB(e,n,t)},async removeItem(e){await AB(e,t)}},e))}function IB(e={}){let t=new Map;return PB(MB({getItem(e){return t.get(e)??null},setItem(e,n){t.set(e,n)},removeItem(e){t.delete(e)}},e))}let LB=e=>(t,n,r)=>{let i=r.subscribe;return r.subscribe=((e,t,n)=>{let a=e;if(t){let i=n?.equalityFn||Object.is,o=e(r.getState());a=n=>{let r=e(n);if(!i(o,r)){let e=o;t(o=r,e)}},n?.fireImmediately&&t(o,o)}return i(a)}),e(t,n,r)};function RB(e,t){let n;try{n=e()}catch{return}return{getItem:e=>{let r=e=>e===null?null:JSON.parse(e,t?.reviver),i=n.getItem(e)??null;return i instanceof Promise?i.then(r):r(i)},setItem:(e,r)=>n.setItem(e,JSON.stringify(r,t?.replacer)),removeItem:e=>n.removeItem(e)}}let zB=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return zB(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return zB(t)(e)}}}},BB=(e,t)=>(n,r,i)=>{let a={storage:RB(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},o=!1,s=0,c=new Set,l=new Set,u=a.storage;if(!u)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${a.name}', the given storage is currently unavailable.`),n(...e)},r,i);let d=()=>{let e=a.partialize({...r()});return u.setItem(a.name,{state:e,version:a.version})},f=i.setState;i.setState=(e,t)=>(f(e,t),d());let p=e((...e)=>(n(...e),d()),r,i);i.getInitialState=()=>p;let m,h=()=>{if(!u)return;let e=++s;o=!1,c.forEach(e=>e(r()??p));let t=a.onRehydrateStorage?.call(a,r()??p)||void 0;return zB(u.getItem.bind(u))(a.name).then(e=>{if(e){if(typeof e.version==`number`&&e.version!==a.version){if(a.migrate){let t=a.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error(`State loaded from storage couldn't be migrated since no migrate function was provided`)}else return[!1,e.state]}return[!1,void 0]}).then(t=>{if(e!==s)return;let[i,o]=t;if(m=a.merge(o,r()??p),n(m,!0),i)return d()}).then(()=>{e===s&&(t?.(r(),void 0),m=r(),o=!0,l.forEach(e=>e(m)))}).catch(n=>{e===s&&t?.(void 0,n)})};return i.persist={setOptions:e=>{a={...a,...e},e.storage&&(u=e.storage)},clearStorage:()=>{u?.removeItem(a.name)},getOptions:()=>a,rehydrate:()=>h(),hasHydrated:()=>o,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(l.add(e),()=>{l.delete(e)})},a.skipHydration||h(),m||p},VB=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},HB=(e=>e?VB(e):VB),UB=Symbol.for(`accounts.storage.supportsStructuredClone`);function WB(e){let{chainId:t,keystores:n=KE,maxAccounts:r,persistCredentials:i=!0,schema:a,storage:o=typeof window<`u`?FB({key:`tempo`}):IB({key:`tempo`})}=e,s=HB(LB(BB(()=>({accessKeys:[],accounts:[],activeAccount:0,chainId:t}),{merge:(e,t)=>KB(e,t,{schema:a}),name:`store`,partialize:e=>GB(e,{keystores:n,maxAccounts:r,persistCredentials:i,structuredClone:ZB(o)}),storage:o,version:0}))),c=s;return c.accessKeys=pz({keystores:n,state:s}),c.disconnect=()=>s.setState({accessKeys:[],accounts:[],activeAccount:0,auth:void 0}),c}function GB(e,t={}){let{keystores:n,maxAccounts:r,persistCredentials:i=!0,structuredClone:a=!1}=t;return{accounts:r&&e.accounts.length>r?e.accounts.slice(0,r):e.accounts,activeAccount:e.activeAccount,...i?{accessKeys:e.accessKeys.map(e=>YB(e,{keystores:n,structuredClone:a}))}:{},...e.auth?{auth:e.auth}:{},chainId:e.chainId}}function KB(e,t,n={}){let r=e&&typeof e==`object`?e:{},i=(Array.isArray(r.accounts)?r.accounts.filter(JB):void 0)?.map(e=>t.accounts.find(t=>t.address.toLowerCase()===e.address.toLowerCase())??e)??t.accounts,a=n.schema?i.filter(e=>AD(n.schema,e).success):i;return{...r,...t,accounts:a,activeAccount:a.length===0?0:Math.min(r.activeAccount??t.activeAccount,a.length-1),accessKeys:qB(r.accessKeys)??t.accessKeys,chainId:r.chainId??t.chainId}}function qB(e){if(e)return e.filter(e=>{if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.access==`string`&&typeof t.address==`string`&&typeof t.chainId==`number`&&(t.keyType===`secp256k1`||t.keyType===`p256`||t.keyType===`webAuthn`||t.keyType===`webCrypto`)})}function JB(e){return!e||typeof e!=`object`?!1:typeof e.address==`string`}function YB(e,t){if(t.structuredClone)return e;let{keyPair:n,...r}=e;if(`handle`in r&&XB(t.keystores,r.keyType)){let{handle:e,...t}=r;return t}return r}function XB(e,t){return t!==`p256`&&t!==`secp256k1`?!1:e?.[t]?.requiresStructuredClone===!0}function ZB(e){return e[UB]===!0}async function QB(e){e.persist.hasHydrated()||await new Promise(t=>{e.persist.onFinishHydration(()=>t()),setTimeout(()=>t(),100)})}let $B=new Map;async function eV(e){let{chainId:t,baseUrl:n=`https://tokenlist.tempo.xyz`}=e,r=`${n}|${t}`,i=$B.get(r);if(i)return i;let a=(async()=>{try{let e=await globalThis.fetch(`${n}/list/${t}`);return e.ok?(await e.json()).tokens.map(({logoURI:e,...t})=>({...t,logoUri:t.logoUri??e})):[]}catch{return[]}})();return $B.set(r,a),a.then(e=>{e.length===0&&$B.delete(r)}),a}async function tV(e){let{symbol:t,...n}=e,r=await eV(n),i=t.toLowerCase();return r.find(e=>e.symbol.toLowerCase()===i)}function nV(e,t){let n=AD(e,t);if(n.error){let e=n.error.issues.at(0);throw e?.code===`invalid_union`&&e.note===`No matching discriminator`?new nS({message:`Unsupported method \"${t?.method}\".`}):new $x(-32602,`Invalid params: ${rV(n.error.issues)}`)}return{...t,_decoded:n.data}}function rV(e){return e.flatMap(e=>e.code===`invalid_union`&&e.errors.length>0?e.errors.flatMap(t=>t.map(t=>`${[...e.path,...t.path].join(`.`)}: ${t.code===`invalid_union`&&t.errors.length>0?rV([t]):t.message}`)):[`${e.path.join(`.`)}: ${e.message}`]).join(`, `)}B(),Pf();let iV=new Set;function aV(){return typeof document<`u`&&!!globalThis.crypto?.subtle}function oV(e={}){let{adapter:t=iB(),chains:n=[cE,lE,PE],maxAccounts:r,persistCredentials:i,relay:a,testnet:o,storage:s=typeof window<`u`?FB():IB()}=e,c=e.accessKey?.authorize??e.authorizeAccessKey,l={},u=(()=>{if(!(!a&&!e.transports))return{...a?Object.fromEntries(n.map(e=>[e.id,Yb(`${a.replace(/\\/$/,``)}/${e.id}`)])):{},...e.transports}})(),d=(()=>{if(e.feePayer)return typeof e.feePayer==`string`?{precedence:`fee-payer-first`,url:e.feePayer}:{precedence:e.feePayer.precedence??`fee-payer-first`,url:e.feePayer.url}})(),f=WB({chainId:(o?n.find(e=>e.testnet)??n[n.length-1]:n[0]).id,keystores:l,maxAccounts:r,persistCredentials:i,schema:t.schema,storage:s}),p=(e={})=>Kz({...e,store:f}),m;function h(e={}){let{chainId:t,feePayer:r}=e;return sB(t,{chains:n,feePayer:(()=>{if(r===!1)return!1;if(r)return{url:r,precedence:d?.precedence}})(),store:f,transports:u})}let g=t({getAccount:p,getClient:h,storage:s,store:f}),{actions:_}=g,v=e.accessKey?.keystores??g.accessKey?.keystores;Object.assign(l,v??KE);let y=pS();f.subscribe(e=>e.accounts.map(e=>e.address).join(),()=>y.emit(`accountsChanged`,f.getState().accounts.map(e=>e.address))),f.subscribe(e=>e.chainId,e=>y.emit(`chainChanged`,R(e))),f.subscribe(e=>e.accounts.length>0,e=>{e?y.emit(`connect`,{chainId:R(f.getState().chainId)}):y.emit(`disconnect`,new rS)});function b(){if(f.getState().accounts.length===0)throw new rS({message:`No accounts connected.`})}function x(){let{accounts:e,activeAccount:t}=f.getState();if(e.length===0)return[];let n=e[t]?.address,r=e.findIndex(e=>e.address===n),i=[...e];if(r>=0){let[e]=i.splice(r,1);return[e.address,...i.map(e=>e.address)]}return i.map(e=>e.address)}function S(e){throw new nS({message:`\\`${e}\\` not supported by adapter.`})}async function C(e={}){return g.getAccount||S(`getAccount`),await g.getAccount(e)}function w(e){let t=h({chainId:e.chainId,feePayer:e.feePayer});return Hb({account:e.account,chain:t.chain,transport:e.transport??Wb({request:t.request})})}function T(e,t){return t.type===`json-rpc`&&e!==void 0?{feePayer:e}:e?{feePayer:!0}:{}}async function ee(e){let{feePayer:t,...n}=e,r=await C({address:e.from}),i=w({account:r.account,chainId:e.chainId,feePayer:t===!0?void 0:t,transport:r.transport}),a={...n,...T(t,r.account)};return r.account.type===`json-rpc`?{client:i,request:a,selected:r}:{client:i,request:await Xd(i,{account:r.account,...a,type:`tempo`}),selected:r}}async function E(e){{let t=f.getState(),n=e.chainId??t.chainId,r=h({chainId:n,feePayer:(()=>{if(e.feePayer===!1)return!1;if(typeof e.feePayer==`string`)return e.feePayer})()}),i=e.from??t.accounts[t.activeAccount]?.address,a=i?await pB({address:i,calls:e.calls,chainId:n,client:r,store:f}):void 0;if(a)try{let{feePayer:t,...n}=e;return await(await a.prepare({...n,...t?{feePayer:!0}:{}})).sign()}catch{}}let{client:t,request:n,selected:r}=await ee(e);return r.account.type===`json-rpc`?await Lb(t,n):await r.account.signTransaction(n)}async function te(e){{let t=f.getState(),n=e.chainId??t.chainId,r=h({chainId:n,feePayer:(()=>{if(e.feePayer===!1)return!1;if(typeof e.feePayer==`string`)return e.feePayer})()}),i=e.from??t.accounts[t.activeAccount]?.address,a=i?await pB({address:i,calls:e.calls,chainId:n,client:r,store:f}):void 0;if(a)try{let{feePayer:t,...n}=e;return await(await a.prepare({...n,...t?{feePayer:!0}:{}})).send()}catch{}}let{feePayer:t,...n}=e,r=await C({address:e.from});return await lh(w({account:r.account,chainId:e.chainId,feePayer:t===!0?void 0:t,transport:r.transport}),{...n,...T(t,r.account)})}async function ne(e){{let t=f.getState(),n=e.chainId??t.chainId,r=h({chainId:n,feePayer:(()=>{if(e.feePayer===!1)return!1;if(typeof e.feePayer==`string`)return e.feePayer})()}),i=e.from??t.accounts[t.activeAccount]?.address,a=i?await pB({address:i,calls:e.calls,chainId:n,client:r,store:f}):void 0;if(a)try{let{feePayer:t,...n}=e;return await(await a.prepare({...n,...t?{feePayer:!0}:{}})).sendSync()}catch{}}let{feePayer:t,...n}=e,r=await C({address:e.from}),i=w({account:r.account,chainId:e.chainId,feePayer:t===!0?void 0:t,transport:r.transport}),a={...n,...T(t,r.account)};if(r.account.type===`json-rpc`)return await i.request({method:`eth_sendTransactionSync`,params:[MD(Gk,a)]});let o=await yb(i,{account:r.account,...a});return MD(Bk,o)}async function re(e){let t=await C({address:e.address}),n=w({account:t.account,transport:t.transport});return t.account.type===`json-rpc`?await n.signMessage({account:t.account,message:{raw:e.data}}):await t.account.sign({hash:lg({raw:e.data})})}async function ie(e){let t=JSON.parse(e.data),n=await C({address:e.address}),r=w({account:n.account,transport:n.transport});return n.account.type===`json-rpc`?await r.signTypedData({account:n.account,...t}):await n.account.sign({hash:vg(t)})}async function ae(e){let t=await C(),n=e.chainId??h().chain.id;if(t.account.type!==`json-rpc`)return{keyAuthorization:await f.accessKeys.authorize({account:t.account,chainId:n,parameters:e}),rootAddress:t.account.address};let r=await oe(e,Number(n)),i=await w({account:t.account,chainId:Number(n),transport:t.transport}).request({method:`wallet_authorizeAccessKey`,params:[MD(aA.parameters,r.parameters)]});return await ce({account:i.rootAddress,accessKey:r,keyAuthorization:i.keyAuthorization}),i}async function oe(e,t){let n=e.chainId??t??h().chain.id;if(e.privateKey||e.address||e.publicKey){let t=await mz({...e,chainId:n});return{parameters:se(e,t.keyAuthorization),...t.privateKey?{privateKey:t.privateKey}:{}}}if(!v&&!aV())return{parameters:e};let{key:r,keyAuthorization:i}=await mz({...e,chainId:n,keystores:l});if(!r)throw new Zx({message:`Keystore did not produce access-key material.`});return{key:r,parameters:{...se(e,i),publicKey:r.publicKey}}}function se(e,t){let n={...e};return delete n.privateKey,{...n,address:t.address,chainId:t.chainId,keyType:t.type}}async function ce(e){let{accessKey:t,account:n,keyAuthorization:r}=e;if(!n||!r||!t)return;let{key:i,privateKey:a}=t,o=i?{handle:i.handle,publicKey:i.publicKey}:a?{privateKey:a}:void 0;o&&f.accessKeys.add({account:n,authorization:XC(r),...o})}async function le(e){let t=await C({address:e.address}),n=w({account:t.account,transport:t.transport});if(t.account.type===`json-rpc`)await n.request({method:`wallet_revokeAccessKey`,params:[e]});else try{await PT(h(),{account:t.account,accessKey:e.accessKeyAddress})}catch(e){if(!Dz(e))throw e}f.accessKeys.remove({accessKey:e.accessKeyAddress,account:e.address,chainId:f.getState().chainId})}async function ue(e){let t=await C({address:e.address}),n=Number(e.chainId??h().chain.id);if(t.account.type===`json-rpc`){await w({account:t.account,chainId:n,transport:t.transport}).request({method:`wallet_updateAccessKey`,params:[MD(cA.parameters,e)]});return}let r=e.limits.map(t=>FT.call({accessKey:e.accessKeyAddress,limit:t.limit,token:t.token}));await yb(h({chainId:n}),{account:t.account,calls:r})}async function de(e,t){if(_.signTransaction)return await _.signTransaction(e,t);if(g.getAccount)return await E(e);S(`signTransaction`)}async function fe(e,t){if(_.sendTransaction)return await _.sendTransaction(e,t);if(g.getAccount)return await te(e);S(`sendTransaction`)}async function pe(e,t){if(_.sendTransactionSync)return await _.sendTransactionSync(e,t);if(g.getAccount)return await ne(e);S(`sendTransactionSync`)}async function me(e,t){if(_.signPersonalMessage)return await _.signPersonalMessage(e,t);if(g.getAccount)return await re(e);S(`signPersonalMessage`)}async function he(e,t){if(_.signTypedData)return await _.signTypedData(e,t);if(g.getAccount)return await ie(e);S(`signTypedData`)}async function ge(e,t){if(_.authorizeAccessKey)return await _.authorizeAccessKey(e,t);if(g.getAccount)return await ae(e);S(`authorizeAccessKey`)}async function _e(e,t){if(_.revokeAccessKey)return await _.revokeAccessKey(e,t);if(g.getAccount)return await le(e);S(`revokeAccessKey`)}async function ve(e,t){if(_.updateAccessKey)return await _.updateAccessKey(e,t);if(g.getAccount)return await ue(e);S(`updateAccessKey`)}function ye(e){if(!g.persistAccounts)return e;let t=[...e];for(let e of f.getState().accounts)t.some(t=>xB(t.address,e.address))||t.push(e);return t}function be(e){if(e===!1)return!1;let t=typeof e==`string`?e:d?.url;if(t)return t.startsWith(`http://`)||t.startsWith(`https://`)?t:typeof window<`u`?new URL(t,window.location.origin).href:t}function xe(e){let{reuse:t,...n}=e;return n}function Se(){return typeof c==`function`?c():c}async function Ce(e){let t=Se();if(!t)return;let n=we(e.capabilities);if(!(n&&await gz({account:n,chainId:Number(t.chainId??e.chainId),parameters:t,store:{keystores:l,state:f}})))return xe(t)}function we(e){let t=f.getState();if(t.accounts.length!==0&&!(e&&`selectAccount`in e&&e.selectAccount))return e&&`credentialId`in e&&e.credentialId?t.accounts.find(t=>`credential`in t&&t.credential?.id===e.credentialId)?.address:e?.method===`register`&&e.name?t.accounts.find(t=>`credential`in t&&t.label?.toLowerCase()===e.name.toLowerCase())?.address:t.accounts[t.activeAccount]?.address??t.accounts[0]?.address}async function Te(e){let t=Se();if(!t||await f.accessKeys.select({account:e.address,...e.calls?{calls:e.calls}:{},chainId:Number(t.chainId??e.chainId)})||!_z({parameters:t,calls:e.calls}))return;let n=xe(t);await ge(n,{method:`wallet_authorizeAccessKey`,params:[MD(aA.parameters,n)]})}function Ee(e){let{accounts:t}=f.getState();if(t.length===0)throw new rS({message:`No accounts connected.`});if(!t.some(t=>xB(t.address,e)))throw new tS({message:`Account \"${e}\" not found.`})}async function De(e,t={}){let n=bB(e.account.address);if(!n)return;if(Ee(n),t.accessKey){let r=e.operation.kind===`authorizePaymentChannel`?bB(e.operation.authority):void 0;if(r&&!xB(r,t.accessKey))throw new tS({message:`Access key \"${t.accessKey}\" cannot satisfy channel authority \"${r}\".`});let i={account:n,accessKey:t.accessKey,chainId:e.chainId};if(e.operation.kind===`executeCalls`&&!e.operation.calls){let e=await f.accessKeys.get(i),n=f.accessKeys.list(i)[0];if(e&&n?.scopes)throw new tS({message:`Access key \"${t.accessKey}\" cannot be selected for executeCalls without transaction call details.`});if(e)return e}let a=await f.accessKeys.get({...i,...e.operation.kind===`executeCalls`?{calls:e.operation.calls}:{}});if(!a)throw new tS({message:`Access key \"${t.accessKey}\" cannot sign for account \"${n}\".`});return a}if(e.operation.kind===`executeCalls`)return await f.accessKeys.select({account:n,...e.operation.calls?{calls:e.operation.calls}:{},chainId:e.chainId});let r=bB(e.operation.authority);if(!r)return await f.accessKeys.select({account:n,chainId:e.chainId});if(!(SB(r)||xB(r,n)))return await f.accessKeys.get({account:n,accessKey:r,chainId:e.chainId})}function Oe(e={}){let t=(()=>{if(!e.accessKey)return;let t=bB(e.accessKey);if(!t)throw new Xx({message:`Invalid access key address \"${e.accessKey}\".`});return t})();return{getClient({chainId:e}){if(e!==void 0&&!n.some(t=>t.id===e))throw new sS({message:`Chain ${e} not configured.`});let t=ke.getClient({chainId:e}),r=f.getState().accounts[f.getState().activeAccount];if(!r)throw new rS({message:`No active account.`});return Object.assign(Object.create(Object.getPrototypeOf(t)),t,{account:{address:r.address,type:`json-rpc`}})},resolveAccount:e=>De(e,{accessKey:t})}}let ke=Object.assign(mS({...y,async request({method:t,params:r}){return await QB(f),CB(async()=>{let i;try{i=nV(CA,{method:t,params:r})}catch(e){if(!(e instanceof nS))throw e;return await sB(void 0,{chains:n,store:f,transports:u}).request({method:t,params:r})}return await(async()=>{switch(i.method){case`eth_accounts`:return x();case`eth_chainId`:return R(f.getState().chainId);case`eth_requestAccounts`:{let e=x();if(e.length>0)return e;let{accounts:t}=await _.loadAccounts(void 0,{method:`wallet_connect`,params:void 0});return f.setState({accounts:ye(t),activeAccount:0}),t.map(e=>e.address)}case`eth_sendTransaction`:{b();let[e]=i._decoded.params,{to:t,data:n,...r}=e,a=e.calls??(t?[{to:t,data:n,value:e.value}]:void 0),o=f.getState(),s=e.chainId??o.chainId,c=e.from??o.accounts[o.activeAccount]?.address;return c&&await Te({address:c,...a?{calls:a}:{},chainId:s}),await fe({...r,chainId:s,from:c,...a?{calls:a}:{},feePayer:be(e.feePayer)},i)}case`eth_fillTransaction`:{let[e]=i._decoded.params,t={...e},n=be(t.feePayer),r=h({chainId:t.chainId,feePayer:n}),a=f.getState(),o=t.chainId??a.chainId,s=t.from??a.accounts[a.activeAccount]?.address,c=(()=>{if(!s)return;let e=t.keyType??Gz(a.accounts.find(e=>xB(e.address,s)));if(e)return{address:s,keyType:e,type:`json-rpc`}})(),l=(e=c)=>{let i={...t,...e?{account:e,from:e.address}:{},chainId:o,...n?{feePayer:!0}:{}},a=r.chain?.formatters?.transactionRequest,s=a?a.format({...i},`fillTransaction`):i;return r.request({method:`eth_fillTransaction`,params:[s]})};if(t.keyAuthorization)return await l();if(s){let e=await pB({address:s,calls:t.calls??(t.to?[{data:t.data,to:t.to}]:void 0),chainId:o,client:r,store:f});if(e)try{return await e.fill({...t,chainId:o,from:s,...n?{feePayer:!0}:{}})}catch{}}return await l()}case`eth_signTransaction`:{b();let[e]=i._decoded.params,{to:t,data:n,...r}=e,a=e.calls??(t?[{to:t,data:n,value:e.value}]:void 0),o=f.getState();return await de({...r,chainId:e.chainId??o.chainId,from:e.from??o.accounts[o.activeAccount]?.address,...a?{calls:a}:{},feePayer:be(e.feePayer)},i)}case`eth_sendTransactionSync`:{b();let[e]=i._decoded.params,{to:t,data:n,...r}=e,a=e.calls??(t?[{to:t,data:n,value:e.value}]:void 0),o=f.getState(),s=e.chainId??o.chainId,c=e.from??o.accounts[o.activeAccount]?.address;return c&&await Te({address:c,...a?{calls:a}:{},chainId:s}),await pe({...r,chainId:s,from:c,...a?{calls:a}:{},feePayer:be(e.feePayer)},i)}case`eth_signTypedData_v4`:{b();let[e,t]=i._decoded.params;return await he({address:e,data:t},i)}case`personal_sign`:{b();let[e,t]=i._decoded.params;return await me({address:t,data:e},i)}case`wallet_sendCalls`:try{b();let{calls:e=[],capabilities:t,chainId:n,from:r}=i._decoded.params?.[0]??{},a=t?.sync,o=be(t?.feePayer??(d?!0:void 0)),s=f.getState(),c=r??s.accounts[s.activeAccount]?.address;c&&await Te({address:c,calls:e,chainId:n??s.chainId});let l={calls:e,chainId:n,from:c,...o?{feePayer:o}:{}};if(!a){let e=L(await fe(l,{method:`eth_sendTransaction`,params:[MD(Gk,l)]}),fp(R(f.getState().chainId),32),cV);return{capabilities:{sync:a},id:e}}let u=await pe(l,{method:`eth_sendTransactionSync`,params:[MD(Gk,l)]}),p=u.transactionHash,m=R(f.getState().chainId),h=L(p,fp(m,32),cV);return{atomic:!0,capabilities:{sync:a},chainId:m,id:h,receipts:[u],status:u.status===`0x1`?200:500,version:`2.0.0`}}catch(e){throw lV(e)}case`wallet_getBalances`:{let e=i._decoded.params?.[0],{accounts:t,activeAccount:r}=f.getState(),a=e?.account??t[r]?.address;if(!a)throw new rS({message:`No accounts connected.`});let o=e?.tokens;if(!o||o.length===0)throw new Xx({message:\"`tokens` is required.\"});let s=sB(e?.chainId,{chains:n,store:f,transports:u});return await Promise.all(o.map(async e=>{let[t,n]=await Promise.all([gE(s,{account:a,token:e}),_E(s,{token:e})]),r=Number(t.amount)/10**n.decimals,i=new Intl.NumberFormat(`en-US`,{style:`currency`,currency:`USD`}).format(r);return{address:e,balance:R(t.amount),decimals:n.decimals,display:i,name:n.name,symbol:n.symbol}}))}case`wallet_getCallsStatus`:{let[e]=i._decoded.params??[];if(!e)throw Error(\"`id` not found\");if(!e.endsWith(cV.slice(2)))throw Error(\"`id` not supported\");sp(e);let t=z(e,0,32),r=R(Number(z(e,32,64))),a=await sB(Number(r),{chains:n,store:f,transports:u}).request({method:`eth_getTransactionReceipt`,params:[t]});return{atomic:!0,chainId:r,id:e,receipts:a?[a]:[],status:a?a.status===`0x1`?200:500:100,version:`2.0.0`}}case`wallet_getCapabilities`:{let e=i._decoded.params,t=e?.[0],r=e?.[1];if(t){let{accounts:e}=f.getState();if(!e.some(e=>xB(e.address,t)))throw new tS({message:`Address ${t} is not connected.`})}let a=r?n.filter(e=>r.includes(R(e.id))):n,o={};for(let e of a)o[R(e.id)]={accessKeys:{status:`supported`},atomic:{status:`supported`},...d?{feePayer:{status:`supported`}}:{}};return o}case`wallet_connect`:{let t=i._decoded.params?.[0]?.chainId;t&&f.setState(e=>({...e,chainId:t}));let n=i._decoded.params?.[0]?.capabilities,r=n?.authorizeAccessKey??await Ce({capabilities:n,chainId:t??f.getState().chainId}),a=n?.auth??e.auth,o=a?pV(a):void 0;if(o&&typeof o==`object`&&!o.challenge)throw new Xx({message:\"`auth` capability must include either `url` or an explicit `challenge` endpoint.\"});if(o&&n?.personalSign)throw new Xx({message:\"`auth` and `personalSign` cannot both be set on `wallet_connect`.\"});let s=t??f.getState().chainId??0,c=r?await oe(r,t):void 0;(o||c)&&(i={...i,params:[{...i.params?.[0],capabilities:{...i.params?.[0]?.capabilities,...o?{auth:o}:{},...c?{authorizeAccessKey:MD(lA.authorizeAccessKey,c.parameters)}:{}}}]});let l=o&&!g.forwardsAuth?await vV(o,s):void 0,u=l?{message:l.message}:n?.personalSign,{accounts:d,auth:p,identity:m,keyAuthorization:h,personalSign:v,signature:y,username:b}=await(async()=>{if(n?.method===`register`){let e=n.name?f.getState().accounts.find(e=>`credential`in e&&e.label?.toLowerCase()===n.name.toLowerCase()):void 0;return e&&`credential`in e?await _.loadAccounts({credentialId:e.credential?.id,digest:n.digest,authorizeAccessKey:c?.parameters,...u?{personalSign:u}:{},...n.showDeposit===void 0?{}:{showDeposit:n.showDeposit}},i):await _.createAccount({digest:n.digest,authorizeAccessKey:c?.parameters,name:n.name??`default`,...n.showDeposit===void 0?{}:{showDeposit:n.showDeposit},userId:n.userId??mp(16),...u?{personalSign:u}:{}},i)}return await _.loadAccounts({credentialId:n?.credentialId,digest:n?.digest,authorizeAccessKey:c?.parameters,selectAccount:n?.selectAccount,...u?{personalSign:u}:{},...n?.showDeposit===void 0?{}:{showDeposit:n.showDeposit}},i)})();f.setState({accounts:ye(d),activeAccount:0,auth:o&&typeof o==`object`?o:void 0});let x=d[0]?.address;await ce({accessKey:c,account:x,keyAuthorization:h});let S=m??await(async()=>{let t=n?.identity?.email;if(!t||!e.identity||g.forwardsAuth||!x)return;let r=e.identity.audience??globalThis.location?.origin;if(!r)return;let i=(typeof t==`object`?t.nonce:void 0)??(l?yV(l.message):void 0);return await bV(e.identity.issuer,{audience:r,nonce:i,subject:x}).catch(()=>void 0)})(),C=o&&typeof o==`object`?o.verify:void 0,w=l?.message??v?.message;o&&C&&w&&y&&x&&_V(o,{chainId:s,message:w});let T=o&&C&&w&&y&&x?await xV(o,{address:x,message:w,signature:y,...S?.idToken?{idToken:S.idToken}:{},...v?.keyAuthorization?{keyAuthorization:v.keyAuthorization}:{}}):void 0;return{accounts:d.map(e=>({address:e.address,capabilities:e.address===x?{...h?{keyAuthorization:{...h,address:h.keyId}}:{},...y&&(!o||T||!C)?{signature:y}:{},...b===void 0?{}:{username:b},...T??p?{auth:T??p}:{},...S?{identity:S}:{},...v?{personalSign:{message:v.message,...v.keyAuthorization?{keyAuthorization:v.keyAuthorization}:{}}}:{}}:{}}))}}case`wallet_disconnect`:{let t=(()=>{let t=f.getState().auth;if(t?.logout)return t.logout;if(e.auth)try{let t=pV(e.auth);return typeof t==`object`?t.logout:void 0}catch{return}})();t&&await fetch(t,{method:`POST`,credentials:`include`}).catch(()=>{}),await _.disconnect?.(),f.disconnect();return}case`wallet_authorizeAccessKey`:{let e=i._decoded.params[0],t=await ge(e,i);return{keyAuthorization:{...t.keyAuthorization,address:t.keyAuthorization.keyId},rootAddress:t.rootAddress}}case`wallet_revokeAccessKey`:{b();let[e]=i._decoded.params;await _e({...e},i);return}case`wallet_updateAccessKey`:{b();let[e]=i._decoded.params;await ve({...e},i);return}case`wallet_deposit`:if(!_.deposit)throw new nS({message:\"`deposit` not supported by adapter.\"});return await _.deposit(i._decoded.params?.[0]??{},i);case`wallet_transfer`:{b();let e=i._decoded.params?.[0]??{editable:!0};if(e.editable===!0){if(!_.transfer)throw new nS({message:\"`transfer` not supported by adapter.\"});let t={...e,...e.feePayer===void 0?{}:{feePayer:be(e.feePayer)}};return await _.transfer(t,i)}let{amount:t,feePayer:n,from:r,memo:a,to:o,token:s}=e,c=f.getState(),l=e.chainId??c.chainId,u=be(n),d=h({chainId:l,feePayer:typeof u==`string`?u:void 0}),{address:p,decimals:m}=await(async()=>{if(F_(s)){let e=await _E(d,{token:s});return{address:s,decimals:e.decimals}}let e=await tV({chainId:d.chain.id,symbol:s});if(!e)throw new $x(-32602,`Unknown token symbol \"${s}\".`);return{address:e.address,decimals:e.decimals}})(),g=Oy(t,m),v=c.accounts[c.activeAccount]?.address,y=r&&v&&r.toLowerCase()!==v.toLowerCase()?r:void 0,x={calls:[AE.call({amount:g,...y?{from:y}:{},memo:a?dp(a):void 0,to:o,token:p})],chainId:l,from:v,...u===void 0?{}:{feePayer:u}},S=await pe(x,{method:`eth_sendTransactionSync`,params:[MD(Gk,x)]});return{chainId:R(l),receipt:S}}case`wallet_swap`:if(b(),!_.swap)throw new nS({message:\"`swap` not supported by adapter.\"});return await _.swap(i._decoded.params?.[0]??{},i);case`wallet_depositZone`:{if(b(),!_.depositZone)throw new nS({message:\"`depositZone` not supported by adapter.\"});let e=i._decoded.params?.[0]??{},t={...e,...e.feePayer===void 0?{}:{feePayer:be(e.feePayer)}};return await _.depositZone(t,i)}case`wallet_withdrawZone`:if(b(),!_.withdrawZone)throw new nS({message:\"`withdrawZone` not supported by adapter.\"});return await _.withdrawZone(i._decoded.params?.[0]??{},i);case`wallet_switchEthereumChain`:{let{chainId:e}=i._decoded.params[0];if(!n.some(t=>t.id===e))throw new sS({message:`Chain ${e} not configured.`});await _.switchChain?.({chainId:e}),f.setState({chainId:e});return}}})()},{enabled:[`eth_accounts`,`eth_chainId`,`eth_requestAccounts`,`wallet_connect`,`wallet_getBalances`,`wallet_getCapabilities`].includes(t),id:Mf({method:t,params:r})})}},{schema:xA}),{chains:n,getAccount:(e=>{let t=p(e);return e?.signable?t:{address:t.address,type:`json-rpc`}}),async getAccessKeyStatus(e={}){let t=f.getState(),n=e.address??t.accounts[t.activeAccount]?.address;if(!n)return`missing`;let r=e.chainId??t.chainId,{accessKey:i,calls:a}=e;return await f.accessKeys.getStatus({account:n,...i?{accessKey:i}:{},...a?{calls:a}:{},chainId:r,client:ke.getClient({chainId:r})})},getClient(e={}){let{chainId:t,feePayer:r}=e;return sB(t,{chains:n,feePayer:r,provider:m,store:f,transports:u})},getMppxParameters:Oe,store:f});if(typeof window<`u`&&typeof CustomEvent<`u`&&typeof crypto.randomUUID==`function`){let e=t.rdns??`com.${(t.name??`Injected Wallet`).toLowerCase().replace(/\\s+/g,``)}`;iV.has(e)||(iV.add(e),wA({info:{icon:t.icon??sV,name:t.name??`Injected Wallet`,rdns:e,uuid:crypto.randomUUID()},provider:ke}))}let Ae=(()=>{if(e.mpp!==!1)return typeof e.mpp==`object`?e.mpp:{}})();if(Ae){let{mode:e=`push`,polyfill:t,...n}=Ae,r=t??uV(),i=ke.getMppxParameters(),a={...n,...i,mode:e};ZR({methods:[qR(a),qR.subscription(i)],polyfill:r})}return m=ke,ke}let sV=`data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1\" height=\"1\"><rect width=\"1\" height=\"1\"/></svg>`,cV=m_(dp(`TEMPO_5792`));function lV(e){if(e instanceof Error)return typeof e.details==`string`||Object.assign(e,{details:e.message}),e;let t=Error(String(e));return Object.assign(t,{details:t.message}),t}function uV(){try{let e=globalThis.fetch;return globalThis.fetch=e,!0}catch{return!1}}function dV(){return typeof document<`u`&&typeof document.cookie==`string`}function fV(e,t){let n=(()=>{if(typeof e==`string`){let n=e.endsWith(`/`)?e.slice(0,-1):e;return t===`verify`?n:`${n}/${t}`}let n=e[t];if(n)return n;if(e.url){let n=e.url.endsWith(`/`)?e.url.slice(0,-1):e.url;return t===`verify`?n:`${n}/${t}`}throw new Xx({message:`\\`auth\\` capability must include either \\`url\\` or an explicit \\`${t}\\` endpoint.`})})();return n.startsWith(`http://`)||n.startsWith(`https://`)?n:typeof window<`u`?new URL(n,window.location.origin).href:n}function pV(e){let t=typeof e==`string`||!!e.url,n=t||typeof e==`object`&&!!e.challenge,r=t||typeof e==`object`&&!!e.verify,i=t||typeof e==`object`&&!!e.logout,a={...n?{challenge:fV(e,`challenge`)}:{},...r?{verify:fV(e,`verify`)}:{},...i?{logout:fV(e,`logout`)}:{},...typeof e==`object`&&e.resources!==void 0?{resources:e.resources}:{},...typeof e==`object`&&e.returnToken?{returnToken:!0}:{}};return mV(a),a}function mV(e){if(typeof e!=`object`)return;let t=[e.challenge,e.verify,e.logout].filter(e=>typeof e==`string`).map(e=>{try{return new URL(e).origin}catch{throw new Xx({message:`\\`auth\\` endpoint is not a valid URL: ${e}`})}}),n=t[0];if(t.some(e=>e!==n))throw new Xx({message:\"`auth` endpoints (`challenge`, `verify`, `logout`) must share the same origin.\"})}let hV=' Hint: if the server is behind a reverse proxy or tunnel, set `Handler.auth({ trustProxy: true })` to honor `x-forwarded-*` headers, or pin the public origin with `Handler.auth({ origin: \"https://app.example.com\" })`.';function gV(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function _V(e,t){let{chainId:n,message:r}=t,i=t.url??(typeof e==`object`?e.challenge:fV(e,`challenge`)),a=typeof e==`object`?e.resources:void 0,o=tb(r),s=new URL(i);if(o.version!==`1`)throw new Xx({message:`Server Authentication challenge endpoint \\`${i}\\` returned a non-SIWE-v1 message.`});if(!o.nonce)throw new Xx({message:`Server Authentication challenge endpoint \\`${i}\\` response is missing a \\`nonce\\`.`});if(o.domain!==s.host)throw new Xx({message:`Server Authentication challenge endpoint \\`${i}\\` returned a message bound to \\`${o.domain}\\` (expected \\`${s.host}\\`).${hV}`});if(o.uri!==s.origin)throw new Xx({message:`Server Authentication challenge endpoint \\`${i}\\` returned a message with \\`uri\\` \\`${o.uri}\\` (expected \\`${s.origin}\\`).${hV}`});if(o.chainId!==n)throw new Xx({message:`Server Authentication challenge endpoint \\`${i}\\` returned a message bound to chainId \\`${o.chainId}\\` (expected \\`${n}\\`).`});if(a!==void 0&&!gV(o.resources??[],a))throw new Xx({message:`Server Authentication challenge endpoint \\`${i}\\` did not echo the requested SIWE resources.`})}async function vV(e,t){let n=typeof e==`object`?e.challenge:fV(e,`challenge`),r=typeof e==`object`?e.resources:void 0,i=await fetch(n,{method:`POST`,headers:{\"content-type\":`application/json`},body:JSON.stringify({chainId:t,...r===void 0?{}:{resources:r}})});if(!i.ok)throw new Xx({message:`Server Authentication challenge endpoint \\`${n}\\` returned ${i.status}.`});let a=await i.json().catch(()=>({}));if(!a.message)throw new Xx({message:`Server Authentication challenge endpoint \\`${n}\\` response missing \\`message\\`.`});return _V(e,{chainId:t,message:a.message,url:n}),{message:a.message}}function yV(e){return e.match(/^Nonce: (.+)$/m)?.[1]}async function bV(e,t){let n=await fetch(`${e.replace(/\\/+$/,``)}/token`,{body:JSON.stringify({audience:t.audience,...t.nonce?{nonce:t.nonce}:{},subject:t.subject}),headers:{\"content-type\":`application/json`},method:`POST`});if(!n.ok)throw Error(`Identity issuer \\`${e}\\` returned ${n.status}.`);let{idToken:r}=await n.json();return{email:JSON.parse(atob(r.split(`.`)[1].replace(/-/g,`+`).replace(/_/g,`/`))).email??null,idToken:r}}async function xV(e,t){let n=typeof e==`object`?e.verify:fV(e,`verify`),r=typeof e==`object`&&e.returnToken===!0||!dV(),i=await fetch(n,{method:`POST`,credentials:`include`,headers:{\"content-type\":`application/json`},body:JSON.stringify({...t,...r?{returnToken:!0}:{}})});if(!i.ok)throw new Zx({message:`Server Authentication verify endpoint \\`${n}\\` returned ${i.status}.`});let a=await i.json().catch(()=>({}));return!a||typeof a!=`object`||Array.isArray(a)?{}:a}let SV={data:`__MPPX_DATA__`,error:`root_error`,root:`root`},CV={serviceWorker:`__mppx_worker`,tab:`__mppx_tab`},wV={challengeId:`data-mppx-challenge-id`,remaining:`data-remaining`};var TV=class{name;constructor(e){this.name=`--mppx-${e}`}toString(){return`var(${this.name})`}};let EV={accent:new TV(`accent`),background:new TV(`background`),border:new TV(`border`),foreground:new TV(`foreground`),muted:new TV(`muted`),negative:new TV(`negative`),positive:new TV(`positive`),surface:new TV(`surface`),fontFamily:new TV(`font-family`),fontSizeBase:new TV(`font-size-base`),radius:new TV(`radius`),spacingUnit:new TV(`spacing-unit`)};String.raw`<style>\n *,\n ::after,\n ::before,\n ::backdrop,\n ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n border-color: ${EV.border};\n }\n html,\n :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n -webkit-tap-highlight-color: transparent;\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b,\n strong {\n font-weight: bolder;\n }\n code,\n kbd,\n samp,\n pre {\n font-family:\n ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',\n monospace;\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n ol,\n ul,\n menu {\n list-style: none;\n }\n img,\n svg,\n video,\n canvas,\n audio,\n iframe,\n embed,\n object {\n display: block;\n vertical-align: middle;\n }\n img,\n video {\n max-width: 100%;\n height: auto;\n }\n button,\n input,\n select,\n optgroup,\n textarea,\n ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button,\n input:where([type='button'], [type='reset'], [type='submit']),\n ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button,\n ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden='until-found'])) {\n display: none !important;\n }\n</style>`;async function DV(e){let t=new URL(location.href);t.searchParams.set(CV.serviceWorker,``);let n=await navigator.serviceWorker.register(t.pathname+t.search),r=await new Promise(e=>{let t=n.installing??n.waiting??n.active;if(t?.state===`activated`)return e(t);let r=t??n;r.addEventListener(`statechange`,function t(){let i=n.active;i?.state===`activated`&&(r.removeEventListener(`statechange`,t),e(i))})});await new Promise(t=>{let n=new MessageChannel;n.port1.onmessage=()=>t(),r.postMessage({credential:e},[n.port2])}),location.reload()}Pf();function OV(e){let t=document.getElementById(SV.data),n=jf(t.textContent),r=t.getAttribute(wV.remaining);!r||Number(r)<=1?t.remove():t.setAttribute(wV.remaining,String(Number(r)-1));let i=document.currentScript,a=i?.getAttribute(wV.challengeId),o=a?(i.removeAttribute(wV.challengeId),n[a]):Object.values(n).find(t=>t.challenge.method===e);return{...o,error(e){if(!e){document.getElementById(SV.error)?.remove();return}let t=document.getElementById(SV.error);if(t){t.textContent=e;return}let n=document.createElement(`p`);n.id=SV.error,n.className=`mppx-error`,n.role=`alert`,n.textContent=e,document.getElementById(o.rootId)?.after(n)},root:document.getElementById(o.rootId),submit:DV,vars:EV}}let kV=OV(`tempo`),AV=String.raw,jV=document.createElement(`style`);jV.textContent=AV`\n form {\n display: flex;\n flex-direction: column;\n gap: calc(${kV.vars.spacingUnit} * 8);\n }\n button {\n background: ${kV.vars.accent};\n border-radius: ${kV.vars.radius};\n color: ${kV.vars.background};\n cursor: pointer;\n font-weight: 500;\n padding: calc(${kV.vars.spacingUnit} * 4) calc(${kV.vars.spacingUnit} * 8);\n width: 100%;\n }\n button:hover:not(:disabled) {\n opacity: 0.85;\n }\n button:disabled {\n cursor: default;\n opacity: 0.5;\n }\n button svg {\n display: inline;\n fill: currentColor;\n height: 0.85em;\n transform: translateY(0.05em);\n vertical-align: baseline;\n width: auto;\n }\n`,kV.root.append(jV);let MV=oV({testnet:kV.challenge.request.methodDetails?.chainId===lE.id||kV.challenge.request.methodDetails?.chainId===FE.id}),NV=document.createElement(`button`);NV.innerHTML=`${kV.text.pay===`Pay`?`Continue with`:kV.text.pay} <svg aria-label=\"Tempo\" viewBox=\"0 0 107 25\" role=\"img\"><path d=\"M8.10464 23.7163H1.82475L7.64513 5.79356H0.201172L1.82475 0.540352H22.5637L20.9401 5.79356H13.8944L8.10464 23.7163Z\"></path><path d=\"M31.474 23.7163H16.5861L24.0607 0.540352H38.8873L37.4782 4.95923H28.8701L27.3078 9.93433H35.6402L34.231 14.2914H25.8681L24.3057 19.2974H32.8525L31.474 23.7163Z\"></path><path d=\"M38.2124 23.7163H33.2192L40.7244 0.540352H49.0567L48.781 13.0245L56.8989 0.540352H66.0277L58.5531 23.7163H52.3039L57.3584 7.86395L46.9736 23.7163H43.267L43.4201 7.80214L38.2124 23.7163Z\"></path><path d=\"M73.057 4.83563L70.6369 12.3137H71.3108C72.8425 12.3137 74.1189 11.9532 75.14 11.2322C76.1612 10.4906 76.8249 9.43991 77.1312 8.08025C77.3967 6.90601 77.2538 6.07167 76.7023 5.57725C76.1509 5.08284 75.2319 4.83563 73.9453 4.83563H73.057ZM66.9915 23.7163H60.7116L68.1862 0.540352H75.814C77.5703 0.540352 79.0816 0.828764 80.3478 1.40559C81.6344 1.96181 82.5738 2.76524 83.166 3.81588C83.7787 4.84592 83.9829 6.05107 83.7787 7.43133C83.5132 9.2442 82.8189 10.8408 81.6956 12.221C80.5724 13.6013 79.1122 14.6725 77.315 15.4347C75.5383 16.1764 73.5471 16.5472 71.3415 16.5472H69.289L66.9915 23.7163Z\"></path><path d=\"M98.747 22.233C96.664 23.4691 94.4481 24.0871 92.0996 24.0871H92.0383C89.9552 24.0871 88.1989 23.6236 86.7693 22.6965C85.3602 21.7489 84.3493 20.4717 83.7366 18.8648C83.1443 17.2579 83.0014 15.4966 83.3077 13.5807C83.6957 11.1704 84.5841 8.94549 85.9728 6.90601C87.3616 4.86653 89.0975 3.23906 91.1805 2.02361C93.2636 0.808164 95.4897 0.200439 97.8587 0.200439H97.9199C100.085 0.200439 101.872 0.663958 103.281 1.591C104.71 2.51803 105.701 3.78498 106.252 5.39185C106.824 6.97811 106.947 8.76008 106.62 10.7378C106.232 13.0657 105.343 15.2596 103.955 17.3197C102.566 19.3592 100.83 20.997 98.747 22.233ZM90.0777 18.2468C90.6292 19.2974 91.589 19.8227 92.9573 19.8227H93.0186C94.1418 19.8227 95.1833 19.4004 96.1432 18.5558C97.1235 17.6905 97.9506 16.5369 98.6245 15.0948C99.3189 13.6528 99.8294 12.0459 100.156 10.2742C100.463 8.54377 100.34 7.15322 99.7886 6.10257C99.2372 5.03133 98.2875 4.49571 96.9397 4.49571H96.8784C95.8369 4.49571 94.826 4.92833 93.8457 5.79356C92.8858 6.6588 92.0485 7.82274 91.3337 9.2854C90.6189 10.7481 90.0982 12.3343 89.7714 14.0442C89.4446 15.7747 89.5468 17.1755 90.0777 18.2468Z\"></path></svg>`,NV.onclick=async()=>{try{kV.error(),NV.disabled=!0;let e=await(async()=>{let e=await MV.request({method:`eth_accounts`});return e.length>0?e.at(0):(await MV.request({method:`wallet_connect`})).accounts[0]?.address})(),t=await qR({account:e,getClient:e=>{let t=e.chainId??kV.challenge.request.methodDetails?.chainId;return wh({chain:[...MV?.chains??[],lE,FE].find(e=>e.id===t),transport:Wb(MV)})}})[0].createCredential({challenge:kV.challenge,context:{}});await kV.submit(t)}catch(e){let t=e instanceof Error&&`shortMessage`in e?e.shortMessage:void 0;kV.error(t??(e instanceof Error?e.message:`Payment failed`))}finally{NV.disabled=!1}},kV.root.appendChild(NV)})();</script>";
2
2
  //# sourceMappingURL=html.gen.d.ts.map