@tempoxyz/id 0.0.0-pr-329.sha-ef9c870 → 0.0.0-pr-329.sha-e5d74ef

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 (98) hide show
  1. package/README.md +14 -14
  2. package/dist/App.d.ts +5 -0
  3. package/dist/App.d.ts.map +1 -1
  4. package/dist/App.js +13 -2
  5. package/dist/App.js.map +1 -1
  6. package/dist/app/client/assets/Authentication-BAXhOh_4.js +2 -0
  7. package/dist/app/client/assets/{Upgrade-faQZj5PX.js → Upgrade-D0_aO5AP.js} +1 -1
  8. package/dist/app/client/assets/{___.flows-BvKC7KXp.js → ___.flows-vmulcVgf.js} +2 -2
  9. package/dist/app/client/assets/{authorize-DhGa9AK_.js → authorize-14VjGfFD.js} +1 -1
  10. package/dist/app/client/assets/{choose-account-f8mr1tZ9.js → choose-account-CMhngrs7.js} +1 -1
  11. package/dist/app/client/assets/{deposit-DTErc-BJ.js → deposit-BkCNFfRJ.js} +1 -1
  12. package/dist/app/client/assets/{device-TGRFgJK2.js → device-L-UeZMWa.js} +1 -1
  13. package/dist/app/client/assets/{error-DGPYdNK4.js → error-BAfoLUxw.js} +1 -1
  14. package/dist/app/client/assets/{index-CWq6yHJj.js → index-ReDTHA-e.js} +3 -3
  15. package/dist/app/client/assets/{login-MHt4T2uC.js → login-C5AodNUT.js} +1 -1
  16. package/dist/app/client/assets/{routes-fVfMob-5.js → routes-CjnD-yfp.js} +1 -1
  17. package/dist/app/server/.vite/manifest.json +93 -93
  18. package/dist/app/server/assets/Authentication-BOkhlNQu.js +2 -0
  19. package/dist/app/server/assets/{Authentication-BTRnvIS2.js.map → Authentication-BOkhlNQu.js.map} +1 -1
  20. package/dist/app/server/assets/{Authentication-DencwebD.js → Authentication-C3oNZAVX.js} +2 -2
  21. package/dist/app/server/assets/{Authentication-DencwebD.js.map → Authentication-C3oNZAVX.js.map} +1 -1
  22. package/dist/app/server/assets/Bytes-C7CRVS3J.js +4 -0
  23. package/dist/app/server/assets/Bytes-C7CRVS3J.js.map +1 -0
  24. package/dist/app/server/assets/{Credential-DQrqb7-r.js → Credential-DFjcrdyI.js} +2 -2
  25. package/dist/app/server/assets/{Credential-DQrqb7-r.js.map → Credential-DFjcrdyI.js.map} +1 -1
  26. package/dist/app/server/assets/ExecutionError-CDszGSF1.js +9 -0
  27. package/dist/app/server/assets/ExecutionError-CDszGSF1.js.map +1 -0
  28. package/dist/app/server/assets/Grant-D_tun0mF.js.map +1 -1
  29. package/dist/app/server/assets/{Upgrade-eJQfg923.js → Upgrade-Dbfm2nm0.js} +2 -2
  30. package/dist/app/server/assets/{Upgrade-eJQfg923.js.map → Upgrade-Dbfm2nm0.js.map} +1 -1
  31. package/dist/app/server/assets/{___.flows-BcPA8nMa.js → ___.flows-Cc-awUoC.js} +2 -2
  32. package/dist/app/server/assets/{___.flows-BcPA8nMa.js.map → ___.flows-Cc-awUoC.js.map} +1 -1
  33. package/dist/app/server/assets/{_tanstack-start-manifest_v-C-9Pvl2n.js → _tanstack-start-manifest_v-BbewrmhA.js} +1 -1
  34. package/dist/app/server/assets/{authorize-CSVAE7xv.js → authorize-BXzTo2Pb.js} +2 -2
  35. package/dist/app/server/assets/{authorize-CSVAE7xv.js.map → authorize-BXzTo2Pb.js.map} +1 -1
  36. package/dist/app/server/assets/{authorize-Dp-tWyC6.js → authorize-BzoUqOdA.js} +2 -2
  37. package/dist/app/server/assets/{authorize-Dp-tWyC6.js.map → authorize-BzoUqOdA.js.map} +1 -1
  38. package/dist/app/server/assets/{call-BaWxWyrp.js → call-dzi0xjZd.js} +12 -12
  39. package/dist/app/server/assets/call-dzi0xjZd.js.map +1 -0
  40. package/dist/app/server/assets/{ccip-Bu7FxT7x.js → ccip-DjD8z_3B.js} +2 -2
  41. package/dist/app/server/assets/{ccip-Bu7FxT7x.js.map → ccip-DjD8z_3B.js.map} +1 -1
  42. package/dist/app/server/assets/{choose-account-SY3pN-A1.js → choose-account-_X7xq5am.js} +2 -2
  43. package/dist/app/server/assets/{choose-account-SY3pN-A1.js.map → choose-account-_X7xq5am.js.map} +1 -1
  44. package/dist/app/server/assets/{choose-account-CfXP-U4I.js → choose-account-zm-5Qs3e.js} +2 -2
  45. package/dist/app/server/assets/{choose-account-CfXP-U4I.js.map → choose-account-zm-5Qs3e.js.map} +1 -1
  46. package/dist/app/server/assets/{decodeFunctionData-Y8BApZGI.js → decodeFunctionData-bP6V2ai4.js} +2 -2
  47. package/dist/app/server/assets/{decodeFunctionData-Y8BApZGI.js.map → decodeFunctionData-bP6V2ai4.js.map} +1 -1
  48. package/dist/app/server/assets/{device-DtmHZKnP.js → device-CrXlusjr.js} +2 -2
  49. package/dist/app/server/assets/{device-DtmHZKnP.js.map → device-CrXlusjr.js.map} +1 -1
  50. package/dist/app/server/assets/{device-BZ4y-E2N.js → device-DdFMgYe2.js} +2 -2
  51. package/dist/app/server/assets/{device-BZ4y-E2N.js.map → device-DdFMgYe2.js.map} +1 -1
  52. package/dist/app/server/assets/{login-CjuB_VS0.js → login-BLq3tEEr.js} +2 -2
  53. package/dist/app/server/assets/{login-CjuB_VS0.js.map → login-BLq3tEEr.js.map} +1 -1
  54. package/dist/app/server/assets/{login-Bg-SgUPB.js → login-DCIrAbED.js} +2 -2
  55. package/dist/app/server/assets/{login-Bg-SgUPB.js.map → login-DCIrAbED.js.map} +1 -1
  56. package/dist/app/server/assets/resolveError-CZXXvCJR.js +2 -0
  57. package/dist/app/server/assets/resolveError-CZXXvCJR.js.map +1 -0
  58. package/dist/app/server/assets/{router-CgfMJRtY.js → router-CVpW2pLN.js} +2 -2
  59. package/dist/app/server/assets/{router-CgfMJRtY.js.map → router-CVpW2pLN.js.map} +1 -1
  60. package/dist/app/server/assets/{routes-Ctp_fxq6.js → routes-BLQdKqcZ.js} +2 -2
  61. package/dist/app/server/assets/{routes-Ctp_fxq6.js.map → routes-BLQdKqcZ.js.map} +1 -1
  62. package/dist/app/server/assets/{routes-CovGQQTu.js → routes-Bv6WzsSR.js} +2 -2
  63. package/dist/app/server/assets/{routes-CovGQQTu.js.map → routes-Bv6WzsSR.js.map} +1 -1
  64. package/dist/app/server/assets/{server-DntbqNLa.js → server-CdY9cmnv.js} +2 -2
  65. package/dist/app/server/assets/{server-DntbqNLa.js.map → server-CdY9cmnv.js.map} +1 -1
  66. package/dist/app/server/index.js +36 -36
  67. package/dist/app/server/index.js.map +1 -1
  68. package/dist/client/Auth.d.ts +3 -3
  69. package/dist/client/Auth.d.ts.map +1 -1
  70. package/dist/client/Auth.js +2 -5
  71. package/dist/client/Auth.js.map +1 -1
  72. package/dist/internal/Auth.d.ts +54 -1
  73. package/dist/internal/Auth.d.ts.map +1 -1
  74. package/dist/internal/Auth.js +34 -4
  75. package/dist/internal/Auth.js.map +1 -1
  76. package/dist/internal/ErrorResponse.d.ts +5 -0
  77. package/dist/internal/ErrorResponse.d.ts.map +1 -1
  78. package/dist/internal/ErrorResponse.js +9 -0
  79. package/dist/internal/ErrorResponse.js.map +1 -1
  80. package/package.json +3 -3
  81. package/src/App.ts +35 -2
  82. package/src/api/authenticate.ts +66 -43
  83. package/src/api/lib/Auth.ts +10 -0
  84. package/src/app/env.ts +6 -0
  85. package/src/app/routes/[_].flows.tsx +20 -0
  86. package/src/app/void.config.ts +1 -1
  87. package/src/client/Auth.ts +5 -7
  88. package/src/internal/Auth.ts +44 -3
  89. package/src/internal/ErrorResponse.ts +11 -0
  90. package/dist/app/client/assets/Authentication-BRNa6hLl.js +0 -2
  91. package/dist/app/server/assets/Authentication-BTRnvIS2.js +0 -2
  92. package/dist/app/server/assets/Bytes-YtuDjUWf.js +0 -4
  93. package/dist/app/server/assets/Bytes-YtuDjUWf.js.map +0 -1
  94. package/dist/app/server/assets/ExecutionError-8dTWQofq.js +0 -9
  95. package/dist/app/server/assets/ExecutionError-8dTWQofq.js.map +0 -1
  96. package/dist/app/server/assets/call-BaWxWyrp.js.map +0 -1
  97. package/dist/app/server/assets/resolveError-Bfc5wi2v.js +0 -2
  98. package/dist/app/server/assets/resolveError-Bfc5wi2v.js.map +0 -1
