@lit-protocol/vincent-e2e-test-utils 3.0.1 → 3.1.0-alpha

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 (246) hide show
  1. package/dist/package.json +2 -6
  2. package/dist/src/index.d.ts +2 -2
  3. package/dist/src/index.d.ts.map +1 -1
  4. package/dist/src/index.js +6 -16
  5. package/dist/src/index.js.map +1 -1
  6. package/dist/src/setup-dev-env/app-registration/areAbilitiesAndPoliciesEqual.d.ts +3 -0
  7. package/dist/src/setup-dev-env/app-registration/areAbilitiesAndPoliciesEqual.d.ts.map +1 -0
  8. package/dist/src/setup-dev-env/app-registration/areAbilitiesAndPoliciesEqual.js +32 -0
  9. package/dist/src/setup-dev-env/app-registration/areAbilitiesAndPoliciesEqual.js.map +1 -0
  10. package/dist/src/setup-dev-env/app-registration/handeAppRegistration.d.ts +14 -0
  11. package/dist/src/setup-dev-env/app-registration/handeAppRegistration.d.ts.map +1 -0
  12. package/dist/src/setup-dev-env/app-registration/handeAppRegistration.js +43 -0
  13. package/dist/src/setup-dev-env/app-registration/handeAppRegistration.js.map +1 -0
  14. package/dist/src/setup-dev-env/app-registration/registerNewApp.d.ts +17 -0
  15. package/dist/src/setup-dev-env/app-registration/registerNewApp.d.ts.map +1 -0
  16. package/dist/src/setup-dev-env/app-registration/registerNewApp.js +46 -0
  17. package/dist/src/setup-dev-env/app-registration/registerNewApp.js.map +1 -0
  18. package/dist/src/setup-dev-env/app-registration/registerNewAppVersion.d.ts +16 -0
  19. package/dist/src/setup-dev-env/app-registration/registerNewAppVersion.d.ts.map +1 -0
  20. package/dist/src/setup-dev-env/app-registration/registerNewAppVersion.js +68 -0
  21. package/dist/src/setup-dev-env/app-registration/registerNewAppVersion.js.map +1 -0
  22. package/dist/src/setup-dev-env/blockchain/installAppUsingUserEoa.d.ts +31 -0
  23. package/dist/src/setup-dev-env/blockchain/installAppUsingUserEoa.d.ts.map +1 -0
  24. package/dist/src/setup-dev-env/blockchain/installAppUsingUserEoa.js +40 -0
  25. package/dist/src/setup-dev-env/blockchain/installAppUsingUserEoa.js.map +1 -0
  26. package/dist/src/setup-dev-env/blockchain/registerNewAppVersionOnChain.d.ts +12 -0
  27. package/dist/src/setup-dev-env/blockchain/registerNewAppVersionOnChain.d.ts.map +1 -0
  28. package/dist/src/setup-dev-env/blockchain/registerNewAppVersionOnChain.js +23 -0
  29. package/dist/src/setup-dev-env/blockchain/registerNewAppVersionOnChain.js.map +1 -0
  30. package/dist/src/setup-dev-env/getEnv.d.ts +2 -0
  31. package/dist/src/setup-dev-env/getEnv.d.ts.map +1 -0
  32. package/dist/src/setup-dev-env/getEnv.js +15 -0
  33. package/dist/src/setup-dev-env/getEnv.js.map +1 -0
  34. package/dist/src/setup-dev-env/index.d.ts +7 -0
  35. package/dist/src/setup-dev-env/index.d.ts.map +1 -0
  36. package/dist/src/setup-dev-env/index.js +12 -0
  37. package/dist/src/setup-dev-env/index.js.map +1 -0
  38. package/dist/src/setup-dev-env/setupAgentSmartAccount.d.ts +18 -0
  39. package/dist/src/setup-dev-env/setupAgentSmartAccount.d.ts.map +1 -0
  40. package/dist/src/setup-dev-env/setupAgentSmartAccount.js +80 -0
  41. package/dist/src/setup-dev-env/setupAgentSmartAccount.js.map +1 -0
  42. package/dist/src/setup-dev-env/setupVincentApp.d.ts +19 -0
  43. package/dist/src/setup-dev-env/setupVincentApp.d.ts.map +1 -0
  44. package/dist/src/setup-dev-env/setupVincentApp.js +37 -0
  45. package/dist/src/setup-dev-env/setupVincentApp.js.map +1 -0
  46. package/dist/src/setup-dev-env/setupVincentDevEnv.d.ts +77 -0
  47. package/dist/src/setup-dev-env/setupVincentDevEnv.d.ts.map +1 -0
  48. package/dist/src/setup-dev-env/setupVincentDevEnv.js +63 -0
  49. package/dist/src/setup-dev-env/setupVincentDevEnv.js.map +1 -0
  50. package/dist/src/setup-dev-env/smart-account/createPermissionApproval.d.ts +25 -0
  51. package/dist/src/setup-dev-env/smart-account/createPermissionApproval.d.ts.map +1 -0
  52. package/dist/src/setup-dev-env/smart-account/createPermissionApproval.js +60 -0
  53. package/dist/src/setup-dev-env/smart-account/createPermissionApproval.js.map +1 -0
  54. package/dist/src/setup-dev-env/smart-account/deploySmartAccount.d.ts +15 -0
  55. package/dist/src/setup-dev-env/smart-account/deploySmartAccount.d.ts.map +1 -0
  56. package/dist/src/setup-dev-env/smart-account/deploySmartAccount.js +127 -0
  57. package/dist/src/setup-dev-env/smart-account/deploySmartAccount.js.map +1 -0
  58. package/dist/src/setup-dev-env/smart-account/deriveSmartAccountAddress.d.ts +3 -0
  59. package/dist/src/setup-dev-env/smart-account/deriveSmartAccountAddress.d.ts.map +1 -0
  60. package/dist/src/setup-dev-env/smart-account/deriveSmartAccountAddress.js +16 -0
  61. package/dist/src/setup-dev-env/smart-account/deriveSmartAccountAddress.js.map +1 -0
  62. package/dist/src/setup-dev-env/vincent-registry-api/completeAppInstallation.d.ts +15 -0
  63. package/dist/src/setup-dev-env/vincent-registry-api/completeAppInstallation.d.ts.map +1 -0
  64. package/dist/src/setup-dev-env/vincent-registry-api/completeAppInstallation.js +56 -0
  65. package/dist/src/setup-dev-env/vincent-registry-api/completeAppInstallation.js.map +1 -0
  66. package/dist/src/setup-dev-env/vincent-registry-api/generateAppManagerJwt.d.ts +4 -0
  67. package/dist/src/setup-dev-env/vincent-registry-api/generateAppManagerJwt.d.ts.map +1 -0
  68. package/dist/src/setup-dev-env/vincent-registry-api/generateAppManagerJwt.js +28 -0
  69. package/dist/src/setup-dev-env/vincent-registry-api/generateAppManagerJwt.js.map +1 -0
  70. package/dist/src/setup-dev-env/vincent-registry-api/installApp.d.ts +16 -0
  71. package/dist/src/setup-dev-env/vincent-registry-api/installApp.d.ts.map +1 -0
  72. package/dist/src/setup-dev-env/vincent-registry-api/installApp.js +29 -0
  73. package/dist/src/setup-dev-env/vincent-registry-api/installApp.js.map +1 -0
  74. package/dist/src/setup-dev-env/vincent-registry-api/registerApp.d.ts +8 -0
  75. package/dist/src/setup-dev-env/vincent-registry-api/registerApp.d.ts.map +1 -0
  76. package/dist/src/setup-dev-env/vincent-registry-api/registerApp.js +30 -0
  77. package/dist/src/setup-dev-env/vincent-registry-api/registerApp.js.map +1 -0
  78. package/dist/src/setup-dev-env/vincent-registry-api/registerAppVersion.d.ts +9 -0
  79. package/dist/src/setup-dev-env/vincent-registry-api/registerAppVersion.d.ts.map +1 -0
  80. package/dist/src/setup-dev-env/vincent-registry-api/registerAppVersion.js +27 -0
  81. package/dist/src/setup-dev-env/vincent-registry-api/registerAppVersion.js.map +1 -0
  82. package/dist/src/setup-dev-env/vincent-registry-api/setActiveAppVersion.d.ts +7 -0
  83. package/dist/src/setup-dev-env/vincent-registry-api/setActiveAppVersion.d.ts.map +1 -0
  84. package/dist/src/setup-dev-env/vincent-registry-api/setActiveAppVersion.js +25 -0
  85. package/dist/src/setup-dev-env/vincent-registry-api/setActiveAppVersion.js.map +1 -0
  86. package/dist/src/setup-dev-env/wallets/ensureWalletHasCapacityCredit.d.ts +15 -0
  87. package/dist/src/setup-dev-env/wallets/ensureWalletHasCapacityCredit.d.ts.map +1 -0
  88. package/dist/src/setup-dev-env/wallets/ensureWalletHasCapacityCredit.js +63 -0
  89. package/dist/src/setup-dev-env/wallets/ensureWalletHasCapacityCredit.js.map +1 -0
  90. package/dist/src/setup-dev-env/wallets/ensureWalletHasTokens.d.ts +14 -0
  91. package/dist/src/setup-dev-env/wallets/ensureWalletHasTokens.d.ts.map +1 -0
  92. package/dist/src/setup-dev-env/wallets/ensureWalletHasTokens.js +28 -0
  93. package/dist/src/setup-dev-env/wallets/ensureWalletHasTokens.js.map +1 -0
  94. package/dist/src/setup-dev-env/wallets/setupWallets.d.ts +48 -0
  95. package/dist/src/setup-dev-env/wallets/setupWallets.d.ts.map +1 -0
  96. package/dist/src/setup-dev-env/wallets/setupWallets.js +159 -0
  97. package/dist/src/setup-dev-env/wallets/setupWallets.js.map +1 -0
  98. package/package.json +4 -8
  99. package/dist/src/lib/appManager/ensure-funded.d.ts +0 -2
  100. package/dist/src/lib/appManager/ensure-funded.d.ts.map +0 -1
  101. package/dist/src/lib/appManager/ensure-funded.js +0 -11
  102. package/dist/src/lib/appManager/ensure-funded.js.map +0 -1
  103. package/dist/src/lib/appManager/index.d.ts +0 -5
  104. package/dist/src/lib/appManager/index.d.ts.map +0 -1
  105. package/dist/src/lib/appManager/index.js +0 -12
  106. package/dist/src/lib/appManager/index.js.map +0 -1
  107. package/dist/src/lib/appManager/register-new-app-version.d.ts +0 -28
  108. package/dist/src/lib/appManager/register-new-app-version.d.ts.map +0 -1
  109. package/dist/src/lib/appManager/register-new-app-version.js +0 -82
  110. package/dist/src/lib/appManager/register-new-app-version.js.map +0 -1
  111. package/dist/src/lib/appManager/register-new-app.d.ts +0 -13
  112. package/dist/src/lib/appManager/register-new-app.d.ts.map +0 -1
  113. package/dist/src/lib/appManager/register-new-app.js +0 -25
  114. package/dist/src/lib/appManager/register-new-app.js.map +0 -1
  115. package/dist/src/lib/appManager/remove-delegatee-from-app.d.ts +0 -7
  116. package/dist/src/lib/appManager/remove-delegatee-from-app.d.ts.map +0 -1
  117. package/dist/src/lib/appManager/remove-delegatee-from-app.js +0 -26
  118. package/dist/src/lib/appManager/remove-delegatee-from-app.js.map +0 -1
  119. package/dist/src/lib/chain.d.ts +0 -13
  120. package/dist/src/lib/chain.d.ts.map +0 -1
  121. package/dist/src/lib/chain.js +0 -30
  122. package/dist/src/lib/chain.js.map +0 -1
  123. package/dist/src/lib/create-random-vincent-wallets.d.ts +0 -7
  124. package/dist/src/lib/create-random-vincent-wallets.d.ts.map +0 -1
  125. package/dist/src/lib/create-random-vincent-wallets.js +0 -12
  126. package/dist/src/lib/create-random-vincent-wallets.js.map +0 -1
  127. package/dist/src/lib/delegatee/ensure-funded.d.ts +0 -2
  128. package/dist/src/lib/delegatee/ensure-funded.d.ts.map +0 -1
  129. package/dist/src/lib/delegatee/ensure-funded.js +0 -11
  130. package/dist/src/lib/delegatee/ensure-funded.js.map +0 -1
  131. package/dist/src/lib/delegatee/get-app-info.d.ts +0 -5
  132. package/dist/src/lib/delegatee/get-app-info.d.ts.map +0 -1
  133. package/dist/src/lib/delegatee/get-app-info.js +0 -19
  134. package/dist/src/lib/delegatee/get-app-info.js.map +0 -1
  135. package/dist/src/lib/delegatee/index.d.ts +0 -3
  136. package/dist/src/lib/delegatee/index.d.ts.map +0 -1
  137. package/dist/src/lib/delegatee/index.js +0 -8
  138. package/dist/src/lib/delegatee/index.js.map +0 -1
  139. package/dist/src/lib/delegator/add-permission-for-abilities.d.ts +0 -4
  140. package/dist/src/lib/delegator/add-permission-for-abilities.d.ts.map +0 -1
  141. package/dist/src/lib/delegator/add-permission-for-abilities.js +0 -21
  142. package/dist/src/lib/delegator/add-permission-for-abilities.js.map +0 -1
  143. package/dist/src/lib/delegator/agent-pkp.d.ts +0 -20
  144. package/dist/src/lib/delegator/agent-pkp.d.ts.map +0 -1
  145. package/dist/src/lib/delegator/agent-pkp.js +0 -96
  146. package/dist/src/lib/delegator/agent-pkp.js.map +0 -1
  147. package/dist/src/lib/delegator/get-platform-user-pkp-wallet.d.ts +0 -8
  148. package/dist/src/lib/delegator/get-platform-user-pkp-wallet.d.ts.map +0 -1
  149. package/dist/src/lib/delegator/get-platform-user-pkp-wallet.js +0 -77
  150. package/dist/src/lib/delegator/get-platform-user-pkp-wallet.js.map +0 -1
  151. package/dist/src/lib/delegator/index.d.ts +0 -7
  152. package/dist/src/lib/delegator/index.d.ts.map +0 -1
  153. package/dist/src/lib/delegator/index.js +0 -20
  154. package/dist/src/lib/delegator/index.js.map +0 -1
  155. package/dist/src/lib/delegator/permit-vincent-app-version.d.ts +0 -19
  156. package/dist/src/lib/delegator/permit-vincent-app-version.d.ts.map +0 -1
  157. package/dist/src/lib/delegator/permit-vincent-app-version.js +0 -45
  158. package/dist/src/lib/delegator/permit-vincent-app-version.js.map +0 -1
  159. package/dist/src/lib/delegator/platform-user-pkp.d.ts +0 -10
  160. package/dist/src/lib/delegator/platform-user-pkp.d.ts.map +0 -1
  161. package/dist/src/lib/delegator/platform-user-pkp.js +0 -48
  162. package/dist/src/lib/delegator/platform-user-pkp.js.map +0 -1
  163. package/dist/src/lib/ensure-capacity-credit.d.ts +0 -4
  164. package/dist/src/lib/ensure-capacity-credit.d.ts.map +0 -1
  165. package/dist/src/lib/ensure-capacity-credit.js +0 -57
  166. package/dist/src/lib/ensure-capacity-credit.js.map +0 -1
  167. package/dist/src/lib/env.d.ts +0 -30
  168. package/dist/src/lib/env.d.ts.map +0 -1
  169. package/dist/src/lib/env.js +0 -58
  170. package/dist/src/lib/env.js.map +0 -1
  171. package/dist/src/lib/environment/crossmint.d.ts +0 -3
  172. package/dist/src/lib/environment/crossmint.d.ts.map +0 -1
  173. package/dist/src/lib/environment/crossmint.js +0 -23
  174. package/dist/src/lib/environment/crossmint.js.map +0 -1
  175. package/dist/src/lib/environment/safe.d.ts +0 -567
  176. package/dist/src/lib/environment/safe.d.ts.map +0 -1
  177. package/dist/src/lib/environment/safe.js +0 -41
  178. package/dist/src/lib/environment/safe.js.map +0 -1
  179. package/dist/src/lib/environment/zerodev.d.ts +0 -49
  180. package/dist/src/lib/environment/zerodev.d.ts.map +0 -1
  181. package/dist/src/lib/environment/zerodev.js +0 -32
  182. package/dist/src/lib/environment/zerodev.js.map +0 -1
  183. package/dist/src/lib/funder/check-funder-balance.d.ts +0 -3
  184. package/dist/src/lib/funder/check-funder-balance.d.ts.map +0 -1
  185. package/dist/src/lib/funder/check-funder-balance.js +0 -19
  186. package/dist/src/lib/funder/check-funder-balance.js.map +0 -1
  187. package/dist/src/lib/funder/ensure-wallet-has-test-tokens.d.ts +0 -5
  188. package/dist/src/lib/funder/ensure-wallet-has-test-tokens.d.ts.map +0 -1
  189. package/dist/src/lib/funder/ensure-wallet-has-test-tokens.js +0 -35
  190. package/dist/src/lib/funder/ensure-wallet-has-test-tokens.js.map +0 -1
  191. package/dist/src/lib/funder/index.d.ts +0 -5
  192. package/dist/src/lib/funder/index.d.ts.map +0 -1
  193. package/dist/src/lib/funder/index.js +0 -10
  194. package/dist/src/lib/funder/index.js.map +0 -1
  195. package/dist/src/lib/index.d.ts +0 -18
  196. package/dist/src/lib/index.d.ts.map +0 -1
  197. package/dist/src/lib/index.js +0 -31
  198. package/dist/src/lib/index.js.map +0 -1
  199. package/dist/src/lib/litContractsClient/LitContractsInstance.d.ts +0 -14
  200. package/dist/src/lib/litContractsClient/LitContractsInstance.d.ts.map +0 -1
  201. package/dist/src/lib/litContractsClient/LitContractsInstance.js +0 -48
  202. package/dist/src/lib/litContractsClient/LitContractsInstance.js.map +0 -1
  203. package/dist/src/lib/litContractsClient/get-lit-contract-client.d.ts +0 -7
  204. package/dist/src/lib/litContractsClient/get-lit-contract-client.d.ts.map +0 -1
  205. package/dist/src/lib/litContractsClient/get-lit-contract-client.js +0 -19
  206. package/dist/src/lib/litContractsClient/get-lit-contract-client.js.map +0 -1
  207. package/dist/src/lib/litContractsClient/index.d.ts +0 -3
  208. package/dist/src/lib/litContractsClient/index.d.ts.map +0 -1
  209. package/dist/src/lib/litContractsClient/index.js +0 -8
  210. package/dist/src/lib/litContractsClient/index.js.map +0 -1
  211. package/dist/src/lib/mint-new-pkp.d.ts +0 -16
  212. package/dist/src/lib/mint-new-pkp.d.ts.map +0 -1
  213. package/dist/src/lib/mint-new-pkp.js +0 -40
  214. package/dist/src/lib/mint-new-pkp.js.map +0 -1
  215. package/dist/src/lib/setup-vincent-development-environment.d.ts +0 -81
  216. package/dist/src/lib/setup-vincent-development-environment.d.ts.map +0 -1
  217. package/dist/src/lib/setup-vincent-development-environment.js +0 -185
  218. package/dist/src/lib/setup-vincent-development-environment.js.map +0 -1
  219. package/dist/src/lib/smartAccount/crossmint/setup-crossmint-account.d.ts +0 -3
  220. package/dist/src/lib/smartAccount/crossmint/setup-crossmint-account.d.ts.map +0 -1
  221. package/dist/src/lib/smartAccount/crossmint/setup-crossmint-account.js +0 -96
  222. package/dist/src/lib/smartAccount/crossmint/setup-crossmint-account.js.map +0 -1
  223. package/dist/src/lib/smartAccount/index.d.ts +0 -5
  224. package/dist/src/lib/smartAccount/index.d.ts.map +0 -1
  225. package/dist/src/lib/smartAccount/index.js +0 -10
  226. package/dist/src/lib/smartAccount/index.js.map +0 -1
  227. package/dist/src/lib/smartAccount/safe/setup-safe-account.d.ts +0 -15
  228. package/dist/src/lib/smartAccount/safe/setup-safe-account.d.ts.map +0 -1
  229. package/dist/src/lib/smartAccount/safe/setup-safe-account.js +0 -92
  230. package/dist/src/lib/smartAccount/safe/setup-safe-account.js.map +0 -1
  231. package/dist/src/lib/smartAccount/types.d.ts +0 -30
  232. package/dist/src/lib/smartAccount/types.d.ts.map +0 -1
  233. package/dist/src/lib/smartAccount/types.js +0 -3
  234. package/dist/src/lib/smartAccount/types.js.map +0 -1
  235. package/dist/src/lib/smartAccount/zerodev/get-permission-empty-validator.d.ts +0 -3
  236. package/dist/src/lib/smartAccount/zerodev/get-permission-empty-validator.d.ts.map +0 -1
  237. package/dist/src/lib/smartAccount/zerodev/get-permission-empty-validator.js +0 -24
  238. package/dist/src/lib/smartAccount/zerodev/get-permission-empty-validator.js.map +0 -1
  239. package/dist/src/lib/smartAccount/zerodev/setup-zerodev-account.d.ts +0 -18
  240. package/dist/src/lib/smartAccount/zerodev/setup-zerodev-account.d.ts.map +0 -1
  241. package/dist/src/lib/smartAccount/zerodev/setup-zerodev-account.js +0 -112
  242. package/dist/src/lib/smartAccount/zerodev/setup-zerodev-account.js.map +0 -1
  243. package/dist/src/lib/types.d.ts +0 -17
  244. package/dist/src/lib/types.d.ts.map +0 -1
  245. package/dist/src/lib/types.js +0 -3
  246. package/dist/src/lib/types.js.map +0 -1
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setupAgentSmartAccount = setupAgentSmartAccount;
4
+ const viem_1 = require("viem");
5
+ const installApp_1 = require("./vincent-registry-api/installApp");
6
+ const completeAppInstallation_1 = require("./vincent-registry-api/completeAppInstallation");
7
+ async function setupAgentSmartAccount({ vincentRegistryRpcUrl, vincentApiUrl, vincentRegistryChain, smartAccountChainRpcUrl, smartAccountChain, userEoaPrivateKey, vincentAppId, }) {
8
+ console.log('=== Setting up agent smart account ===');
9
+ const vincentRegistryPublicClient = (0, viem_1.createPublicClient)({
10
+ chain: vincentRegistryChain,
11
+ transport: (0, viem_1.http)(vincentRegistryRpcUrl),
12
+ });
13
+ const smartAccountPublicClient = (0, viem_1.createPublicClient)({
14
+ chain: smartAccountChain,
15
+ transport: (0, viem_1.http)(smartAccountChainRpcUrl),
16
+ });
17
+ // Step 1: Install app via registry API to create PKP and get typed data to sign
18
+ const installData = await (0, installApp_1.installApp)({
19
+ vincentApiUrl,
20
+ appId: vincentAppId,
21
+ userEoaPrivateKey,
22
+ });
23
+ // Step 2: Check if app is already installed
24
+ if (installData.alreadyInstalled === true) {
25
+ console.log('=== App already installed, skipping installation ===');
26
+ console.table({
27
+ 'PKP Signer Address': installData.agentSignerAddress,
28
+ 'Smart Account Address': installData.agentSmartAccountAddress,
29
+ Status: 'Already installed',
30
+ });
31
+ return {
32
+ agentSmartAccountAddress: installData.agentSmartAccountAddress,
33
+ agentSignerAddress: installData.agentSignerAddress,
34
+ };
35
+ }
36
+ // Step 3: Sign typed data and complete installation via API (gas-sponsored)
37
+ const result = await (0, completeAppInstallation_1.completeAppInstallation)({
38
+ vincentApiUrl,
39
+ userEoaPrivateKey,
40
+ appId: vincentAppId,
41
+ appInstallationDataToSign: installData.appInstallationDataToSign,
42
+ agentSmartAccountDeploymentDataToSign: installData.agentSmartAccountDeploymentDataToSign,
43
+ sessionKeyApprovalDataToSign: installData.sessionKeyApprovalDataToSign,
44
+ agentSignerAddress: installData.agentSignerAddress,
45
+ });
46
+ const deploymentTxHash = result.deployAgentSmartAccountTransactionHash;
47
+ const serializedPermissionAccount = result.serializedPermissionAccount;
48
+ const permitAppVersionTxHash = result.completeAppInstallationTransactionHash;
49
+ // Wait for all transactions to be confirmed
50
+ // Note: Session key approval is NOT a transaction - it's just serialization
51
+ // The permission plugin will be enabled when the PKP makes its first transaction
52
+ console.log('[setupAgentSmartAccount] Waiting for transaction confirmations');
53
+ await Promise.all([
54
+ // Smart account deployment happens on smart account chain
55
+ smartAccountPublicClient.waitForTransactionReceipt({
56
+ hash: deploymentTxHash,
57
+ confirmations: 2,
58
+ }),
59
+ // Permit app version happens on Vincent Registry chain
60
+ vincentRegistryPublicClient.waitForTransactionReceipt({
61
+ hash: permitAppVersionTxHash,
62
+ confirmations: 2,
63
+ }),
64
+ ]);
65
+ console.table({
66
+ 'PKP Signer Address': installData.agentSignerAddress,
67
+ 'Smart Account Address': installData.agentSmartAccountAddress,
68
+ 'Smart Account Deployment Tx': deploymentTxHash,
69
+ 'Serialized Permission Account': serializedPermissionAccount.substring(0, 50) + '...',
70
+ 'Permit App Version Tx': permitAppVersionTxHash,
71
+ });
72
+ return {
73
+ agentSmartAccountAddress: installData.agentSmartAccountAddress,
74
+ agentSignerAddress: installData.agentSignerAddress,
75
+ deploymentTxHash,
76
+ serializedPermissionAccount,
77
+ permitAppVersionTxHash,
78
+ };
79
+ }
80
+ //# sourceMappingURL=setupAgentSmartAccount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupAgentSmartAccount.js","sourceRoot":"","sources":["../../../src/setup-dev-env/setupAgentSmartAccount.ts"],"names":[],"mappings":";;AAcA,wDAkGC;AA/GD,+BAAgD;AAEhD,kEAA+D;AAC/D,4FAAyF;AAUlF,KAAK,UAAU,sBAAsB,CAAC,EAC3C,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,GASb;IACC,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IAEtD,MAAM,2BAA2B,GAAG,IAAA,yBAAkB,EAAC;QACrD,KAAK,EAAE,oBAAoB;QAC3B,SAAS,EAAE,IAAA,WAAI,EAAC,qBAAqB,CAAC;KACvC,CAAC,CAAC;IAEH,MAAM,wBAAwB,GAAG,IAAA,yBAAkB,EAAC;QAClD,KAAK,EAAE,iBAAiB;QACxB,SAAS,EAAE,IAAA,WAAI,EAAC,uBAAuB,CAAC;KACzC,CAAC,CAAC;IAEH,gFAAgF;IAChF,MAAM,WAAW,GAAG,MAAM,IAAA,uBAAU,EAAC;QACnC,aAAa;QACb,KAAK,EAAE,YAAY;QACnB,iBAAiB;KAClB,CAAC,CAAC;IAEH,4CAA4C;IAC5C,IAAI,WAAW,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACpE,OAAO,CAAC,KAAK,CAAC;YACZ,oBAAoB,EAAE,WAAW,CAAC,kBAAkB;YACpD,uBAAuB,EAAE,WAAW,CAAC,wBAAwB;YAC7D,MAAM,EAAE,mBAAmB;SAC5B,CAAC,CAAC;QAEH,OAAO;YACL,wBAAwB,EAAE,WAAW,CAAC,wBAAmC;YACzE,kBAAkB,EAAE,WAAW,CAAC,kBAA6B;SAC9D,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,MAAM,MAAM,GAAG,MAAM,IAAA,iDAAuB,EAAC;QAC3C,aAAa;QACb,iBAAiB;QACjB,KAAK,EAAE,YAAY;QACnB,yBAAyB,EAAE,WAAW,CAAC,yBAAyB;QAChE,qCAAqC,EAAE,WAAW,CAAC,qCAAqC;QACxF,4BAA4B,EAAE,WAAW,CAAC,4BAA4B;QACtE,kBAAkB,EAAE,WAAW,CAAC,kBAAkB;KACnD,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,MAAM,CAAC,sCAAsC,CAAC;IACvE,MAAM,2BAA2B,GAAG,MAAM,CAAC,2BAA2B,CAAC;IACvE,MAAM,sBAAsB,GAAG,MAAM,CAAC,sCAAsC,CAAC;IAE7E,4CAA4C;IAC5C,4EAA4E;IAC5E,iFAAiF;IACjF,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;IAC9E,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,0DAA0D;QAC1D,wBAAwB,CAAC,yBAAyB,CAAC;YACjD,IAAI,EAAE,gBAAiC;YACvC,aAAa,EAAE,CAAC;SACjB,CAAC;QACF,uDAAuD;QACvD,2BAA2B,CAAC,yBAAyB,CAAC;YACpD,IAAI,EAAE,sBAAuC;YAC7C,aAAa,EAAE,CAAC;SACjB,CAAC;KACH,CAAC,CAAC;IAEH,OAAO,CAAC,KAAK,CAAC;QACZ,oBAAoB,EAAE,WAAW,CAAC,kBAAkB;QACpD,uBAAuB,EAAE,WAAW,CAAC,wBAAwB;QAC7D,6BAA6B,EAAE,gBAAgB;QAC/C,+BAA+B,EAAE,2BAA2B,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;QACrF,uBAAuB,EAAE,sBAAsB;KAChD,CAAC,CAAC;IAEH,OAAO;QACL,wBAAwB,EAAE,WAAW,CAAC,wBAAmC;QACzE,kBAAkB,EAAE,WAAW,CAAC,kBAA6B;QAC7D,gBAAgB;QAChB,2BAA2B;QAC3B,sBAAsB;KACvB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { AppMetadata } from './setupVincentDevEnv';
2
+ export interface SetupVincentAppParams {
3
+ vincentApiUrl: string;
4
+ vincentRegistryRpcUrl: string;
5
+ appMetadata: AppMetadata;
6
+ appManagerPrivateKey: `0x${string}`;
7
+ appDelegateePrivateKey: `0x${string}`;
8
+ appDelegatees: `0x${string}`[];
9
+ abilityIpfsCids: string[];
10
+ abilityPolicies: string[][];
11
+ }
12
+ export interface VincentAppInfo {
13
+ appId: number;
14
+ appVersion: number;
15
+ accountIndexHash?: string;
16
+ txHash?: string;
17
+ }
18
+ export declare function setupVincentApp({ vincentApiUrl, vincentRegistryRpcUrl, appMetadata, appManagerPrivateKey, appDelegateePrivateKey, appDelegatees, abilityIpfsCids, abilityPolicies, }: SetupVincentAppParams): Promise<VincentAppInfo>;
19
+ //# sourceMappingURL=setupVincentApp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupVincentApp.d.ts","sourceRoot":"","sources":["../../../src/setup-dev-env/setupVincentApp.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,WAAW,CAAC;IACzB,oBAAoB,EAAE,KAAK,MAAM,EAAE,CAAC;IACpC,sBAAsB,EAAE,KAAK,MAAM,EAAE,CAAC;IACtC,aAAa,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC;IAC/B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,eAAe,CAAC,EACpC,aAAa,EACb,qBAAqB,EACrB,WAAW,EACX,oBAAoB,EACpB,sBAAsB,EACtB,aAAa,EACb,eAAe,EACf,eAAe,GAChB,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC,CAkCjD"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setupVincentApp = setupVincentApp;
4
+ const handeAppRegistration_1 = require("./app-registration/handeAppRegistration");
5
+ const setActiveAppVersion_1 = require("./vincent-registry-api/setActiveAppVersion");
6
+ async function setupVincentApp({ vincentApiUrl, vincentRegistryRpcUrl, appMetadata, appManagerPrivateKey, appDelegateePrivateKey, appDelegatees, abilityIpfsCids, abilityPolicies, }) {
7
+ console.log('=== Setting up Vincent App ===');
8
+ // Step 1: Handle app registration (new app or new version)
9
+ // This registers on-chain and with the API
10
+ const registration = await (0, handeAppRegistration_1.handleAppRegistration)({
11
+ vincentApiUrl,
12
+ vincentRegistryRpcUrl,
13
+ appManagerPrivateKey,
14
+ appDelegateePrivateKey,
15
+ appMetadata,
16
+ appDelegatees,
17
+ abilityIpfsCids,
18
+ abilityPolicies,
19
+ });
20
+ // Step 2: Set active version
21
+ // For new apps: handleAppRegistration already called registerAppWithVincentApi
22
+ // For new versions: handleAppRegistration already called registerAppVersionWithVincentApi
23
+ // Now we just need to set the active version
24
+ await (0, setActiveAppVersion_1.setActiveVersion)({
25
+ vincentApiUrl,
26
+ appManagerPrivateKey,
27
+ appId: registration.appId,
28
+ activeVersion: registration.appVersion,
29
+ });
30
+ return {
31
+ appId: registration.appId,
32
+ appVersion: registration.appVersion,
33
+ accountIndexHash: 'accountIndexHash' in registration ? registration.accountIndexHash : undefined,
34
+ txHash: registration.txHash,
35
+ };
36
+ }
37
+ //# sourceMappingURL=setupVincentApp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupVincentApp.js","sourceRoot":"","sources":["../../../src/setup-dev-env/setupVincentApp.ts"],"names":[],"mappings":";;AAsBA,0CA2CC;AAjED,kFAAgF;AAChF,oFAA8E;AAqBvE,KAAK,UAAU,eAAe,CAAC,EACpC,aAAa,EACb,qBAAqB,EACrB,WAAW,EACX,oBAAoB,EACpB,sBAAsB,EACtB,aAAa,EACb,eAAe,EACf,eAAe,GACO;IACtB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAE9C,2DAA2D;IAC3D,2CAA2C;IAC3C,MAAM,YAAY,GAAG,MAAM,IAAA,4CAAqB,EAAC;QAC/C,aAAa;QACb,qBAAqB;QACrB,oBAAoB;QACpB,sBAAsB;QACtB,WAAW;QACX,aAAa;QACb,eAAe;QACf,eAAe;KAChB,CAAC,CAAC;IAEH,6BAA6B;IAC7B,+EAA+E;IAC/E,0FAA0F;IAC1F,6CAA6C;IAC7C,MAAM,IAAA,sCAAgB,EAAC;QACrB,aAAa;QACb,oBAAoB;QACpB,KAAK,EAAE,YAAY,CAAC,KAAK;QACzB,aAAa,EAAE,YAAY,CAAC,UAAU;KACvC,CAAC,CAAC;IAEH,OAAO;QACL,KAAK,EAAE,YAAY,CAAC,KAAK;QACzB,UAAU,EAAE,YAAY,CAAC,UAAU;QACnC,gBAAgB,EACd,kBAAkB,IAAI,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;QAChF,MAAM,EAAE,YAAY,CAAC,MAAM;KAC5B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,77 @@
1
+ import type { Address, Chain, PrivateKeyAccount, PublicClient } from 'viem';
2
+ import type { Wallet } from 'ethers';
3
+ export interface VincentDevEnvironment {
4
+ vincentRegistryRpcUrl: string;
5
+ vincentRegistryChain: Chain;
6
+ smartAccountChainRpcUrl: string;
7
+ smartAccountChain: Chain;
8
+ appId: number;
9
+ appVersion: number;
10
+ accountIndexHash?: string;
11
+ accounts: {
12
+ funder: PrivateKeyAccount;
13
+ appManager: PrivateKeyAccount;
14
+ appDelegatee: PrivateKeyAccount;
15
+ userEoa: PrivateKeyAccount;
16
+ };
17
+ ethersWallets: {
18
+ funder: Wallet;
19
+ appManager: Wallet;
20
+ appDelegatee: Wallet;
21
+ userEoa: Wallet;
22
+ };
23
+ clients: {
24
+ vincentRegistryPublicClient: PublicClient;
25
+ chronicleYellowstonePublicClient: PublicClient;
26
+ };
27
+ agentSmartAccount: {
28
+ address: Address;
29
+ agentSignerAddress: Address;
30
+ deploymentTxHash?: string;
31
+ serializedPermissionAccount?: string;
32
+ permitAppVersionTxHash?: string;
33
+ };
34
+ }
35
+ export interface AppMetadata {
36
+ name: string;
37
+ description: string;
38
+ contactEmail: string;
39
+ appUrl: string;
40
+ logo?: string;
41
+ deploymentStatus?: 'dev' | 'test' | 'prod';
42
+ }
43
+ interface FundingConfig {
44
+ funder?: {
45
+ minAmountVincentRegistryChain?: bigint;
46
+ minAmountChronicleYellowstone?: bigint;
47
+ };
48
+ appManagerMinAmount?: {
49
+ minAmountVincentRegistryChain?: bigint;
50
+ };
51
+ userEoaMinAmount?: {
52
+ minAmountVincentRegistryChain?: bigint;
53
+ };
54
+ appDelegateeMinAmount?: {
55
+ minAmountChronicleYellowstone?: bigint;
56
+ };
57
+ }
58
+ export interface SetupConfig {
59
+ vincentRegistryRpcUrl: string;
60
+ vincentRegistryChain: Chain;
61
+ smartAccountChainRpcUrl: string;
62
+ smartAccountChain: Chain;
63
+ vincentApiUrl: string;
64
+ privateKeys: {
65
+ appManager: `0x${string}`;
66
+ appDelegatee: `0x${string}`;
67
+ userEoa: `0x${string}`;
68
+ funder: `0x${string}`;
69
+ };
70
+ appMetadata: AppMetadata;
71
+ abilityIpfsCids: string[];
72
+ abilityPolicies: string[][];
73
+ funding?: FundingConfig;
74
+ }
75
+ export declare function setupVincentDevelopmentEnvironment(config: SetupConfig): Promise<VincentDevEnvironment>;
76
+ export {};
77
+ //# sourceMappingURL=setupVincentDevEnv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupVincentDevEnv.d.ts","sourceRoot":"","sources":["../../../src/setup-dev-env/setupVincentDevEnv.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAC5E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAMrC,MAAM,WAAW,qBAAqB;IACpC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,KAAK,CAAC;IAC5B,uBAAuB,EAAE,MAAM,CAAC;IAChC,iBAAiB,EAAE,KAAK,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE;QACR,MAAM,EAAE,iBAAiB,CAAC;QAC1B,UAAU,EAAE,iBAAiB,CAAC;QAC9B,YAAY,EAAE,iBAAiB,CAAC;QAChC,OAAO,EAAE,iBAAiB,CAAC;KAC5B,CAAC;IACF,aAAa,EAAE;QACb,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,OAAO,EAAE;QACP,2BAA2B,EAAE,YAAY,CAAC;QAC1C,gCAAgC,EAAE,YAAY,CAAC;KAChD,CAAC;IACF,iBAAiB,EAAE;QACjB,OAAO,EAAE,OAAO,CAAC;QACjB,kBAAkB,EAAE,OAAO,CAAC;QAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,2BAA2B,CAAC,EAAE,MAAM,CAAC;QACrC,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;CAC5C;AAED,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE;QACP,6BAA6B,CAAC,EAAE,MAAM,CAAC;QACvC,6BAA6B,CAAC,EAAE,MAAM,CAAC;KACxC,CAAC;IACF,mBAAmB,CAAC,EAAE;QACpB,6BAA6B,CAAC,EAAE,MAAM,CAAC;KACxC,CAAC;IACF,gBAAgB,CAAC,EAAE;QACjB,6BAA6B,CAAC,EAAE,MAAM,CAAC;KACxC,CAAC;IACF,qBAAqB,CAAC,EAAE;QACtB,6BAA6B,CAAC,EAAE,MAAM,CAAC;KACxC,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,KAAK,CAAC;IAC5B,uBAAuB,EAAE,MAAM,CAAC;IAChC,iBAAiB,EAAE,KAAK,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE;QACX,UAAU,EAAE,KAAK,MAAM,EAAE,CAAC;QAC1B,YAAY,EAAE,KAAK,MAAM,EAAE,CAAC;QAC5B,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;KACvB,CAAC;IACF,WAAW,EAAE,WAAW,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,wBAAsB,kCAAkC,CACtD,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,qBAAqB,CAAC,CA4DhC"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setupVincentDevelopmentEnvironment = setupVincentDevelopmentEnvironment;
4
+ const setupWallets_1 = require("./wallets/setupWallets");
5
+ const setupVincentApp_1 = require("./setupVincentApp");
6
+ const setupAgentSmartAccount_1 = require("./setupAgentSmartAccount");
7
+ async function setupVincentDevelopmentEnvironment(config) {
8
+ console.log('=== Setting up Vincent Development Environment ===');
9
+ console.table({
10
+ VINCENT_REGISTRY_NETWORK: config.vincentRegistryChain.name,
11
+ VINCENT_REGISTRY_CHAIN_ID: config.vincentRegistryChain.id,
12
+ VINCENT_REGISTRY_RPC_URL: config.vincentRegistryRpcUrl,
13
+ });
14
+ // Phase 1: Setup wallets and fund them
15
+ const { accounts, ethersWallets, clients } = await (0, setupWallets_1.setupWallets)({
16
+ privateKeys: config.privateKeys,
17
+ vincentRegistryChain: config.vincentRegistryChain,
18
+ vincentRegistryRpcUrl: config.vincentRegistryRpcUrl,
19
+ funding: config.funding,
20
+ });
21
+ // Phase 2: Setup Vincent app (registration and API configuration)
22
+ const appInfo = await (0, setupVincentApp_1.setupVincentApp)({
23
+ vincentRegistryRpcUrl: config.vincentRegistryRpcUrl,
24
+ vincentApiUrl: config.vincentApiUrl,
25
+ appManagerPrivateKey: config.privateKeys.appManager,
26
+ appDelegateePrivateKey: config.privateKeys.appDelegatee,
27
+ appDelegatees: [accounts.appDelegatee.address],
28
+ appMetadata: config.appMetadata,
29
+ abilityIpfsCids: config.abilityIpfsCids,
30
+ abilityPolicies: config.abilityPolicies,
31
+ });
32
+ // Phase 3: Setup user's agent smart account (sign typed data and complete installation)
33
+ const agentSmartAccountInfo = await (0, setupAgentSmartAccount_1.setupAgentSmartAccount)({
34
+ vincentRegistryRpcUrl: config.vincentRegistryRpcUrl,
35
+ vincentApiUrl: config.vincentApiUrl,
36
+ vincentRegistryChain: config.vincentRegistryChain,
37
+ smartAccountChainRpcUrl: config.smartAccountChainRpcUrl,
38
+ smartAccountChain: config.smartAccountChain,
39
+ userEoaPrivateKey: config.privateKeys.userEoa,
40
+ vincentAppId: appInfo.appId,
41
+ });
42
+ console.log('=== Vincent Development Environment Setup Complete ===');
43
+ return {
44
+ vincentRegistryRpcUrl: config.vincentRegistryRpcUrl,
45
+ vincentRegistryChain: config.vincentRegistryChain,
46
+ smartAccountChainRpcUrl: config.smartAccountChainRpcUrl,
47
+ smartAccountChain: config.smartAccountChain,
48
+ appId: appInfo.appId,
49
+ appVersion: appInfo.appVersion,
50
+ accountIndexHash: appInfo.accountIndexHash,
51
+ accounts,
52
+ ethersWallets,
53
+ clients,
54
+ agentSmartAccount: {
55
+ address: agentSmartAccountInfo.agentSmartAccountAddress,
56
+ agentSignerAddress: agentSmartAccountInfo.agentSignerAddress,
57
+ deploymentTxHash: agentSmartAccountInfo.deploymentTxHash,
58
+ serializedPermissionAccount: agentSmartAccountInfo.serializedPermissionAccount,
59
+ permitAppVersionTxHash: agentSmartAccountInfo.permitAppVersionTxHash,
60
+ },
61
+ };
62
+ }
63
+ //# sourceMappingURL=setupVincentDevEnv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupVincentDevEnv.js","sourceRoot":"","sources":["../../../src/setup-dev-env/setupVincentDevEnv.ts"],"names":[],"mappings":";;AAmFA,gFA8DC;AA9ID,yDAAsD;AACtD,uDAAoD;AACpD,qEAAkE;AA8E3D,KAAK,UAAU,kCAAkC,CACtD,MAAmB;IAEnB,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;IAClE,OAAO,CAAC,KAAK,CAAC;QACZ,wBAAwB,EAAE,MAAM,CAAC,oBAAoB,CAAC,IAAI;QAC1D,yBAAyB,EAAE,MAAM,CAAC,oBAAoB,CAAC,EAAE;QACzD,wBAAwB,EAAE,MAAM,CAAC,qBAAqB;KACvD,CAAC,CAAC;IAEH,uCAAuC;IACvC,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,2BAAY,EAAC;QAC9D,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;QACjD,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;QACnD,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC,CAAC;IAEH,kEAAkE;IAClE,MAAM,OAAO,GAAG,MAAM,IAAA,iCAAe,EAAC;QACpC,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;QACnD,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,oBAAoB,EAAE,MAAM,CAAC,WAAW,CAAC,UAAU;QACnD,sBAAsB,EAAE,MAAM,CAAC,WAAW,CAAC,YAAY;QACvD,aAAa,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC;QAC9C,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,eAAe,EAAE,MAAM,CAAC,eAAe;KACxC,CAAC,CAAC;IAEH,wFAAwF;IACxF,MAAM,qBAAqB,GAAG,MAAM,IAAA,+CAAsB,EAAC;QACzD,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;QACnD,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;QACjD,uBAAuB,EAAE,MAAM,CAAC,uBAAuB;QACvD,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,iBAAiB,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO;QAC7C,YAAY,EAAE,OAAO,CAAC,KAAK;KAC5B,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;IAEtE,OAAO;QACL,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;QACnD,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;QACjD,uBAAuB,EAAE,MAAM,CAAC,uBAAuB;QACvD,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,QAAQ;QACR,aAAa;QACb,OAAO;QACP,iBAAiB,EAAE;YACjB,OAAO,EAAE,qBAAqB,CAAC,wBAAwB;YACvD,kBAAkB,EAAE,qBAAqB,CAAC,kBAAkB;YAC5D,gBAAgB,EAAE,qBAAqB,CAAC,gBAAgB;YACxD,2BAA2B,EAAE,qBAAqB,CAAC,2BAA2B;YAC9E,sBAAsB,EAAE,qBAAqB,CAAC,sBAAsB;SACrE;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { Address, Chain } from 'viem';
2
+ /**
3
+ * Creates a serialized permission approval that allows a session key (PKP) to act on behalf of the smart account.
4
+ *
5
+ * This follows the ZeroDev pattern from transaction-automation.ts:
6
+ * 1. Owner creates an account with BOTH validators (EOA sudo + session key permission)
7
+ * 2. Serializes the permission account
8
+ * 3. Session key can later deserialize and use it to sign transactions
9
+ *
10
+ * The serialized approval contains:
11
+ * - Smart account configuration (sudo validator = EOA)
12
+ * - Permission validator configuration (session key = PKP with sudo policy)
13
+ * - All necessary data for the session key to reconstruct the account
14
+ *
15
+ * @param params Configuration for creating the permission approval
16
+ * @returns Serialized permission approval string that can be deserialized by the session key
17
+ */
18
+ export declare function createPermissionApproval({ userEoaPrivateKey, sessionKeyAddress, accountIndexHash, targetChain, targetChainRpcUrl, }: {
19
+ userEoaPrivateKey: `0x${string}`;
20
+ sessionKeyAddress: Address;
21
+ accountIndexHash: string;
22
+ targetChain: Chain;
23
+ targetChainRpcUrl: string;
24
+ }): Promise<string>;
25
+ //# sourceMappingURL=createPermissionApproval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPermissionApproval.d.ts","sourceRoot":"","sources":["../../../../src/setup-dev-env/smart-account/createPermissionApproval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAU3C;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,wBAAwB,CAAC,EAC7C,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,iBAAiB,GAClB,EAAE;IACD,iBAAiB,EAAE,KAAK,MAAM,EAAE,CAAC;IACjC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,KAAK,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,GAAG,OAAO,CAAC,MAAM,CAAC,CAqClB"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createPermissionApproval = createPermissionApproval;
4
+ const viem_1 = require("viem");
5
+ const accounts_1 = require("viem/accounts");
6
+ const sdk_1 = require("@zerodev/sdk");
7
+ const ecdsa_validator_1 = require("@zerodev/ecdsa-validator");
8
+ const permissions_1 = require("@zerodev/permissions");
9
+ const signers_1 = require("@zerodev/permissions/signers");
10
+ const policies_1 = require("@zerodev/permissions/policies");
11
+ const constants_1 = require("@zerodev/sdk/constants");
12
+ /**
13
+ * Creates a serialized permission approval that allows a session key (PKP) to act on behalf of the smart account.
14
+ *
15
+ * This follows the ZeroDev pattern from transaction-automation.ts:
16
+ * 1. Owner creates an account with BOTH validators (EOA sudo + session key permission)
17
+ * 2. Serializes the permission account
18
+ * 3. Session key can later deserialize and use it to sign transactions
19
+ *
20
+ * The serialized approval contains:
21
+ * - Smart account configuration (sudo validator = EOA)
22
+ * - Permission validator configuration (session key = PKP with sudo policy)
23
+ * - All necessary data for the session key to reconstruct the account
24
+ *
25
+ * @param params Configuration for creating the permission approval
26
+ * @returns Serialized permission approval string that can be deserialized by the session key
27
+ */
28
+ async function createPermissionApproval({ userEoaPrivateKey, sessionKeyAddress, accountIndexHash, targetChain, targetChainRpcUrl, }) {
29
+ const publicClient = (0, viem_1.createPublicClient)({
30
+ chain: targetChain,
31
+ transport: (0, viem_1.http)(targetChainRpcUrl),
32
+ });
33
+ const userEoaAccount = (0, accounts_1.privateKeyToAccount)(userEoaPrivateKey);
34
+ const ecdsaValidator = await (0, ecdsa_validator_1.signerToEcdsaValidator)(publicClient, {
35
+ entryPoint: (0, constants_1.getEntryPoint)('0.7'),
36
+ signer: userEoaAccount,
37
+ kernelVersion: constants_1.KERNEL_V3_3,
38
+ });
39
+ const emptySessionKeyAccount = (0, sdk_1.addressToEmptyAccount)(sessionKeyAddress);
40
+ const emptySessionKeySigner = await (0, signers_1.toECDSASigner)({
41
+ signer: emptySessionKeyAccount,
42
+ });
43
+ const permissionPlugin = await (0, permissions_1.toPermissionValidator)(publicClient, {
44
+ entryPoint: (0, constants_1.getEntryPoint)('0.7'),
45
+ signer: emptySessionKeySigner,
46
+ policies: [(0, policies_1.toSudoPolicy)({})],
47
+ kernelVersion: constants_1.KERNEL_V3_3,
48
+ });
49
+ const sessionKeyAccount = await (0, sdk_1.createKernelAccount)(publicClient, {
50
+ entryPoint: (0, constants_1.getEntryPoint)('0.7'),
51
+ plugins: {
52
+ sudo: ecdsaValidator,
53
+ regular: permissionPlugin,
54
+ },
55
+ kernelVersion: constants_1.KERNEL_V3_3,
56
+ index: BigInt(accountIndexHash),
57
+ });
58
+ return await (0, permissions_1.serializePermissionAccount)(sessionKeyAccount);
59
+ }
60
+ //# sourceMappingURL=createPermissionApproval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPermissionApproval.js","sourceRoot":"","sources":["../../../../src/setup-dev-env/smart-account/createPermissionApproval.ts"],"names":[],"mappings":";;AA0BA,4DAiDC;AA1ED,+BAAgD;AAChD,4CAAoD;AACpD,sCAA0E;AAC1E,8DAAkE;AAClE,sDAAyF;AACzF,0DAA6D;AAC7D,4DAA6D;AAC7D,sDAAoE;AAEpE;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,wBAAwB,CAAC,EAC7C,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,iBAAiB,GAOlB;IACC,MAAM,YAAY,GAAG,IAAA,yBAAkB,EAAC;QACtC,KAAK,EAAE,WAAW;QAClB,SAAS,EAAE,IAAA,WAAI,EAAC,iBAAiB,CAAC;KACnC,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,IAAA,8BAAmB,EAAC,iBAAiB,CAAC,CAAC;IAE9D,MAAM,cAAc,GAAG,MAAM,IAAA,wCAAsB,EAAC,YAAY,EAAE;QAChE,UAAU,EAAE,IAAA,yBAAa,EAAC,KAAK,CAAC;QAChC,MAAM,EAAE,cAAc;QACtB,aAAa,EAAE,uBAAW;KAC3B,CAAC,CAAC;IAEH,MAAM,sBAAsB,GAAG,IAAA,2BAAqB,EAAC,iBAAiB,CAAC,CAAC;IACxE,MAAM,qBAAqB,GAAG,MAAM,IAAA,uBAAa,EAAC;QAChD,MAAM,EAAE,sBAAsB;KAC/B,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,MAAM,IAAA,mCAAqB,EAAC,YAAY,EAAE;QACjE,UAAU,EAAE,IAAA,yBAAa,EAAC,KAAK,CAAC;QAChC,MAAM,EAAE,qBAAqB;QAC7B,QAAQ,EAAE,CAAC,IAAA,uBAAY,EAAC,EAAE,CAAC,CAAC;QAC5B,aAAa,EAAE,uBAAW;KAC3B,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,MAAM,IAAA,yBAAmB,EAAC,YAAY,EAAE;QAChE,UAAU,EAAE,IAAA,yBAAa,EAAC,KAAK,CAAC;QAChC,OAAO,EAAE;YACP,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,gBAAgB;SAC1B;QACD,aAAa,EAAE,uBAAW;QAC1B,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC;KAChC,CAAC,CAAC;IAEH,OAAO,MAAM,IAAA,wCAA0B,EAAC,iBAAiB,CAAC,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { Address, Chain, Hex } from 'viem';
2
+ export interface SmartAccountInfo {
3
+ smartAccountAddress: Address;
4
+ deploymentTxHash?: Hex;
5
+ }
6
+ export declare function deploySmartAccount({ userEoaPrivateKey, accountIndexHash, targetChain, targetChainRpcUrl, zerodevProjectId, funderPrivateKey, fundAmountBeforeDeployment, }: {
7
+ userEoaPrivateKey: `0x${string}`;
8
+ accountIndexHash: string;
9
+ targetChain: Chain;
10
+ targetChainRpcUrl: string;
11
+ zerodevProjectId: string;
12
+ funderPrivateKey: `0x${string}`;
13
+ fundAmountBeforeDeployment?: bigint;
14
+ }): Promise<SmartAccountInfo>;
15
+ //# sourceMappingURL=deploySmartAccount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploySmartAccount.d.ts","sourceRoot":"","sources":["../../../../src/setup-dev-env/smart-account/deploySmartAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAShD,MAAM,WAAW,gBAAgB;IAC/B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,GAAG,CAAC;CACxB;AAED,wBAAsB,kBAAkB,CAAC,EACvC,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,0BAA0B,GAC3B,EAAE;IACD,iBAAiB,EAAE,KAAK,MAAM,EAAE,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,KAAK,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,KAAK,MAAM,EAAE,CAAC;IAChC,0BAA0B,CAAC,EAAE,MAAM,CAAC;CACrC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAyI5B"}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deploySmartAccount = deploySmartAccount;
4
+ const viem_1 = require("viem");
5
+ const accounts_1 = require("viem/accounts");
6
+ const sdk_1 = require("@zerodev/sdk");
7
+ const ecdsa_validator_1 = require("@zerodev/ecdsa-validator");
8
+ const constants_1 = require("@zerodev/sdk/constants");
9
+ const ensureWalletHasTokens_1 = require("../wallets/ensureWalletHasTokens");
10
+ async function deploySmartAccount({ userEoaPrivateKey, accountIndexHash, targetChain, targetChainRpcUrl, zerodevProjectId, funderPrivateKey, fundAmountBeforeDeployment, }) {
11
+ console.log(`=== Deploying Smart Account to ${targetChain.name} ===`);
12
+ const publicClient = (0, viem_1.createPublicClient)({
13
+ chain: targetChain,
14
+ transport: (0, viem_1.http)(targetChainRpcUrl),
15
+ });
16
+ const userEoaWalletClient = (0, viem_1.createWalletClient)({
17
+ account: (0, accounts_1.privateKeyToAccount)(userEoaPrivateKey),
18
+ chain: targetChain,
19
+ transport: (0, viem_1.http)(targetChainRpcUrl),
20
+ });
21
+ const funderWalletClient = (0, viem_1.createWalletClient)({
22
+ account: (0, accounts_1.privateKeyToAccount)(funderPrivateKey),
23
+ chain: targetChain,
24
+ transport: (0, viem_1.http)(targetChainRpcUrl),
25
+ });
26
+ const userEoaEcdsaValidator = await (0, ecdsa_validator_1.signerToEcdsaValidator)(publicClient, {
27
+ entryPoint: (0, constants_1.getEntryPoint)('0.7'),
28
+ signer: userEoaWalletClient,
29
+ kernelVersion: constants_1.KERNEL_V3_3,
30
+ });
31
+ const userEoaKernelAccount = await (0, sdk_1.createKernelAccount)(publicClient, {
32
+ entryPoint: (0, constants_1.getEntryPoint)('0.7'),
33
+ plugins: {
34
+ sudo: userEoaEcdsaValidator,
35
+ },
36
+ kernelVersion: constants_1.KERNEL_V3_3,
37
+ index: BigInt(accountIndexHash),
38
+ });
39
+ const zerodevRpcUrl = `https://rpc.zerodev.app/api/v3/${zerodevProjectId}/chain/${targetChain.id}`;
40
+ const kernelClient = (0, sdk_1.createKernelAccountClient)({
41
+ account: userEoaKernelAccount,
42
+ chain: targetChain,
43
+ bundlerTransport: (0, viem_1.http)(zerodevRpcUrl),
44
+ client: publicClient,
45
+ });
46
+ // Check if smart account is already deployed on the target chain
47
+ const existingCode = await publicClient.getCode({
48
+ address: userEoaKernelAccount.address,
49
+ });
50
+ const isAlreadyDeployed = existingCode && existingCode !== '0x';
51
+ if (isAlreadyDeployed) {
52
+ console.log(`Smart account already deployed on ${targetChain.name}`);
53
+ console.table({
54
+ Chain: `${targetChain.name} (${targetChain.id})`,
55
+ 'Smart Account Address': userEoaKernelAccount.address,
56
+ Status: 'Already Deployed',
57
+ });
58
+ }
59
+ // Step 2: Fund the smart account (if fundAmountBeforeDeployment is provided)
60
+ if (fundAmountBeforeDeployment !== undefined) {
61
+ console.log('Funding smart account...');
62
+ const { currentBalance, fundingTxHash } = await (0, ensureWalletHasTokens_1.ensureWalletHasTokens)({
63
+ address: userEoaKernelAccount.address,
64
+ funderWalletClient,
65
+ publicClient,
66
+ minAmount: fundAmountBeforeDeployment,
67
+ });
68
+ console.table({
69
+ 'Smart Account Address': userEoaKernelAccount.address,
70
+ Balance: (0, viem_1.formatEther)(currentBalance),
71
+ 'Funding Tx Hash': fundingTxHash,
72
+ });
73
+ if (fundingTxHash) {
74
+ console.log('Waiting for funding confirmation...');
75
+ await publicClient.waitForTransactionReceipt({
76
+ hash: fundingTxHash,
77
+ confirmations: 2,
78
+ });
79
+ }
80
+ }
81
+ else {
82
+ console.log('Skipping funding step (fundAmountBeforeDeployment not provided)');
83
+ }
84
+ // Step 3: Deploy the smart account (only if not already deployed)
85
+ let deploymentTxHash;
86
+ if (!isAlreadyDeployed) {
87
+ console.log('Deploying smart account...');
88
+ const userOpHash = await kernelClient.sendUserOperation({
89
+ callData: await userEoaKernelAccount.encodeCalls([
90
+ {
91
+ to: '0x0000000000000000000000000000000000000000',
92
+ value: 0n,
93
+ data: '0x',
94
+ },
95
+ ]),
96
+ });
97
+ console.log(`Deployment UserOp Hash: ${userOpHash}`);
98
+ // Wait for the UserOperation to be included in a block
99
+ const receipt = await kernelClient.waitForUserOperationReceipt({
100
+ hash: userOpHash,
101
+ });
102
+ deploymentTxHash = receipt.receipt.transactionHash;
103
+ console.log(`Deployment Tx Hash: ${deploymentTxHash}`);
104
+ await publicClient.waitForTransactionReceipt({
105
+ hash: deploymentTxHash,
106
+ confirmations: 2,
107
+ });
108
+ // Verify deployment
109
+ const deployedCode = await publicClient.getCode({
110
+ address: userEoaKernelAccount.address,
111
+ });
112
+ if (!deployedCode || deployedCode === '0x') {
113
+ throw new Error(`Smart account deployment failed on ${targetChain.name}, code is still empty (0x)`);
114
+ }
115
+ console.log(`Smart account deployed successfully`);
116
+ console.table({
117
+ Chain: `${targetChain.name} (${targetChain.id})`,
118
+ 'Smart Account Address': userEoaKernelAccount.address,
119
+ 'Deployment Tx Hash': deploymentTxHash,
120
+ });
121
+ }
122
+ return {
123
+ smartAccountAddress: userEoaKernelAccount.address,
124
+ deploymentTxHash,
125
+ };
126
+ }
127
+ //# sourceMappingURL=deploySmartAccount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploySmartAccount.js","sourceRoot":"","sources":["../../../../src/setup-dev-env/smart-account/deploySmartAccount.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Address } from 'viem';
2
+ export declare function deriveSmartAccountAddress(eoaAddress: Address, accountIndexHash: string, publicClient: any): Promise<Address>;
3
+ //# sourceMappingURL=deriveSmartAccountAddress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deriveSmartAccountAddress.d.ts","sourceRoot":"","sources":["../../../../src/setup-dev-env/smart-account/deriveSmartAccountAddress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAIpC,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,OAAO,EACnB,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,GAAG,GAChB,OAAO,CAAC,OAAO,CAAC,CAUlB"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deriveSmartAccountAddress = deriveSmartAccountAddress;
4
+ const ecdsa_validator_1 = require("@zerodev/ecdsa-validator");
5
+ const constants_1 = require("@zerodev/sdk/constants");
6
+ async function deriveSmartAccountAddress(eoaAddress, accountIndexHash, publicClient) {
7
+ const agentAddress = await (0, ecdsa_validator_1.getKernelAddressFromECDSA)({
8
+ entryPoint: (0, constants_1.getEntryPoint)('0.7'),
9
+ kernelVersion: constants_1.KERNEL_V3_1,
10
+ eoaAddress,
11
+ index: BigInt(accountIndexHash),
12
+ publicClient: publicClient,
13
+ });
14
+ return agentAddress;
15
+ }
16
+ //# sourceMappingURL=deriveSmartAccountAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deriveSmartAccountAddress.js","sourceRoot":"","sources":["../../../../src/setup-dev-env/smart-account/deriveSmartAccountAddress.ts"],"names":[],"mappings":";;AAIA,8DAcC;AAjBD,8DAAqE;AACrE,sDAAoE;AAE7D,KAAK,UAAU,yBAAyB,CAC7C,UAAmB,EACnB,gBAAwB,EACxB,YAAiB;IAEjB,MAAM,YAAY,GAAG,MAAM,IAAA,2CAAyB,EAAC;QACnD,UAAU,EAAE,IAAA,yBAAa,EAAC,KAAK,CAAC;QAChC,aAAa,EAAE,uBAAW;QAC1B,UAAU;QACV,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC;QAC/B,YAAY,EAAE,YAAmB;KAClC,CAAC,CAAC;IAEH,OAAO,YAAuB,CAAC;AACjC,CAAC"}
@@ -0,0 +1,15 @@
1
+ export interface CompleteInstallationResult {
2
+ deployAgentSmartAccountTransactionHash: string;
3
+ serializedPermissionAccount: string;
4
+ completeAppInstallationTransactionHash: string;
5
+ }
6
+ export declare function completeAppInstallation({ vincentApiUrl, userEoaPrivateKey, appId, appInstallationDataToSign, agentSmartAccountDeploymentDataToSign, sessionKeyApprovalDataToSign, agentSignerAddress, }: {
7
+ vincentApiUrl: string;
8
+ userEoaPrivateKey: string;
9
+ appId: number;
10
+ appInstallationDataToSign: any;
11
+ agentSmartAccountDeploymentDataToSign: any;
12
+ sessionKeyApprovalDataToSign: any;
13
+ agentSignerAddress: string;
14
+ }): Promise<CompleteInstallationResult>;
15
+ //# sourceMappingURL=completeAppInstallation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completeAppInstallation.d.ts","sourceRoot":"","sources":["../../../../src/setup-dev-env/vincent-registry-api/completeAppInstallation.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,0BAA0B;IACzC,sCAAsC,EAAE,MAAM,CAAC;IAC/C,2BAA2B,EAAE,MAAM,CAAC;IACpC,sCAAsC,EAAE,MAAM,CAAC;CAChD;AAED,wBAAsB,uBAAuB,CAAC,EAC5C,aAAa,EACb,iBAAiB,EACjB,KAAK,EACL,yBAAyB,EACzB,qCAAqC,EACrC,4BAA4B,EAC5B,kBAAkB,GACnB,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,yBAAyB,EAAE,GAAG,CAAC;IAC/B,qCAAqC,EAAE,GAAG,CAAC;IAC3C,4BAA4B,EAAE,GAAG,CAAC;IAClC,kBAAkB,EAAE,MAAM,CAAC;CAC5B,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAgEtC"}