@zerodev/sdk 5.2.0-alpha-1 → 5.2.0-alpha-3

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 (215) hide show
  1. package/README.md +3 -0
  2. package/_cjs/accounts/index.js +9 -2
  3. package/_cjs/accounts/index.js.map +1 -1
  4. package/_cjs/accounts/kernel/abi/EIP1271Abi.js +37 -0
  5. package/_cjs/accounts/kernel/abi/EIP1271Abi.js.map +1 -0
  6. package/_cjs/accounts/kernel/abi/SafeCreateCallAbi.js +9 -0
  7. package/_cjs/accounts/kernel/abi/SafeCreateCallAbi.js.map +1 -0
  8. package/_cjs/accounts/kernel/createKernelAccount.js +124 -378
  9. package/_cjs/accounts/kernel/createKernelAccount.js.map +1 -1
  10. package/_cjs/accounts/kernel/utils/account/ep0_6/encodeCallData.js +26 -0
  11. package/_cjs/accounts/kernel/utils/account/ep0_6/encodeCallData.js.map +1 -0
  12. package/_cjs/accounts/kernel/utils/account/ep0_6/encodeDeployCallData.js +16 -0
  13. package/_cjs/accounts/kernel/utils/account/ep0_6/encodeDeployCallData.js.map +1 -0
  14. package/_cjs/accounts/kernel/utils/account/ep0_7/encodeCallData.js +30 -0
  15. package/_cjs/accounts/kernel/utils/account/ep0_7/encodeCallData.js.map +1 -0
  16. package/_cjs/accounts/kernel/utils/account/ep0_7/encodeDeployCallData.js +18 -0
  17. package/_cjs/accounts/kernel/utils/account/ep0_7/encodeDeployCallData.js.map +1 -0
  18. package/_cjs/accounts/kernel/utils/common/accountMetadata.js +46 -0
  19. package/_cjs/accounts/kernel/utils/common/accountMetadata.js.map +1 -0
  20. package/_cjs/accounts/kernel/utils/common/eip712WrapHash.js +28 -0
  21. package/_cjs/accounts/kernel/utils/common/eip712WrapHash.js.map +1 -0
  22. package/_cjs/accounts/kernel/utils/common/encodeSafeCreateCall.js +14 -0
  23. package/_cjs/accounts/kernel/utils/common/encodeSafeCreateCall.js.map +1 -0
  24. package/_cjs/accounts/kernel/utils/ep0_6/encodeExecuteBatchCall.js +22 -0
  25. package/_cjs/accounts/kernel/utils/ep0_6/encodeExecuteBatchCall.js.map +1 -0
  26. package/_cjs/accounts/kernel/utils/ep0_6/encodeExecuteDelegateCall.js +14 -0
  27. package/_cjs/accounts/kernel/utils/ep0_6/encodeExecuteDelegateCall.js.map +1 -0
  28. package/_cjs/accounts/kernel/utils/ep0_6/encodeExecuteSingleCall.js +14 -0
  29. package/_cjs/accounts/kernel/utils/ep0_6/encodeExecuteSingleCall.js.map +1 -0
  30. package/_cjs/accounts/kernel/utils/ep0_7/encodeExecuteBatchCall.js +42 -0
  31. package/_cjs/accounts/kernel/utils/ep0_7/encodeExecuteBatchCall.js.map +1 -0
  32. package/_cjs/accounts/kernel/utils/ep0_7/encodeExecuteCall.js +29 -0
  33. package/_cjs/accounts/kernel/utils/ep0_7/encodeExecuteCall.js.map +1 -0
  34. package/_cjs/accounts/kernel/utils/ep0_7/encodeExecuteDelegateCall.js +13 -0
  35. package/_cjs/accounts/kernel/utils/ep0_7/encodeExecuteDelegateCall.js.map +1 -0
  36. package/_cjs/accounts/kernel/utils/ep0_7/encodeExecuteSingleCall.js +13 -0
  37. package/_cjs/accounts/kernel/utils/ep0_7/encodeExecuteSingleCall.js.map +1 -0
  38. package/_cjs/accounts/kernel/utils/ep0_7/hashKernelSignatureWrapper.js +9 -0
  39. package/_cjs/accounts/kernel/utils/ep0_7/hashKernelSignatureWrapper.js.map +1 -0
  40. package/_cjs/accounts/kernel/utils/types.js +3 -0
  41. package/_cjs/accounts/kernel/utils/types.js.map +1 -0
  42. package/_cjs/accounts/kernel/v1/createKernelV1Account.js +1 -2
  43. package/_cjs/accounts/kernel/v1/createKernelV1Account.js.map +1 -1
  44. package/_cjs/accounts/kernel/v2/abi/KernelAccountV2Abi.js +377 -0
  45. package/_cjs/accounts/kernel/v2/abi/KernelAccountV2Abi.js.map +1 -0
  46. package/_cjs/accounts/kernel/v2/abi/KernelFactoryV2Abi.js +115 -0
  47. package/_cjs/accounts/kernel/v2/abi/KernelFactoryV2Abi.js.map +1 -0
  48. package/_cjs/accounts/kernel/v2/createKernelV2Account.js +226 -0
  49. package/_cjs/accounts/kernel/v2/createKernelV2Account.js.map +1 -0
  50. package/_cjs/accounts/utils/multisend.js.map +1 -0
  51. package/_cjs/accounts/utils/toKernelPluginManager.js +19 -4
  52. package/_cjs/accounts/utils/toKernelPluginManager.js.map +1 -1
  53. package/_cjs/constants.js +2 -1
  54. package/_cjs/constants.js.map +1 -1
  55. package/_cjs/index.js +3 -2
  56. package/_cjs/index.js.map +1 -1
  57. package/_cjs/types/kernel.js.map +1 -1
  58. package/_cjs/utils.js +1 -1
  59. package/_cjs/utils.js.map +1 -1
  60. package/_esm/accounts/index.js +5 -1
  61. package/_esm/accounts/index.js.map +1 -1
  62. package/_esm/accounts/kernel/abi/EIP1271Abi.js +34 -0
  63. package/_esm/accounts/kernel/abi/EIP1271Abi.js.map +1 -0
  64. package/_esm/accounts/kernel/abi/SafeCreateCallAbi.js +6 -0
  65. package/_esm/accounts/kernel/abi/SafeCreateCallAbi.js.map +1 -0
  66. package/_esm/accounts/kernel/createKernelAccount.js +135 -398
  67. package/_esm/accounts/kernel/createKernelAccount.js.map +1 -1
  68. package/_esm/accounts/kernel/utils/account/ep0_6/encodeCallData.js +23 -0
  69. package/_esm/accounts/kernel/utils/account/ep0_6/encodeCallData.js.map +1 -0
  70. package/_esm/accounts/kernel/utils/account/ep0_6/encodeDeployCallData.js +13 -0
  71. package/_esm/accounts/kernel/utils/account/ep0_6/encodeDeployCallData.js.map +1 -0
  72. package/_esm/accounts/kernel/utils/account/ep0_7/encodeCallData.js +28 -0
  73. package/_esm/accounts/kernel/utils/account/ep0_7/encodeCallData.js.map +1 -0
  74. package/_esm/accounts/kernel/utils/account/ep0_7/encodeDeployCallData.js +15 -0
  75. package/_esm/accounts/kernel/utils/account/ep0_7/encodeDeployCallData.js.map +1 -0
  76. package/_esm/accounts/kernel/utils/common/accountMetadata.js +42 -0
  77. package/_esm/accounts/kernel/utils/common/accountMetadata.js.map +1 -0
  78. package/_esm/accounts/kernel/utils/common/eip712WrapHash.js +24 -0
  79. package/_esm/accounts/kernel/utils/common/eip712WrapHash.js.map +1 -0
  80. package/_esm/accounts/kernel/utils/common/encodeSafeCreateCall.js +10 -0
  81. package/_esm/accounts/kernel/utils/common/encodeSafeCreateCall.js.map +1 -0
  82. package/_esm/accounts/kernel/utils/ep0_6/encodeExecuteBatchCall.js +18 -0
  83. package/_esm/accounts/kernel/utils/ep0_6/encodeExecuteBatchCall.js.map +1 -0
  84. package/_esm/accounts/kernel/utils/ep0_6/encodeExecuteDelegateCall.js +10 -0
  85. package/_esm/accounts/kernel/utils/ep0_6/encodeExecuteDelegateCall.js.map +1 -0
  86. package/_esm/accounts/kernel/utils/ep0_6/encodeExecuteSingleCall.js +10 -0
  87. package/_esm/accounts/kernel/utils/ep0_6/encodeExecuteSingleCall.js.map +1 -0
  88. package/_esm/accounts/kernel/utils/ep0_7/encodeExecuteBatchCall.js +38 -0
  89. package/_esm/accounts/kernel/utils/ep0_7/encodeExecuteBatchCall.js.map +1 -0
  90. package/_esm/accounts/kernel/utils/ep0_7/encodeExecuteCall.js +25 -0
  91. package/_esm/accounts/kernel/utils/ep0_7/encodeExecuteCall.js.map +1 -0
  92. package/_esm/accounts/kernel/utils/ep0_7/encodeExecuteDelegateCall.js +9 -0
  93. package/_esm/accounts/kernel/utils/ep0_7/encodeExecuteDelegateCall.js.map +1 -0
  94. package/_esm/accounts/kernel/utils/ep0_7/encodeExecuteSingleCall.js +9 -0
  95. package/_esm/accounts/kernel/utils/ep0_7/encodeExecuteSingleCall.js.map +1 -0
  96. package/_esm/accounts/kernel/utils/ep0_7/hashKernelSignatureWrapper.js +5 -0
  97. package/_esm/accounts/kernel/utils/ep0_7/hashKernelSignatureWrapper.js.map +1 -0
  98. package/_esm/accounts/kernel/utils/types.js +2 -0
  99. package/_esm/accounts/kernel/utils/types.js.map +1 -0
  100. package/_esm/accounts/kernel/v1/createKernelV1Account.js +1 -2
  101. package/_esm/accounts/kernel/v1/createKernelV1Account.js.map +1 -1
  102. package/_esm/accounts/kernel/v2/abi/KernelAccountV2Abi.js +374 -0
  103. package/_esm/accounts/kernel/v2/abi/KernelAccountV2Abi.js.map +1 -0
  104. package/_esm/accounts/kernel/v2/abi/KernelFactoryV2Abi.js +112 -0
  105. package/_esm/accounts/kernel/v2/abi/KernelFactoryV2Abi.js.map +1 -0
  106. package/_esm/accounts/kernel/v2/createKernelV2Account.js +264 -0
  107. package/_esm/accounts/kernel/v2/createKernelV2Account.js.map +1 -0
  108. package/_esm/accounts/{kernel/v1 → utils}/multisend.js +1 -1
  109. package/_esm/accounts/utils/multisend.js.map +1 -0
  110. package/_esm/accounts/utils/toKernelPluginManager.js +19 -4
  111. package/_esm/accounts/utils/toKernelPluginManager.js.map +1 -1
  112. package/_esm/constants.js +3 -0
  113. package/_esm/constants.js.map +1 -1
  114. package/_esm/index.js +1 -1
  115. package/_esm/index.js.map +1 -1
  116. package/_esm/types/kernel.js.map +1 -1
  117. package/_esm/utils.js +1 -1
  118. package/_esm/utils.js.map +1 -1
  119. package/_types/accounts/index.d.ts +5 -1
  120. package/_types/accounts/index.d.ts.map +1 -1
  121. package/_types/accounts/kernel/abi/EIP1271Abi.d.ts +54 -0
  122. package/_types/accounts/kernel/abi/EIP1271Abi.d.ts.map +1 -0
  123. package/_types/accounts/kernel/abi/SafeCreateCallAbi.d.ts +35 -0
  124. package/_types/accounts/kernel/abi/SafeCreateCallAbi.d.ts.map +1 -0
  125. package/_types/accounts/kernel/createKernelAccount.d.ts +0 -54
  126. package/_types/accounts/kernel/createKernelAccount.d.ts.map +1 -1
  127. package/_types/accounts/kernel/utils/account/ep0_6/encodeCallData.d.ts +4 -0
  128. package/_types/accounts/kernel/utils/account/ep0_6/encodeCallData.d.ts.map +1 -0
  129. package/_types/accounts/kernel/utils/account/ep0_6/encodeDeployCallData.d.ts +3 -0
  130. package/_types/accounts/kernel/utils/account/ep0_6/encodeDeployCallData.d.ts.map +1 -0
  131. package/_types/accounts/kernel/utils/account/ep0_7/encodeCallData.d.ts +4 -0
  132. package/_types/accounts/kernel/utils/account/ep0_7/encodeCallData.d.ts.map +1 -0
  133. package/_types/accounts/kernel/utils/account/ep0_7/encodeDeployCallData.d.ts +3 -0
  134. package/_types/accounts/kernel/utils/account/ep0_7/encodeDeployCallData.d.ts.map +1 -0
  135. package/_types/accounts/kernel/utils/common/accountMetadata.d.ts +10 -0
  136. package/_types/accounts/kernel/utils/common/accountMetadata.d.ts.map +1 -0
  137. package/_types/accounts/kernel/utils/common/eip712WrapHash.d.ts +4 -0
  138. package/_types/accounts/kernel/utils/common/eip712WrapHash.d.ts.map +1 -0
  139. package/_types/accounts/kernel/utils/common/encodeSafeCreateCall.d.ts +2 -0
  140. package/_types/accounts/kernel/utils/common/encodeSafeCreateCall.d.ts.map +1 -0
  141. package/_types/accounts/kernel/utils/ep0_6/encodeExecuteBatchCall.d.ts +3 -0
  142. package/_types/accounts/kernel/utils/ep0_6/encodeExecuteBatchCall.d.ts.map +1 -0
  143. package/_types/accounts/kernel/utils/ep0_6/encodeExecuteDelegateCall.d.ts +3 -0
  144. package/_types/accounts/kernel/utils/ep0_6/encodeExecuteDelegateCall.d.ts.map +1 -0
  145. package/_types/accounts/kernel/utils/ep0_6/encodeExecuteSingleCall.d.ts +3 -0
  146. package/_types/accounts/kernel/utils/ep0_6/encodeExecuteSingleCall.d.ts.map +1 -0
  147. package/_types/accounts/kernel/utils/ep0_7/encodeExecuteBatchCall.d.ts +4 -0
  148. package/_types/accounts/kernel/utils/ep0_7/encodeExecuteBatchCall.d.ts.map +1 -0
  149. package/_types/accounts/kernel/utils/ep0_7/encodeExecuteCall.d.ts +16 -0
  150. package/_types/accounts/kernel/utils/ep0_7/encodeExecuteCall.d.ts.map +1 -0
  151. package/_types/accounts/kernel/utils/ep0_7/encodeExecuteDelegateCall.d.ts +4 -0
  152. package/_types/accounts/kernel/utils/ep0_7/encodeExecuteDelegateCall.d.ts.map +1 -0
  153. package/_types/accounts/kernel/utils/ep0_7/encodeExecuteSingleCall.d.ts +4 -0
  154. package/_types/accounts/kernel/utils/ep0_7/encodeExecuteSingleCall.d.ts.map +1 -0
  155. package/_types/accounts/kernel/utils/ep0_7/hashKernelSignatureWrapper.d.ts +3 -0
  156. package/_types/accounts/kernel/utils/ep0_7/hashKernelSignatureWrapper.d.ts.map +1 -0
  157. package/_types/accounts/kernel/utils/types.d.ts +8 -0
  158. package/_types/accounts/kernel/utils/types.d.ts.map +1 -0
  159. package/_types/accounts/kernel/v1/createKernelV1Account.d.ts.map +1 -1
  160. package/_types/accounts/kernel/v2/abi/KernelAccountV2Abi.d.ts +447 -0
  161. package/_types/accounts/kernel/v2/abi/KernelAccountV2Abi.d.ts.map +1 -0
  162. package/_types/accounts/kernel/v2/abi/KernelFactoryV2Abi.d.ts +109 -0
  163. package/_types/accounts/kernel/v2/abi/KernelFactoryV2Abi.d.ts.map +1 -0
  164. package/_types/accounts/kernel/v2/createKernelV2Account.d.ts +33 -0
  165. package/_types/accounts/kernel/v2/createKernelV2Account.d.ts.map +1 -0
  166. package/_types/accounts/{kernel/v1 → utils}/multisend.d.ts +1 -1
  167. package/_types/accounts/utils/multisend.d.ts.map +1 -0
  168. package/_types/accounts/utils/toKernelPluginManager.d.ts +1 -1
  169. package/_types/accounts/utils/toKernelPluginManager.d.ts.map +1 -1
  170. package/_types/constants.d.ts +1 -0
  171. package/_types/constants.d.ts.map +1 -1
  172. package/_types/index.d.ts +1 -1
  173. package/_types/index.d.ts.map +1 -1
  174. package/_types/types/index.d.ts +1 -0
  175. package/_types/types/index.d.ts.map +1 -1
  176. package/_types/types/kernel.d.ts +2 -0
  177. package/_types/types/kernel.d.ts.map +1 -1
  178. package/_types/utils.d.ts +4 -1
  179. package/_types/utils.d.ts.map +1 -1
  180. package/accounts/index.ts +5 -2
  181. package/accounts/kernel/abi/EIP1271Abi.ts +33 -0
  182. package/accounts/kernel/abi/SafeCreateCallAbi.ts +6 -0
  183. package/accounts/kernel/createKernelAccount.ts +176 -541
  184. package/accounts/kernel/utils/account/ep0_6/encodeCallData.ts +32 -0
  185. package/accounts/kernel/utils/account/ep0_6/encodeDeployCallData.ts +18 -0
  186. package/accounts/kernel/utils/account/ep0_7/encodeCallData.ts +40 -0
  187. package/accounts/kernel/utils/account/ep0_7/encodeDeployCallData.ts +20 -0
  188. package/accounts/kernel/utils/common/accountMetadata.ts +62 -0
  189. package/accounts/kernel/utils/common/eip712WrapHash.ts +48 -0
  190. package/accounts/kernel/utils/common/encodeSafeCreateCall.ts +14 -0
  191. package/accounts/kernel/utils/ep0_6/encodeExecuteBatchCall.ts +19 -0
  192. package/accounts/kernel/utils/ep0_6/encodeExecuteDelegateCall.ts +11 -0
  193. package/accounts/kernel/utils/ep0_6/encodeExecuteSingleCall.ts +11 -0
  194. package/accounts/kernel/utils/ep0_7/encodeExecuteBatchCall.ts +51 -0
  195. package/accounts/kernel/utils/ep0_7/encodeExecuteCall.ts +38 -0
  196. package/accounts/kernel/utils/ep0_7/encodeExecuteDelegateCall.ts +16 -0
  197. package/accounts/kernel/utils/ep0_7/encodeExecuteSingleCall.ts +16 -0
  198. package/accounts/kernel/utils/ep0_7/hashKernelSignatureWrapper.ts +11 -0
  199. package/accounts/kernel/utils/types.ts +8 -0
  200. package/accounts/kernel/v1/createKernelV1Account.ts +2 -3
  201. package/accounts/kernel/v2/abi/KernelAccountV2Abi.ts +373 -0
  202. package/accounts/kernel/v2/abi/KernelFactoryV2Abi.ts +111 -0
  203. package/accounts/kernel/v2/createKernelV2Account.ts +409 -0
  204. package/accounts/{kernel/v1 → utils}/multisend.ts +1 -1
  205. package/accounts/utils/toKernelPluginManager.ts +21 -7
  206. package/constants.ts +5 -0
  207. package/index.ts +2 -1
  208. package/package.json +1 -1
  209. package/types/index.ts +2 -0
  210. package/types/kernel.ts +2 -0
  211. package/utils.ts +7 -1
  212. package/_cjs/accounts/kernel/v1/multisend.js.map +0 -1
  213. package/_esm/accounts/kernel/v1/multisend.js.map +0 -1
  214. package/_types/accounts/kernel/v1/multisend.d.ts.map +0 -1
  215. /package/_cjs/accounts/{kernel/v1 → utils}/multisend.js +0 -0
