thirdweb 5.57.3 → 5.58.0-nightly-3229e1f03c3cbb62ddc8dccf22ad8a8feb0a95f0-20240920000335

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 (161) hide show
  1. package/dist/cjs/exports/extensions/erc1155.js +3 -2
  2. package/dist/cjs/exports/extensions/erc1155.js.map +1 -1
  3. package/dist/cjs/react/core/utils/walletIcon.js +5 -1
  4. package/dist/cjs/react/core/utils/walletIcon.js.map +1 -1
  5. package/dist/cjs/react/native/ui/connect/InAppWalletUI.js +1 -0
  6. package/dist/cjs/react/native/ui/connect/InAppWalletUI.js.map +1 -1
  7. package/dist/cjs/react/native/ui/icons/svgs.js +12 -1
  8. package/dist/cjs/react/native/ui/icons/svgs.js.map +1 -1
  9. package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js +1 -0
  10. package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
  11. package/dist/cjs/react/web/wallets/shared/oauthSignIn.js +2 -1
  12. package/dist/cjs/react/web/wallets/shared/oauthSignIn.js.map +1 -1
  13. package/dist/cjs/utils/fetch.js +10 -4
  14. package/dist/cjs/utils/fetch.js.map +1 -1
  15. package/dist/cjs/version.js +1 -1
  16. package/dist/cjs/version.js.map +1 -1
  17. package/dist/cjs/wallets/in-app/core/authentication/types.js +2 -0
  18. package/dist/cjs/wallets/in-app/core/authentication/types.js.map +1 -1
  19. package/dist/cjs/wallets/in-app/native/native-connector.js +1 -0
  20. package/dist/cjs/wallets/in-app/native/native-connector.js.map +1 -1
  21. package/dist/cjs/wallets/in-app/web/in-app.js +1 -0
  22. package/dist/cjs/wallets/in-app/web/in-app.js.map +1 -1
  23. package/dist/cjs/wallets/in-app/web/lib/actions/generate-wallet.enclave.js +26 -0
  24. package/dist/cjs/wallets/in-app/web/lib/actions/generate-wallet.enclave.js.map +1 -0
  25. package/dist/cjs/wallets/in-app/web/lib/actions/get-enclave-user-status.js +31 -0
  26. package/dist/cjs/wallets/in-app/web/lib/actions/get-enclave-user-status.js.map +1 -0
  27. package/dist/cjs/wallets/in-app/web/lib/actions/sign-message.enclave.js +30 -0
  28. package/dist/cjs/wallets/in-app/web/lib/actions/sign-message.enclave.js.map +1 -0
  29. package/dist/cjs/wallets/in-app/web/lib/actions/sign-transaction.enclave.js +28 -0
  30. package/dist/cjs/wallets/in-app/web/lib/actions/sign-transaction.enclave.js.map +1 -0
  31. package/dist/cjs/wallets/in-app/web/lib/actions/sign-typed-data.enclave.js +27 -0
  32. package/dist/cjs/wallets/in-app/web/lib/actions/sign-typed-data.enclave.js.map +1 -0
  33. package/dist/cjs/wallets/in-app/web/lib/auth/iframe-auth.js +42 -5
  34. package/dist/cjs/wallets/in-app/web/lib/auth/iframe-auth.js.map +1 -1
  35. package/dist/cjs/wallets/in-app/web/lib/enclave-wallet.js +195 -0
  36. package/dist/cjs/wallets/in-app/web/lib/enclave-wallet.js.map +1 -0
  37. package/dist/cjs/wallets/in-app/web/lib/get-auth-token.js +14 -0
  38. package/dist/cjs/wallets/in-app/web/lib/get-auth-token.js.map +1 -0
  39. package/dist/cjs/wallets/in-app/web/lib/{in-app-account.js → iframe-wallet.js} +8 -5
  40. package/dist/cjs/wallets/in-app/web/lib/iframe-wallet.js.map +1 -0
  41. package/dist/cjs/wallets/in-app/web/lib/web-connector.js +98 -37
  42. package/dist/cjs/wallets/in-app/web/lib/web-connector.js.map +1 -1
  43. package/dist/cjs/wallets/in-app/web/lib/web-wallet.js +3 -0
  44. package/dist/cjs/wallets/in-app/web/lib/web-wallet.js.map +1 -0
  45. package/dist/cjs/wallets/types.js +1 -0
  46. package/dist/cjs/wallets/types.js.map +1 -1
  47. package/dist/esm/exports/extensions/erc1155.js +1 -1
  48. package/dist/esm/exports/extensions/erc1155.js.map +1 -1
  49. package/dist/esm/react/core/utils/walletIcon.js +4 -0
  50. package/dist/esm/react/core/utils/walletIcon.js.map +1 -1
  51. package/dist/esm/react/native/ui/connect/InAppWalletUI.js +2 -1
  52. package/dist/esm/react/native/ui/connect/InAppWalletUI.js.map +1 -1
  53. package/dist/esm/react/native/ui/icons/svgs.js +11 -0
  54. package/dist/esm/react/native/ui/icons/svgs.js.map +1 -1
  55. package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js +1 -0
  56. package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
  57. package/dist/esm/react/web/wallets/shared/oauthSignIn.js +2 -1
  58. package/dist/esm/react/web/wallets/shared/oauthSignIn.js.map +1 -1
  59. package/dist/esm/utils/fetch.js +10 -4
  60. package/dist/esm/utils/fetch.js.map +1 -1
  61. package/dist/esm/version.js +1 -1
  62. package/dist/esm/version.js.map +1 -1
  63. package/dist/esm/wallets/in-app/core/authentication/types.js +2 -0
  64. package/dist/esm/wallets/in-app/core/authentication/types.js.map +1 -1
  65. package/dist/esm/wallets/in-app/native/native-connector.js +1 -0
  66. package/dist/esm/wallets/in-app/native/native-connector.js.map +1 -1
  67. package/dist/esm/wallets/in-app/web/in-app.js +1 -0
  68. package/dist/esm/wallets/in-app/web/in-app.js.map +1 -1
  69. package/dist/esm/wallets/in-app/web/lib/actions/generate-wallet.enclave.js +23 -0
  70. package/dist/esm/wallets/in-app/web/lib/actions/generate-wallet.enclave.js.map +1 -0
  71. package/dist/esm/wallets/in-app/web/lib/actions/get-enclave-user-status.js +28 -0
  72. package/dist/esm/wallets/in-app/web/lib/actions/get-enclave-user-status.js.map +1 -0
  73. package/dist/esm/wallets/in-app/web/lib/actions/sign-message.enclave.js +27 -0
  74. package/dist/esm/wallets/in-app/web/lib/actions/sign-message.enclave.js.map +1 -0
  75. package/dist/esm/wallets/in-app/web/lib/actions/sign-transaction.enclave.js +25 -0
  76. package/dist/esm/wallets/in-app/web/lib/actions/sign-transaction.enclave.js.map +1 -0
  77. package/dist/esm/wallets/in-app/web/lib/actions/sign-typed-data.enclave.js +24 -0
  78. package/dist/esm/wallets/in-app/web/lib/actions/sign-typed-data.enclave.js.map +1 -0
  79. package/dist/esm/wallets/in-app/web/lib/auth/iframe-auth.js +42 -5
  80. package/dist/esm/wallets/in-app/web/lib/auth/iframe-auth.js.map +1 -1
  81. package/dist/esm/wallets/in-app/web/lib/enclave-wallet.js +191 -0
  82. package/dist/esm/wallets/in-app/web/lib/enclave-wallet.js.map +1 -0
  83. package/dist/esm/wallets/in-app/web/lib/get-auth-token.js +11 -0
  84. package/dist/esm/wallets/in-app/web/lib/get-auth-token.js.map +1 -0
  85. package/dist/esm/wallets/in-app/web/lib/{in-app-account.js → iframe-wallet.js} +8 -5
  86. package/dist/esm/wallets/in-app/web/lib/iframe-wallet.js.map +1 -0
  87. package/dist/esm/wallets/in-app/web/lib/web-connector.js +98 -37
  88. package/dist/esm/wallets/in-app/web/lib/web-connector.js.map +1 -1
  89. package/dist/esm/wallets/in-app/web/lib/web-wallet.js +2 -0
  90. package/dist/esm/wallets/in-app/web/lib/web-wallet.js.map +1 -0
  91. package/dist/esm/wallets/types.js +1 -0
  92. package/dist/esm/wallets/types.js.map +1 -1
  93. package/dist/types/exports/extensions/erc1155.d.ts +1 -1
  94. package/dist/types/exports/extensions/erc1155.d.ts.map +1 -1
  95. package/dist/types/react/core/utils/walletIcon.d.ts +3 -1
  96. package/dist/types/react/core/utils/walletIcon.d.ts.map +1 -1
  97. package/dist/types/react/native/ui/connect/InAppWalletUI.d.ts.map +1 -1
  98. package/dist/types/react/native/ui/icons/svgs.d.ts +1 -0
  99. package/dist/types/react/native/ui/icons/svgs.d.ts.map +1 -1
  100. package/dist/types/react/web/wallets/shared/ConnectWalletSocialOptions.d.ts.map +1 -1
  101. package/dist/types/react/web/wallets/shared/oauthSignIn.d.ts.map +1 -1
  102. package/dist/types/utils/fetch.d.ts.map +1 -1
  103. package/dist/types/version.d.ts +1 -1
  104. package/dist/types/version.d.ts.map +1 -1
  105. package/dist/types/wallets/in-app/core/authentication/types.d.ts +5 -2
  106. package/dist/types/wallets/in-app/core/authentication/types.d.ts.map +1 -1
  107. package/dist/types/wallets/in-app/native/native-connector.d.ts.map +1 -1
  108. package/dist/types/wallets/in-app/web/in-app.d.ts +1 -0
  109. package/dist/types/wallets/in-app/web/in-app.d.ts.map +1 -1
  110. package/dist/types/wallets/in-app/web/lib/actions/generate-wallet.enclave.d.ts +15 -0
  111. package/dist/types/wallets/in-app/web/lib/actions/generate-wallet.enclave.d.ts.map +1 -0
  112. package/dist/types/wallets/in-app/web/lib/actions/get-enclave-user-status.d.ts +14 -0
  113. package/dist/types/wallets/in-app/web/lib/actions/get-enclave-user-status.d.ts.map +1 -0
  114. package/dist/types/wallets/in-app/web/lib/actions/sign-message.enclave.d.ts +17 -0
  115. package/dist/types/wallets/in-app/web/lib/actions/sign-message.enclave.d.ts.map +1 -0
  116. package/dist/types/wallets/in-app/web/lib/actions/sign-transaction.enclave.d.ts +9 -0
  117. package/dist/types/wallets/in-app/web/lib/actions/sign-transaction.enclave.d.ts.map +1 -0
  118. package/dist/types/wallets/in-app/web/lib/actions/sign-typed-data.enclave.d.ts +16 -0
  119. package/dist/types/wallets/in-app/web/lib/actions/sign-typed-data.enclave.d.ts.map +1 -0
  120. package/dist/types/wallets/in-app/web/lib/auth/iframe-auth.d.ts +2 -1
  121. package/dist/types/wallets/in-app/web/lib/auth/iframe-auth.d.ts.map +1 -1
  122. package/dist/types/wallets/in-app/web/lib/enclave-wallet.d.ts +61 -0
  123. package/dist/types/wallets/in-app/web/lib/enclave-wallet.d.ts.map +1 -0
  124. package/dist/types/wallets/in-app/web/lib/get-auth-token.d.ts +4 -0
  125. package/dist/types/wallets/in-app/web/lib/get-auth-token.d.ts.map +1 -0
  126. package/dist/types/wallets/in-app/web/lib/{in-app-account.d.ts → iframe-wallet.d.ts} +5 -8
  127. package/dist/types/wallets/in-app/web/lib/iframe-wallet.d.ts.map +1 -0
  128. package/dist/types/wallets/in-app/web/lib/web-connector.d.ts +4 -2
  129. package/dist/types/wallets/in-app/web/lib/web-connector.d.ts.map +1 -1
  130. package/dist/types/wallets/in-app/web/lib/web-wallet.d.ts +15 -0
  131. package/dist/types/wallets/in-app/web/lib/web-wallet.d.ts.map +1 -0
  132. package/dist/types/wallets/types.d.ts +2 -2
  133. package/dist/types/wallets/types.d.ts.map +1 -1
  134. package/package.json +1 -1
  135. package/src/exports/extensions/erc1155.ts +1 -0
  136. package/src/extensions/prebuilts/deploy-published.test.ts +34 -1
  137. package/src/react/core/utils/walletIcon.ts +5 -0
  138. package/src/react/native/ui/connect/InAppWalletUI.tsx +2 -0
  139. package/src/react/native/ui/icons/svgs.ts +12 -0
  140. package/src/react/web/wallets/shared/ConnectWalletSocialOptions.tsx +1 -0
  141. package/src/react/web/wallets/shared/oauthSignIn.ts +2 -1
  142. package/src/utils/fetch.ts +11 -4
  143. package/src/version.ts +1 -1
  144. package/src/wallets/in-app/core/authentication/types.ts +5 -1
  145. package/src/wallets/in-app/native/native-connector.ts +1 -0
  146. package/src/wallets/in-app/web/in-app.ts +1 -0
  147. package/src/wallets/in-app/web/lib/actions/generate-wallet.enclave.ts +44 -0
  148. package/src/wallets/in-app/web/lib/actions/get-enclave-user-status.ts +44 -0
  149. package/src/wallets/in-app/web/lib/actions/sign-message.enclave.ts +52 -0
  150. package/src/wallets/in-app/web/lib/actions/sign-transaction.enclave.ts +48 -0
  151. package/src/wallets/in-app/web/lib/actions/sign-typed-data.enclave.ts +51 -0
  152. package/src/wallets/in-app/web/lib/auth/iframe-auth.ts +42 -6
  153. package/src/wallets/in-app/web/lib/enclave-wallet.ts +244 -0
  154. package/src/wallets/in-app/web/lib/get-auth-token.ts +17 -0
  155. package/src/wallets/in-app/web/lib/{in-app-account.ts → iframe-wallet.ts} +14 -15
  156. package/src/wallets/in-app/web/lib/web-connector.ts +107 -39
  157. package/src/wallets/in-app/web/lib/web-wallet.ts +23 -0
  158. package/src/wallets/types.ts +1 -0
  159. package/dist/cjs/wallets/in-app/web/lib/in-app-account.js.map +0 -1
  160. package/dist/esm/wallets/in-app/web/lib/in-app-account.js.map +0 -1
  161. package/dist/types/wallets/in-app/web/lib/in-app-account.d.ts.map +0 -1
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.signTransaction = signTransaction;
4
+ const domains_js_1 = require("../../../../../utils/domains.js");
5
+ const fetch_js_1 = require("../../../../../utils/fetch.js");
6
+ const get_auth_token_js_1 = require("../get-auth-token.js");
7
+ async function signTransaction({ client, ecosystem, payload, }) {
8
+ console.log("payload", payload);
9
+ const clientFetch = (0, fetch_js_1.getClientFetch)(client, ecosystem);
10
+ const authToken = await (0, get_auth_token_js_1.getAuthToken)(client, ecosystem);
11
+ const response = await clientFetch(`${(0, domains_js_1.getThirdwebBaseUrl)("inAppWallet")}/api/v1/enclave-wallet/sign-transaction`, {
12
+ method: "POST",
13
+ headers: {
14
+ "Content-Type": "application/json",
15
+ "x-thirdweb-client-id": client.clientId,
16
+ Authorization: `Bearer embedded-wallet-token:${authToken}`,
17
+ },
18
+ body: JSON.stringify({
19
+ transactionPayload: payload,
20
+ }),
21
+ });
22
+ if (!response.ok) {
23
+ throw new Error("Failed to sign transaction");
24
+ }
25
+ const signedTransaction = (await response.json());
26
+ return signedTransaction.signature;
27
+ }
28
+ //# sourceMappingURL=sign-transaction.enclave.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sign-transaction.enclave.js","sourceRoot":"","sources":["../../../../../../../src/wallets/in-app/web/lib/actions/sign-transaction.enclave.ts"],"names":[],"mappings":";;AAOA,0CAwCC;AA9CD,gEAAqE;AAErE,4DAA+D;AAE/D,4DAAoD;AAE7C,KAAK,UAAU,eAAe,CAAC,EACpC,MAAM,EACN,SAAS,EACT,OAAO,GAKR;IACC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,WAAW,GAAG,IAAA,yBAAc,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,MAAM,IAAA,gCAAY,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAExD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAChC,GAAG,IAAA,+BAAkB,EAAC,aAAa,CAAC,yCAAyC,EAC7E;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,sBAAsB,EAAE,MAAM,CAAC,QAAQ;YACvC,aAAa,EAAE,gCAAgC,SAAS,EAAE;SAC3D;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,kBAAkB,EAAE,OAAO;SAC5B,CAAC;KACH,CACF,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,iBAAiB,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAM/C,CAAC;IACF,OAAO,iBAAiB,CAAC,SAAgB,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.signTypedData = signTypedData;
4
+ const domains_js_1 = require("../../../../../utils/domains.js");
5
+ const fetch_js_1 = require("../../../../../utils/fetch.js");
6
+ const get_auth_token_js_1 = require("../get-auth-token.js");
7
+ async function signTypedData({ client, ecosystem, payload, }) {
8
+ const clientFetch = (0, fetch_js_1.getClientFetch)(client, ecosystem);
9
+ const authToken = await (0, get_auth_token_js_1.getAuthToken)(client, ecosystem);
10
+ const response = await clientFetch(`${(0, domains_js_1.getThirdwebBaseUrl)("inAppWallet")}/api/v1/enclave-wallet/sign-typed-data`, {
11
+ method: "POST",
12
+ headers: {
13
+ "Content-Type": "application/json",
14
+ "x-thirdweb-client-id": client.clientId,
15
+ Authorization: `Bearer embedded-wallet-token:${authToken}`,
16
+ },
17
+ body: JSON.stringify({
18
+ ...payload,
19
+ }),
20
+ });
21
+ if (!response.ok) {
22
+ throw new Error("Failed to sign typed data");
23
+ }
24
+ const signedTypedData = (await response.json());
25
+ return signedTypedData;
26
+ }
27
+ //# sourceMappingURL=sign-typed-data.enclave.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sign-typed-data.enclave.js","sourceRoot":"","sources":["../../../../../../../src/wallets/in-app/web/lib/actions/sign-typed-data.enclave.ts"],"names":[],"mappings":";;AAQA,sCA0CC;AA/CD,gEAAqE;AACrE,4DAA+D;AAE/D,4DAAoD;AAE7C,KAAK,UAAU,aAAa,CAGjC,EACA,MAAM,EACN,SAAS,EACT,OAAO,GAKR;IACC,MAAM,WAAW,GAAG,IAAA,yBAAc,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,MAAM,IAAA,gCAAY,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAExD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAChC,GAAG,IAAA,+BAAkB,EAAC,aAAa,CAAC,wCAAwC,EAC5E;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,sBAAsB,EAAE,MAAM,CAAC,QAAQ;YACvC,aAAa,EAAE,gCAAgC,SAAS,EAAE;SAC3D;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,GAAG,OAAO;SACX,CAAC;KACH,CACF,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,eAAe,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAM7C,CAAC;IACF,OAAO,eAAe,CAAC;AACzB,CAAC"}
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Auth = void 0;
4
4
  const webStorage_js_1 = require("../../../../../utils/storage/webStorage.js");
