@charterlabs/rhinestone-sdk 0.1.0 → 0.1.2

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 (194) hide show
  1. package/README.md +74 -181
  2. package/dist/src/accounts/error.d.ts +69 -0
  3. package/dist/src/accounts/error.d.ts.map +1 -0
  4. package/dist/src/accounts/error.js +109 -0
  5. package/dist/{accounts → src/accounts}/index.d.ts +14 -21
  6. package/dist/src/accounts/index.d.ts.map +1 -0
  7. package/dist/src/accounts/index.js +469 -0
  8. package/dist/src/accounts/index.test.d.ts +2 -0
  9. package/dist/src/accounts/index.test.d.ts.map +1 -0
  10. package/dist/src/accounts/index.test.js +36 -0
  11. package/dist/{accounts → src/accounts}/kernel.d.ts +7 -9
  12. package/dist/src/accounts/kernel.d.ts.map +1 -0
  13. package/dist/{accounts → src/accounts}/kernel.js +0 -8
  14. package/dist/src/accounts/kernel.test.d.ts +2 -0
  15. package/dist/src/accounts/kernel.test.d.ts.map +1 -0
  16. package/dist/src/accounts/kernel.test.js +105 -0
  17. package/dist/{accounts → src/accounts}/nexus.d.ts +14 -13
  18. package/dist/src/accounts/nexus.d.ts.map +1 -0
  19. package/dist/{accounts → src/accounts}/nexus.js +92 -88
  20. package/dist/src/accounts/nexus.test.d.ts +2 -0
  21. package/dist/src/accounts/nexus.test.d.ts.map +1 -0
  22. package/dist/src/accounts/nexus.test.js +87 -0
  23. package/dist/{accounts → src/accounts}/safe.d.ts +4 -6
  24. package/dist/src/accounts/safe.d.ts.map +1 -0
  25. package/dist/{accounts → src/accounts}/safe.js +20 -29
  26. package/dist/src/accounts/safe.test.d.ts +2 -0
  27. package/dist/src/accounts/safe.test.d.ts.map +1 -0
  28. package/dist/src/accounts/safe.test.js +87 -0
  29. package/dist/src/accounts/startale.d.ts +20 -0
  30. package/dist/src/accounts/startale.d.ts.map +1 -0
  31. package/dist/src/accounts/startale.js +100 -0
  32. package/dist/src/accounts/startale.test.d.ts +2 -0
  33. package/dist/src/accounts/startale.test.d.ts.map +1 -0
  34. package/dist/src/accounts/startale.test.js +99 -0
  35. package/dist/{accounts → src/accounts}/utils.d.ts +4 -3
  36. package/dist/src/accounts/utils.d.ts.map +1 -0
  37. package/dist/{accounts → src/accounts}/utils.js +44 -0
  38. package/dist/src/accounts/utils.test.d.ts +2 -0
  39. package/dist/src/accounts/utils.test.d.ts.map +1 -0
  40. package/dist/src/accounts/utils.test.js +49 -0
  41. package/dist/src/actions/index.d.ts +39 -0
  42. package/dist/src/actions/index.d.ts.map +1 -0
  43. package/dist/{actions → src/actions}/index.js +108 -15
  44. package/dist/src/actions/index.test.d.ts +2 -0
  45. package/dist/src/actions/index.test.d.ts.map +1 -0
  46. package/dist/src/actions/index.test.js +302 -0
  47. package/dist/{actions → src/actions}/smart-session.d.ts +2 -2
  48. package/dist/src/actions/smart-session.d.ts.map +1 -0
  49. package/dist/src/execution/compact.d.ts +8 -0
  50. package/dist/src/execution/compact.d.ts.map +1 -0
  51. package/dist/src/execution/compact.js +105 -0
  52. package/dist/src/execution/error.d.ts +54 -0
  53. package/dist/src/execution/error.d.ts.map +1 -0
  54. package/dist/src/execution/error.js +78 -0
  55. package/dist/{execution → src/execution}/index.d.ts +7 -6
  56. package/dist/src/execution/index.d.ts.map +1 -0
  57. package/dist/src/execution/index.js +150 -0
  58. package/dist/src/execution/smart-session.d.ts +15 -0
  59. package/dist/src/execution/smart-session.d.ts.map +1 -0
  60. package/dist/{execution → src/execution}/smart-session.js +16 -77
  61. package/dist/src/execution/smart-session.test.d.ts +2 -0
  62. package/dist/src/execution/smart-session.test.d.ts.map +1 -0
  63. package/dist/src/execution/smart-session.test.js +34 -0
  64. package/dist/src/execution/utils.d.ts +45 -0
  65. package/dist/src/execution/utils.d.ts.map +1 -0
  66. package/dist/src/execution/utils.js +433 -0
  67. package/dist/src/index.d.ts +41 -0
  68. package/dist/src/index.d.ts.map +1 -0
  69. package/dist/src/index.js +154 -0
  70. package/dist/src/modules/abi/smart-sessions.d.ts.map +1 -0
  71. package/dist/src/modules/common.d.ts.map +1 -0
  72. package/dist/{modules → src/modules}/index.d.ts +3 -11
  73. package/dist/src/modules/index.d.ts.map +1 -0
  74. package/dist/{modules → src/modules}/index.js +3 -45
  75. package/dist/src/modules/index.test.d.ts +2 -0
  76. package/dist/src/modules/index.test.d.ts.map +1 -0
  77. package/dist/src/modules/index.test.js +107 -0
  78. package/dist/src/modules/omni-account.d.ts +7 -0
  79. package/dist/src/modules/omni-account.d.ts.map +1 -0
  80. package/dist/src/modules/omni-account.js +11 -0
  81. package/dist/src/modules/read.d.ts +9 -0
  82. package/dist/src/modules/read.d.ts.map +1 -0
  83. package/dist/{modules → src/modules}/read.js +6 -37
  84. package/dist/{modules → src/modules}/validators/core.d.ts +6 -7
  85. package/dist/src/modules/validators/core.d.ts.map +1 -0
  86. package/dist/{modules → src/modules}/validators/core.js +83 -8
  87. package/dist/src/modules/validators/core.test.d.ts +2 -0
  88. package/dist/src/modules/validators/core.test.d.ts.map +1 -0
  89. package/dist/src/modules/validators/core.test.js +108 -0
  90. package/dist/src/modules/validators/index.d.ts +4 -0
  91. package/dist/src/modules/validators/index.d.ts.map +1 -0
  92. package/dist/{modules → src/modules}/validators/index.js +1 -3
  93. package/dist/{modules → src/modules}/validators/smart-sessions.d.ts +4 -15
  94. package/dist/src/modules/validators/smart-sessions.d.ts.map +1 -0
  95. package/dist/{modules → src/modules}/validators/smart-sessions.js +7 -61
  96. package/dist/src/modules/validators/smart-sessions.test.d.ts +2 -0
  97. package/dist/src/modules/validators/smart-sessions.test.d.ts.map +1 -0
  98. package/dist/src/modules/validators/smart-sessions.test.js +226 -0
  99. package/dist/src/orchestrator/client.d.ts +21 -0
  100. package/dist/src/orchestrator/client.d.ts.map +1 -0
  101. package/dist/src/orchestrator/client.js +284 -0
  102. package/dist/src/orchestrator/consts.d.ts +5 -0
  103. package/dist/src/orchestrator/consts.d.ts.map +1 -0
  104. package/dist/src/orchestrator/consts.js +9 -0
  105. package/dist/src/orchestrator/error.d.ts +96 -0
  106. package/dist/src/orchestrator/error.d.ts.map +1 -0
  107. package/dist/src/orchestrator/error.js +132 -0
  108. package/dist/src/orchestrator/index.d.ts +11 -0
  109. package/dist/src/orchestrator/index.d.ts.map +1 -0
  110. package/dist/src/orchestrator/index.js +42 -0
  111. package/dist/src/orchestrator/registry.d.ts +39 -0
  112. package/dist/src/orchestrator/registry.d.ts.map +1 -0
  113. package/dist/src/orchestrator/registry.js +121 -0
  114. package/dist/src/orchestrator/registry.json +365 -0
  115. package/dist/src/orchestrator/registry.test.d.ts +2 -0
  116. package/dist/src/orchestrator/registry.test.d.ts.map +1 -0
  117. package/dist/src/orchestrator/registry.test.js +137 -0
  118. package/dist/src/orchestrator/types.d.ts +275 -0
  119. package/dist/src/orchestrator/types.d.ts.map +1 -0
  120. package/dist/src/orchestrator/types.js +19 -0
  121. package/dist/src/orchestrator/utils.d.ts +5 -0
  122. package/dist/src/orchestrator/utils.d.ts.map +1 -0
  123. package/dist/src/orchestrator/utils.js +126 -0
  124. package/dist/{types.d.ts → src/types.d.ts} +42 -21
  125. package/dist/src/types.d.ts.map +1 -0
  126. package/dist/test/consts.d.ts +10 -0
  127. package/dist/test/consts.d.ts.map +1 -0
  128. package/dist/test/consts.js +22 -0
  129. package/package.json +11 -20
  130. package/dist/accounts/index.d.ts.map +0 -1
  131. package/dist/accounts/index.js +0 -419
  132. package/dist/accounts/kernel.d.ts.map +0 -1
  133. package/dist/accounts/nexus.d.ts.map +0 -1
  134. package/dist/accounts/safe.d.ts.map +0 -1
  135. package/dist/accounts/utils.d.ts.map +0 -1
  136. package/dist/actions/index.d.ts +0 -29
  137. package/dist/actions/index.d.ts.map +0 -1
  138. package/dist/actions/registry.d.ts +0 -7
  139. package/dist/actions/registry.d.ts.map +0 -1
  140. package/dist/actions/registry.js +0 -7
  141. package/dist/actions/smart-session.d.ts.map +0 -1
  142. package/dist/execution/index.d.ts.map +0 -1
  143. package/dist/execution/index.js +0 -149
  144. package/dist/execution/smart-session.d.ts +0 -23
  145. package/dist/execution/smart-session.d.ts.map +0 -1
  146. package/dist/execution/utils.d.ts +0 -68
  147. package/dist/execution/utils.d.ts.map +0 -1
  148. package/dist/execution/utils.js +0 -482
  149. package/dist/index.d.ts +0 -38
  150. package/dist/index.d.ts.map +0 -1
  151. package/dist/index.js +0 -119
  152. package/dist/modules/abi/smart-sessions.d.ts.map +0 -1
  153. package/dist/modules/common.d.ts.map +0 -1
  154. package/dist/modules/index.d.ts.map +0 -1
  155. package/dist/modules/omni-account.d.ts +0 -9
  156. package/dist/modules/omni-account.d.ts.map +0 -1
  157. package/dist/modules/omni-account.js +0 -15
  158. package/dist/modules/read.d.ts +0 -10
  159. package/dist/modules/read.d.ts.map +0 -1
  160. package/dist/modules/registry.d.ts +0 -9
  161. package/dist/modules/registry.d.ts.map +0 -1
  162. package/dist/modules/registry.js +0 -60
  163. package/dist/modules/validators/core.d.ts.map +0 -1
  164. package/dist/modules/validators/index.d.ts +0 -4
  165. package/dist/modules/validators/index.d.ts.map +0 -1
  166. package/dist/modules/validators/smart-sessions.d.ts.map +0 -1
  167. package/dist/orchestrator/client.d.ts +0 -29
  168. package/dist/orchestrator/client.d.ts.map +0 -1
  169. package/dist/orchestrator/client.js +0 -250
  170. package/dist/orchestrator/consts.d.ts +0 -5
  171. package/dist/orchestrator/consts.d.ts.map +0 -1
  172. package/dist/orchestrator/consts.js +0 -9
  173. package/dist/orchestrator/error.d.ts +0 -18
  174. package/dist/orchestrator/error.d.ts.map +0 -1
  175. package/dist/orchestrator/error.js +0 -33
  176. package/dist/orchestrator/index.d.ts +0 -11
  177. package/dist/orchestrator/index.d.ts.map +0 -1
  178. package/dist/orchestrator/index.js +0 -40
  179. package/dist/orchestrator/registry.d.ts +0 -20
  180. package/dist/orchestrator/registry.d.ts.map +0 -1
  181. package/dist/orchestrator/registry.js +0 -444
  182. package/dist/orchestrator/types.d.ts +0 -242
  183. package/dist/orchestrator/types.d.ts.map +0 -1
  184. package/dist/orchestrator/types.js +0 -19
  185. package/dist/orchestrator/utils.d.ts +0 -29
  186. package/dist/orchestrator/utils.d.ts.map +0 -1
  187. package/dist/orchestrator/utils.js +0 -319
  188. package/dist/types.d.ts.map +0 -1
  189. /package/dist/{actions → src/actions}/smart-session.js +0 -0
  190. /package/dist/{modules → src/modules}/abi/smart-sessions.d.ts +0 -0
  191. /package/dist/{modules → src/modules}/abi/smart-sessions.js +0 -0
  192. /package/dist/{modules → src/modules}/common.d.ts +0 -0
  193. /package/dist/{modules → src/modules}/common.js +0 -0
  194. /package/dist/{types.js → src/types.js} +0 -0