package/README.md CHANGED
@@ -43,7 +43,7 @@ Tempo ID is one package, `@tempoxyz/id`. An app calls Tempo's deployment, or run
43
43
 
44
44
  ### Hosted
45
45
 
46
- Tempo runs Tempo ID at `https://id.tempo.xyz`, and its current production deployment at `https://id.tehq.dev`. A JavaScript app signs in through the client entry:
46
+ Tempo runs Tempo ID at `https://id.tempo.xyz`. A JavaScript app signs in through the client entry:
47
47
 
48
48
  ```ts
49
49
  import { Actions, Auth } from '@tempoxyz/id/client'
@@ -66,23 +66,23 @@ npx tempo-id init my-id --from "Tempo ID <noreply@id.example.com>" --url https:/
66
66
 
67
67
  ## Playgrounds
68
68
 
69
- [`playgrounds/`](playgrounds/README.md) holds one app per flow, deployed beside `https://id.tehq.dev`.
69
+ [`playgrounds/`](playgrounds/README.md) holds one app per flow, deployed beside `https://id.tempo.xyz`.
70
70
 
71
- | Playground | Directory | URL |
72
- | --------------------- | ---------------------------------------------------- | -------------------------------------------------------------------------------- |
73
- | Web | [`playgrounds/web`](playgrounds/web) | [id-playground-web.tehq.dev](https://id-playground-web.tehq.dev) |
74
- | Web, Tempo Cash realm | [`playgrounds/web`](playgrounds/web) | [id-playground-web-cash.tehq.dev](https://id-playground-web-cash.tehq.dev) |
75
- | Web, both realms | [`playgrounds/web`](playgrounds/web) | [id-playground-web-shared.tehq.dev](https://id-playground-web-shared.tehq.dev) |
76
- | Third-party | [`playgrounds/third-party`](playgrounds/third-party) | [id-playground-third-party.tehq.dev](https://id-playground-third-party.tehq.dev) |
77
- | Backend | [`playgrounds/backend`](playgrounds/backend) | [id-playground-backend.tehq.dev](https://id-playground-backend.tehq.dev) |
78
- | API | [`playgrounds/api`](playgrounds/api) | [id-playground-api.tehq.dev/me](https://id-playground-api.tehq.dev/me) |
79
- | Mobile | [`playgrounds/mobile`](playgrounds/mobile) | none |
80
- | CLI | [`playgrounds/cli`](playgrounds/cli) | none |
71
+ | Playground | Directory | URL |
72
+ | --------------------- | ---------------------------------------------------- | ---------------------------------------------------------------------------------- |
73
+ | Web | [`playgrounds/web`](playgrounds/web) | [id-playground-web.tempo.xyz](https://id-playground-web.tempo.xyz) |
74
+ | Web, Tempo Cash realm | [`playgrounds/web`](playgrounds/web) | [id-playground-web-cash.tempo.xyz](https://id-playground-web-cash.tempo.xyz) |
75
+ | Web, both realms | [`playgrounds/web`](playgrounds/web) | [id-playground-web-shared.tempo.xyz](https://id-playground-web-shared.tempo.xyz) |
76
+ | Third-party | [`playgrounds/third-party`](playgrounds/third-party) | [id-playground-third-party.tempo.xyz](https://id-playground-third-party.tempo.xyz) |
77
+ | Backend | [`playgrounds/backend`](playgrounds/backend) | [id-playground-backend.tempo.xyz](https://id-playground-backend.tempo.xyz) |
78
+ | API | [`playgrounds/api`](playgrounds/api) | [id-playground-api.tempo.xyz/me](https://id-playground-api.tempo.xyz/me) |
79
+ | Mobile | [`playgrounds/mobile`](playgrounds/mobile) | none |
80
+ | CLI | [`playgrounds/cli`](playgrounds/cli) | none |
81
81
 
82
- To run the CLI playground against `https://id.tehq.dev`, run each command from the repository root:
82
+ To run the CLI playground against `https://id.tempo.xyz`, run each command from the repository root:
83
83
 
84
84
  ```sh
85
- export TEMPO_ID_URL=https://id.tehq.dev
85
+ export TEMPO_ID_URL=https://id.tempo.xyz
86
86
  pnpm --filter @tempoxyz/example-id-cli start login # approve the code on /device
87
87
  pnpm --filter @tempoxyz/example-id-cli start whoami # print the signed-in account
88
88
  ```
package/dist/App.d.ts CHANGED
@@ -85,6 +85,11 @@ export declare namespace create {
85
85
  * unreadable.
86
86
  */
87
87
  secret: string;
88
+ /**
89
+ * The lowercase domains where a sign-up creates an account, such as `['tempo.xyz']`. An existing
90
+ * account at any domain still signs in. Absent, every verified address can create an account.
91
+ */
92
+ signUpDomains?: readonly string[] | undefined;
88
93
  /** Receives the sign-in codes of a test domain instead of email, as on a preview. */
89
94
  testInbox?: {
90
95
  /** The inbox's `Capture` entrypoint, through a service binding. */
package/dist/App.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../src/App.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAI/C,OAAO,KAAK,KAAK,SAAS,MAAM,yBAAyB,CAAA;AACzD,OAAO,KAAK,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAEnD,sDAAsD;AACtD,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,SAAkB,IAAI,4BAA2B;CAClD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAoDjE;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAK,OAAO,GAAG;QACb;;;;WAIG;QACH,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC5B;;;WAGG;QACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC7B;;;WAGG;QACH,cAAc,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,SAAS,CAAA;QACvD;;;;;;WAMG;QACH,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;QACpD;;;WAGG;QACH,EAAE,EAAE;YACF,sCAAsC;YACtC,gBAAgB,EAAE,MAAM,CAAA;SACzB,CAAA;QACD,kDAAkD;QAClD,KAAK,EAAE;YACL,0DAA0D;YAC1D,OAAO,EAAE,YAAY,CAAA;YACrB,8EAA8E;YAC9E,IAAI,EAAE,MAAM,CAAA;SACb,CAAA;QACD,gFAAgF;QAChF,KAAK,CAAC,EACF;YACE,kEAAkE;YAClE,UAAU,EAAE,MAAM,CAAA;SACnB,GACD,SAAS,CAAA;QACb;;;WAGG;QACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC3B;;;;WAIG;QACH,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC5B;;;WAGG;QACH,MAAM,EAAE,MAAM,CAAA;QACd,qFAAqF;QACrF,SAAS,CAAC,EACN;YACE,mEAAmE;YACnE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAA;YAC1B,yFAAyF;YACzF,MAAM,EAAE,MAAM,CAAA;SACf,GACD,SAAS,CAAA;QACb,oFAAoF;QACpF,GAAG,EAAE,MAAM,CAAA;QACX;;;WAGG;QACH,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAA;KACpC,CAAA;IAED,KAAK,UAAU,GAAG;QAChB,sCAAsC;QACtC,KAAK,EAAE,CACL,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,GAAG,EAAE,OAAO,KACT,OAAO,CAAC,QAAQ,CAAC,CAAA;QACtB,sEAAsE;QACtE,SAAS,EAAE,CACT,UAAU,EAAE,OAAO,EACnB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,GAAG,EAAE,OAAO,KACT,OAAO,CAAC,IAAI,CAAC,CAAA;KACnB,CAAA;IAED,KAAK,SAAS,GAAG,kBAAkB,CAAA;CACpC;AAED,uDAAuD;AACvD,MAAM,MAAM,YAAY,GAAG;IACzB,uBAAuB;IACvB,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAC3C,CAAA"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../src/App.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAI/C,OAAO,KAAK,KAAK,SAAS,MAAM,yBAAyB,CAAA;AACzD,OAAO,KAAK,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAEnD,sDAAsD;AACtD,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,SAAkB,IAAI,4BAA2B;CAClD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAsDjE;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAK,OAAO,GAAG;QACb;;;;WAIG;QACH,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC5B;;;WAGG;QACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC7B;;;WAGG;QACH,cAAc,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,SAAS,CAAA;QACvD;;;;;;WAMG;QACH,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;QACpD;;;WAGG;QACH,EAAE,EAAE;YACF,sCAAsC;YACtC,gBAAgB,EAAE,MAAM,CAAA;SACzB,CAAA;QACD,kDAAkD;QAClD,KAAK,EAAE;YACL,0DAA0D;YAC1D,OAAO,EAAE,YAAY,CAAA;YACrB,8EAA8E;YAC9E,IAAI,EAAE,MAAM,CAAA;SACb,CAAA;QACD,gFAAgF;QAChF,KAAK,CAAC,EACF;YACE,kEAAkE;YAClE,UAAU,EAAE,MAAM,CAAA;SACnB,GACD,SAAS,CAAA;QACb;;;WAGG;QACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC3B;;;;WAIG;QACH,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC5B;;;WAGG;QACH,MAAM,EAAE,MAAM,CAAA;QACd;;;WAGG;QACH,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;QAC7C,qFAAqF;QACrF,SAAS,CAAC,EACN;YACE,mEAAmE;YACnE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAA;YAC1B,yFAAyF;YACzF,MAAM,EAAE,MAAM,CAAA;SACf,GACD,SAAS,CAAA;QACb,oFAAoF;QACpF,GAAG,EAAE,MAAM,CAAA;QACX;;;WAGG;QACH,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAA;KACpC,CAAA;IAED,KAAK,UAAU,GAAG;QAChB,sCAAsC;QACtC,KAAK,EAAE,CACL,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,GAAG,EAAE,OAAO,KACT,OAAO,CAAC,QAAQ,CAAC,CAAA;QACtB,sEAAsE;QACtE,SAAS,EAAE,CACT,UAAU,EAAE,OAAO,EACnB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,GAAG,EAAE,OAAO,KACT,OAAO,CAAC,IAAI,CAAC,CAAA;KACnB,CAAA;IAED,KAAK,SAAS,GAAG,kBAAkB,CAAA;CACpC;AAED,uDAAuD;AACvD,MAAM,MAAM,YAAY,GAAG;IACzB,uBAAuB;IACvB,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAC3C,CAAA"}
package/dist/App.js CHANGED
@@ -29,7 +29,7 @@ export class InvalidOptionError extends Error {
29
29
  */
30
30
  export function create(options) {
31
31
  validate(options);
32
- const { apiUrls, cacheTtl, clientMetadata, configurableAccounts, db, email, privy, rpcUrl, rpcUrls, secret, testInbox, url, wallet, } = options;
32
+ const { apiUrls, cacheTtl, clientMetadata, configurableAccounts, db, email, privy, rpcUrl, rpcUrls, secret, signUpDomains, testInbox, url, wallet, } = options;
33
33
  // Each handler has a cache of its own, so two handlers in one Worker never share configuration. It
34
34
  // holds no request's I/O, so the isolate's requests share it.
35
35
  const cache = Cache.create({ ttl: (cacheTtl ?? 30) * 1000 });
@@ -49,6 +49,7 @@ export function create(options) {
49
49
  RPC_URLS: rpcUrls,
50
50
  SECRET: secret,
51
51
  SEND_EMAIL: email.binding,
52
+ SIGN_UP_DOMAINS: signUpDomains?.join(','),
52
53
  TEMPO_API_URLS: apiUrls,
53
54
  TEMPO_RPC_URL: rpcUrl,
54
55
  TEST_EMAIL_DOMAIN: testInbox?.domain,
@@ -63,7 +64,7 @@ export function create(options) {
63
64
  }
64
65
  /** Throws when an option is absent or invalid, since bindings and secrets escape type checks. */
65
66
  function validate(options) {
66
- const { cacheTtl, configurableAccounts, db, email, privy, secret, url } = options;
67
+ const { cacheTtl, configurableAccounts, db, email, privy, secret, signUpDomains, url, } = options;
67
68
  if (cacheTtl !== undefined &&
68
69
  (typeof cacheTtl !== 'number' ||
69
70
  !Number.isFinite(cacheTtl) ||
@@ -87,6 +88,16 @@ function validate(options) {
87
88
  throw new InvalidOptionError('Invalid `url`. Pass the origin that serves Tempo ID, such as `https://id.example.com`, without a path.');
88
89
  if (privy && !privy.privateKey)
89
90
  throw new InvalidOptionError('Invalid `privy`. Pass `privateKey`, or leave `privy` out.');
91
+ // Each label is a hostname label, as the email validator requires, so every listed domain can
92
+ // sign up.
93
+ if (signUpDomains &&
94
+ (signUpDomains.length === 0 ||
95
+ !signUpDomains.every((domain) => {
96
+ const labels = domain.split('.');
97
+ return (labels.length > 1 &&
98
+ labels.every((label) => /^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$/.test(label)));
99
+ })))
100
+ throw new InvalidOptionError(`Invalid \`signUpDomains\`: ${JSON.stringify(signUpDomains)}. Pass lowercase domains, such as \`['tempo.xyz']\`, or leave \`signUpDomains\` out.`);
90
101
  if (configurableAccounts)
91
102
  configurable(options);
92
103
  }
package/dist/App.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../src/App.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,QAAQ,MAAM,MAAM,CAAA;AAE3B,OAAO,KAAK,KAAK,MAAM,qBAAqB,CAAA;AAC5C,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAA;AACpD,OAAO,KAAK,UAAU,MAAM,0BAA0B,CAAA;AAItD,sDAAsD;AACtD,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IACzB,IAAI,GAAG,wBAAwB,CAAA;CAClD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,MAAM,CAAC,OAAuB;IAC5C,QAAQ,CAAC,OAAO,CAAC,CAAA;IAEjB,MAAM,EACJ,OAAO,EACP,QAAQ,EACR,cAAc,EACd,oBAAoB,EACpB,EAAE,EACF,KAAK,EACL,KAAK,EACL,MAAM,EACN,OAAO,EACP,MAAM,EACN,SAAS,EACT,GAAG,EACH,MAAM,GACP,GAAG,OAAO,CAAA;IAEX,mGAAmG;IACnG,8DAA8D;IAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAA;IAE5D,4FAA4F;IAC5F,4FAA4F;IAC5F,MAAM,QAAQ,GAAG,CAAC,GAA4B,EAAE,EAAE,CAAC,CAAC;QAClD,GAAG,GAAG;QACN,iBAAiB,EAAE,KAAK,CAAC,IAAI;QAC7B,KAAK,EAAE,KAAK;QACZ,eAAe,EAAE,cAAc;QAC/B,qBAAqB,EAAE,oBAAoB,EAAE,IAAI,CAAC,GAAG,CAAC;QACtD,+FAA+F;QAC/F,4EAA4E;QAC5E,YAAY,EAAE,EAAE,CAAC,gBAAgB;QACjC,UAAU,EAAE,SAAS;QACrB,qBAAqB,EAAE,KAAK,EAAE,UAAU;QACxC,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,KAAK,CAAC,OAAO;QACzB,cAAc,EAAE,OAAO;QACvB,aAAa,EAAE,MAAM;QACrB,iBAAiB,EAAE,SAAS,EAAE,MAAM;QACpC,UAAU,EAAE,SAAS,EAAE,OAAO;QAC9B,GAAG,EAAE,GAAG;QACR,MAAM,EAAE,MAAM;KACf,CAAC,CAAA;IAEF,OAAO;QACL,KAAK,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;QACzE,SAAS,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAClC,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;KACrD,CAAA;AACH,CAAC;AA4GD,iGAAiG;AACjG,SAAS,QAAQ,CAAC,OAAuB;IACvC,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GACrE,OAAO,CAAA;IAET,IACE,QAAQ,KAAK,SAAS;QACtB,CAAC,OAAO,QAAQ,KAAK,QAAQ;YAC3B,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC1B,QAAQ,GAAG,CAAC;YACZ,+EAA+E;YAC/E,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC;QAEpC,MAAM,IAAI,kBAAkB,CAC1B,yBAAyB,MAAM,CAAC,QAAQ,CAAC,wCAAwC,UAAU,CAAC,WAAW,eAAe,CACvH,CAAA;IACH,2FAA2F;IAC3F,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,IAAI;QACvC,MAAM,IAAI,kBAAkB,CAC1B,+FAA+F,CAChG,CAAA;IACH,IAAI,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,KAAK,UAAU;QAC5C,MAAM,IAAI,kBAAkB,CAC1B,wHAAwH,CACzH,CAAA;IACH,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC7D,MAAM,IAAI,kBAAkB,CAC1B,mGAAmG,CACpG,CAAA;IACH,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM;QACvC,MAAM,IAAI,kBAAkB,CAC1B,0GAA0G,CAC3G,CAAA;IAEH,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC9D,IACE,CAAC,MAAM;QACP,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC9C,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QAExC,MAAM,IAAI,kBAAkB,CAC1B,wGAAwG,CACzG,CAAA;IAEH,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU;QAC5B,MAAM,IAAI,kBAAkB,CAC1B,2DAA2D,CAC5D,CAAA;IACH,IAAI,oBAAoB;QAAE,YAAY,CAAC,OAAO,CAAC,CAAA;AACjD,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,OAAuB;IAC3C,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;IACzD,MAAM,KAAK,GAAG,oBAAoB,IAAI,EAAE,CAAA;IACxC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QACpB,MAAM,IAAI,kBAAkB,CAC1B,wHAAwH,CACzH,CAAA;IAEH,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC;QACtC,MAAM;QACN,OAAO;QACP,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;KACvB,CAAC,CAAA;IACF,KAAK,MAAM,IAAI,IAAI,KAAK;QACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;YAChD,MAAM,IAAI,kBAAkB,CAC1B,uCAAuC,IAAI,wFAAwF,CACpI,CAAA;IAEL,MAAM,MAAM,GAAG;QACb,EAAE,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QACnD,EAAE,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QACnD,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;KACtC,CAAA;IACD,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CACxB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAC1E,CAAA;QACD,IAAI,MAAM;YACR,MAAM,IAAI,kBAAkB,CAC1B,uCAAuC,KAAK,CAAC,IAAI,YAAY,MAAM,CAAC,IAAI,kBAAkB,KAAK,CAAC,OAAO,cAAc,MAAM,CAAC,IAAI,sCAAsC,CACvK,CAAA;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../src/App.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{n as e}from"./rolldown-runtime-WkwZ5CU-.js";import{Zn as t}from"./zyzz.config-DX_D_7j3.js";import{E as n,T as r,b as i,c as a,h as o,i as s,j as c,o as l,t as u}from"./removable-DMiA3t_o.js";var d=class extends u{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||f(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??(this.state.status===`pending`?this.execute(this.state.variables):Promise.resolve())}async execute(e){let t=()=>{this.#i({type:`continue`})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey},r=this.#r=s({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)}),i=this.state.status===`pending`,a=!r.canStart();try{if(i)t();else{this.#i({type:`pending`,variables:e,isPaused:a}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:a})}let o=await r.start();return await this.#n.config.onSuccess?.(o,e,this.state.context,this,n),await this.options.onSuccess?.(o,e,this.state.context,n),await this.#n.config.onSettled?.(o,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(o,null,e,this.state.context,n),this.#i({type:`success`,data:o}),o}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,n)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,n)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#r===r&&(this.#r=void 0),this.#n.runNext(this)}}#i(e){let t=t=>{switch(e.type){case`failed`:return{...t,failureCount:e.failureCount,failureReason:e.error};case`pause`:return{...t,isPaused:!0};case`continue`:return{...t,isPaused:!1};case`pending`:return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:`pending`,variables:e.variables,submittedAt:Date.now()};case`success`:return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:`error`}}};this.state=t(this.state),l.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function f(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var p=class extends a{#e;#t=void 0;#n;#r;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#i()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),r(this.options,t)||this.#e.getMutationCache().notify({type:`observerOptionsUpdated`,mutation:this.#n,observer:this}),t?.mutationKey&&this.options.mutationKey&&o(t.mutationKey)!==o(this.options.mutationKey)?this.reset():this.#n?.state.status===`pending`&&this.#n.setOptions(this.options)}onSubscribe(){this.listeners.size===1&&this.#n&&(this.#n.addObserver(this),this.#i())}onUnsubscribe(){this.hasListeners()||this.#n?.removeObserver(this)}onMutationUpdate(e){this.#i(),this.#a(e)}getCurrentResult(){return this.#t}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#i(),this.#a()}mutate(e,t){return this.#r=t,this.#n?.removeObserver(this),this.#n=this.#e.getMutationCache().build(this.#e,this.options),this.#n.addObserver(this),this.#n.execute(e)}#i(){let e=this.#n?.state??f();this.#t={...e,isPending:e.status===`pending`,isSuccess:e.status===`success`,isError:e.status===`error`,isIdle:e.status===`idle`,mutate:this.mutate,reset:this.reset}}#a(e){l.batch(()=>{if(this.#r&&this.hasListeners()){let t=this.#t.variables,n=this.#t.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type===`success`){try{this.#r.onSuccess?.(e.data,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(e.data,null,t,n,r)}catch(e){Promise.reject(e)}}else if(e?.type===`error`){try{this.#r.onError?.(e.error,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(void 0,e.error,t,n,r)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#t)})})}},m=e(t(),1);function h(e,t){let r=c(t),[a]=m.useState(()=>new p(r,e));m.useEffect(()=>{a.setOptions(e)},[a,e]);let o=m.useSyncExternalStore(m.useCallback(e=>a.subscribe(l.batchCalls(e)),[a]),()=>a.getCurrentResult(),()=>a.getCurrentResult()),s=m.useCallback((...e)=>{a.mutate(e[0],e[1]).catch(i)},[a]);if(o.error&&n(a.options.throwOnError,[o.error]))throw o.error;return{...o,mutate:s,mutateAsync:o.mutate}}var g=BigInt(0),_=BigInt(1);function v(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function y(e){if(!v(e))throw Error(`Uint8Array expected`)}function b(e,t){if(typeof t!=`boolean`)throw Error(e+` boolean expected, got `+t)}function x(e){let t=e.toString(16);return t.length&1?`0`+t:t}function S(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return e===``?g:BigInt(`0x`+e)}var C=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,ee=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function w(e){if(y(e),C)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=ee[e[n]];return t}var T={_0:48,_9:57,A:65,F:70,a:97,f:102};function te(e){if(e>=T._0&&e<=T._9)return e-T._0;if(e>=T.A&&e<=T.F)return e-(T.A-10);if(e>=T.a&&e<=T.f)return e-(T.a-10)}function ne(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(C)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=te(e.charCodeAt(i)),a=te(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 E(e){return S(w(e))}function re(e){return y(e),S(w(Uint8Array.from(e).reverse()))}function ie(e,t){return ne(e.toString(16).padStart(t*2,`0`))}function ae(e,t){return ie(e,t).reverse()}function D(e,t,n){let r;if(typeof t==`string`)try{r=ne(t)}catch(t){throw Error(e+` must be hex string or Uint8Array, cause: `+t)}else if(v(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 oe(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];y(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}var se=e=>typeof e==`bigint`&&g<=e;function ce(e,t,n){return se(e)&&se(t)&&se(n)&&t<=e&&e<n}function O(e,t,n,r){if(!ce(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function le(e){let t=0;for(;e>g;e>>=_,t+=1);return t}var ue=e=>(_<<BigInt(e))-_,de=e=>new Uint8Array(e),fe=e=>Uint8Array.from(e);function pe(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=de(e),i=de(e),a=0,o=()=>{r.fill(1),i.fill(0),a=0},s=(...e)=>n(i,r,...e),c=(e=de(0))=>{i=s(fe([0]),e),r=s(),e.length!==0&&(i=s(fe([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 oe(...n)};return(e,t)=>{o(),c(e);let n;for(;!(n=t(l()));)c();return o(),n}}var me={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`||v(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)};function he(e,t,n={}){let r=(t,n,r)=>{let i=me[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 ge(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 _e=`0.1.1`;function ve(){return _e}var k=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(`
2
+ `);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 ye(this,e)}};Object.defineProperty(k,"defaultStaticOptions",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:`https://oxlib.sh`,showVersion:!1,version:`ox@${ve()}`}}),k.setStaticOptions(k.defaultStaticOptions);function ye(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause?ye(e.cause,t):t?null:e}function be(e,t){if(Qe(e)>t)throw new rt({givenSize:Qe(e),maxSize:t})}var A={zero:48,nine:57,A:65,F:70,a:97,f:102};function xe(e){if(e>=A.zero&&e<=A.nine)return e-A.zero;if(e>=A.A&&e<=A.F)return e-(A.A-10);if(e>=A.a&&e<=A.f)return e-(A.a-10)}function Se(e,t={}){let{dir:n,size:r=32}=t;if(r===0)return e;if(e.length>r)throw new it({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 Ce(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}function we(e,t){if(N(e)>t)throw new He({givenSize:N(e),maxSize:t})}function Te(e,t){if(typeof t==`number`&&t>0&&t>N(e)-1)throw new Ue({offset:t,position:`start`,size:N(e)})}function Ee(e,t,n){if(typeof t==`number`&&typeof n==`number`&&N(e)!==n-t)throw new Ue({offset:n,position:`end`,size:N(e)})}function De(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 We({size:Math.ceil(i.length/2),targetSize:r,type:`Hex`});return`0x${i[n===`right`?`padEnd`:`padStart`](r*2,`0`)}`}var Oe=`#__bigint`;function ke(e,t,n){return JSON.stringify(e,(e,n)=>typeof t==`function`?t(e,n):typeof n==`bigint`?n.toString()+Oe:n,n)}var Ae=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function je(e,t={}){let{even:n=!1,strict:r=!1}=t;if(!e||typeof e!=`string`)throw new ze(e);if(r&&!/^0x[0-9a-fA-F]*$/.test(e)||!e.startsWith(`0x`))throw new Be(e);if(n&&e.length%2!=0)throw new Ve(e)}function Me(...e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}function Ne(e){return e instanceof Uint8Array?Pe(e):Array.isArray(e)?Pe(new Uint8Array(e)):e}function Pe(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=Ae[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(we(r,t.size),Ie(r,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 Re({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?Fe(s,r):s}function Fe(e,t){return De(e,{dir:`left`,size:t})}function Ie(e,t){return De(e,{dir:`right`,size:t})}function M(e,t,n,r={}){let{strict:i}=r;Te(e,t);let a=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return i&&Ee(a,t,n),a}function N(e){return Math.ceil((e.length-2)/2)}function Le(e,t={}){let{even:n=!1,strict:r=!1}=t;try{return je(e,{even:n,strict:r}),!0}catch{return!1}}var Re=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}\`)`}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.IntegerOutOfRangeError`})}},ze=class extends k{constructor(e){super(`Value \`${typeof e==`object`?ke(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`})}},Be=class extends k{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`})}},Ve=class extends k{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`})}},He=class extends k{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`})}},Ue=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}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SliceOffsetOutOfBoundsError`})}},We=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}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SizeExceedsPaddingSizeError`})}},Ge=new TextDecoder,Ke=new TextEncoder;function qe(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 nt(e)}function Je(e){return e instanceof Uint8Array?e:typeof e==`string`?P(e):Ye(e)}function Ye(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function P(e,t={}){let{size:n}=t,r=e;n&&(we(e,n),r=Ie(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=xe(i.charCodeAt(t++)),r=xe(i.charCodeAt(t++));if(n===void 0||r===void 0)throw new k(`Invalid byte sequence ("${i[t-2]}${i[t-1]}" in "${i}").`);o[e]=n<<4|r}return o}function Xe(e,t={}){let{size:n}=t,r=Ke.encode(e);return typeof n==`number`?(be(r,n),Ze(r,n)):r}function Ze(e,t){return Se(e,{dir:`right`,size:t})}function Qe(e){return e.length}function $e(e,t={}){let{size:n}=t,r=e;return n!==void 0&&(be(r,n),r=et(r)),Ge.decode(r)}function et(e){return Ce(e,{dir:`right`})}function tt(e){try{return qe(e),!0}catch{return!1}}var nt=class extends k{constructor(e){super(`Value \`${typeof e==`object`?ke(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`})}},rt=class extends k{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`})}},it=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}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SizeExceedsPaddingSizeError`})}},at=new TextEncoder,ot=new TextDecoder,st=Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[t,e.charCodeAt(0)])),ct={...Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[e.charCodeAt(0),t])),61:0,45:62,95:63};function lt(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]=st[r>>18],i[t+1]=st[r>>12&63],i[t+2]=st[r>>6&63],i[t+3]=st[r&63]}let a=e.length%3,o=Math.floor(e.length/3)*4+(a&&a+1),s=ot.decode(new Uint8Array(i.buffer,0,o));return n&&a===1&&(s+=`==`),n&&a===2&&(s+=`=`),r&&(s=s.replaceAll(`+`,`-`).replaceAll(`/`,`_`)),s}function F(e){let t=e.replace(/=+$/,``),n=t.length,r=new Uint8Array(n+3);at.encodeInto(t+`===`,r);for(let e=0,n=0;e<t.length;e+=4,n+=3){let t=(ct[r[e]]<<18)+(ct[r[e+1]]<<12)+(ct[r[e+2]]<<6)+ct[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)}var I=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0;function ut(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function dt(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function L(e,...t){if(!ut(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 ft(e){if(typeof e!=`function`||typeof e.create!=`function`)throw Error(`Hash should be wrapped by utils.createHasher`);dt(e.outputLen),dt(e.blockLen)}function pt(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 mt(e,t){L(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}function ht(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function R(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function gt(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function z(e,t){return e<<32-t|e>>>t}var _t=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function vt(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function yt(e){for(let t=0;t<e.length;t++)e[t]=vt(e[t]);return e}var bt=_t?e=>e:yt;function xt(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function St(e){return typeof e==`string`&&(e=xt(e)),L(e),e}function Ct(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];L(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}var wt=class{};function Tt(e){let t=t=>e().update(St(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function Et(e=32){if(I&&typeof I.getRandomValues==`function`)return I.getRandomValues(new Uint8Array(e));if(I&&typeof I.randomBytes==`function`)return Uint8Array.from(I.randomBytes(e));throw Error(`crypto.getRandomValues must be defined`)}var Dt=class extends wt{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,ft(e);let n=St(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),R(i)}update(e){return pt(this),this.iHash.update(e),this}digestInto(e){pt(this),L(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()}},Ot=(e,t,n)=>new Dt(e,t).update(n).digest();Ot.create=(e,t)=>new Dt(e,t);function kt(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 At(e,t,n){return e&t^~e&n}function jt(e,t,n){return e&t^e&n^t&n}var Mt=class extends wt{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=gt(this.buffer)}update(e){pt(this),e=St(e),L(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=gt(e);for(;r<=i-a;a+=r)this.process(t,a)}else 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){pt(this),mt(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,R(this.buffer.subarray(a)),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;kt(n,r-8,BigInt(this.length*8),i),this.process(n,0);let o=gt(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()}},B=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),V=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),H=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]),Nt=BigInt(2**32-1),Pt=BigInt(32);function Ft(e,t=!1){return t?{h:Number(e&Nt),l:Number(e>>Pt&Nt)}:{h:Number(e>>Pt&Nt)|0,l:Number(e&Nt)|0}}function It(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}=Ft(e[a],t);[r[a],i[a]]=[n,o]}return[r,i]}var Lt=(e,t,n)=>e>>>n,Rt=(e,t,n)=>e<<32-n|t>>>n,zt=(e,t,n)=>e>>>n|t<<32-n,Bt=(e,t,n)=>e<<32-n|t>>>n,Vt=(e,t,n)=>e<<64-n|t>>>n-32,Ht=(e,t,n)=>e>>>n-32|t<<64-n,Ut=(e,t,n)=>e<<n|t>>>32-n,Wt=(e,t,n)=>t<<n|e>>>32-n,Gt=(e,t,n)=>t<<n-32|e>>>64-n,Kt=(e,t,n)=>e<<n-32|t>>>64-n;function U(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var qt=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),Jt=(e,t,n,r)=>t+n+r+(e/2**32|0)|0,Yt=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),Xt=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0,Zt=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0),Qt=(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0,$t=BigInt(0),en=BigInt(1),tn=BigInt(2),nn=BigInt(7),rn=BigInt(256),an=BigInt(113),on=[],sn=[],cn=[];for(let e=0,t=en,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],on.push(2*(5*r+n)),sn.push((e+1)*(e+2)/2%64);let i=$t;for(let e=0;e<7;e++)t=(t<<en^(t>>nn)*an)%rn,t&tn&&(i^=en<<(en<<BigInt(e))-en);cn.push(i)}var ln=It(cn,!0),un=ln[0],dn=ln[1],fn=(e,t,n)=>n>32?Gt(e,t,n):Ut(e,t,n),pn=(e,t,n)=>n>32?Kt(e,t,n):Wt(e,t,n);function mn(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=fn(a,o,1)^n[r],c=pn(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=sn[n],a=fn(t,i,r),o=pn(t,i,r),s=on[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]^=un[r],e[1]^=dn[r]}R(n)}var hn=class e extends wt{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,dt(n),!(0<e&&e<200))throw Error(`only keccak-f1600 function is supported`);this.state=new Uint8Array(200),this.state32=ht(this.state)}clone(){return this._cloneInto()}keccak(){bt(this.state32),mn(this.state32,this.rounds),bt(this.state32),this.posOut=0,this.pos=0}update(e){pt(this),e=St(e),L(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){pt(this,!1),L(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 dt(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(mt(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,R(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}},gn=((e,t,n)=>Tt(()=>new hn(t,e,n)))(1,136,32),_n=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]),W=new Uint32Array(64),vn=class extends Mt{constructor(e=32){super(64,e,8,!1),this.A=B[0]|0,this.B=B[1]|0,this.C=B[2]|0,this.D=B[3]|0,this.E=B[4]|0,this.F=B[5]|0,this.G=B[6]|0,this.H=B[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)W[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=W[e-15],n=W[e-2],r=z(t,7)^z(t,18)^t>>>3,i=z(n,17)^z(n,19)^n>>>10;W[e]=i+W[e-7]+r+W[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=z(o,6)^z(o,11)^z(o,25),u=l+t+At(o,s,c)+_n[e]+W[e]|0,d=(z(n,2)^z(n,13)^z(n,22))+jt(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(){R(W)}destroy(){this.set(0,0,0,0,0,0,0,0),R(this.buffer)}},yn=It(`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))),bn=yn[0],xn=yn[1],G=new Uint32Array(80),K=new Uint32Array(80),Sn=class extends Mt{constructor(e=64){super(128,e,16,!1),this.Ah=H[0]|0,this.Al=H[1]|0,this.Bh=H[2]|0,this.Bl=H[3]|0,this.Ch=H[4]|0,this.Cl=H[5]|0,this.Dh=H[6]|0,this.Dl=H[7]|0,this.Eh=H[8]|0,this.El=H[9]|0,this.Fh=H[10]|0,this.Fl=H[11]|0,this.Gh=H[12]|0,this.Gl=H[13]|0,this.Hh=H[14]|0,this.Hl=H[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)G[n]=e.getUint32(t),K[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=G[e-15]|0,n=K[e-15]|0,r=zt(t,n,1)^zt(t,n,8)^Lt(t,n,7),i=Bt(t,n,1)^Bt(t,n,8)^Rt(t,n,7),a=G[e-2]|0,o=K[e-2]|0,s=zt(a,o,19)^Vt(a,o,61)^Lt(a,o,6),c=Yt(i,Bt(a,o,19)^Ht(a,o,61)^Rt(a,o,6),K[e-7],K[e-16]),l=Xt(c,r,s,G[e-7],G[e-16]);G[e]=l|0,K[e]=c|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=zt(u,d,14)^zt(u,d,18)^Vt(u,d,41),v=Bt(u,d,14)^Bt(u,d,18)^Ht(u,d,41),y=u&f^~u&m,b=d&p^~d&h,x=Zt(_,v,b,xn[e],K[e]),S=Qt(x,g,t,y,bn[e],G[e]),C=x|0,ee=zt(n,r,28)^Vt(n,r,34)^Vt(n,r,39),w=Bt(n,r,28)^Ht(n,r,34)^Ht(n,r,39),T=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}=U(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=qt(C,w,te);n=Jt(ne,S,ee,T),r=ne|0}({h:n,l:r}=U(this.Ah|0,this.Al|0,n|0,r|0)),{h:i,l:a}=U(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:s}=U(this.Ch|0,this.Cl|0,o|0,s|0),{h:c,l}=U(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=U(this.Eh|0,this.El|0,u|0,d|0),{h:f,l:p}=U(this.Fh|0,this.Fl|0,f|0,p|0),{h:m,l:h}=U(this.Gh|0,this.Gl|0,m|0,h|0),{h:g,l:_}=U(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(){R(G,K)}destroy(){R(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Cn=class extends Sn{constructor(){super(48),this.Ah=V[0]|0,this.Al=V[1]|0,this.Bh=V[2]|0,this.Bl=V[3]|0,this.Ch=V[4]|0,this.Cl=V[5]|0,this.Dh=V[6]|0,this.Dl=V[7]|0,this.Eh=V[8]|0,this.El=V[9]|0,this.Fh=V[10]|0,this.Fl=V[11]|0,this.Gh=V[12]|0,this.Gl=V[13]|0,this.Hh=V[14]|0,this.Hl=V[15]|0}},wn=Tt(()=>new vn),Tn=Tt(()=>new Sn),En=Tt(()=>new Cn);function Dn(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=gn(Je(e));return n===`Bytes`?r:Pe(r)}var q=BigInt(0),J=BigInt(1),Y=BigInt(2),On=BigInt(3),kn=BigInt(4),An=BigInt(5),jn=BigInt(8);function X(e,t){let n=e%t;return n>=q?n:t+n}function Mn(e,t){if(e===q)throw Error(`invert: expected non-zero number`);if(t<=q)throw Error(`invert: expected positive modulus, got `+t);let n=X(e,t),r=t,i=q,a=J,o=J,s=q;for(;n!==q;){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!==J)throw Error(`invert: does not exist`);return X(i,t)}function Nn(e,t){let n=(e.ORDER+J)/kn,r=e.pow(t,n);if(!e.eql(e.sqr(r),t))throw Error(`Cannot find square root`);return r}function Pn(e,t){let n=(e.ORDER-An)/jn,r=e.mul(t,Y),i=e.pow(r,n),a=e.mul(t,i),o=e.mul(e.mul(a,Y),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 Fn(e){if(e<BigInt(3))throw Error(`sqrt is not defined for small field`);let t=e-J,n=0;for(;t%Y===q;)t/=Y,n++;let r=Y,i=Un(e);for(;Vn(i,r)===1;)if(r++>1e3)throw Error(`Cannot find square root: probably non-prime P`);if(n===1)return Nn;let a=i.pow(r,t),o=(t+J)/Y;return function(e,r){if(e.is0(r))return r;if(Vn(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=J<<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 In(e){return e%kn===On?Nn:e%jn===An?Pn:Fn(e)}var Ln=[`create`,`isValid`,`is0`,`neg`,`inv`,`sqrt`,`sqr`,`eql`,`add`,`sub`,`mul`,`pow`,`div`,`addN`,`subN`,`mulN`,`sqrN`];function Rn(e){return he(e,Ln.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,MASK:`bigint`,BYTES:`isSafeInteger`,BITS:`isSafeInteger`}))}function zn(e,t,n){if(n<q)throw Error(`invalid exponent, negatives unsupported`);if(n===q)return e.ONE;if(n===J)return t;let r=e.ONE,i=t;for(;n>q;)n&J&&(r=e.mul(r,i)),i=e.sqr(i),n>>=J;return r}function Bn(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 Vn(e,t){let n=(e.ORDER-J)/Y,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 Hn(e,t){t!==void 0&&dt(t);let n=t===void 0?e.toString(2).length:t;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function Un(e,t,n=!1,r={}){if(e<=q)throw Error(`invalid field: expected ORDER > 0, got `+e);let{nBitLength:i,nByteLength:a}=Hn(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:ue(i),ZERO:q,ONE:J,create:t=>X(t,e),isValid:t=>{if(typeof t!=`bigint`)throw Error(`invalid field element: expected bigint, got `+typeof t);return q<=t&&t<e},is0:e=>e===q,isOdd:e=>(e&J)===J,neg:t=>X(-t,e),eql:(e,t)=>e===t,sqr:t=>X(t*t,e),add:(t,n)=>X(t+n,e),sub:(t,n)=>X(t-n,e),mul:(t,n)=>X(t*n,e),pow:(e,t)=>zn(s,e,t),div:(t,n)=>X(t*Mn(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>Mn(t,e),sqrt:r.sqrt||(t=>(o||=In(e),o(s,t))),toBytes:e=>n?ae(e,a):ie(e,a),fromBytes:e=>{if(e.length!==a)throw Error(`Field.fromBytes: expected `+a+` bytes, got `+e.length);return n?re(e):E(e)},invertBatch:e=>Bn(s,e),cmov:(e,t,n)=>n?t:e});return Object.freeze(s)}function Wn(e){if(typeof e!=`bigint`)throw Error(`field order must be bigint`);let t=e.toString(2).length;return Math.ceil(t/8)}function Gn(e){let t=Wn(e);return t+Math.ceil(t/2)}function Kn(e,t,n=!1){let r=e.length,i=Wn(t),a=Gn(t);if(r<16||r<a||r>1024)throw Error(`expected `+a+`-1024 bytes of input, got `+r);let o=X(n?re(e):E(e),t-J)+J;return n?ae(o,i):ie(o,i)}var qn=BigInt(0),Jn=BigInt(1);function Yn(e,t){let n=t.negate();return e?n:t}function Xn(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error(`invalid window size, expected [1..`+t+`], got W=`+e)}function Zn(e,t){Xn(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),i=2**e;return{windows:n,windowSize:r,mask:ue(e),maxNumber:i,shiftBy:BigInt(e)}}function Qn(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+=Jn);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 $n(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 er(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)})}var tr=new WeakMap,nr=new WeakMap;function rr(e){return nr.get(e)||1}function ir(e,t){return{constTimeNegate:Yn,hasPrecomputes(e){return rr(e)!==1},unsafeLadder(t,n,r=e.ZERO){let i=t;for(;n>qn;)n&Jn&&(r=r.add(i)),i=i.double(),n>>=Jn;return r},precomputeWindow(e,n){let{windows:r,windowSize:i}=Zn(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=Zn(n,t);for(let e=0;e<s.windows;e++){let{nextN:t,offset:n,isZero:c,isNeg:l,isNegF:u,offsetF:d}=Qn(i,e,s);i=t,c?o=o.add(Yn(u,r[d])):a=a.add(Yn(l,r[n]))}return{p:a,f:o}},wNAFUnsafe(n,r,i,a=e.ZERO){let o=Zn(n,t);for(let e=0;e<o.windows&&i!==qn;e++){let{nextN:t,offset:n,isZero:s,isNeg:c}=Qn(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=tr.get(t);return r||(r=this.precomputeWindow(t,e),e!==1&&tr.set(t,n(r))),r},wNAFCached(e,t,n){let r=rr(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)},wNAFCachedUnsafe(e,t,n,r){let i=rr(e);return i===1?this.unsafeLadder(e,t,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),t,r)},setWindowSize(e,n){Xn(n,t),nr.set(e,n),tr.delete(e)}}}function ar(e,t,n,r){$n(n,e),er(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=le(BigInt(i)),c=1;s>12?c=s-3:s>4?c=s-2:s>0&&(c=2);let l=ue(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 or(e){return Rn(e.Fp),he(e,{n:`bigint`,h:`bigint`,Gx:`field`,Gy:`field`},{nBitLength:`isSafeInteger`,nByteLength:`isSafeInteger`}),Object.freeze({...Hn(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}function sr(e){e.lowS!==void 0&&b(`lowS`,e.lowS),e.prehash!==void 0&&b(`prehash`,e.prehash)}function cr(e){let t=or(e);he(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})}var Z={Err:class extends Error{constructor(e=``){super(e)}},_tlv:{encode:(e,t)=>{let{Err:n}=Z;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=x(r);if(i.length/2&128)throw new n(`tlv.encode: long form length too big`);let a=r>127?x(i.length/2|128):``;return x(e)+a+i+t},decode(e,t){let{Err:n}=Z,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}=Z;if(e<Q)throw new t(`integer: negative integers are not allowed`);let n=x(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}=Z;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 E(e)}},toSig(e){let{Err:t,_int:n,_tlv:r}=Z,i=D(`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}=Z,r=t.encode(2,n.encode(e.r))+t.encode(2,n.encode(e.s));return t.encode(48,r)}};function lr(e,t){return w(ie(e,t))}var Q=BigInt(0),$=BigInt(1),ur=BigInt(3),dr=BigInt(4);function fr(e){let t=cr(e),{Fp:n}=t,r=Un(t.n,t.nBitLength),i=t.toBytes||((e,t,r)=>{let i=t.toAffine();return oe(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,ur),dr),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 ce(e,$,t.n)}function d(e){let{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:i,n:a}=t;if(n&&typeof e!=`bigint`){if(v(e)&&(e=w(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:E(D(`private key`,e,r))}catch{throw Error(`invalid private key, expected hex or `+r+` bytes, got `+typeof e)}return i&&(o=X(o,a)),O(`private key`,o,$,a),o}function f(e){if(!(e instanceof h))throw Error(`ProjectivePoint expected`)}let p=ge((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=ge(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=Bn(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(D(`pointHex`,e)));return t.assertValidity(),t}static fromPrivateKey(e){return h.BASE.multiply(d(e))}static msm(e,t){return ar(h,r,e,t)}_setWindowSize(e){y.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,ur),{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,ur),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 y.wNAFCached(this,e,h.normalizeZ)}multiplyUnsafe(e){let{endo:r,n:i}=t;O(`scalar`,e,Q,i);let a=h.ZERO;if(e===Q)return a;if(this.is0()||e===$)return this;if(!r||y.hasPrecomputes(this))return y.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>Q||l>Q;)s&$&&(u=u.add(f)),l&$&&(d=d.add(f)),f=f.double(),s>>=$,l>>=$;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;O(`scalar`,e,$,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=y.constTimeNegate(t,l),d=y.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===Q||t===$||!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===$)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===$?this:n?n(h,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return b(`isCompressed`,e),this.assertValidity(),i(h,this,e)}toHex(e=!0){return b(`isCompressed`,e),w(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,y=ir(h,g?Math.ceil(_/2):_);return{CURVE:t,ProjectivePoint:h,normPrivateKeyToScalar:d,weierstrassEquation:o,isWithinCurveOrder:u}}function pr(e){let t=or(e);return he(t,{hash:`hash`,hmac:`function`,randomBytes:`function`},{bits2int:`function`,bits2int_modN:`function`,lowS:`boolean`}),Object.freeze({lowS:!0,...t})}function mr(e){let t=pr(e),{Fp:n,n:r,nByteLength:i,nBitLength:a}=t,o=n.BYTES+1,s=2*n.BYTES+1;function c(e){return X(e,r)}function l(e){return Mn(e,r)}let{ProjectivePoint:u,normPrivateKeyToScalar:d,weierstrassEquation:f,isWithinCurveOrder:p}=fr({...t,toBytes(e,t,r){let i=t.toAffine(),a=n.toBytes(i.x),o=oe;return b(`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=E(i);if(!ce(e,$,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&$)===$;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>>$}function h(e){return m(e)?c(-e):e}let g=(e,t,n)=>E(e.slice(t,n));class _{constructor(e,t,n){O(`r`,e,$,r),O(`s`,t,$,r),this.r=e,this.s=t,n!=null&&(this.recovery=n),Object.freeze(this)}static fromCompact(e){let t=i;return e=D(`compactSignature`,e,t*2),new _(g(e,0,t),g(e,t,2*t))}static fromDER(e){let{r:t,s:n}=Z.toSig(D(`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=w(D(`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+lr(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 ne(this.toDERHex())}toDERHex(){return Z.hexFromSig(this)}toCompactRawBytes(){return ne(this.toCompactHex())}toCompactHex(){let e=i;return lr(this.r,e)+lr(this.s,e)}}let y={isValidPrivateKey(e){try{return d(e),!0}catch{return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{let e=Gn(t.n);return Kn(t.randomBytes(e),t.n)},precompute(e=8,t=u.BASE){return t._setWindowSize(e),t.multiply(BigInt(3)),t}};function x(e,t=!0){return u.fromPrivateKey(e).toRawBytes(t)}function S(e){if(typeof e==`bigint`)return!1;if(e instanceof u)return!0;let r=D(`key`,e).length,a=n.BYTES,o=a+1,s=2*a+1;if(!(t.allowedPrivateKeyLengths||i===o))return r===o||r===s}function C(e,t,n=!0){if(S(e)===!0)throw Error(`first arg must be private key`);if(S(t)===!1)throw Error(`second arg must be public key`);return u.fromHex(t).multiply(d(e)).toRawBytes(n)}let ee=t.bits2int||function(e){if(e.length>8192)throw Error(`input is too large`);let t=E(e),n=e.length*8-a;return n>0?t>>BigInt(n):t},w=t.bits2int_modN||function(e){return c(ee(e))},T=ue(a);function te(e){return O(`num < 2^`+a,e,Q,T),ie(e,i)}function re(e,r,i=ae){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=D(`msgHash`,e),sr(i),f&&(e=D(`prehashed msgHash`,a(e)));let v=w(e),y=d(r),b=[te(y),te(v)];if(g!=null&&g!==!1){let e=g===!0?o(n.BYTES):g;b.push(D(`extraEntropy`,e))}let x=oe(...b),S=v;function C(e){let t=ee(e);if(!p(t))return;let n=l(t),r=u.BASE.multiply(t).toAffine(),i=c(r.x);if(i===Q)return;let a=c(n*c(S+i*y));if(a===Q)return;let o=(r.x===i?0:2)|Number(r.y&$),d=a;return s&&m(a)&&(d=h(a),o^=1),new _(i,d,o)}return{seed:x,k2sig:C}}let ae={lowS:t.lowS,prehash:!1},se={lowS:t.lowS,prehash:!1};function le(e,n,r=ae){let{seed:i,k2sig:a}=re(e,n,r),o=t;return pe(o.hash.outputLen,o.nByteLength,o.hmac)(i,a)}u.BASE._setWindowSize(8);function de(e,n,r,i=se){let a=e;n=D(`msgHash`,n),r=D(`publicKey`,r);let{lowS:o,prehash:s,format:d}=i;if(sr(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`||v(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 Z.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:y}=m,b=w(n),x=l(y),S=c(b*x),C=c(g*x),ee=u.BASE.multiplyAndAddUnsafe(h,S,C)?.toAffine();return ee?c(ee.x)===g:!1}return{CURVE:t,getPublicKey:x,getSharedSecret:C,sign:le,verify:de,ProjectivePoint:u,Signature:_,utils:y}}function hr(e){return{hash:e,hmac:(t,...n)=>Ot(e,t,Ct(...n)),randomBytes:Et}}function gr(e,t){let n=t=>mr({...e,...hr(t)});return{...n(t),create:n}}var _r=Un(BigInt(`0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff`)),vr=gr({a:_r.create(BigInt(`-3`)),b:BigInt(`0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b`),Fp:_r,n:BigInt(`0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551`),Gx:BigInt(`0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296`),Gy:BigInt(`0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5`),h:BigInt(1),lowS:!1},wn),yr=Un(BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff`));gr({a:yr.create(BigInt(`-3`)),b:BigInt(`0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef`),Fp:yr,n:BigInt(`0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973`),Gx:BigInt(`0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7`),Gy:BigInt(`0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f`),h:BigInt(1),lowS:!1},En);var br=Un(BigInt(`0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`));gr({a:br.create(BigInt(`-3`)),b:BigInt(`0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00`),Fp:br,n:BigInt(`0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409`),Gx:BigInt(`0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66`),Gy:BigInt(`0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650`),h:BigInt(1),lowS:!1,allowedPrivateKeyLengths:[130,131,132]},Tn);var xr=vr;function Sr(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 Or({prefix:r,cause:new Ar})}else if(n===!0||typeof i==`bigint`&&a===void 0){if(r!==3&&r!==2)throw new Or({prefix:r,cause:new kr})}else throw new Dr({publicKey:e})}function Cr(e){let t=(()=>{if(Le(e))return Tr(e);if(tt(e))return wr(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 Sr(t),t}function wr(e){return Tr(Pe(e))}function Tr(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new jr({publicKey:e});return e.length===130?{prefix:4,x:BigInt(M(e,0,32)),y:BigInt(M(e,32,64))}:e.length===132?{prefix:Number(M(e,0,1)),x:BigInt(M(e,1,33)),y:BigInt(M(e,33,65))}:{prefix:Number(M(e,0,1)),x:BigInt(M(e,1,33))}}function Er(e,t={}){Sr(e);let{prefix:n,x:r,y:i}=e,{includePrefix:a=!0}=t;return Me(a?j(n,{size:1}):`0x`,j(r,{size:32}),typeof i==`bigint`?j(i,{size:32}):`0x`)}var Dr=class extends k{constructor({publicKey:e}){super(`Value \`${ke(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`})}},Or=class extends k{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`})}},kr=class extends k{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`})}},Ar=class extends k{constructor(){super(`Prefix must be 4 for uncompressed public keys.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidUncompressedPrefixError`})}},jr=class extends k{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 ${N(Ne(e))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidSerializedSizeError`})}};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));var Mr=2n**256n-1n;function Nr(e,t={}){let{recovered:n}=t;if(e.r===void 0||e.s===void 0||n&&e.yParity===void 0)throw new Ir({signature:e});if(e.r<0n||e.r>Mr)throw new Lr({value:e.r});if(e.s<0n||e.s>Mr)throw new Rr({value:e.s});if(typeof e.yParity==`number`&&e.yParity!==0&&e.yParity!==1)throw new zr({value:e.yParity})}function Pr(e){Nr(e);let t=e.r,n=e.s;return Me(j(t,{size:32}),j(n,{size:32}),typeof e.yParity==`number`?j(Fr(e.yParity),{size:1}):`0x`)}function Fr(e){if(e===0)return 27;if(e===1)return 28;throw new zr({value:e})}var Ir=class extends k{constructor({signature:e}){super(`Signature \`${ke(e)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.MissingPropertiesError`})}},Lr=class extends k{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`})}},Rr=class extends k{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`})}},zr=class extends k{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`})}},Br={url:!0,pad:!1},Vr=[`attestationObject`,`authenticatorData`,`clientDataJSON`,`signature`,`userHandle`];function Hr(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function Ur(e){let{prf:t,...n}=e;return{...n,...t&&{prf:{eval:{first:F(t.eval.first)}}}}}var Wr=Uint8Array.from([105,171,180,181,160,222,75,198,42,42,32,31,141,37,186,233]);async function Gr(e){let{createFn:t=e=>window.navigator.credentials.create(e),...n}=e,r=`publicKey`in n?n:Kr(n);try{let e=await t(r);if(!e)throw new Jr;let n=e.response,i=n.attestationObject;return{attestationObject:i,clientDataJSON:n.clientDataJSON,id:e.id,publicKey:await Xr(n,i),raw:e}}catch(e){throw new Jr({cause:e})}}function Kr(e){let{attestation:t=`none`,authenticatorSelection:n={residentKey:`preferred`,requireResidentKey:!1,userVerification:`required`},challenge:r=Wr,excludeCredentialIds:i,extensions:a,name:o,rp:s={id:window.location.hostname,name:window.document.title},user:c}=e,l=c?.name??o;return{publicKey:{attestation:t,authenticatorSelection:n,challenge:typeof r==`string`?P(r):r,...i?{excludeCredentials:i?.map(e=>({id:F(e),type:`public-key`}))}:{},pubKeyCredParams:[{type:`public-key`,alg:-7}],rp:s,user:{id:c?.id??Dn(Xe(l),{as:`Bytes`}),name:l,displayName:c?.displayName??l},...a&&{extensions:a}}}}function qr(e){let t=e.publicKey;if(!t)return{};let{challenge:n,excludeCredentials:r,extensions:i,user:a,...o}=t;return{publicKey:{...o,challenge:P(n),...r&&{excludeCredentials:r.map(({id:e,...t})=>({...t,id:F(e)}))},...i&&{extensions:Ur(i)},user:{...a,id:F(a.id)}}}}var Jr=class extends k{constructor({cause:e}={}){super(`Failed to create credential.`,{cause:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Registration.CreateFailedError`})}};function Yr(e){let t=xr.Signature.fromDER(e).normalizeS();return{r:t.r,s:t.s}}async function Xr(e,t){try{let t=e.getPublicKey();if(!t)throw new Jr;let n=new Uint8Array(t),r=await crypto.subtle.importKey(`spki`,new Uint8Array(n),{name:`ECDSA`,namedCurve:`P-256`,hash:`SHA-256`},!0,[`verify`]);return Cr(new Uint8Array(await crypto.subtle.exportKey(`raw`,r)))}catch(n){if(n.message!==`Permission denied to access object`)throw n;let r=new Uint8Array(t??e.attestationObject),i=e=>{let t=new Uint8Array([e,88,32]);for(let e=0;e<r.length-t.length;e++)if(t.every((t,n)=>r[e+n]===t))return e+t.length;throw new Jr},a=i(33),o=i(34);return Cr(new Uint8Array([4,...r.slice(a,a+32),...r.slice(o,o+32)]))}}function Zr(e){let{publicKey:t,...n}=e;if(!t)return{...n};let{allowCredentials:r,challenge:i,extensions:a,...o}=t;return{...n,publicKey:{...o,challenge:P(i),...r&&{allowCredentials:r.map(({id:e,...t})=>({...t,id:F(e)}))},...a&&{extensions:Ur(a)}}}}function Qr(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:F(e),type:`public-key`})):[{id:F(t),type:`public-key`}]}:{},challenge:P(n),...r&&{extensions:r},rpId:i,userVerification:a}}}function $r(e){let{id:t,metadata:n,raw:r,signature:i}=e,a={};for(let e of Vr){let t=r.response,n=t[e];if(!(n instanceof ArrayBuffer)){let r=t[`get${e[0].toUpperCase()}${e.slice(1)}`];typeof r==`function`&&(n=r.call(t))}n instanceof ArrayBuffer&&(a[e]=lt(new Uint8Array(n),Br))}return{id:t,metadata:n,raw:{id:r.id,type:r.type,authenticatorAttachment:r.authenticatorAttachment,rawId:lt(Hr(r.rawId),Br),response:a},signature:Pr(i)}}async function ei(e){let{getFn:t=e=>window.navigator.credentials.get(e),...n}=e,r=`publicKey`in n?n:Qr(n);try{let e=await t(r);if(!e)throw new ti;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=Yr(o);return{id:s,metadata:{authenticatorData:Pe(a),clientDataJSON:c,challengeIndex:l,typeIndex:u,userVerificationRequired:r.publicKey.userVerification===`required`},signature:d,raw:e}}catch(e){throw new ti({cause:e})}}var ti=class extends k{constructor({cause:e}={}){super(`Failed to request credential.`,{cause:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`Authentication.SignFailedError`})}};async function ni(e){return $r(await(`options`in e?ei({...Zr(e.options),getFn:e.getFn}):ei(e)))}export{Hr as a,lt as c,$e as d,Ve as f,d as h,Br as i,P as l,h as m,Gr as n,Vr as o,k as p,qr as r,Er as s,ni as t,Xe as u};
@@ -1 +1 @@
1
- import"./zyzz.config-DX_D_7j3.js";import{j as e}from"./removable-DMiA3t_o.js";import{t}from"./useQuery-BpHfPhTT.js";import{m as n,t as r}from"./Authentication-BRNa6hLl.js";import{a as i,i as a,o,r as s}from"./Client-JrABNovb.js";var c=class extends Error{name=`Upgrade.CeremonyError`},l=24e4;async function u(e,t){let{chains:n}=await o(e.i.chains.$get()).catch(()=>({chains:[]})),r=n.filter(e=>e.configurable),i=r.find(e=>e.name===t.chain);if(t.account)return i?{chain:i.name,target:{account:t.account}}:void 0;let a=i??r[0];if(!a)return;let{passkeys:s}=await o(e.i.account.passkeys.$get()).catch(()=>({passkeys:[]})),[c]=s;if(c)return{chain:a.name,target:{credentialId:c.credentialId}}}async function d(e,t){let{upgrades:n}=await o(e.i.account.upgrades.$get({query:{chain:t.chain}})).catch(()=>({upgrades:[]})),[r]=n;if(r)return`account`in r?{chain:r.chain,target:{account:r.account}}:{chain:r.chain,target:{credentialId:r.credentialId}}}async function f(e,t){let n=await p(e,t);if(!(`step`in n))throw Error(`The upgrade returned no passkey step.`);return n.step.options}function p(e,t){return o(e.v1.account.upgrade.$post({json:{...t.target,chain:t.chain}}))}function m(s){let{pending:u}=s,d=i(),f=e(),m=[`upgrade`,u?.chain,u?.target],h=t({enabled:u!==void 0,queryFn:()=>p(d,u),queryKey:m,refetchInterval:l,refetchIntervalInBackground:!0,refetchOnWindowFocus:!0,retry:!1,staleTime:l}),g=n({async mutationFn(){if(!u)throw Error(`No upgrade waits.`);let e=f.getQueryState(m),t=e?.data&&Date.now()-e.dataUpdatedAt<24e4?e.data:await p(d,u);if(!(`step`in t))return t;let n=await(async()=>{try{return await r({getFn:e=>navigator.credentials.get(e),options:t.step.options})}catch(e){throw new c(`Passkey ceremony failed.`,{cause:e})}})();try{return await o(d.v1.account.upgrade.$post({json:{...u.target,chain:u.chain,passkey:{assertion:n}}}))}catch(e){if(a(e)===`owner_exists`)return;throw await h.refetch(),e}},onSuccess:()=>s.onSuccess?.()}),_=[h.error,g.error].some(e=>a(e)===`reauthentication_required`);return{...g,preparing:u!==void 0&&h.isPending,stale:_}}function h(e){return e instanceof c?`Your passkey did not sign the upgrade. Continue to try again.`:s(e)}export{l as a,f as i,h as n,m as o,d as r,u as t};
1
+ import"./zyzz.config-DX_D_7j3.js";import{j as e}from"./removable-DMiA3t_o.js";import{t}from"./useQuery-BpHfPhTT.js";import{m as n,t as r}from"./Authentication-BAXhOh_4.js";import{a as i,i as a,o,r as s}from"./Client-JrABNovb.js";var c=class extends Error{name=`Upgrade.CeremonyError`},l=24e4;async function u(e,t){let{chains:n}=await o(e.i.chains.$get()).catch(()=>({chains:[]})),r=n.filter(e=>e.configurable),i=r.find(e=>e.name===t.chain);if(t.account)return i?{chain:i.name,target:{account:t.account}}:void 0;let a=i??r[0];if(!a)return;let{passkeys:s}=await o(e.i.account.passkeys.$get()).catch(()=>({passkeys:[]})),[c]=s;if(c)return{chain:a.name,target:{credentialId:c.credentialId}}}async function d(e,t){let{upgrades:n}=await o(e.i.account.upgrades.$get({query:{chain:t.chain}})).catch(()=>({upgrades:[]})),[r]=n;if(r)return`account`in r?{chain:r.chain,target:{account:r.account}}:{chain:r.chain,target:{credentialId:r.credentialId}}}async function f(e,t){let n=await p(e,t);if(!(`step`in n))throw Error(`The upgrade returned no passkey step.`);return n.step.options}function p(e,t){return o(e.v1.account.upgrade.$post({json:{...t.target,chain:t.chain}}))}function m(s){let{pending:u}=s,d=i(),f=e(),m=[`upgrade`,u?.chain,u?.target],h=t({enabled:u!==void 0,queryFn:()=>p(d,u),queryKey:m,refetchInterval:l,refetchIntervalInBackground:!0,refetchOnWindowFocus:!0,retry:!1,staleTime:l}),g=n({async mutationFn(){if(!u)throw Error(`No upgrade waits.`);let e=f.getQueryState(m),t=e?.data&&Date.now()-e.dataUpdatedAt<24e4?e.data:await p(d,u);if(!(`step`in t))return t;let n=await(async()=>{try{return await r({getFn:e=>navigator.credentials.get(e),options:t.step.options})}catch(e){throw new c(`Passkey ceremony failed.`,{cause:e})}})();try{return await o(d.v1.account.upgrade.$post({json:{...u.target,chain:u.chain,passkey:{assertion:n}}}))}catch(e){if(a(e)===`owner_exists`)return;throw await h.refetch(),e}},onSuccess:()=>s.onSuccess?.()}),_=[h.error,g.error].some(e=>a(e)===`reauthentication_required`);return{...g,preparing:u!==void 0&&h.isPending,stale:_}}function h(e){return e instanceof c?`Your passkey did not sign the upgrade. Continue to try again.`:s(e)}export{l as a,f as i,h as n,m as o,d as r,u as t};