5
5
  const client_scoped_storage_js_1 = require("../../../core/authentication/client-scoped-storage.js");
6
+ const generate_wallet_enclave_js_1 = require("../actions/generate-wallet.enclave.js");
7
+ const get_enclave_user_status_js_1 = require("../actions/get-enclave-user-status.js");
6
8
  const base_login_js_1 = require("./base-login.js");
7
9
  /**
8
10
  *
@@ -19,6 +21,12 @@ class Auth {
19
21
  writable: true,
20
22
  value: void 0
21
23
  });
24
+ Object.defineProperty(this, "ecosystem", {
25
+ enumerable: true,
26
+ configurable: true,
27
+ writable: true,
28
+ value: void 0
29
+ });
22
30
  Object.defineProperty(this, "AuthQuerier", {
23
31
  enumerable: true,
24
32
  configurable: true,
@@ -44,6 +52,7 @@ class Auth {
44
52
  value: void 0
45
53
  });
46
54
  this.client = client;
55
+ this.ecosystem = ecosystem;
47
56
  this.AuthQuerier = querier;
48
57
  this.localStorage = new client_scoped_storage_js_1.ClientScopedStorage({
49
58
  storage: webStorage_js_1.webLocalStorage,
@@ -79,6 +88,38 @@ class Auth {
79
88
  }
80
89
  async loginWithAuthToken(authToken, recoveryCode) {
81
90
  await this.preLogin();
91
+ const user = await (0, get_enclave_user_status_js_1.getEnclaveUserStatus)({
92
+ authToken: authToken.storedToken.cookieString,
93
+ client: this.client,
94
+ ecosystem: this.ecosystem,
95
+ });
96
+ if (!user) {
97
+ throw new Error("Cannot login, no user found for auth token");
98
+ }
99
+ // If they're already an enclave wallet, proceed to login
100
+ if (user.wallets.length > 0 && user.wallets[0]?.type === "enclave") {
101
+ return this.postLogin({
102
+ storedToken: authToken.storedToken,
103
+ walletDetails: {
104
+ walletAddress: user.wallets[0].address,
105
+ },
106
+ });
107
+ }
108
+ if (user.wallets.length === 0 && this.ecosystem) {
109
+ // If this is a new ecosystem wallet without an enclave yet, we'll generate an enclave
110
+ const result = await (0, generate_wallet_enclave_js_1.generateWallet)({
111
+ authToken: authToken.storedToken.cookieString,
112
+ client: this.client,
113
+ ecosystem: this.ecosystem,
114
+ });
115
+ return this.postLogin({
116
+ storedToken: authToken.storedToken,
117
+ walletDetails: {
118
+ walletAddress: result.address,
119
+ },
120
+ });
121
+ }
122
+ // If this is an existing sharded wallet or in-app wallet, we'll login with the sharded wallet
82
123
  const result = await this.AuthQuerier.call({
83
124
  procedureName: "loginWithStoredTokenDetails",
84
125
  params: {
@@ -223,14 +264,10 @@ class Auth {
223
264
  * @internal
224
265
  */