@@ -1,14 +1,17 @@
1
1
  import { getAccountNonce, getEntryPointVersion, getSenderAddress, isSmartAccountDeployed } from "permissionless";
2
- import { SignTransactionNotSupportedBySmartAccount } from "permissionless/accounts";
3
- import { concatHex, decodeFunctionResult, encodeAbiParameters, encodeDeployData, encodeFunctionData, getTypesForEIP712Domain, hashMessage, hashTypedData, keccak256, pad, parseAbi, publicActions, stringToHex, toHex, validateTypedData, zeroAddress } from "viem";
4
- import { toAccount } from "viem/accounts";
5
- import { CALL_TYPE, EXEC_TYPE, KERNEL_NAME } from "../../constants.js";
6
- import { KERNEL_FEATURES, getExecMode, getKernelVersion, hasKernelFeature } from "../../utils.js";
7
- import { getKernelImplementationAddress, wrapSignatureWith6492 } from "../utils/6492.js";
2
+ import { SignTransactionNotSupportedBySmartAccount, toSmartAccount } from "permissionless/accounts";
3
+ import { concatHex, encodeFunctionData, getTypesForEIP712Domain, hashMessage, hashTypedData, validateTypedData, zeroAddress } from "viem";
4
+ import { KERNEL_FEATURES, hasKernelFeature } from "../../utils.js";
8
5
  import { parseFactoryAddressAndCallDataFromAccountInitCode } from "../utils/index.js";