@@ -0,0 +1,39 @@
1
+ import { type Address, type Chain, type Hex } from 'viem';
2
+ import type { RhinestoneAccount } from '..';
3
+ import { type WebauthnCredential } from '../modules/validators/core';
4
+ import type { Call, OwnableValidatorConfig, OwnerSet, ProviderConfig, Recovery, WebauthnValidatorConfig } from '../types';
5
+ import { encodeSmartSessionSignature } from './smart-session';
6
+ declare function setUpRecovery({ rhinestoneAccount, guardians, threshold, }: {
7
+ rhinestoneAccount: RhinestoneAccount;
8
+ } & Recovery): Call[];
9
+ declare function recover(address: Address, newOwners: OwnerSet, chain: Chain, provider?: ProviderConfig): Promise<Call[]>;
10
+ declare function enableEcdsa({ rhinestoneAccount, owners, threshold, }: {
11
+ rhinestoneAccount: RhinestoneAccount;
12
+ owners: Address[];
13
+ threshold?: number;
14
+ }): Call[];
15
+ declare function enablePasskeys({ rhinestoneAccount, pubKey, authenticatorId, }: {
16
+ rhinestoneAccount: RhinestoneAccount;
17
+ } & WebauthnCredential): Call[];
18
+ declare function disableEcdsa({ rhinestoneAccount, }: {
19
+ rhinestoneAccount: RhinestoneAccount;
20
+ }): Call[];
21
+ declare function disablePasskeys({ rhinestoneAccount, }: {
22
+ rhinestoneAccount: RhinestoneAccount;
23
+ }): Call[];
24
+ declare function addOwner(owner: Address): Call;
25
+ declare function removeOwner(prevOwner: Address, ownerToRemove: Address): Call;
26
+ declare function changeThreshold(newThreshold: number): Call;
27
+ declare function enableMultiFactor({ rhinestoneAccount, validators, threshold, }: {
28
+ rhinestoneAccount: RhinestoneAccount;
29
+ validators: (OwnableValidatorConfig | WebauthnValidatorConfig | null)[];
30
+ threshold?: number;
31
+ }): Call[];
32
+ declare function disableMultiFactor({ rhinestoneAccount, }: {
33
+ rhinestoneAccount: RhinestoneAccount;
34
+ }): Call[];
35
+ declare function changeMultiFactorThreshold(newThreshold: number): Call;
36
+ declare function setSubValidator(id: Hex | number, validator: OwnableValidatorConfig | WebauthnValidatorConfig): Call;
37
+ declare function removeSubValidator(id: Hex | number, validator: OwnableValidatorConfig | WebauthnValidatorConfig): Call;
38
+ export { enableEcdsa, enablePasskeys, disableEcdsa, disablePasskeys, addOwner, removeOwner, changeThreshold, recover, setUpRecovery, encodeSmartSessionSignature, enableMultiFactor, disableMultiFactor, changeMultiFactorThreshold, setSubValidator, removeSubValidator, };
39
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,KAAK,EAGV,KAAK,GAAG,EAGT,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,IAAI,CAAA;AAM3C,OAAO,EAQL,KAAK,kBAAkB,EACxB,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EACV,IAAI,EACJ,sBAAsB,EACtB,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,uBAAuB,EACxB,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAE7D,iBAAS,aAAa,CAAC,EACrB,iBAAiB,EACjB,SAAS,EACT,SAAa,GACd,EAAE;IACD,iBAAiB,EAAE,iBAAiB,CAAA;CACrC,GAAG,QAAQ,UAIX;AAED,iBAAe,OAAO,CACpB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,QAAQ,EACnB,KAAK,EAAE,KAAK,EACZ,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,IAAI,EAAE,CAAC,CAYjB;AAED,iBAAS,WAAW,CAAC,EACnB,iBAAiB,EACjB,MAAM,EACN,SAAa,GACd,EAAE;IACD,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,MAAM,EAAE,OAAO,EAAE,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,UAIA;AAED,iBAAS,cAAc,CAAC,EACtB,iBAAiB,EACjB,MAAM,EACN,eAAe,GAChB,EAAE;IACD,iBAAiB,EAAE,iBAAiB,CAAA;CACrC,GAAG,kBAAkB,UAIrB;AAED,iBAAS,YAAY,CAAC,EACpB,iBAAiB,GAClB,EAAE;IACD,iBAAiB,EAAE,iBAAiB,CAAA;CACrC,UAIA;AAED,iBAAS,eAAe,CAAC,EACvB,iBAAiB,GAClB,EAAE;IACD,iBAAiB,EAAE,iBAAiB,CAAA;CACrC,UASA;AAED,iBAAS,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAkBtC;AAED,iBAAS,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,GAAG,IAAI,CAqBrE;AAED,iBAAS,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAoBnD;AAgHD,iBAAS,iBAAiB,CAAC,EACzB,iBAAiB,EACjB,UAAU,EACV,SAAa,GACd,EAAE;IACD,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,UAAU,EAAE,CAAC,sBAAsB,GAAG,uBAAuB,GAAG,IAAI,CAAC,EAAE,CAAA;IACvE,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,UAIA;AAED,iBAAS,kBAAkB,CAAC,EAC1B,iBAAiB,GAClB,EAAE;IACD,iBAAiB,EAAE,iBAAiB,CAAA;CACrC,UAIA;AAED,iBAAS,0BAA0B,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAkB9D;AAED,iBAAS,eAAe,CACtB,EAAE,EAAE,GAAG,GAAG,MAAM,EAChB,SAAS,EAAE,sBAAsB,GAAG,uBAAuB,GAC1D,IAAI,CA+BN;AAED,iBAAS,kBAAkB,CACzB,EAAE,EAAE,GAAG,GAAG,MAAM,EAChB,SAAS,EAAE,sBAAsB,GAAG,uBAAuB,GAC1D,IAAI,CA2BN;AAED,OAAO,EACL,WAAW,EACX,cAAc,EACd,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,WAAW,EACX,eAAe,EACf,OAAO,EACP,aAAa,EACb,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,EAClB,0BAA0B,EAC1B,eAAe,EACf,kBAAkB,GACnB,CAAA"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.trustAttester = exports.encodeSmartSessionSignature = void 0;
3
+ exports.encodeSmartSessionSignature = void 0;
4
4
  exports.enableEcdsa = enableEcdsa;