225
266
  async logout() {
226
- const { success } = await this.AuthQuerier.call({
227
- procedureName: "logout",
228
- params: undefined,
229
- });
230
267
  const isRemoveAuthCookie = await this.localStorage.removeAuthCookie();
231
268
  const isRemoveUserId = await this.localStorage.removeWalletUserId();
232
269
  return {
233
- success: success || isRemoveAuthCookie || isRemoveUserId,
270
+ success: isRemoveAuthCookie || isRemoveUserId,
234
271
  };
235
272
  }
236
273
  }
@@ -1 +1 @@
1
- {"version":3,"file":"iframe-auth.js","sourceRoot":"","sources":["../../../../../../../src/wallets/in-app/web/lib/auth/iframe-auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iframe-auth.js","sourceRoot":"","sources":["../../../../../../../src/wallets/in-app/web/lib/auth/iframe-auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,195 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnclaveWallet = void 0;
4
+ const viem_1 = require("viem");
5
+ const utils_js_1 = require("../../../../chains/utils.js");
6
+ const eth_sendRawTransaction_js_1 = require("../../../../rpc/actions/eth_sendRawTransaction.js");
7
+ const rpc_js_1 = require("../../../../rpc/rpc.js");
8
+ const address_js_1 = require("../../../../utils/address.js");
9
+ const hex_js_1 = require("../../../../utils/encoding/hex.js");
10
+ const parseTypedData_js_1 = require("../../../../utils/signatures/helpers/parseTypedData.js");
11
+ const webStorage_js_1 = require("../../../../utils/storage/webStorage.js");
12
+ const client_scoped_storage_js_1 = require("../../core/authentication/client-scoped-storage.js");
13
+ const types_js_1 = require("../../core/authentication/types.js");
14
+ const get_enclave_user_status_js_1 = require("./actions/get-enclave-user-status.js");
15
+ const sign_message_enclave_js_1 = require("./actions/sign-message.enclave.js");
16
+ const sign_transaction_enclave_js_1 = require("./actions/sign-transaction.enclave.js");
17
+ const sign_typed_data_enclave_js_1 = require("./actions/sign-typed-data.enclave.js");
18
+ class EnclaveWallet {
19
+ constructor({ client, ecosystem, address, }) {
20
+ Object.defineProperty(this, "client", {
21
+ enumerable: true,
22
+ configurable: true,
23
+ writable: true,
24
+ value: void 0
25
+ });
26
+ Object.defineProperty(this, "ecosystem", {
27
+ enumerable: true,
28
+ configurable: true,
29
+ writable: true,
30
+ value: void 0
31
+ });
32
+ Object.defineProperty(this, "address", {
33
+ enumerable: true,
34
+ configurable: true,
35
+ writable: true,
36
+ value: void 0
37
+ });
38
+ Object.defineProperty(this, "localStorage", {
39
+ enumerable: true,
40
+ configurable: true,
41
+ writable: true,
42
+ value: void 0
43
+ });
44
+ this.client = client;
45
+ this.ecosystem = ecosystem;
46
+ this.address = address;
47
+ this.localStorage = new client_scoped_storage_js_1.ClientScopedStorage({
48
+ storage: webStorage_js_1.webLocalStorage,
49
+ clientId: client.clientId,
50
+ ecosystemId: ecosystem?.id,
51
+ });
52
+ }
53
+ /**
54
+ * Store the auth token for use
55
+ * @returns `{walletAddress: string }` The user's wallet details
56
+ * @internal
57
+ */
58
+ async postWalletSetUp({ walletAddress, authToken, }) {
59
+ await this.localStorage.saveAuthCookie(authToken);
60
+ return { walletAddress };
61
+ }
62
+ /**
63
+ * Gets the current user's details
64
+ * @internal
65
+ */
66
+ async getUserWalletStatus() {
67
+ const token = await this.localStorage.getAuthCookie();
68
+ if (!token) {
69
+ return { status: types_js_1.UserWalletStatus.LOGGED_OUT };
70
+ }
71
+ const userStatus = await (0, get_enclave_user_status_js_1.getEnclaveUserStatus)({
72
+ authToken: token,
73
+ client: this.client,
74
+ ecosystem: this.ecosystem,
75
+ });
76
+ if (!userStatus) {
77
+ return { status: types_js_1.UserWalletStatus.LOGGED_OUT };
78
+ }
79
+ const wallet = userStatus.wallets[0];
80
+ const authDetails = {
81
+ email: userStatus.linkedAccounts.find((account) => account.type === "email")?.details.email,
82
+ phoneNumber: userStatus.linkedAccounts.find((account) => account.type === "phone")?.details.phone,
83
+ userWalletId: userStatus.id || "",
84
+ recoveryShareManagement: types_js_1.RecoveryShareManagement.ENCLAVE,
85
+ };
86
+ if (!wallet) {
87
+ return {
88
+ status: types_js_1.UserWalletStatus.LOGGED_IN_WALLET_UNINITIALIZED,
89
+ authDetails,
90
+ };
91
+ }
92
+ return {
93
+ status: types_js_1.UserWalletStatus.LOGGED_IN_WALLET_INITIALIZED,
94
+ walletAddress: wallet.address,
95
+ authDetails,
96
+ account: await this.getAccount(),
97
+ };
98
+ }
99
+ /**
100
+ * Returns an account to perform wallet operations
101
+ * @internal
102
+ */
103
+ async getAccount() {
104
+ const client = this.client;
105
+ const ecosystem = this.ecosystem;
106
+ const _signTransaction = async (tx) => {
107
+ const rpcRequest = (0, rpc_js_1.getRpcClient)({
108
+ client,
109
+ chain: (0, utils_js_1.getCachedChain)(tx.chainId),
110
+ });
111
+ const transaction = {
112
+ to: tx.to ?? undefined,
113
+ data: tx.data ? (0, hex_js_1.toHex)(tx.data) : undefined,
114
+ value: tx.value ? (0, hex_js_1.toHex)(tx.value) : undefined,
115
+ gas: tx.gas ? (0, hex_js_1.toHex)(tx.gas + tx.gas / BigInt(10)) : undefined, // Add a 10% buffer to gas
116
+ nonce: tx.nonce
117
+ ? (0, hex_js_1.toHex)(tx.nonce)
118
+ : (0, hex_js_1.toHex)(await Promise.resolve().then(() => require("../../../../rpc/actions/eth_getTransactionCount.js")).then(({ eth_getTransactionCount }) => eth_getTransactionCount(rpcRequest, {
119
+ address: this.address,
120
+ blockTag: "pending",
121
+ }))),
122
+ chainId: (0, hex_js_1.toHex)(tx.chainId),
123
+ };
124
+ if (tx.maxFeePerGas) {
125
+ transaction.maxFeePerGas = (0, hex_js_1.toHex)(tx.maxFeePerGas);
126
+ transaction.maxPriorityFeePerGas = tx.maxPriorityFeePerGas
127
+ ? (0, hex_js_1.toHex)(tx.maxPriorityFeePerGas)
128
+ : undefined;
129
+ transaction.type = 2;
130
+ }
131
+ else {
132
+ transaction.gasPrice = tx.gasPrice ? (0, hex_js_1.toHex)(tx.gasPrice) : undefined;
133
+ transaction.type = 0;
134
+ }
135
+ return (0, sign_transaction_enclave_js_1.signTransaction)({
136
+ client,
137
+ ecosystem,
138
+ payload: transaction,
139
+ });
140
+ };
141
+ return {
142
+ address: (0, address_js_1.getAddress)(this.address),
143
+ async signTransaction(tx) {
144
+ if (!tx.chainId) {
145
+ throw new Error("chainId required in tx to sign");
146
+ }
147
+ return _signTransaction({
148
+ chainId: tx.chainId,
149
+ ...tx,
150
+ });
151
+ },
152
+ async sendTransaction(tx) {
153
+ const rpcRequest = (0, rpc_js_1.getRpcClient)({
154
+ client,
155
+ chain: (0, utils_js_1.getCachedChain)(tx.chainId),
156
+ });
157
+ const signedTx = await _signTransaction(tx);
158
+ const transactionHash = await (0, eth_sendRawTransaction_js_1.eth_sendRawTransaction)(rpcRequest, signedTx);
159
+ return {
160
+ transactionHash,
161
+ };
162
+ },
163
+ async signMessage({ message }) {
164
+ const messagePayload = (() => {
165
+ if (typeof message === "string") {
166
+ return { message, isRaw: false };
167
+ }
168
+ return {
169
+ message: typeof message.raw === "string"
170
+ ? message.raw
171
+ : (0, viem_1.bytesToHex)(message.raw),
172
+ isRaw: true,
173
+ };
174
+ })();
175
+ const { signature } = await (0, sign_message_enclave_js_1.signMessage)({
176
+ client,
177
+ ecosystem,
178
+ payload: messagePayload,
179
+ });
180
+ return signature;
181
+ },
182
+ async signTypedData(_typedData) {
183
+ const parsedTypedData = (0, parseTypedData_js_1.parseTypedData)(_typedData);
184
+ const { signature } = await (0, sign_typed_data_enclave_js_1.signTypedData)({
185
+ client,
186
+ ecosystem,
187
+ payload: parsedTypedData,
188
+ });
189
+ return signature;
190
+ },
191
+ };
192
+ }
193
+ }
194
+ exports.EnclaveWallet = EnclaveWallet;
195
+ //# sourceMappingURL=enclave-wallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enclave-wallet.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/enclave-wallet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAuthToken = getAuthToken;
4
+ const webStorage_js_1 = require("../../../../utils/storage/webStorage.js");
5
+ const client_scoped_storage_js_1 = require("../../core/authentication/client-scoped-storage.js");
6
+ async function getAuthToken(client, ecosystem) {
7
+ const localStorage = new client_scoped_storage_js_1.ClientScopedStorage({
8
+ storage: webStorage_js_1.webLocalStorage,
9
+ clientId: client.clientId,
10
+ ecosystemId: ecosystem?.id,
11
+ });
12
+ return localStorage.getAuthCookie();
13
+ }
14
+ //# sourceMappingURL=get-auth-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-auth-token.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/get-auth-token.ts"],"names":[],"mappings":";;AAKA,oCAWC;AAfD,2EAA0E;AAC1E,iGAAyF;AAGlF,KAAK,UAAU,YAAY,CAChC,MAAsB,EACtB,SAAqB;IAErB,MAAM,YAAY,GAAG,IAAI,8CAAmB,CAAC;QAC3C,OAAO,EAAE,+BAAe;QACxB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,WAAW,EAAE,SAAS,EAAE,EAAE;KAC3B,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC,aAAa,EAAE,CAAC;AACtC,CAAC"}
@@ -59,11 +59,14 @@ class IFrameWallet {
59
59
  * @returns `{walletAddress : string }` The user's wallet details
60
60
  * @internal
61
61
  */
62
- async postWalletSetUp({ deviceShareStored, walletAddress, isIframeStorageEnabled, walletUserId, }) {
63
- if (!isIframeStorageEnabled) {
64
- await this.localStorage.saveDeviceShare(deviceShareStored, walletUserId);
62
+ async postWalletSetUp(props) {
63
+ if ("isIframeStorageEnabled" in props) {
64
+ if (!props.isIframeStorageEnabled) {
65
+ await this.localStorage.saveDeviceShare(props.deviceShareStored, props.walletUserId);
66
+ }
67
+ return { walletAddress: props.walletAddress };
65
68
  }
66
- return { walletAddress };
69
+ throw new Error("Invalid postWalletSetUp props");
67
70
  }
68
71
  /**
69
72
  * Gets the various status states of the user
@@ -274,4 +277,4 @@ class IFrameWallet {
274
277
  }
275
278
  }
276
279
  exports.IFrameWallet = IFrameWallet;
277
- //# sourceMappingURL=in-app-account.js.map
280
+ //# sourceMappingURL=iframe-wallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iframe-wallet.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/iframe-wallet.ts"],"names":[],"mappings":";;;AAEA,0DAA6D;AAE7D,iGAA2F;AAC3F,mDAAsD;AACtD,6DAA0D;AAC1D,6DAAkE;AAClE,8DAA0E;AAC1E,8FAAwF;AACxF,2EAA0E;AAE1E,kHAAyG;AAKzG,iGAAyF;AACzF,iEAK4C;AAiD5C;;GAEG;AACH,MAAa,YAAY;IAQvB;;;OAGG;IACH,YAAY,EACV,MAAM,EACN,SAAS,EACT,OAAO,GAKR;QAnBM;;;;;WAAuB;QACvB;;;;;WAAsB;QACnB;;;;;WAER;QACQ;;;;;WAAkC;QAe1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC;QAEpC,IAAI,CAAC,YAAY,GAAG,IAAI,8CAAmB,CAAC;YAC1C,OAAO,EAAE,+BAAe;YACxB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,WAAW,EAAE,SAAS,EAAE,EAAE;SAC3B,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CACnB,KAAsB;QAEtB,IAAI,wBAAwB,IAAI,KAAK,EAAE,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CACrC,KAAK,CAAC,iBAAiB,EACvB,KAAK,CAAC,YAAY,CACnB,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC;QAChD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,KAAK,CAAC,mBAAmB;QACvB,MAAM,UAAU,GACd,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAmC;YACrE,aAAa,EAAE,eAAe;YAC9B,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;QACL,IAAI,UAAU,CAAC,MAAM,KAAK,2BAAgB,CAAC,4BAA4B,EAAE,CAAC;YACxE,OAAO;gBACL,MAAM,EAAE,2BAAgB,CAAC,4BAA4B;gBACrD,GAAG,UAAU,CAAC,IAAI;gBAClB,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE;aACjC,CAAC;QACJ,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,KAAK,2BAAgB,CAAC,oBAAoB,EAAE,CAAC;YAChE,OAAO;gBACL,MAAM,EAAE,2BAAgB,CAAC,8BAA8B;gBACvD,GAAG,UAAU,CAAC,IAAI;aACnB,CAAC;QACJ,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,KAAK,2BAAgB,CAAC,8BAA8B,EAAE,CAAC;YAC1E,OAAO;gBACL,MAAM,EAAE,2BAAgB,CAAC,8BAA8B;gBACvD,GAAG,UAAU,CAAC,IAAI;aACnB,CAAC;QACJ,CAAC;QACD,aAAa;QACb,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,OAAO,GAAG,IAAI;aACjB,oBAAsF,CAAC;QAC1F,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC;QAC5C,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAErC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS;YAC3C,CAAC,CAAC,MAAM,IAAA,qEAA8B,EAClC,IAAI,CAAC,SAAS,CAAC,EAAE,EACjB,IAAI,CAAC,SAAS,EAAE,SAAS,CAC1B;YACH,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAuB;YAC3D,aAAa,EAAE,YAAY;YAC3B,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;QACH,MAAM,gBAAgB,GAAG,KAAK,EAAE,EAAyB,EAAE,EAAE;YAC3D,uEAAuE;YACvE,MAAM,WAAW,GAAwB;gBACvC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,SAAS;gBACtB,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,KAAK,EAAE,EAAE,CAAC,KAAK;gBACf,QAAQ,EAAE,EAAE,CAAC,GAAG;gBAChB,KAAK,EAAE,EAAE,CAAC,KAAK;gBACf,OAAO,EAAE,EAAE,CAAC,OAAO;aACpB,CAAC;YAEF,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;gBACpB,yEAAyE;gBACzE,iDAAiD;gBACjD,WAAW,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;gBACvC,WAAW,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;gBAC3C,WAAW,CAAC,oBAAoB,GAAG,EAAE,CAAC,oBAAoB,CAAC;gBAC3D,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;gBACnC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,MAAM,OAAO,GAAG,IAAA,+BAAkB,GAAE,CAAC,GAAG,CAAC;YACzC,MAAM,EAAE,iBAAiB,EAAE,GACzB,MAAM,OAAO,CAAC,IAAI,CAA4B;gBAC5C,aAAa,EAAE,iBAAiB;gBAChC,MAAM,EAAE;oBACN,WAAW;oBACX,OAAO,EAAE,EAAE,CAAC,OAAO;oBACnB,SAAS;oBACT,WAAW,EAAE,WAAW,EAAE,CAAC,OAAO,IAAI,OAAO,EAAE,EAAE,+BAA+B;iBACjF;gBACD,0EAA0E;gBAC1E,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC;oBAC9D,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,WAAW;aAChB,CAAC,CAAC;YACL,OAAO,iBAAwB,CAAC;QAClC,CAAC,CAAC;QACF,OAAO;YACL,OAAO,EAAE,IAAA,uBAAU,EAAC,OAAO,CAAC;YAC5B,KAAK,CAAC,eAAe,CAAC,EAAE;gBACtB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACpD,CAAC;gBACD,OAAO,gBAAgB,CAAC;oBACtB,GAAG,EAAE;oBACL,OAAO,EAAE,EAAE,CAAC,OAAO;iBACpB,CAAC,CAAC;YACL,CAAC;YACD,KAAK,CAAC,eAAe,CAAC,EAAE;gBACtB,MAAM,UAAU,GAAG,IAAA,qBAAY,EAAC;oBAC9B,MAAM;oBACN,KAAK,EAAE,IAAA,yBAAc,EAAC,EAAE,CAAC,OAAO,CAAC;iBAClC,CAAC,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,EAAE,CAAC,CAAC;gBAC5C,MAAM,eAAe,GAAG,MAAM,IAAA,kDAAsB,EAClD,UAAU,EACV,QAAQ,CACT,CAAC;gBACF,OAAO;oBACL,eAAe;iBAChB,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE;gBAC3B,kHAAkH;gBAClH,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE;oBAC3B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;wBAChC,OAAO,OAAO,CAAC;oBACjB,CAAC;oBACD,IAAI,OAAO,CAAC,GAAG,YAAY,UAAU,EAAE,CAAC;wBACtC,OAAO,OAAO,CAAC,GAAG,CAAC;oBACrB,CAAC;oBACD,OAAO,IAAA,oBAAW,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAClC,CAAC,CAAC,EAAE,CAAC;gBAEL,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAwB;oBAClE,aAAa,EAAE,aAAa;oBAC5B,MAAM,EAAE;wBACN,uEAAuE;wBACvE,OAAO,EAAE,cAAqB,EAAE,wBAAwB;wBACxD,SAAS;wBACT,OAAO,EAAE,CAAC,EAAE,6BAA6B;qBAC1C;oBACD,0EAA0E;oBAC1E,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC;wBAC9D,CAAC,CAAC,KAAK;wBACP,CAAC,CAAC,WAAW;iBAChB,CAAC,CAAC;gBACH,OAAO,aAAoB,CAAC;YAC9B,CAAC;YACD,KAAK,CAAC,aAAa,CAAC,UAAU;gBAC5B,MAAM,eAAe,GAAG,IAAA,kCAAc,EAAC,UAAU,CAAC,CAAC;gBACnD,+EAA+E;gBAC/E,6DAA6D;gBAC7D,IAAI,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC;oBACxC,eAAe,CAAC,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;gBACjD,CAAC;gBACD,MAAM,MAAM,GAAG,eAAe,CAAC,MAAuC,CAAC;gBACvE,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,CAAC;gBAChC,MAAM,iBAAiB,GAAG,MAAM,EAAE,iBAAiB;oBACjD,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,EAAE,iBAAiB,EAAE;oBAClD,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,UAAU,GAAG;oBACjB,GAAG,iBAAiB;oBACpB,IAAI,EAAE,MAAM,EAAE,IAAI;oBAClB,OAAO,EAAE,MAAM,EAAE,OAAO;iBACzB,CAAC;gBACF,+DAA+D;gBAC/D,IAAI,OAAO,EAAE,CAAC;oBACX,UAAsC,CAAC,OAAO,GAAG,OAAO,CAAC;gBAC5D,CAAC;gBAED,MAAM,OAAO,GAAG,IAAA,+BAAkB,GAAE,CAAC,GAAG,CAAC;gBACzC,MAAM,EAAE,eAAe,EAAE,GACvB,MAAM,OAAO,CAAC,IAAI,CAA4B;oBAC5C,aAAa,EAAE,iBAAiB;oBAChC,MAAM,EAAE;wBACN,MAAM,EAAE,UAAU;wBAClB,KAAK,EACH,eAAe,CAAC,KAAyD;wBAC3E,OAAO,EACL,eAAe,CAAC,OAA6D;wBAC/E,OAAO,EAAE,OAAO,IAAI,CAAC;wBACrB,SAAS;wBACT,WAAW,EAAE,WAAW,OAAO,IAAI,OAAO,EAAE,EAAE,+BAA+B;qBAC9E;oBACD,0EAA0E;oBAC1E,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC;wBAC9D,CAAC,CAAC,KAAK;wBACP,CAAC,CAAC,WAAW;iBAChB,CAAC,CAAC;gBACL,OAAO,eAAsB,CAAC;YAChC,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AAnRD,oCAmRC"}