9
6
  import { isKernelPluginManager, toKernelPluginManager } from "../utils/toKernelPluginManager.js";
10
- import { KernelExecuteAbi, KernelInitAbi } from "./abi/KernelAccountAbi.js";
11
- import { KernelV3ExecuteAbi, KernelV3InitAbi } from "./abi/kernel_v_3_0_0/KernelAccountAbi.js";
7
+ import { KernelInitAbi } from "./abi/KernelAccountAbi.js";
8
+ import { KernelV3InitAbi } from "./abi/kernel_v_3_0_0/KernelAccountAbi.js";
9
+ import { encodeCallData as encodeCallDataEpV06 } from "./utils/account/ep0_6/encodeCallData.js";
10
+ import { encodeDeployCallData as encodeDeployCallDataV06 } from "./utils/account/ep0_6/encodeDeployCallData.js";
11
+ import { encodeCallData as encodeCallDataEpV07 } from "./utils/account/ep0_7/encodeCallData.js";
12
+ import { encodeDeployCallData as encodeDeployCallDataV07 } from "./utils/account/ep0_7/encodeDeployCallData.js";
13
+ import { accountMetadata } from "./utils/common/accountMetadata.js";
14
+ import { eip712WrapHash } from "./utils/common/eip712WrapHash.js";
12
15
  /**
13
16
  * The account creation ABI for a kernel smart account (from the KernelFactory)
14
17
  */
@@ -43,46 +46,6 @@ const createAccountAbi = [
43
46
  type: "function"
44
47
  }
45
48
  ];
46
- // Safe's library for create and create2: https://github.com/safe-global/safe-contracts/blob/0acdd35a203299585438f53885df630f9d486a86/contracts/libraries/CreateCall.sol
47
- // Address was found here: https://github.com/safe-global/safe-deployments/blob/926ec6bbe2ebcac3aa2c2c6c0aff74aa590cbc6a/src/assets/v1.4.1/create_call.json
48
- const createCallAddress = "0x9b35Af71d77eaf8d7e40252370304687390A1A52";
49
- const createCallAbi = parseAbi([
50
- "function performCreate(uint256 value, bytes memory deploymentData) public returns (address newContract)",
51
- "function performCreate2(uint256 value, bytes memory deploymentData, bytes32 salt) public returns (address newContract)"
52
- ]);
53
- export const EIP1271ABI = [
54
- {
55
- type: "function",
56
- name: "eip712Domain",
57
- inputs: [],
58
- outputs: [
59
- { name: "fields", type: "bytes1", internalType: "bytes1" },
60
- { name: "name", type: "string", internalType: "string" },
61
- { name: "version", type: "string", internalType: "string" },
62
- { name: "chainId", type: "uint256", internalType: "uint256" },
63
- {
64
- name: "verifyingContract",
65
- type: "address",
66
- internalType: "address"
67
- },
68
- { name: "salt", type: "bytes32", internalType: "bytes32" },
69
- { name: "extensions", type: "uint256[]", internalType: "uint256[]" }
70
- ],
71
- stateMutability: "view"
72
- },
73
- {
74
- type: "function",
75
- name: "isValidSignature",
76
- inputs: [
77
- { name: "data", type: "bytes32", internalType: "bytes32" },
78
- { name: "signature", type: "bytes", internalType: "bytes" }
79
- ],
80
- outputs: [
81
- { name: "magicValue", type: "bytes4", internalType: "bytes4" }
82
- ],
83
- stateMutability: "view"
84
- }
85
- ];
86
49
  /**
87
50
  * Default addresses for kernel smart account
88
51
  */
@@ -92,8 +55,9 @@ export const KERNEL_ADDRESSES = {
92
55
  FACTORY_ADDRESS: "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3",
93
56
  ENTRYPOINT_V0_6: "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789"
94
57
  };