5
5
  exports.enablePasskeys = enablePasskeys;
6
6
  exports.disableEcdsa = disableEcdsa;
@@ -10,11 +10,15 @@ exports.removeOwner = removeOwner;
10
10
  exports.changeThreshold = changeThreshold;
11
11
  exports.recover = recover;
12
12
  exports.setUpRecovery = setUpRecovery;
13
+ exports.enableMultiFactor = enableMultiFactor;
14
+ exports.disableMultiFactor = disableMultiFactor;
15
+ exports.changeMultiFactorThreshold = changeMultiFactorThreshold;
16
+ exports.setSubValidator = setSubValidator;
17
+ exports.removeSubValidator = removeSubValidator;
13
18
  const viem_1 = require("viem");
14
19
  const accounts_1 = require("../accounts");
20
+ const utils_1 = require("../accounts/utils");
15
21
  const core_1 = require("../modules/validators/core");
16
- const registry_1 = require("./registry");
17
- Object.defineProperty(exports, "trustAttester", { enumerable: true, get: function () { return registry_1.trustAttester; } });
18
22
  const smart_session_1 = require("./smart-session");
19
23
  Object.defineProperty(exports, "encodeSmartSessionSignature", { enumerable: true, get: function () { return smart_session_1.encodeSmartSessionSignature; } });