95
- const getKernelInitData = ({ validatorAddress, enableData, entryPoint: entryPointAddress }) => {
58
+ const getKernelInitData = async ({ entryPoint: entryPointAddress, kernelPluginManager }) => {
96
59
  const entryPointVersion = getEntryPointVersion(entryPointAddress);
60
+ const { enableData, validatorAddress } = await kernelPluginManager.getValidatorInitData();
97
61
  if (entryPointVersion === "v0.6") {
98
62
  return encodeFunctionData({
99
63
  abi: KernelInitAbi,
@@ -105,10 +69,7 @@ const getKernelInitData = ({ validatorAddress, enableData, entryPoint: entryPoin
105
69
  abi: KernelV3InitAbi,
106
70
  functionName: "initialize",
107
71
  args: [
108
- pad(concatHex(["0x1", validatorAddress]), {
109
- size: 21,
110
- dir: "left"
111
- }),
72
+ kernelPluginManager.getValidationId(true),
112
73
  zeroAddress,
113
74
  enableData,
114
75
  "0x"
@@ -122,12 +83,11 @@ const getKernelInitData = ({ validatorAddress, enableData, entryPoint: entryPoin
122
83
  * @param accountLogicAddress
123
84
  * @param ecdsaValidatorAddress
124
85
  */
125
- const getAccountInitCode = async ({ index, factoryAddress, accountLogicAddress, validatorAddress, enableData, entryPoint: entryPointAddress }) => {
86
+ const getAccountInitCode = async ({ index, factoryAddress, accountLogicAddress, entryPoint: entryPointAddress, kernelPluginManager }) => {
126
87
  // Build the account initialization data
127
- const initialisationData = getKernelInitData({
128
- validatorAddress,
129
- enableData,
130
- entryPoint: entryPointAddress
88
+ const initialisationData = await getKernelInitData({
89
+ entryPoint: entryPointAddress,
90
+ kernelPluginManager
131
91
  });
132
92
  // Build the account init code
133
93
  return concatHex([
@@ -190,14 +150,12 @@ export async function createKernelAccount(client, { plugins, entryPoint: entryPo
190
150
  });
191
151
  // Helper to generate the init code for the smart account
192
152
  const generateInitCode = async () => {
193
- const validatorInitData = await kernelPluginManager.getValidatorInitData();
194
153
  return getAccountInitCode({
195
154
  index,
196
155
  factoryAddress,
197
156
  accountLogicAddress,
198
- validatorAddress: validatorInitData.validatorAddress,
199
- enableData: validatorInitData.enableData,
200
- entryPoint: entryPointAddress
157
+ entryPoint: entryPointAddress,
158
+ kernelPluginManager
201
159
  });
202
160
  };
203
161
  // Fetch account address and chain id
@@ -210,354 +168,133 @@ export async function createKernelAccount(client, { plugins, entryPoint: entryPo
210
168
  if (!accountAddress)
211
169
  throw new Error("Account address not found");
212
170
  let smartAccountDeployed = await isSmartAccountDeployed(client, accountAddress);
213
- const signHashedMessage = async (messageHash) => {
214
- const kernelImplAddr = await getKernelImplementationAddress(client, accountAddress);
215
- const kernelVersion = getKernelVersion(entryPointAddress, kernelImplAddr);
216
- if (!hasKernelFeature(KERNEL_FEATURES.ERC1271_SIG_WRAPPER, kernelVersion)) {
217
- return kernelPluginManager.signMessage({
218
- message: {
219
- raw: messageHash
220
- }
221
- });
222
- }
223
- const domain = await client.request({
224
- method: "eth_call",
225
- params: [
226
- {
227
- to: accountAddress,
228
- data: encodeFunctionData({
229
- abi: EIP1271ABI,
230
- functionName: "eip712Domain"
231
- })
232
- },
233
- "latest"
234
- ]
235
- });
236
- let name;
237
- let version;
238
- let chainId;
239
- if (domain !== "0x") {
240
- const decoded = decodeFunctionResult({
241
- abi: [...EIP1271ABI],
242
- functionName: "eip712Domain",
243
- data: domain
244
- });
245
- name = decoded[1];
246
- version = decoded[2];
247
- chainId = decoded[3];
248
- }
249
- else {
250
- name = KERNEL_NAME;
251
- version = kernelVersion;
252
- chainId = client.chain
253
- ? BigInt(client.chain.id)
254
- : BigInt(await client.extend(publicActions).getChainId());
255
- }
256
- const encoded = encodeAbiParameters([
257
- { type: "bytes32" },
258
- { type: "bytes32" },
259
- { type: "bytes32" },
260
- { type: "uint256" },
261
- { type: "address" }
262
- ], [
263
- keccak256(stringToHex("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)")),
264
- keccak256(stringToHex(name)),
265
- keccak256(stringToHex(version)),
266
- BigInt(chainId),
267
- accountAddress
268
- ]);
269
- const domainSeparator = keccak256(encoded);
270
- let finalMessageHash = messageHash;
271
- if (hasKernelFeature(KERNEL_FEATURES.ERC1271_SIG_WRAPPER_WITH_WRAPPED_HASH, kernelVersion)) {
272
- finalMessageHash = keccak256(encodeAbiParameters([{ type: "bytes32" }, { type: "bytes32" }], [
273
- keccak256(stringToHex("Kernel(bytes32 hash)")),
274
- messageHash
275
- ]));
276
- }
277
- const digest = keccak256(concatHex(["0x1901", domainSeparator, finalMessageHash]));
278
- return kernelPluginManager.signMessage({
279
- message: {
280
- raw: digest
281
- }
282
- });
283
- };
284
- // Build the EOA Signer
285
- const account = toAccount({
286
- address: accountAddress,
287
- async signMessage({ message }) {
288
- const messageHash = hashMessage(message);
289
- const [isDeployed, signature] = await Promise.all([
290
- isSmartAccountDeployed(client, accountAddress),
291
- signHashedMessage(messageHash)
292
- ]);
293
- const kernelImplAddr = await getKernelImplementationAddress(client, accountAddress);
294
- const kernelVersion = getKernelVersion(entryPointAddress, kernelImplAddr);
295
- if (!hasKernelFeature(KERNEL_FEATURES.ERC1271_WITH_VALIDATOR, kernelVersion)) {
296
- return create6492Signature(isDeployed, signature);
297
- }
298
- const validatorInitData = await kernelPluginManager.getValidatorInitData();
299
- return create6492Signature(isDeployed, concatHex([
300
- pad(concatHex(["0x1", validatorInitData.validatorAddress]), {
301
- size: 21,
302
- dir: "left"
303
- }),
304
- signature
305
- ]));
306
- },
307
- async signTransaction(_, __) {
308
- throw new SignTransactionNotSupportedBySmartAccount();
309
- },
310
- async signTypedData(typedData) {
311
- const kernelImplAddr = await getKernelImplementationAddress(client, accountAddress);
312
- const kernelVersion = getKernelVersion(entryPointAddress, kernelImplAddr);
313
- const types = {
314
- EIP712Domain: getTypesForEIP712Domain({
315
- domain: typedData.domain
316
- }),
317
- ...typedData.types
318
- };
319
- // Need to do a runtime validation check on addresses, byte ranges, integer ranges, etc
320
- // as we can't statically check this with TypeScript.
321
- validateTypedData({
322
- domain: typedData.domain,
323
- message: typedData.message,
324
- primaryType: typedData.primaryType,
325
- types: types
326
- });
327
- const typedHash = hashTypedData(typedData);
328
- const [isDeployed, signature] = await Promise.all([
329
- isSmartAccountDeployed(client, accountAddress),
330
- signHashedMessage(typedHash)
331
- ]);
332
- if (!hasKernelFeature(KERNEL_FEATURES.ERC1271_WITH_VALIDATOR, kernelVersion)) {
333
- return create6492Signature(isDeployed, signature);
334
- }
335
- const validatorInitData = await kernelPluginManager.getValidatorInitData();
336
- return create6492Signature(isDeployed, concatHex([
337
- pad(
338
- // [TODO] - Make the Validator type dynamic to support permission validators
339
- concatHex(["0x1", validatorInitData.validatorAddress]), {
340
- size: 21,
341
- dir: "left"
342
- }),
343
- signature
344
- ]));
345
- }
346
- });
347
- const create6492Signature = async (isDeployed, signature) => {
348
- if (isDeployed) {
349
- return signature;
350
- }
351
- const [factoryAddress, factoryCalldata] = parseFactoryAddressAndCallDataFromAccountInitCode(await generateInitCode());
352
- return wrapSignatureWith6492({
353
- factoryAddress,
354
- factoryCalldata,
355
- signature
356
- });
357
- };
358
171
  return {
359
- ...account,
360
- client: client,
361
- publicKey: accountAddress,
362
- entryPoint: entryPointAddress,
363
- source: "kernelSmartAccount",
364
172
  kernelPluginManager,
365
- generateInitCode,
366
- async getFactory() {
367
- if (smartAccountDeployed)
368
- return undefined;
369
- smartAccountDeployed = await isSmartAccountDeployed(client, accountAddress);
370
- if (smartAccountDeployed)
371
- return undefined;
372
- return factoryAddress;
373
- },
374
- async getFactoryData() {
375
- if (smartAccountDeployed)
376
- return undefined;
377
- smartAccountDeployed = await isSmartAccountDeployed(client, accountAddress);
378
- if (smartAccountDeployed)
379
- return undefined;
380
- return parseFactoryAddressAndCallDataFromAccountInitCode(await generateInitCode())[1];
381
- },
382
- // Get the nonce of the smart account
383
- async getNonce() {
384
- const key = await kernelPluginManager.getNonceKey(accountAddress);
385
- return getAccountNonce(client, {
386
- sender: accountAddress,
387
- entryPoint: entryPointAddress,
388
- key
389
- });
390
- },
391
- // Sign a user operation
392
- async signUserOperation(userOperation) {
393
- return kernelPluginManager.signUserOperation(userOperation);
394
- },
395
- // Encode the init code
396
- async getInitCode() {
397
- if (smartAccountDeployed)
398
- return "0x";
399
- smartAccountDeployed = await isSmartAccountDeployed(client, accountAddress);
400
- if (smartAccountDeployed)
401
- return "0x";
402
- return generateInitCode();
403
- },
404
- // [TODO] - CLeanup the encoding functions
405
- // Encode the deploy call data
406
- async encodeDeployCallData(_tx) {
407
- if (entryPointVersion === "v0.6") {
408
- return encodeFunctionData({
409
- abi: KernelExecuteAbi,
410
- functionName: "executeDelegateCall",
411
- args: [
412
- createCallAddress,
413
- encodeFunctionData({
414
- abi: createCallAbi,
415
- functionName: "performCreate",
416
- args: [
417
- 0n,
418
- encodeDeployData({
419
- abi: _tx.abi,
420
- bytecode: _tx.bytecode,
421
- args: _tx.args
422
- })
423
- ]
424
- })
425
- ]
426
- });
427
- }
428
- return encodeFunctionData({
429
- abi: KernelV3ExecuteAbi,
430
- functionName: "execute",
431
- args: [
432
- getExecMode(CALL_TYPE.DELEGATE_CALL, EXEC_TYPE.DEFAULT),
433
- concatHex([
434
- createCallAddress,
435
- encodeFunctionData({
436
- abi: createCallAbi,
437
- functionName: "performCreate",
438
- args: [
439
- 0n,
440
- encodeDeployData({
441
- abi: _tx.abi,
442
- bytecode: _tx.bytecode,
443
- args: _tx.args
444
- })
445
- ]
446
- })
447
- ])
448
- ]
449
- });
450
- },
451
- // Encode a call
452
- async encodeCallData(_tx) {
453
- const tx = _tx;
454
- if (Array.isArray(tx)) {
455
- // Encode a batched call
173
+ ...toSmartAccount({
174
+ address: accountAddress,
175
+ publicKey: accountAddress,
176
+ source: "kernelSmartAccount",
177
+ client,
178
+ entryPoint: entryPointAddress,
179
+ // Encode the deploy call data
180
+ async encodeDeployCallData(_tx) {
456
181
  if (entryPointVersion === "v0.6") {
457
- return encodeFunctionData({
458
- abi: KernelExecuteAbi,
459
- functionName: "executeBatch",
460
- args: [
461
- tx.map((txn) => {
462
- if (txn.callType === "delegatecall") {
463
- throw new Error("Cannot batch delegatecall");
464
- }
465
- return {
466
- to: txn.to,
467
- value: txn.value,
468
- data: txn.data
469
- };
470
- })
471
- ]
472
- });
182
+ return encodeDeployCallDataV06(_tx);
473
183
  }
474
- return encodeFunctionData({
475
- abi: KernelV3ExecuteAbi,
476
- functionName: "execute",
477
- args: [
478
- getExecMode(CALL_TYPE.BATCH, EXEC_TYPE.DEFAULT),
479
- encodeAbiParameters([
480
- {
481
- name: "executionBatch",
482
- type: "tuple[]",
483
- components: [
484
- {
485
- name: "target",
486
- type: "address"
487
- },
488
- {
489
- name: "value",
490
- type: "uint256"
491
- },
492
- {
493
- name: "callData",
494
- type: "bytes"
495
- }
496
- ]
497
- }
498
- ], [
499
- tx.map((txn) => {
500
- if (txn.callType === "delegatecall") {
501
- throw new Error("Cannot batch delegatecall");
502
- }
503
- return {
504
- target: txn.to,
505
- value: txn.value,
506
- callData: txn.data
507
- };
508
- })
509
- ])
510
- ]
511
- });
512
- }
513
- // Default to `call`
514
- if (!tx.callType || tx.callType === "call") {
515
- if (tx.to.toLowerCase() === accountAddress.toLowerCase()) {
184
+ return encodeDeployCallDataV07(_tx);
185
+ },
186
+ async encodeCallData(_tx) {
187
+ const tx = _tx;
188
+ if (!Array.isArray(tx) &&
189
+ tx.callType === "call" &&
190
+ tx.to.toLowerCase() === accountAddress.toLowerCase()) {
516
191
  return tx.data;
517
192
  }
518
193
  if (entryPointVersion === "v0.6") {
519
- return encodeFunctionData({
520
- abi: KernelExecuteAbi,
521
- functionName: "execute",
522
- args: [tx.to, tx.value, tx.data, 0]
523
- });
194
+ return encodeCallDataEpV06(tx);
524
195
  }
525
- return encodeFunctionData({
526
- abi: KernelV3ExecuteAbi,
527
- functionName: "execute",
528
- args: [
529
- getExecMode(CALL_TYPE.SINGLE, EXEC_TYPE.DEFAULT),
530
- concatHex([
531
- tx.to,
532
- pad(toHex(tx.value), { size: 32 }),
533
- tx.data
534
- ])
535
- ]
196
+ return encodeCallDataEpV07(tx);
197
+ },
198
+ async getFactory() {
199
+ if (smartAccountDeployed)
200
+ return undefined;
201
+ smartAccountDeployed = await isSmartAccountDeployed(client, accountAddress);
202
+ if (smartAccountDeployed)
203
+ return undefined;
204
+ return factoryAddress;
205
+ },
206
+ async getFactoryData() {
207
+ if (smartAccountDeployed)
208
+ return undefined;
209
+ smartAccountDeployed = await isSmartAccountDeployed(client, accountAddress);
210
+ if (smartAccountDeployed)
211
+ return undefined;
212
+ return parseFactoryAddressAndCallDataFromAccountInitCode(await generateInitCode())[1];
213
+ },
214
+ async signMessage({ message }) {
215
+ const messageHash = hashMessage(message);
216
+ const { name, chainId, version } = await accountMetadata(client, accountAddress, entryPointAddress);
217
+ const wrappedMessageHash = await eip712WrapHash(messageHash, {
218
+ name,
219
+ chainId: Number(chainId),
220
+ version,
221
+ verifyingContract: accountAddress
536
222
  });
537
- }
538
- if (tx.callType === "delegatecall") {
539
- if (entryPointVersion === "v0.6") {
540
- return encodeFunctionData({
541
- abi: KernelExecuteAbi,
542
- functionName: "executeDelegateCall",
543
- args: [tx.to, tx.data]
544
- });
223
+ const signature = await kernelPluginManager.signMessage({
224
+ message: { raw: wrappedMessageHash }
225
+ });
226
+ if (!hasKernelFeature(KERNEL_FEATURES.ERC1271_WITH_VALIDATOR, version)) {
227
+ return signature;
545
228
  }
546
- return encodeFunctionData({
547
- abi: KernelV3ExecuteAbi,
548
- functionName: "execute",
549
- args: [
550
- getExecMode(CALL_TYPE.DELEGATE_CALL, EXEC_TYPE.DEFAULT),
551
- concatHex([tx.to, tx.data])
552
- ]
229
+ return concatHex([
230
+ kernelPluginManager.getValidationId(),
231
+ signature
232
+ ]);
233
+ },
234
+ async signTransaction(_, __) {
235
+ throw new SignTransactionNotSupportedBySmartAccount();
236
+ },
237
+ async signTypedData(typedData) {
238
+ const types = {
239
+ EIP712Domain: getTypesForEIP712Domain({
240
+ domain: typedData.domain
241
+ }),
242
+ ...typedData.types
243
+ };
244
+ // Need to do a runtime validation check on addresses, byte ranges, integer ranges, etc
245
+ // as we can't statically check this with TypeScript.
246
+ validateTypedData({
247
+ domain: typedData.domain,
248
+ message: typedData.message,
249
+ primaryType: typedData.primaryType,
250
+ types: types
553
251
  });
252
+ const typedHash = hashTypedData(typedData);
253
+ const { name, chainId, version } = await accountMetadata(client, accountAddress, entryPointAddress);
254
+ const wrappedMessageHash = await eip712WrapHash(typedHash, {
255
+ name,
256
+ chainId: Number(chainId),
257
+ version,
258
+ verifyingContract: accountAddress
259
+ });
260
+ const signature = await kernelPluginManager.signMessage({
261
+ message: { raw: wrappedMessageHash }
262
+ });
263
+ if (!hasKernelFeature(KERNEL_FEATURES.ERC1271_WITH_VALIDATOR, version)) {
264
+ return signature;
265
+ }
266
+ return concatHex([
267
+ kernelPluginManager.getValidationId(),
268
+ signature
269
+ ]);
270
+ },
271
+ // Get the nonce of the smart account
272
+ async getNonce() {
273
+ const key = await kernelPluginManager.getNonceKey(accountAddress);
274
+ return getAccountNonce(client, {
275
+ sender: accountAddress,
276
+ entryPoint: entryPointAddress,
277
+ key
278
+ });
279
+ },
280
+ // Sign a user operation
281
+ async signUserOperation(userOperation) {
282
+ return kernelPluginManager.signUserOperation(userOperation);
283
+ },
284
+ // Get simple dummy signature
285
+ async getDummySignature(userOperation) {
286
+ return kernelPluginManager.getDummySignature(userOperation);
287
+ },
288
+ // Encode the init code
289
+ async getInitCode() {
290
+ if (smartAccountDeployed)
291
+ return "0x";
292
+ smartAccountDeployed = await isSmartAccountDeployed(client, accountAddress);
293
+ if (smartAccountDeployed)
294
+ return "0x";
295
+ return generateInitCode();
554
296
  }
555
- throw new Error("Invalid call type");
556
- },
557
- // Get simple dummy signature
558
- async getDummySignature(userOperation) {
559
- return kernelPluginManager.getDummySignature(userOperation);
560
- }
297
+ })
561
298
  };
562
299
  }
563
300
  //# sourceMappingURL=createKernelAccount.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createKernelAccount.js","sourceRoot":"","sources":["../../../accounts/kernel/createKernelAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACzB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACH,yCAAyC,EAE5C,MAAM,yBAAyB,CAAA;AAMhC,OAAO,EASH,SAAS,EACT,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,WAAW,EACX,aAAa,EACb,SAAS,EACT,GAAG,EACH,QAAQ,EACR,aAAa,EACb,WAAW,EACX,KAAK,EACL,iBAAiB,EACjB,WAAW,EACd,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAMtE,OAAO,EACH,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EACnB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACH,8BAA8B,EAC9B,qBAAqB,EACxB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,iDAAiD,EAAE,MAAM,mBAAmB,CAAA;AACrF,OAAO,EACH,qBAAqB,EACrB,qBAAqB,EACxB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC3E,OAAO,EACH,kBAAkB,EAClB,eAAe,EAClB,MAAM,0CAA0C,CAAA;AAuBjD;;GAEG;AACH,MAAM,gBAAgB,GAAG;IACrB;QACI,MAAM,EAAE;YACJ;gBACI,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAClB;YACD;gBACI,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;aAChB;YACD;gBACI,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAClB;SACJ;QACD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE;YACL;gBACI,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAClB;SACJ;QACD,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KACnB;CACK,CAAA;AAEV,wKAAwK;AACxK,2JAA2J;AAC3J,MAAM,iBAAiB,GAAG,4CAA4C,CAAA;AAEtE,MAAM,aAAa,GAAG,QAAQ,CAAC;IAC3B,yGAAyG;IACzG,wHAAwH;CAC3H,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG;IACtB;QACI,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE;YACL,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE;YAC1D,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE;YACxD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE;YAC3D,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;YAC7D;gBACI,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aAC1B;YACD,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;YAC1D,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE;SACvE;QACD,eAAe,EAAE,MAAM;KAC1B;IACD;QACI,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE;YACJ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;YAC1D,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;SAC9D;QACD,OAAO,EAAE;YACL,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE;SACjE;QACD,eAAe,EAAE,MAAM;KAC1B;CACK,CAAA;AACV;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAKzB;IACA,kBAAkB,EAAE,4CAA4C;IAChE,kBAAkB,EAAE,4CAA4C;IAChE,eAAe,EAAE,4CAA4C;IAC7D,eAAe,EAAE,4CAA4C;CAChE,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAgC,EACtD,gBAAgB,EAChB,UAAU,EACV,UAAU,EAAE,iBAAiB,EAKhC,EAAE,EAAE;IACD,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAA;IAEjE,IAAI,iBAAiB,KAAK,MAAM,EAAE,CAAC;QAC/B,OAAO,kBAAkB,CAAC;YACtB,GAAG,EAAE,aAAa;YAClB,YAAY,EAAE,YAAY;YAC1B,IAAI,EAAE,CAAC,gBAAgB,EAAE,UAAU,CAAC;SACvC,CAAC,CAAA;IACN,CAAC;IAED,OAAO,kBAAkB,CAAC;QACtB,GAAG,EAAE,eAAe;QACpB,YAAY,EAAE,YAAY;QAC1B,IAAI,EAAE;YACF,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,EAAE;gBACtC,IAAI,EAAE,EAAE;gBACR,GAAG,EAAE,MAAM;aACd,CAAC;YACF,WAAW;YACX,UAAU;YACV,IAAI;SACP;KACJ,CAAC,CAAA;AACN,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,kBAAkB,GAAG,KAAK,EAAiC,EAC7D,KAAK,EACL,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,UAAU,EAAE,iBAAiB,EAQhC,EAAgB,EAAE;IACf,wCAAwC;IACxC,MAAM,kBAAkB,GAAG,iBAAiB,CAAa;QACrD,gBAAgB;QAChB,UAAU;QACV,UAAU,EAAE,iBAAiB;KAChC,CAAC,CAAA;IAEF,8BAA8B;IAC9B,OAAO,SAAS,CAAC;QACb,cAAc;QACd,kBAAkB,CAAC;YACf,GAAG,EAAE,gBAAgB;YACrB,YAAY,EAAE,eAAe;YAC7B,IAAI,EAAE,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,KAAK,CAAC;SACzD,CAAQ;KACZ,CAAC,CAAA;AACN,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,KAAK,EAI7B,EACE,MAAM,EACN,UAAU,EAAE,iBAAiB,EAC7B,gBAAgB,EAKnB,EAAoB,EAAE;IACnB,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAA;IAEjE,sCAAsC;IACtC,MAAM,QAAQ,GAAG,MAAM,gBAAgB,EAAE,CAAA;IACzC,IAAI,iBAAiB,KAAK,MAAM,EAAE,CAAC;QAC/B,OAAO,gBAAgB,CAA8B,MAAM,EAAE;YACzD,QAAQ;YACR,UAAU,EAAE,iBAAgD;SAC/D,CAAC,CAAA;IACN,CAAC;IAED,gDAAgD;IAChD,OAAO,gBAAgB,CAA8B,MAAM,EAAE;QACzD,OAAO,EAAE,iDAAiD,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACvE,WAAW,EACP,iDAAiD,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAClE,UAAU,EAAE,iBAAgD;KAC/D,CAAC,CAAA;AACN,CAAC,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAKrC,MAA6C,EAC7C,EACI,OAAO,EACP,UAAU,EAAE,iBAAiB,EAC7B,KAAK,GAAG,EAAE,EACV,cAAc,GAAG,gBAAgB,CAAC,eAAe,EACjD,mBAAmB,GAAG,gBAAgB,CAAC,kBAAkB,EACzD,sBAAsB,EACkB;IAE5C,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAA;IACjE,mBAAmB;QACf,iBAAiB,KAAK,MAAM;YACxB,CAAC,CAAC,gBAAgB,CAAC,kBAAkB;YACrC,CAAC,CAAC,gBAAgB,CAAC,kBAAkB,CAAA;IAE7C,MAAM,mBAAmB,GAAG,qBAAqB,CAAa,OAAO,CAAC;QAClE,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,MAAM,qBAAqB,CAAa,MAAM,EAAE;YAC5C,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;YACpD,UAAU,EAAE,iBAAiB;SAChC,CAAC,CAAA;IACR,yDAAyD;IACzD,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;QAChC,MAAM,iBAAiB,GACnB,MAAM,mBAAmB,CAAC,oBAAoB,EAAE,CAAA;QACpD,OAAO,kBAAkB,CAAa;YAClC,KAAK;YACL,cAAc;YACd,mBAAmB;YACnB,gBAAgB,EAAE,iBAAiB,CAAC,gBAAgB;YACpD,UAAU,EAAE,iBAAiB,CAAC,UAAU;YACxC,UAAU,EAAE,iBAAiB;SAChC,CAAC,CAAA;IACN,CAAC,CAAA;IAED,qCAAqC;IACrC,MAAM,cAAc,GAChB,sBAAsB;QACtB,CAAC,MAAM,iBAAiB,CAAiC;YACrD,MAAM;YACN,UAAU,EAAE,iBAAiB;YAC7B,gBAAgB,EAAE,gBAAgB;SACrC,CAAC,CAAC,CAAA;IAEP,IAAI,CAAC,cAAc;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAEjE,IAAI,oBAAoB,GAAG,MAAM,sBAAsB,CACnD,MAAM,EACN,cAAc,CACjB,CAAA;IAED,MAAM,iBAAiB,GAAG,KAAK,EAAE,WAAgB,EAAgB,EAAE;QAC/D,MAAM,cAAc,GAAG,MAAM,8BAA8B,CACvD,MAAM,EACN,cAAc,CACjB,CAAA;QACD,MAAM,aAAa,GAAG,gBAAgB,CAClC,iBAAiB,EACjB,cAAc,CACjB,CAAA;QACD,IACI,CAAC,gBAAgB,CACb,eAAe,CAAC,mBAAmB,EACnC,aAAa,CAChB,EACH,CAAC;YACC,OAAO,mBAAmB,CAAC,WAAW,CAAC;gBACnC,OAAO,EAAE;oBACL,GAAG,EAAE,WAAW;iBACnB;aACJ,CAAC,CAAA;QACN,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;YAChC,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE;gBACJ;oBACI,EAAE,EAAE,cAAc;oBAClB,IAAI,EAAE,kBAAkB,CAAC;wBACrB,GAAG,EAAE,UAAU;wBACf,YAAY,EAAE,cAAc;qBAC/B,CAAC;iBACL;gBACD,QAAQ;aACX;SACJ,CAAC,CAAA;QAEF,IAAI,IAAY,CAAA;QAChB,IAAI,OAAe,CAAA;QACnB,IAAI,OAAe,CAAA;QAEnB,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,oBAAoB,CAAC;gBACjC,GAAG,EAAE,CAAC,GAAG,UAAU,CAAC;gBACpB,YAAY,EAAE,cAAc;gBAC5B,IAAI,EAAE,MAAM;aACf,CAAC,CAAA;YAEF,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YACjB,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YACpB,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QACxB,CAAC;aAAM,CAAC;YACJ,IAAI,GAAG,WAAW,CAAA;YAClB,OAAO,GAAG,aAAa,CAAA;YACvB,OAAO,GAAG,MAAM,CAAC,KAAK;gBAClB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,CAAC,CAAC,MAAM,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,UAAU,EAAE,CAAC,CAAA;QACjE,CAAC;QAED,MAAM,OAAO,GAAG,mBAAmB,CAC/B;YACI,EAAE,IAAI,EAAE,SAAS,EAAE;YACnB,EAAE,IAAI,EAAE,SAAS,EAAE;YACnB,EAAE,IAAI,EAAE,SAAS,EAAE;YACnB,EAAE,IAAI,EAAE,SAAS,EAAE;YACnB,EAAE,IAAI,EAAE,SAAS,EAAE;SACtB,EACD;YACI,SAAS,CACL,WAAW,CACP,oFAAoF,CACvF,CACJ;YACD,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC5B,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC/B,MAAM,CAAC,OAAO,CAAC;YACf,cAAc;SACjB,CACJ,CAAA;QAED,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;QAE1C,IAAI,gBAAgB,GAAG,WAAW,CAAA;QAClC,IACI,gBAAgB,CACZ,eAAe,CAAC,qCAAqC,EACrD,aAAa,CAChB,EACH,CAAC;YACC,gBAAgB,GAAG,SAAS,CACxB,mBAAmB,CACf,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAC1C;gBACI,SAAS,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;gBAC9C,WAAW;aACd,CACJ,CACJ,CAAA;QACL,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,CACpB,SAAS,CAAC,CAAC,QAAQ,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAC3D,CAAA;QACD,OAAO,mBAAmB,CAAC,WAAW,CAAC;YACnC,OAAO,EAAE;gBACL,GAAG,EAAE,MAAM;aACd;SACJ,CAAC,CAAA;IACN,CAAC,CAAA;IAED,uBAAuB;IACvB,MAAM,OAAO,GAAG,SAAS,CAAC;QACtB,OAAO,EAAE,cAAc;QACvB,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE;YACzB,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;YACxC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC9C,sBAAsB,CAAC,MAAM,EAAE,cAAc,CAAC;gBAC9C,iBAAiB,CAAC,WAAW,CAAC;aACjC,CAAC,CAAA;YACF,MAAM,cAAc,GAAG,MAAM,8BAA8B,CACvD,MAAM,EACN,cAAc,CACjB,CAAA;YACD,MAAM,aAAa,GAAG,gBAAgB,CAClC,iBAAiB,EACjB,cAAc,CACjB,CAAA;YACD,IACI,CAAC,gBAAgB,CACb,eAAe,CAAC,sBAAsB,EACtC,aAAa,CAChB,EACH,CAAC;gBACC,OAAO,mBAAmB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;YACrD,CAAC;YAED,MAAM,iBAAiB,GACnB,MAAM,mBAAmB,CAAC,oBAAoB,EAAE,CAAA;YACpD,OAAO,mBAAmB,CACtB,UAAU,EACV,SAAS,CAAC;gBACN,GAAG,CACC,SAAS,CAAC,CAAC,KAAK,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,EACtD;oBACI,IAAI,EAAE,EAAE;oBACR,GAAG,EAAE,MAAM;iBACd,CACJ;gBACD,SAAS;aACZ,CAAC,CACL,CAAA;QACL,CAAC;QACD,KAAK,CAAC,eAAe,CAAC,CAAC,EAAE,EAAE;YACvB,MAAM,IAAI,yCAAyC,EAAE,CAAA;QACzD,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,SAAS;YACzB,MAAM,cAAc,GAAG,MAAM,8BAA8B,CACvD,MAAM,EACN,cAAc,CACjB,CAAA;YACD,MAAM,aAAa,GAAG,gBAAgB,CAClC,iBAAiB,EACjB,cAAc,CACjB,CAAA;YACD,MAAM,KAAK,GAAG;gBACV,YAAY,EAAE,uBAAuB,CAAC;oBAClC,MAAM,EAAE,SAAS,CAAC,MAAM;iBAC3B,CAAC;gBACF,GAAG,SAAS,CAAC,KAAK;aACrB,CAAA;YAED,uFAAuF;YACvF,qDAAqD;YACrD,iBAAiB,CAAC;gBACd,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,OAAO,EAAE,SAAS,CAAC,OAAO;gBAC1B,WAAW,EAAE,SAAS,CAAC,WAAW;gBAClC,KAAK,EAAE,KAAK;aACQ,CAAC,CAAA;YAEzB,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;YAC1C,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC9C,sBAAsB,CAAC,MAAM,EAAE,cAAc,CAAC;gBAC9C,iBAAiB,CAAC,SAAS,CAAC;aAC/B,CAAC,CAAA;YACF,IACI,CAAC,gBAAgB,CACb,eAAe,CAAC,sBAAsB,EACtC,aAAa,CAChB,EACH,CAAC;gBACC,OAAO,mBAAmB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;YACrD,CAAC;YACD,MAAM,iBAAiB,GACnB,MAAM,mBAAmB,CAAC,oBAAoB,EAAE,CAAA;YACpD,OAAO,mBAAmB,CACtB,UAAU,EACV,SAAS,CAAC;gBACN,GAAG;gBACC,4EAA4E;gBAC5E,SAAS,CAAC,CAAC,KAAK,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,EACtD;oBACI,IAAI,EAAE,EAAE;oBACR,GAAG,EAAE,MAAM;iBACd,CACJ;gBACD,SAAS;aACZ,CAAC,CACL,CAAA;QACL,CAAC;KACJ,CAAC,CAAA;IAEF,MAAM,mBAAmB,GAAG,KAAK,EAC7B,UAAmB,EACnB,SAAe,EACF,EAAE;QACf,IAAI,UAAU,EAAE,CAAC;YACb,OAAO,SAAS,CAAA;QACpB,CAAC;QAED,MAAM,CAAC,cAAc,EAAE,eAAe,CAAC,GACnC,iDAAiD,CAC7C,MAAM,gBAAgB,EAAE,CAC3B,CAAA;QAEL,OAAO,qBAAqB,CAAC;YACzB,cAAc;YACd,eAAe;YACf,SAAS;SACZ,CAAC,CAAA;IACN,CAAC,CAAA;IAED,OAAO;QACH,GAAG,OAAO;QACV,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,cAAc;QACzB,UAAU,EAAE,iBAAiB;QAC7B,MAAM,EAAE,oBAAoB;QAC5B,mBAAmB;QACnB,gBAAgB;QAEhB,KAAK,CAAC,UAAU;YACZ,IAAI,oBAAoB;gBAAE,OAAO,SAAS,CAAA;YAE1C,oBAAoB,GAAG,MAAM,sBAAsB,CAC/C,MAAM,EACN,cAAc,CACjB,CAAA;YAED,IAAI,oBAAoB;gBAAE,OAAO,SAAS,CAAA;YAE1C,OAAO,cAAc,CAAA;QACzB,CAAC;QAED,KAAK,CAAC,cAAc;YAChB,IAAI,oBAAoB;gBAAE,OAAO,SAAS,CAAA;YAE1C,oBAAoB,GAAG,MAAM,sBAAsB,CAC/C,MAAM,EACN,cAAc,CACjB,CAAA;YAED,IAAI,oBAAoB;gBAAE,OAAO,SAAS,CAAA;YAE1C,OAAO,iDAAiD,CACpD,MAAM,gBAAgB,EAAE,CAC3B,CAAC,CAAC,CAAC,CAAA;QACR,CAAC;QAED,qCAAqC;QACrC,KAAK,CAAC,QAAQ;YACV,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,cAAc,CAAC,CAAA;YACjE,OAAO,eAAe,CAAC,MAAM,EAAE;gBAC3B,MAAM,EAAE,cAAc;gBACtB,UAAU,EAAE,iBAAiB;gBAC7B,GAAG;aACN,CAAC,CAAA;QACN,CAAC;QAED,wBAAwB;QACxB,KAAK,CAAC,iBAAiB,CAAC,aAAa;YACjC,OAAO,mBAAmB,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAA;QAC/D,CAAC;QAED,uBAAuB;QACvB,KAAK,CAAC,WAAW;YACb,IAAI,oBAAoB;gBAAE,OAAO,IAAI,CAAA;YAErC,oBAAoB,GAAG,MAAM,sBAAsB,CAC/C,MAAM,EACN,cAAc,CACjB,CAAA;YAED,IAAI,oBAAoB;gBAAE,OAAO,IAAI,CAAA;YACrC,OAAO,gBAAgB,EAAE,CAAA;QAC7B,CAAC;QAED,0CAA0C;QAE1C,8BAA8B;QAC9B,KAAK,CAAC,oBAAoB,CAAC,GAAG;YAC1B,IAAI,iBAAiB,KAAK,MAAM,EAAE,CAAC;gBAC/B,OAAO,kBAAkB,CAAC;oBACtB,GAAG,EAAE,gBAAgB;oBACrB,YAAY,EAAE,qBAAqB;oBACnC,IAAI,EAAE;wBACF,iBAAiB;wBACjB,kBAAkB,CAAC;4BACf,GAAG,EAAE,aAAa;4BAClB,YAAY,EAAE,eAAe;4BAC7B,IAAI,EAAE;gCACF,EAAE;gCACF,gBAAgB,CAAC;oCACb,GAAG,EAAE,GAAG,CAAC,GAAG;oCACZ,QAAQ,EAAE,GAAG,CAAC,QAAQ;oCACtB,IAAI,EAAE,GAAG,CAAC,IAAI;iCACa,CAAC;6BACnC;yBACJ,CAAC;qBACL;iBACJ,CAAC,CAAA;YACN,CAAC;YAED,OAAO,kBAAkB,CAAC;gBACtB,GAAG,EAAE,kBAAkB;gBACvB,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE;oBACF,WAAW,CAAC,SAAS,CAAC,aAAa,EAAE,SAAS,CAAC,OAAO,CAAC;oBACvD,SAAS,CAAC;wBACN,iBAAiB;wBACjB,kBAAkB,CAAC;4BACf,GAAG,EAAE,aAAa;4BAClB,YAAY,EAAE,eAAe;4BAC7B,IAAI,EAAE;gCACF,EAAE;gCACF,gBAAgB,CAAC;oCACb,GAAG,EAAE,GAAG,CAAC,GAAG;oCACZ,QAAQ,EAAE,GAAG,CAAC,QAAQ;oCACtB,IAAI,EAAE,GAAG,CAAC,IAAI;iCACa,CAAC;6BACnC;yBACJ,CAAC;qBACL,CAAC;iBACL;aACJ,CAAC,CAAA;QACN,CAAC;QAED,gBAAgB;QAChB,KAAK,CAAC,cAAc,CAAC,GAAG;YACpB,MAAM,EAAE,GAAG,GAA+B,CAAA;YAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;gBACpB,wBAAwB;gBACxB,IAAI,iBAAiB,KAAK,MAAM,EAAE,CAAC;oBAC/B,OAAO,kBAAkB,CAAC;wBACtB,GAAG,EAAE,gBAAgB;wBACrB,YAAY,EAAE,cAAc;wBAC5B,IAAI,EAAE;4BACF,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gCACX,IAAI,GAAG,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;oCAClC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;gCAChD,CAAC;gCACD,OAAO;oCACH,EAAE,EAAE,GAAG,CAAC,EAAE;oCACV,KAAK,EAAE,GAAG,CAAC,KAAK;oCAChB,IAAI,EAAE,GAAG,CAAC,IAAI;iCACjB,CAAA;4BACL,CAAC,CAAC;yBACL;qBACJ,CAAC,CAAA;gBACN,CAAC;gBACD,OAAO,kBAAkB,CAAC;oBACtB,GAAG,EAAE,kBAAkB;oBACvB,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE;wBACF,WAAW,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;wBAC/C,mBAAmB,CACf;4BACI;gCACI,IAAI,EAAE,gBAAgB;gCACtB,IAAI,EAAE,SAAS;gCACf,UAAU,EAAE;oCACR;wCACI,IAAI,EAAE,QAAQ;wCACd,IAAI,EAAE,SAAS;qCAClB;oCACD;wCACI,IAAI,EAAE,OAAO;wCACb,IAAI,EAAE,SAAS;qCAClB;oCACD;wCACI,IAAI,EAAE,UAAU;wCAChB,IAAI,EAAE,OAAO;qCAChB;iCACJ;6BACJ;yBACJ,EACD;4BACI,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gCACX,IAAI,GAAG,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;oCAClC,MAAM,IAAI,KAAK,CACX,2BAA2B,CAC9B,CAAA;gCACL,CAAC;gCACD,OAAO;oCACH,MAAM,EAAE,GAAG,CAAC,EAAE;oCACd,KAAK,EAAE,GAAG,CAAC,KAAK;oCAChB,QAAQ,EAAE,GAAG,CAAC,IAAI;iCACrB,CAAA;4BACL,CAAC,CAAC;yBACL,CACJ;qBACJ;iBACJ,CAAC,CAAA;YACN,CAAC;YAED,oBAAoB;YACpB,IAAI,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACzC,IAAI,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC,WAAW,EAAE,EAAE,CAAC;oBACvD,OAAO,EAAE,CAAC,IAAI,CAAA;gBAClB,CAAC;gBACD,IAAI,iBAAiB,KAAK,MAAM,EAAE,CAAC;oBAC/B,OAAO,kBAAkB,CAAC;wBACtB,GAAG,EAAE,gBAAgB;wBACrB,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;qBACtC,CAAC,CAAA;gBACN,CAAC;gBACD,OAAO,kBAAkB,CAAC;oBACtB,GAAG,EAAE,kBAAkB;oBACvB,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE;wBACF,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC;wBAChD,SAAS,CAAC;4BACN,EAAE,CAAC,EAAE;4BACL,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;4BAClC,EAAE,CAAC,IAAI;yBACV,CAAC;qBACL;iBACJ,CAAC,CAAA;YACN,CAAC;YAED,IAAI,EAAE,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;gBACjC,IAAI,iBAAiB,KAAK,MAAM,EAAE,CAAC;oBAC/B,OAAO,kBAAkB,CAAC;wBACtB,GAAG,EAAE,gBAAgB;wBACrB,YAAY,EAAE,qBAAqB;wBACnC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;qBACzB,CAAC,CAAA;gBACN,CAAC;gBACD,OAAO,kBAAkB,CAAC;oBACtB,GAAG,EAAE,kBAAkB;oBACvB,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE;wBACF,WAAW,CAAC,SAAS,CAAC,aAAa,EAAE,SAAS,CAAC,OAAO,CAAC;wBACvD,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;qBAC9B;iBACJ,CAAC,CAAA;YACN,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;QACxC,CAAC;QAED,6BAA6B;QAC7B,KAAK,CAAC,iBAAiB,CAAC,aAAa;YACjC,OAAO,mBAAmB,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAA;QAC/D,CAAC;KACJ,CAAA;AACL,CAAC"}
1
+ {"version":3,"file":"createKernelAccount.js","sourceRoot":"","sources":["../../../accounts/kernel/createKernelAccount.ts"],"names":[],"mappings":"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"}