20
24
  function setUpRecovery({ rhinestoneAccount, guardians, threshold = 1, }) {
@@ -22,21 +26,21 @@ function setUpRecovery({ rhinestoneAccount, guardians, threshold = 1, }) {
22
26
  const calls = (0, accounts_1.getModuleInstallationCalls)(rhinestoneAccount.config, module);
23
27
  return calls;
24
28
  }
25
- async function recover(address, newOwners, chain) {
29
+ async function recover(address, newOwners, chain, provider) {
26
30
  switch (newOwners.type) {
27
31
  case 'ecdsa': {
28
- return recoverEcdsaOwnership(address, newOwners, chain);
32
+ return recoverEcdsaOwnership(address, newOwners, chain, provider);
29
33
  }
30
34
  case 'passkey': {
31
35
  throw new Error('Passkey ownership recovery is not yet supported');
32
36
  }
37
+ case 'multi-factor': {
38
+ throw new Error('Multi-factor ownership recovery is not yet supported');
39
+ }
33
40
  }
34
41
  }
35
42
  function enableEcdsa({ rhinestoneAccount, owners, threshold = 1, }) {
36
- const module = (0, core_1.getOwnableValidator)({
37
- threshold,
38
- owners,
39
- });
43
+ const module = (0, core_1.getOwnableValidator)(threshold, owners);
40
44
  const calls = (0, accounts_1.getModuleInstallationCalls)(rhinestoneAccount.config, module);
41
45
  return calls;
42
46
  }
@@ -46,10 +50,7 @@ function enablePasskeys({ rhinestoneAccount, pubKey, authenticatorId, }) {
46
50
  return calls;
47
51
  }
48
52
  function disableEcdsa({ rhinestoneAccount, }) {
49
- const module = (0, core_1.getOwnableValidator)({
50
- threshold: 1,
51
- owners: [],
52
- });
53
+ const module = (0, core_1.getOwnableValidator)(1, []);
53
54
  const calls = (0, accounts_1.getModuleUninstallationCalls)(rhinestoneAccount.config, module);
54
55
  return calls;
55
56
  }
@@ -65,6 +66,7 @@ function disablePasskeys({ rhinestoneAccount, }) {
65
66
  function addOwner(owner) {
66
67
  return {
67
68
  to: core_1.OWNABLE_VALIDATOR_ADDRESS,
69
+ value: 0n,
68
70
  data: (0, viem_1.encodeFunctionData)({
69
71
  abi: [
70
72
  {
@@ -83,6 +85,7 @@ function addOwner(owner) {
83
85
  function removeOwner(prevOwner, ownerToRemove) {
84
86
  return {
85
87
  to: core_1.OWNABLE_VALIDATOR_ADDRESS,
88
+ value: 0n,
86
89
  data: (0, viem_1.encodeFunctionData)({
87
90
  abi: [
88
91
  {
@@ -104,6 +107,7 @@ function removeOwner(prevOwner, ownerToRemove) {
104
107
  function changeThreshold(newThreshold) {
105
108
  return {
106
109
  to: core_1.OWNABLE_VALIDATOR_ADDRESS,
110
+ value: 0n,
107
111
  data: (0, viem_1.encodeFunctionData)({
108
112
  abi: [
109
113
  {
@@ -121,10 +125,10 @@ function changeThreshold(newThreshold) {
121
125
  }),
122
126
  };
123
127
  }
124
- async function recoverEcdsaOwnership(address, newOwners, chain) {
128
+ async function recoverEcdsaOwnership(address, newOwners, chain, provider) {
125
129
  const publicClient = (0, viem_1.createPublicClient)({
126
130
  chain,
127
- transport: (0, viem_1.http)(),
131
+ transport: (0, utils_1.createTransport)(chain, provider),
128
132
  });
129
133
  // Read the existing config
130
134
  const results = await publicClient.multicall({
@@ -211,3 +215,92 @@ async function recoverEcdsaOwnership(address, newOwners, chain) {
211
215
  }
212
216
  return calls;
213
217
  }
218
+ function enableMultiFactor({ rhinestoneAccount, validators, threshold = 1, }) {
219
+ const module = (0, core_1.getMultiFactorValidator)(threshold, validators);
220
+ const calls = (0, accounts_1.getModuleInstallationCalls)(rhinestoneAccount.config, module);
221
+ return calls;
222
+ }
223
+ function disableMultiFactor({ rhinestoneAccount, }) {
224
+ const module = (0, core_1.getMultiFactorValidator)(1, []);
225
+ const calls = (0, accounts_1.getModuleUninstallationCalls)(rhinestoneAccount.config, module);
226
+ return calls;
227
+ }
228
+ function changeMultiFactorThreshold(newThreshold) {
229
+ return {
230
+ to: core_1.MULTI_FACTOR_VALIDATOR_ADDRESS,
231
+ value: 0n,
232
+ data: (0, viem_1.encodeFunctionData)({
233
+ abi: [
234
+ {
235
+ inputs: [{ internalType: 'uint8', name: 'threshold', type: 'uint8' }],
236
+ name: 'setThreshold',
237
+ outputs: [],
238
+ stateMutability: 'nonpayable',
239
+ type: 'function',
240
+ },
241
+ ],
242
+ functionName: 'setThreshold',
243
+ args: [newThreshold],
244
+ }),
245
+ };
246
+ }
247
+ function setSubValidator(id, validator) {
248
+ const validatorId = (0, viem_1.padHex)((0, viem_1.toHex)(id), { size: 12 });
249
+ const validatorModule = (0, core_1.getValidator)(validator);
250
+ return {
251
+ to: core_1.MULTI_FACTOR_VALIDATOR_ADDRESS,
252
+ value: 0n,
253
+ data: (0, viem_1.encodeFunctionData)({
254
+ abi: [
255
+ {
256
+ type: 'function',
257
+ name: 'setValidator',
258
+ inputs: [
259
+ {
260
+ type: 'address',
261
+ name: 'validatorAddress',
262
+ },
263
+ {
264
+ type: 'bytes12',
265
+ name: 'validatorId',
266
+ },
267
+ {
268
+ type: 'bytes',
269
+ name: 'newValidatorData',
270
+ },
271
+ ],
272
+ },
273
+ ],
274
+ functionName: 'setValidator',
275
+ args: [validatorModule.address, validatorId, validatorModule.initData],
276
+ }),
277
+ };
278
+ }
279
+ function removeSubValidator(id, validator) {
280
+ const validatorId = (0, viem_1.padHex)((0, viem_1.toHex)(id), { size: 12 });
281
+ const validatorModule = (0, core_1.getValidator)(validator);
282
+ return {
283
+ to: core_1.MULTI_FACTOR_VALIDATOR_ADDRESS,
284
+ value: 0n,
285
+ data: (0, viem_1.encodeFunctionData)({
286
+ abi: [
287
+ {
288
+ type: 'function',
289
+ name: 'removeValidator',
290
+ inputs: [
291
+ {
292
+ type: 'address',
293
+ name: 'validatorAddress',
294
+ },
295
+ {
296
+ type: 'bytes12',
297
+ name: 'validatorId',
298
+ },
299
+ ],
300
+ },
301
+ ],
302
+ functionName: 'removeValidator',
303
+ args: [validatorModule.address, validatorId],
304
+ }),
305
+ };
306
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../actions/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,302 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const viem_1 = require("viem");
4
+ const chains_1 = require("viem/chains");
5
+ const vitest_1 = require("vitest");
6
+ const consts_1 = require("../../test/consts");
7
+ const __1 = require("..");
8
+ const _1 = require(".");
9
+ const MOCK_OWNER_A = '0xd1aefebdceefc094f1805b241fa5e6db63a9181a';
10
+ const MOCK_OWNER_B = '0xeddfcb50d18f6d3d51c4f7cbca5ed6bdebc59817';
11
+ const MOCK_OWNER_C = '0xb31e76f19defe76edc4b7eceeb4b0a2d6ddaca39';
12
+ const MOCK_ACCOUNT_ADDRESS = '0x1234567890123456789012345678901234567890';
13
+ const accountAddress = '0x464aae2512ead54fffad07fdf1f13d513050678b';
14
+ // Mock viem
15
+ vitest_1.vi.mock('viem', async (importOriginal) => {
16
+ const actual = await importOriginal();
17
+ return {
18
+ // @ts-ignore
19
+ ...actual,
20
+ createPublicClient: vitest_1.vi.fn(),
21
+ };
22
+ });
23
+ (0, vitest_1.describe)('Actions', () => {
24
+ (0, vitest_1.describe)('Install Ownable Validator', async () => {
25
+ const rhinestoneAccount = await (0, __1.createRhinestoneAccount)({
26
+ owners: {
27
+ type: 'ecdsa',
28
+ accounts: [consts_1.accountA],
29
+ },
30
+ rhinestoneApiKey: consts_1.MOCK_API_KEY,
31
+ });
32
+ (0, vitest_1.test)('1/1 Owners', () => {
33
+ (0, vitest_1.expect)((0, _1.enableEcdsa)({
34
+ rhinestoneAccount,
35
+ owners: [MOCK_OWNER_A],
36
+ })).toEqual([
37
+ {
38
+ to: accountAddress,
39
+ value: 0n,
40
+ data: '0x9517e29f00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000e9e6e96bcaa3c113187cdb7e38aed900000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000d1aefebdceefc094f1805b241fa5e6db63a9181a',
41
+ },
42
+ ]);
43
+ });
44
+ (0, vitest_1.test)('1/N Owners', () => {
45
+ (0, vitest_1.expect)((0, _1.enableEcdsa)({
46
+ rhinestoneAccount,
47
+ owners: [MOCK_OWNER_A, MOCK_OWNER_B],
48
+ })).toEqual([
49
+ {
50
+ to: accountAddress,
51
+ value: 0n,
52
+ data: '0x9517e29f00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000e9e6e96bcaa3c113187cdb7e38aed9000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000d1aefebdceefc094f1805b241fa5e6db63a9181a000000000000000000000000eddfcb50d18f6d3d51c4f7cbca5ed6bdebc59817',
53
+ },
54
+ ]);
55
+ });
56
+ (0, vitest_1.test)('M/N Owners', () => {
57
+ (0, vitest_1.expect)((0, _1.enableEcdsa)({
58
+ rhinestoneAccount,
59
+ owners: [MOCK_OWNER_A, MOCK_OWNER_B, MOCK_OWNER_C],
60
+ threshold: 2,
61
+ })).toEqual([
62
+ {
63
+ to: accountAddress,
64
+ value: 0n,
65
+ data: '0x9517e29f00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000e9e6e96bcaa3c113187cdb7e38aed9000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000003000000000000000000000000b31e76f19defe76edc4b7eceeb4b0a2d6ddaca39000000000000000000000000d1aefebdceefc094f1805b241fa5e6db63a9181a000000000000000000000000eddfcb50d18f6d3d51c4f7cbca5ed6bdebc59817',
66
+ },
67
+ ]);
68
+ });
69
+ });
70
+ (0, vitest_1.describe)('Install WebAuthn Validator', async () => {
71
+ const rhinestoneAccount = await (0, __1.createRhinestoneAccount)({
72
+ owners: {
73
+ type: 'ecdsa',
74
+ accounts: [consts_1.accountA],
75
+ },
76
+ rhinestoneApiKey: consts_1.MOCK_API_KEY,
77
+ });
78
+ (0, vitest_1.test)('', () => {
79
+ (0, vitest_1.expect)((0, _1.enablePasskeys)({
80
+ rhinestoneAccount,
81
+ pubKey: consts_1.passkeyAccount.publicKey,
82
+ authenticatorId: consts_1.passkeyAccount.id,
83
+ })).toEqual([
84
+ {
85
+ to: accountAddress,
86
+ value: 0n,
87
+ data: '0x9517e29f00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000578c4cb0e472a5462da43c495c3f3300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000060580a9af0569ad3905b26a703201b358aa0904236642ebe79b22a19d00d3737637d46f725a5427ae45a9569259bf67e1e16b187d7b3ad1ed70138c4f0409677d19c9a01073b202db2ed56e604ad11db557d8c3ad75181619597f21b830f2da82a',
88
+ },
89
+ ]);
90
+ });
91
+ });
92
+ (0, vitest_1.describe)('Uninstall Ownable Validator', async () => {
93
+ const rhinestoneAccount = await (0, __1.createRhinestoneAccount)({
94
+ owners: {
95
+ type: 'ecdsa',
96
+ accounts: [consts_1.accountA],
97
+ },
98
+ rhinestoneApiKey: consts_1.MOCK_API_KEY,
99
+ });
100
+ (0, vitest_1.test)('', () => {
101
+ (0, vitest_1.expect)((0, _1.disableEcdsa)({
102
+ rhinestoneAccount,
103
+ })).toEqual([
104
+ {
105
+ to: accountAddress,
106
+ value: 0n,
107
+ data: '0xa71763a800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000e9e6e96bcaa3c113187cdb7e38aed900000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000',
108
+ },
109
+ ]);
110
+ });
111
+ });
112
+ (0, vitest_1.describe)('Uninstall WebAuthn Validator', async () => {
113
+ const rhinestoneAccount = await (0, __1.createRhinestoneAccount)({
114
+ owners: {
115
+ type: 'ecdsa',
116
+ accounts: [consts_1.accountA],
117
+ },
118
+ rhinestoneApiKey: consts_1.MOCK_API_KEY,
119
+ });
120
+ (0, vitest_1.test)('', () => {
121
+ (0, vitest_1.expect)((0, _1.disablePasskeys)({
122
+ rhinestoneAccount,
123
+ })).toEqual([
124
+ {
125
+ to: accountAddress,
126
+ value: 0n,
127
+ data: '0xa71763a800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000578c4cb0e472a5462da43c495c3f3300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000',
128
+ },
129
+ ]);
130
+ });
131
+ });
132
+ (0, vitest_1.describe)('Add Owner', () => {
133
+ (0, vitest_1.test)('', () => {
134
+ (0, vitest_1.expect)((0, _1.addOwner)(MOCK_OWNER_A)).toEqual({
135
+ to: '0x0000000000E9E6E96Bcaa3c113187CdB7E38AED9',
136
+ value: 0n,
137
+ data: '0x7065cb48000000000000000000000000d1aefebdceefc094f1805b241fa5e6db63a9181a',
138
+ });
139
+ });
140
+ });
141
+ (0, vitest_1.describe)('Remove Owner', () => {
142
+ (0, vitest_1.test)('', () => {
143
+ (0, vitest_1.expect)((0, _1.removeOwner)(MOCK_OWNER_A, MOCK_OWNER_B)).toEqual({
144
+ to: '0x0000000000E9E6E96Bcaa3c113187CdB7E38AED9',
145
+ value: 0n,
146
+ data: '0xfbe5ce0a000000000000000000000000d1aefebdceefc094f1805b241fa5e6db63a9181a000000000000000000000000eddfcb50d18f6d3d51c4f7cbca5ed6bdebc59817',
147
+ });
148
+ });
149
+ });
150
+ (0, vitest_1.describe)('Set Threshold', () => {
151
+ (0, vitest_1.test)('', () => {
152
+ (0, vitest_1.expect)((0, _1.changeThreshold)(1)).toEqual({
153
+ to: '0x0000000000E9E6E96Bcaa3c113187CdB7E38AED9',
154
+ value: 0n,
155
+ data: '0x960bfe040000000000000000000000000000000000000000000000000000000000000001',
156
+ });
157
+ });
158
+ });
159
+ (0, vitest_1.describe)('Set Up Recovery', async () => {
160
+ const rhinestoneAccount = await (0, __1.createRhinestoneAccount)({
161
+ owners: {
162
+ type: 'ecdsa',
163
+ accounts: [consts_1.accountA],
164
+ },
165
+ rhinestoneApiKey: consts_1.MOCK_API_KEY,
166
+ });
167
+ (0, vitest_1.test)('Single Guardian', () => {
168
+ (0, vitest_1.expect)((0, _1.setUpRecovery)({
169
+ rhinestoneAccount,
170
+ guardians: [consts_1.accountB],
171
+ threshold: 1,
172
+ })).toEqual([
173
+ {
174
+ to: accountAddress,
175
+ value: 0n,
176
+ data: '0x9517e29f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a04d053b3c8021e8d5bf641816c42daa75d8b597000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006092086a3dc0020cd604a68fcf5d430007d51bb7',
177
+ },
178
+ ]);
179
+ });
180
+ (0, vitest_1.test)('Guardian Multi-Sig', () => {
181
+ (0, vitest_1.expect)((0, _1.setUpRecovery)({
182
+ rhinestoneAccount,
183
+ guardians: [consts_1.accountB, consts_1.accountC, consts_1.accountD],
184
+ threshold: 2,
185
+ })).toEqual([
186
+ {
187
+ to: accountAddress,
188
+ value: 0n,
189
+ data: '0x9517e29f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a04d053b3c8021e8d5bf641816c42daa75d8b597000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000030000000000000000000000006092086a3dc0020cd604a68fcf5d430007d51bb7000000000000000000000000c27b7578151c5ef713c62c65db09763d57ac3596000000000000000000000000c5587d912c862252599b61926adaef316ba06da0',
190
+ },
191
+ ]);
192
+ });
193
+ });
194
+ (0, vitest_1.describe)('Recover', () => {
195
+ const mockPublicClient = {
196
+ readContract: vitest_1.vi.fn(),
197
+ multicall: vitest_1.vi.fn(),
198
+ };
199
+ (0, vitest_1.beforeEach)(() => {
200
+ const createPublicClientMock = viem_1.createPublicClient;
201
+ createPublicClientMock.mockReturnValue(mockPublicClient);
202
+ vitest_1.vi.clearAllMocks();
203
+ });
204
+ (0, vitest_1.test)('1/1 Owners - Single owner to different single owner', async () => {
205
+ // Initial state
206
+ mockPublicClient.multicall.mockResolvedValueOnce([
207
+ { result: [consts_1.accountA.address.toLowerCase()], status: 'success' },
208
+ { result: 1n, status: 'success' },
209
+ ]);
210
+ const newOwners = {
211
+ type: 'ecdsa',
212
+ accounts: [consts_1.accountB],
213
+ threshold: 1,
214
+ };
215
+ const result = await (0, _1.recover)(MOCK_ACCOUNT_ADDRESS, newOwners, chains_1.base);
216
+ (0, vitest_1.expect)(mockPublicClient.multicall).toHaveBeenCalledTimes(1);
217
+ (0, vitest_1.expect)(result).toEqual([
218
+ {
219
+ to: '0x0000000000E9E6E96Bcaa3c113187CdB7E38AED9',
220
+ value: 0n,
221
+ data: '0x7065cb480000000000000000000000006092086a3dc0020cd604a68fcf5d430007d51bb7',
222
+ },
223
+ {
224
+ to: '0x0000000000E9E6E96Bcaa3c113187CdB7E38AED9',
225
+ value: 0n,
226
+ data: '0xfbe5ce0a0000000000000000000000006092086a3dc0020cd604a68fcf5d430007d51bb7000000000000000000000000f6c02c78ded62973b43bfa523b247da099486936',
227
+ },
228
+ ]);
229
+ });
230
+ (0, vitest_1.test)('1/N Owners - Single owner to multiple owners', async () => {
231
+ // Initial state
232
+ mockPublicClient.multicall.mockResolvedValueOnce([
233
+ {
234
+ result: [
235
+ consts_1.accountA.address.toLowerCase(),
236
+ consts_1.accountB.address.toLowerCase(),
237
+ consts_1.accountC.address.toLowerCase(),
238
+ ],
239
+ status: 'success',
240
+ },
241
+ { result: 1n, status: 'success' },
242
+ ]);
243
+ const newOwners = {
244
+ type: 'ecdsa',
245
+ accounts: [consts_1.accountB, consts_1.accountC, consts_1.accountD],
246
+ threshold: 1,
247
+ };
248
+ const result = await (0, _1.recover)(MOCK_ACCOUNT_ADDRESS, newOwners, chains_1.base);
249
+ (0, vitest_1.expect)(mockPublicClient.multicall).toHaveBeenCalledTimes(1);
250
+ (0, vitest_1.expect)(result).toEqual([
251
+ {
252
+ to: '0x0000000000E9E6E96Bcaa3c113187CdB7E38AED9',
253
+ value: 0n,
254
+ data: '0x7065cb48000000000000000000000000c5587d912c862252599b61926adaef316ba06da0',
255
+ },
256
+ {
257
+ to: '0x0000000000E9E6E96Bcaa3c113187CdB7E38AED9',
258
+ value: 0n,
259
+ data: '0xfbe5ce0a000000000000000000000000c5587d912c862252599b61926adaef316ba06da0000000000000000000000000f6c02c78ded62973b43bfa523b247da099486936',
260
+ },
261
+ ]);
262
+ });
263
+ (0, vitest_1.test)('M/N Owners - Multiple owners to different multiple owners', async () => {
264
+ // Initial state
265
+ mockPublicClient.multicall.mockResolvedValueOnce([
266
+ {
267
+ result: [
268
+ consts_1.accountA.address.toLowerCase(),
269
+ consts_1.accountB.address.toLowerCase(),
270
+ consts_1.accountC.address.toLowerCase(),
271
+ ],
272
+ status: 'success',
273
+ },
274
+ { result: 2n, status: 'success' },
275
+ ]);
276
+ const newOwners = {
277
+ type: 'ecdsa',
278
+ accounts: [consts_1.accountB, consts_1.accountD],
279
+ threshold: 2,
280
+ };
281
+ const result = await (0, _1.recover)(MOCK_ACCOUNT_ADDRESS, newOwners, chains_1.base);
282
+ (0, vitest_1.expect)(mockPublicClient.multicall).toHaveBeenCalledTimes(1);
283
+ (0, vitest_1.expect)(result).toEqual([
284
+ {
285
+ to: '0x0000000000E9E6E96Bcaa3c113187CdB7E38AED9',
286
+ value: 0n,
287
+ data: '0x7065cb48000000000000000000000000c5587d912c862252599b61926adaef316ba06da0',
288
+ },
289
+ {
290
+ to: '0x0000000000E9E6E96Bcaa3c113187CdB7E38AED9',
291
+ value: 0n,
292
+ data: '0xfbe5ce0a000000000000000000000000c5587d912c862252599b61926adaef316ba06da0000000000000000000000000f6c02c78ded62973b43bfa523b247da099486936',
293
+ },
294
+ {
295
+ to: '0x0000000000E9E6E96Bcaa3c113187CdB7E38AED9',
296
+ value: 0n,
297
+ data: '0xfbe5ce0a0000000000000000000000006092086a3dc0020cd604a68fcf5d430007d51bb7000000000000000000000000c27b7578151c5ef713c62c65db09763d57ac3596',
298
+ },
299
+ ]);
300
+ });
301
+ });
302
+ });
@@ -1,5 +1,5 @@
1
- import { Hex } from 'viem';
2
- import { SessionDetails } from '../execution/smart-session';
1
+ import type { Hex } from 'viem';
2
+ import type { SessionDetails } from '../execution/smart-session';
3
3
  declare function encodeSmartSessionSignature(sessionDetails: SessionDetails, sessionSignature: Hex): `0x${string}`;
4
4
  export { encodeSmartSessionSignature };
5
5
  //# sourceMappingURL=smart-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smart-session.d.ts","sourceRoot":"","sources":["../../../actions/smart-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAGhE,iBAAS,2BAA2B,CAClC,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,GAAG,iBAQtB;AAED,OAAO,EAAE,2BAA2B,EAAE,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { type Address } from 'viem';
2
+ import type { Call } from '../types';
3
+ declare const COMPACT_ADDRESS = "0xa2E6C7Ba8613E1534dCB990e7e4962216C0a5d58";
4
+ declare function getDepositEtherCall(account: Address, value: bigint): Call;
5
+ declare function getDepositErc20Call(account: Address, tokenAddress: Address, amount: bigint): Call;
6
+ declare function getApproveErc20Call(tokenAddress: Address, amount: bigint): Call;
7
+ export { COMPACT_ADDRESS, getDepositEtherCall, getDepositErc20Call, getApproveErc20Call, };
8
+ //# sourceMappingURL=compact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compact.d.ts","sourceRoot":"","sources":["../../../execution/compact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAA0C,MAAM,MAAM,CAAA;AAC3E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAcpC,QAAA,MAAM,eAAe,+CAA+C,CAAA;AAKpE,iBAAS,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAqBlE;AAED,iBAAS,mBAAmB,CAC1B,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,OAAO,EACrB,MAAM,EAAE,MAAM,GACb,IAAI,CA2BN;AAED,iBAAS,mBAAmB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAUxE;AAoCD,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GACpB,CAAA"}