@lit-protocol/vincent-e2e-test-utils 2.0.3 → 3.0.1
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.
- package/CHANGELOG.md +20 -0
- package/dist/CHANGELOG.md +20 -0
- package/dist/package.json +2 -2
- package/dist/src/lib/appManager/register-new-app.js +3 -3
- package/dist/src/lib/appManager/register-new-app.js.map +1 -1
- package/dist/src/lib/delegator/agent-pkp.d.ts.map +1 -1
- package/dist/src/lib/delegator/agent-pkp.js +6 -6
- package/dist/src/lib/delegator/agent-pkp.js.map +1 -1
- package/dist/src/lib/delegator/permit-vincent-app-version.d.ts +2 -1
- package/dist/src/lib/delegator/permit-vincent-app-version.d.ts.map +1 -1
- package/dist/src/lib/delegator/permit-vincent-app-version.js +16 -14
- package/dist/src/lib/delegator/permit-vincent-app-version.js.map +1 -1
- package/dist/src/lib/setup-vincent-development-environment.d.ts +3 -1
- package/dist/src/lib/setup-vincent-development-environment.d.ts.map +1 -1
- package/dist/src/lib/setup-vincent-development-environment.js +22 -15
- package/dist/src/lib/setup-vincent-development-environment.js.map +1 -1
- package/dist/src/lib/smartAccount/index.d.ts +1 -1
- package/dist/src/lib/smartAccount/index.d.ts.map +1 -1
- package/dist/src/lib/smartAccount/types.d.ts +3 -0
- package/dist/src/lib/smartAccount/types.d.ts.map +1 -1
- package/dist/src/lib/smartAccount/zerodev/setup-zerodev-account.d.ts +5 -2
- package/dist/src/lib/smartAccount/zerodev/setup-zerodev-account.d.ts.map +1 -1
- package/dist/src/lib/smartAccount/zerodev/setup-zerodev-account.js +21 -16
- package/dist/src/lib/smartAccount/zerodev/setup-zerodev-account.js.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,23 @@
|
|
|
1
|
+
## 3.0.1 (2026-01-17)
|
|
2
|
+
|
|
3
|
+
### 🧱 Updated Dependencies
|
|
4
|
+
|
|
5
|
+
- Updated contracts-sdk to 8.1.0
|
|
6
|
+
|
|
7
|
+
# 3.0.0 (2026-01-14)
|
|
8
|
+
|
|
9
|
+
### ⚠️ Breaking Changes
|
|
10
|
+
|
|
11
|
+
- Upgrade to support Vincent 2.0 architecture ([cf97ffde](https://github.com/LIT-Protocol/Vincent/commit/cf97ffde))
|
|
12
|
+
|
|
13
|
+
### 🧱 Updated Dependencies
|
|
14
|
+
|
|
15
|
+
- Updated contracts-sdk to 8.0.0
|
|
16
|
+
|
|
17
|
+
### ❤️ Thank You
|
|
18
|
+
|
|
19
|
+
- Wyatt Barnes @Spacesai1or
|
|
20
|
+
|
|
1
21
|
## 2.0.3 (2026-01-12)
|
|
2
22
|
|
|
3
23
|
### 🩹 Fixes
|
package/dist/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,23 @@
|
|
|
1
|
+
## 3.0.1 (2026-01-17)
|
|
2
|
+
|
|
3
|
+
### 🧱 Updated Dependencies
|
|
4
|
+
|
|
5
|
+
- Updated contracts-sdk to 8.1.0
|
|
6
|
+
|
|
7
|
+
# 3.0.0 (2026-01-14)
|
|
8
|
+
|
|
9
|
+
### ⚠️ Breaking Changes
|
|
10
|
+
|
|
11
|
+
- Upgrade to support Vincent 2.0 architecture ([cf97ffde](https://github.com/LIT-Protocol/Vincent/commit/cf97ffde))
|
|
12
|
+
|
|
13
|
+
### 🧱 Updated Dependencies
|
|
14
|
+
|
|
15
|
+
- Updated contracts-sdk to 8.0.0
|
|
16
|
+
|
|
17
|
+
### ❤️ Thank You
|
|
18
|
+
|
|
19
|
+
- Wyatt Barnes @Spacesai1or
|
|
20
|
+
|
|
1
21
|
## 2.0.3 (2026-01-12)
|
|
2
22
|
|
|
3
23
|
### 🩹 Fixes
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lit-protocol/vincent-e2e-test-utils",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"@lit-protocol/lit-node-client": "^7",
|
|
19
19
|
"@lit-protocol/pkp-ethers": "^7.3.1",
|
|
20
20
|
"@lit-protocol/types": "^7",
|
|
21
|
-
"@lit-protocol/vincent-contracts-sdk": "
|
|
21
|
+
"@lit-protocol/vincent-contracts-sdk": "workspace:*",
|
|
22
22
|
"@t3-oss/env-core": "^0.13.8",
|
|
23
23
|
"@zerodev/ecdsa-validator": "^5.4.9",
|
|
24
24
|
"@zerodev/permissions": "^5.6.2",
|
|
@@ -10,7 +10,7 @@ const chain_1 = require("../chain");
|
|
|
10
10
|
*/
|
|
11
11
|
async function registerNewApp({ abilityIpfsCids, abilityPolicies, }) {
|
|
12
12
|
const { wallets: { appManager, appDelegatee }, } = await (0, chain_1.getChainHelpers)();
|
|
13
|
-
const { txHash,
|
|
13
|
+
const { txHash, appId } = await (0, vincent_contracts_sdk_1.getClient)({
|
|
14
14
|
signer: appManager,
|
|
15
15
|
}).registerApp({
|
|
16
16
|
delegateeAddresses: [await appDelegatee.getAddress()],
|
|
@@ -19,7 +19,7 @@ async function registerNewApp({ abilityIpfsCids, abilityPolicies, }) {
|
|
|
19
19
|
abilityPolicies: abilityPolicies,
|
|
20
20
|
},
|
|
21
21
|
});
|
|
22
|
-
console.log(`Registered new App with ID: ${
|
|
23
|
-
return { appId:
|
|
22
|
+
console.log(`Registered new App with ID: ${appId}\nTx hash: ${txHash}`);
|
|
23
|
+
return { appId: appId, appVersion: 1 };
|
|
24
24
|
}
|
|
25
25
|
//# sourceMappingURL=register-new-app.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-new-app.js","sourceRoot":"","sources":["../../../../src/lib/appManager/register-new-app.ts"],"names":[],"mappings":";;AASA,wCAwBC;AAjCD,+EAAgE;AAEhE,oCAA2C;AAE3C;;;;GAIG;AACI,KAAK,UAAU,cAAc,CAAC,EACnC,eAAe,EACf,eAAe,GAIhB;IACC,MAAM,EACJ,OAAO,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,GACtC,GAAG,MAAM,IAAA,uBAAe,GAAE,CAAC;IAE5B,MAAM,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"register-new-app.js","sourceRoot":"","sources":["../../../../src/lib/appManager/register-new-app.ts"],"names":[],"mappings":";;AASA,wCAwBC;AAjCD,+EAAgE;AAEhE,oCAA2C;AAE3C;;;;GAIG;AACI,KAAK,UAAU,cAAc,CAAC,EACnC,eAAe,EACf,eAAe,GAIhB;IACC,MAAM,EACJ,OAAO,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,GACtC,GAAG,MAAM,IAAA,uBAAe,GAAE,CAAC;IAE5B,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAA,iCAAS,EAAC;QACxC,MAAM,EAAE,UAAU;KACnB,CAAC,CAAC,WAAW,CAAC;QACb,kBAAkB,EAAE,CAAC,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;QACrD,gBAAgB,EAAE;YAChB,eAAe,EAAE,eAAe;YAChC,eAAe,EAAE,eAAe;SACjC;KACF,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,+BAA+B,KAAK,cAAc,MAAM,EAAE,CAAC,CAAC;IAExE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;AACzC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-pkp.d.ts","sourceRoot":"","sources":["../../../../src/lib/delegator/agent-pkp.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAS/C;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,GAAU,OAAO,MAAM,KAAG,OAAO,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"agent-pkp.d.ts","sourceRoot":"","sources":["../../../../src/lib/delegator/agent-pkp.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAS/C;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,GAAU,OAAO,MAAM,KAAG,OAAO,CAAC,OAAO,CA+EzE,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAU,OAAO,MAAM,KAAG,OAAO,CAAC,OAAO,CAM/E,CAAC;AAKF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAAU,OAAO,MAAM,KAAG,OAAO,CAAC,OAAO,CAWtE,CAAC"}
|
|
@@ -31,15 +31,15 @@ const ensureAgentPkpExists = async (appId) => {
|
|
|
31
31
|
// Query all owned PKP addresses to find which one has permission for this app
|
|
32
32
|
const pkpAddresses = ownedPkps.map((pkp) => pkp.ethAddress);
|
|
33
33
|
// Get permitted apps for all owned PKPs
|
|
34
|
-
const permittedAppsData = await client.
|
|
35
|
-
|
|
36
|
-
offset: '0',
|
|
34
|
+
const permittedAppsData = await client.getPermittedAppForAgents({
|
|
35
|
+
agentAddresses: pkpAddresses,
|
|
37
36
|
});
|
|
38
37
|
// Find the PKP that has permission for the specified app ID
|
|
39
|
-
for (const
|
|
40
|
-
const
|
|
38
|
+
for (const permittedAppResult of permittedAppsData) {
|
|
39
|
+
const permittedApp = permittedAppResult.permittedApp;
|
|
40
|
+
const hasAppPermission = permittedApp?.appId === appId;
|
|
41
41
|
if (hasAppPermission) {
|
|
42
|
-
const matchingPkp = ownedPkps.find((pkp) => pkp.
|
|
42
|
+
const matchingPkp = ownedPkps.find((pkp) => pkp.ethAddress.toLowerCase() === permittedAppResult.agentAddress.toLowerCase());
|
|
43
43
|
if (matchingPkp) {
|
|
44
44
|
console.log(`Found existing Agent PKP for app ${appId} with ethAddress: ${matchingPkp.ethAddress}, tokenId: ${matchingPkp.tokenId}`);
|
|
45
45
|
const publicKey = await litContractClient.pkpNftContract.read.getPubkey(matchingPkp.tokenId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-pkp.js","sourceRoot":"","sources":["../../../../src/lib/delegator/agent-pkp.ts"],"names":[],"mappings":";;;AAAA,+EAAgE;AAIhE,oCAA2C;AAC3C,2FAAoF;AACpF,2FAAsF;AACtF,kDAA6C;AAC7C,iFAA0E;AAC1E,2DAA+D;AAE/D;;;;;;;GAOG;AACI,MAAM,oBAAoB,GAAG,KAAK,EAAE,KAAa,EAAoB,EAAE;IAC5E,MAAM,EACJ,OAAO,EAAE,EAAE,uBAAuB,EAAE,GACrC,GAAG,MAAM,IAAA,uBAAe,GAAE,CAAC;IAE5B,4CAA4C;IAC5C,MAAM,eAAe,GAAG,MAAM,IAAA,4CAAwB,GAAE,CAAC;IAEzD,yEAAyE;IACzE,MAAM,iBAAiB,GAAG,MAAM,IAAA,+CAAqB,EAAC,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAC3F,MAAM,iBAAiB,CAAC,OAAO,EAAE,CAAC;IAElC,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,CAAC,IAAI,CAAC,sBAAsB,CACvF,eAAe,CAAC,UAAU,CAC3B,CAAC;IAEF,OAAO,CAAC,GAAG,CACT,qBAAqB,eAAe,CAAC,UAAU,SAAS,SAAS,CAAC,MAAM,eAAe,CACxF,CAAC;IAEF,sFAAsF;IACtF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAA,iCAAS,EAAC,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC;QAE9D,8EAA8E;QAC9E,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE5D,wCAAwC;QACxC,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"agent-pkp.js","sourceRoot":"","sources":["../../../../src/lib/delegator/agent-pkp.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,11 +8,12 @@ import type { PkpInfo } from '../mint-new-pkp';
|
|
|
8
8
|
* it will skip the permission step and return early. If a different version is permitted,
|
|
9
9
|
* it will remove the old permission before adding the new one.
|
|
10
10
|
*/
|
|
11
|
-
export declare function permitAppVersionForAgentWalletPkp({ permissionData, appId, appVersion, agentPkpInfo, platformUserPkpWallet, }: {
|
|
11
|
+
export declare function permitAppVersionForAgentWalletPkp({ permissionData, appId, appVersion, agentPkpInfo, platformUserPkpWallet, agentAddress, }: {
|
|
12
12
|
permissionData: PermissionData;
|
|
13
13
|
appId: number;
|
|
14
14
|
appVersion: number;
|
|
15
15
|
agentPkpInfo: PkpInfo;
|
|
16
16
|
platformUserPkpWallet: PKPEthersWallet;
|
|
17
|
+
agentAddress: string;
|
|
17
18
|
}): Promise<void>;
|
|
18
19
|
//# sourceMappingURL=permit-vincent-app-version.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permit-vincent-app-version.d.ts","sourceRoot":"","sources":["../../../../src/lib/delegator/permit-vincent-app-version.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAI1E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C;;;;;;GAMG;AACH,wBAAsB,iCAAiC,CAAC,EACtD,cAAc,EACd,KAAK,EACL,UAAU,EACV,YAAY,EACZ,qBAAqB,
|
|
1
|
+
{"version":3,"file":"permit-vincent-app-version.d.ts","sourceRoot":"","sources":["../../../../src/lib/delegator/permit-vincent-app-version.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAI1E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C;;;;;;GAMG;AACH,wBAAsB,iCAAiC,CAAC,EACtD,cAAc,EACd,KAAK,EACL,UAAU,EACV,YAAY,EACZ,qBAAqB,EACrB,YAAY,GACb,EAAE;IACD,cAAc,EAAE,cAAc,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,qBAAqB,EAAE,eAAe,CAAC;IACvC,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2ChB"}
|
|
@@ -9,35 +9,37 @@ const vincent_contracts_sdk_1 = require("@lit-protocol/vincent-contracts-sdk");
|
|
|
9
9
|
* it will skip the permission step and return early. If a different version is permitted,
|
|
10
10
|
* it will remove the old permission before adding the new one.
|
|
11
11
|
*/
|
|
12
|
-
async function permitAppVersionForAgentWalletPkp({ permissionData, appId, appVersion, agentPkpInfo, platformUserPkpWallet, }) {
|
|
12
|
+
async function permitAppVersionForAgentWalletPkp({ permissionData, appId, appVersion, agentPkpInfo, platformUserPkpWallet, agentAddress, }) {
|
|
13
13
|
const client = (0, vincent_contracts_sdk_1.getClient)({
|
|
14
14
|
signer: platformUserPkpWallet,
|
|
15
15
|
});
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
appId,
|
|
16
|
+
const [permittedAppResult] = await client.getPermittedAppForAgents({
|
|
17
|
+
agentAddresses: [agentAddress],
|
|
19
18
|
});
|
|
19
|
+
const existingPermittedApp = permittedAppResult?.permittedApp ?? null;
|
|
20
20
|
// Check if the requested version is already permitted
|
|
21
|
-
if (
|
|
22
|
-
console.log(`App version ${appVersion} is already permitted for Agent
|
|
21
|
+
if (existingPermittedApp?.appId === appId && existingPermittedApp.version === appVersion) {
|
|
22
|
+
console.log(`App version ${appVersion} is already permitted for Agent ${agentAddress}. Skipping permission.`);
|
|
23
23
|
return;
|
|
24
24
|
}
|
|
25
|
-
// If a different version is permitted, remove it first
|
|
26
|
-
if (
|
|
27
|
-
console.log(`Removing existing permission for app version ${
|
|
25
|
+
// If a different version (or app) is permitted, remove it first
|
|
26
|
+
if (existingPermittedApp) {
|
|
27
|
+
console.log(`Removing existing permission for app ${existingPermittedApp.appId} version ${existingPermittedApp.version}`);
|
|
28
28
|
await client.unPermitApp({
|
|
29
|
-
|
|
30
|
-
appId,
|
|
31
|
-
appVersion:
|
|
29
|
+
agentAddress,
|
|
30
|
+
appId: existingPermittedApp.appId,
|
|
31
|
+
appVersion: existingPermittedApp.version,
|
|
32
32
|
});
|
|
33
33
|
}
|
|
34
34
|
// Permit the new version
|
|
35
35
|
const result = await client.permitApp({
|
|
36
|
-
|
|
36
|
+
agentAddress,
|
|
37
|
+
pkpSigner: agentPkpInfo.ethAddress,
|
|
38
|
+
pkpSignerPubKey: agentPkpInfo.publicKey,
|
|
37
39
|
appId,
|
|
38
40
|
appVersion,
|
|
39
41
|
permissionData: permissionData,
|
|
40
42
|
});
|
|
41
|
-
console.log(`Permitted App with ID ${appId} and version ${appVersion} for Agent
|
|
43
|
+
console.log(`Permitted App with ID ${appId} and version ${appVersion} for Agent ${agentAddress}\nTx hash: ${result.txHash}`);
|
|
42
44
|
}
|
|
43
45
|
//# sourceMappingURL=permit-vincent-app-version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permit-vincent-app-version.js","sourceRoot":"","sources":["../../../../src/lib/delegator/permit-vincent-app-version.ts"],"names":[],"mappings":";;AAcA,
|
|
1
|
+
{"version":3,"file":"permit-vincent-app-version.js","sourceRoot":"","sources":["../../../../src/lib/delegator/permit-vincent-app-version.ts"],"names":[],"mappings":";;AAcA,8EAyDC;AApED,+EAAgE;AAIhE;;;;;;GAMG;AACI,KAAK,UAAU,iCAAiC,CAAC,EACtD,cAAc,EACd,KAAK,EACL,UAAU,EACV,YAAY,EACZ,qBAAqB,EACrB,YAAY,GAQb;IACC,MAAM,MAAM,GAAG,IAAA,iCAAS,EAAC;QACvB,MAAM,EAAE,qBAAqB;KAC9B,CAAC,CAAC;IAEH,MAAM,CAAC,kBAAkB,CAAC,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC;QACjE,cAAc,EAAE,CAAC,YAAY,CAAC;KAC/B,CAAC,CAAC;IACH,MAAM,oBAAoB,GAAG,kBAAkB,EAAE,YAAY,IAAI,IAAI,CAAC;IAEtE,sDAAsD;IACtD,IAAI,oBAAoB,EAAE,KAAK,KAAK,KAAK,IAAI,oBAAoB,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QACzF,OAAO,CAAC,GAAG,CACT,eAAe,UAAU,mCAAmC,YAAY,wBAAwB,CACjG,CAAC;QACF,OAAO;IACT,CAAC;IAED,gEAAgE;IAChE,IAAI,oBAAoB,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CACT,wCAAwC,oBAAoB,CAAC,KAAK,YAAY,oBAAoB,CAAC,OAAO,EAAE,CAC7G,CAAC;QACF,MAAM,MAAM,CAAC,WAAW,CAAC;YACvB,YAAY;YACZ,KAAK,EAAE,oBAAoB,CAAC,KAAK;YACjC,UAAU,EAAE,oBAAoB,CAAC,OAAO;SACzC,CAAC,CAAC;IACL,CAAC;IAED,yBAAyB;IACzB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC;QACpC,YAAY;QACZ,SAAS,EAAE,YAAY,CAAC,UAAU;QAClC,eAAe,EAAE,YAAY,CAAC,SAAS;QACvC,KAAK;QACL,UAAU;QACV,cAAc,EAAE,cAAc;KAC/B,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CACT,yBAAyB,KAAK,gBAAgB,UAAU,cAAc,YAAY,cAAc,MAAM,CAAC,MAAM,EAAE,CAChH,CAAC;AACJ,CAAC"}
|
|
@@ -5,6 +5,7 @@ import type { PkpInfo } from './mint-new-pkp';
|
|
|
5
5
|
import type { SmartAccountInfo } from './smartAccount';
|
|
6
6
|
export interface VincentDevEnvironment {
|
|
7
7
|
agentPkpInfo: PkpInfo;
|
|
8
|
+
agentAddress: string;
|
|
8
9
|
platformUserPkpInfo: PkpInfo;
|
|
9
10
|
wallets: {
|
|
10
11
|
appDelegatee: Wallet;
|
|
@@ -72,8 +73,9 @@ export interface VincentDevEnvironment {
|
|
|
72
73
|
* });
|
|
73
74
|
* ```
|
|
74
75
|
*/
|
|
75
|
-
export declare const setupVincentDevelopmentEnvironment: ({ permissionData, smartAccountType, }: {
|
|
76
|
+
export declare const setupVincentDevelopmentEnvironment: ({ permissionData, smartAccountType, agentAddress, }: {
|
|
76
77
|
permissionData: PermissionData;
|
|
77
78
|
smartAccountType?: "zerodev" | "crossmint" | "safe";
|
|
79
|
+
agentAddress?: string;
|
|
78
80
|
}) => Promise<VincentDevEnvironment>;
|
|
79
81
|
//# sourceMappingURL=setup-vincent-development-environment.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-vincent-development-environment.d.ts","sourceRoot":"","sources":["../../../src/lib/setup-vincent-development-environment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAMrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAE1E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAWvD,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,OAAO,CAAC;IACtB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,OAAO,EAAE;QACP,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,uBAAuB,EAAE,MAAM,CAAC;QAChC,qBAAqB,EAAE,eAAe,CAAC;KACxC,CAAC;IACF,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,gBAAgB,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,eAAO,MAAM,kCAAkC,GAAU,
|
|
1
|
+
{"version":3,"file":"setup-vincent-development-environment.d.ts","sourceRoot":"","sources":["../../../src/lib/setup-vincent-development-environment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAMrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAE1E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAWvD,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,OAAO,EAAE;QACP,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,uBAAuB,EAAE,MAAM,CAAC;QAChC,qBAAqB,EAAE,eAAe,CAAC;KACxC,CAAC;IACF,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,gBAAgB,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,eAAO,MAAM,kCAAkC,GAAU,qDAItD;IACD,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,MAAM,CAAC;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,KAAG,OAAO,CAAC,qBAAqB,CAyIhC,CAAC"}
|
|
@@ -68,7 +68,7 @@ const smartAccount_1 = require("./smartAccount");
|
|
|
68
68
|
* });
|
|
69
69
|
* ```
|
|
70
70
|
*/
|
|
71
|
-
const setupVincentDevelopmentEnvironment = async ({ permissionData, smartAccountType, }) => {
|
|
71
|
+
const setupVincentDevelopmentEnvironment = async ({ permissionData, smartAccountType, agentAddress, }) => {
|
|
72
72
|
// Check and fund all required accounts
|
|
73
73
|
await funder.checkFunderBalance();
|
|
74
74
|
await delegatee.ensureAppDelegateeFunded();
|
|
@@ -108,21 +108,9 @@ const setupVincentDevelopmentEnvironment = async ({ permissionData, smartAccount
|
|
|
108
108
|
await (0, ensure_capacity_credit_1.ensureUnexpiredCapacityToken)(platformUserPkpWallet);
|
|
109
109
|
// Get or create the Agent PKP for this app (owned by the Platform User PKP)
|
|
110
110
|
const agentPkpInfo = await delegator.getFundedAgentPkp(appId);
|
|
111
|
-
// Permit the app version for the Agent PKP
|
|
112
|
-
await delegator.permitAppVersionForAgentWalletPkp({
|
|
113
|
-
permissionData,
|
|
114
|
-
appId,
|
|
115
|
-
appVersion,
|
|
116
|
-
agentPkpInfo,
|
|
117
|
-
platformUserPkpWallet,
|
|
118
|
-
});
|
|
119
|
-
// Add permissions for abilities to the Agent PKP
|
|
120
|
-
// Note: This uses the Platform User PKP wallet to add permissions
|
|
121
|
-
await delegator.addPermissionForAbilities(platformUserPkpWallet, agentPkpInfo.tokenId, abilityIpfsCids);
|
|
122
|
-
// Ensure capacity token is valid and unexpired
|
|
123
|
-
await (0, ensure_capacity_credit_1.ensureUnexpiredCapacityToken)(wallets.appDelegatee);
|
|
124
111
|
// Optionally set up smart account
|
|
125
112
|
let smartAccount;
|
|
113
|
+
let resolvedAgentAddress = agentAddress ?? agentPkpInfo.ethAddress;
|
|
126
114
|
if (smartAccountType) {
|
|
127
115
|
console.log(`\n🔧 Setting up ${smartAccountType} smart account...\n`);
|
|
128
116
|
const env = (0, env_1.getEnv)();
|
|
@@ -154,16 +142,35 @@ const setupVincentDevelopmentEnvironment = async ({ permissionData, smartAccount
|
|
|
154
142
|
chain,
|
|
155
143
|
});
|
|
156
144
|
}
|
|
157
|
-
else
|
|
145
|
+
else {
|
|
158
146
|
smartAccount = await (0, smartAccount_1.setupSafeAccount)({
|
|
159
147
|
ownerAccount,
|
|
160
148
|
permittedAddress: agentPkpInfo.ethAddress,
|
|
161
149
|
chain,
|
|
162
150
|
});
|
|
163
151
|
}
|
|
152
|
+
resolvedAgentAddress = smartAccount.account.address;
|
|
153
|
+
}
|
|
154
|
+
if (resolvedAgentAddress === agentPkpInfo.ethAddress) {
|
|
155
|
+
console.warn('[setupVincentDevelopmentEnvironment] Using agent PKP address as agentAddress. Set agentAddress or smartAccountType to use a smart account.');
|
|
164
156
|
}
|
|
157
|
+
// Permit the app version for the Agent PKP
|
|
158
|
+
await delegator.permitAppVersionForAgentWalletPkp({
|
|
159
|
+
permissionData,
|
|
160
|
+
appId,
|
|
161
|
+
appVersion,
|
|
162
|
+
agentPkpInfo,
|
|
163
|
+
platformUserPkpWallet,
|
|
164
|
+
agentAddress: resolvedAgentAddress,
|
|
165
|
+
});
|
|
166
|
+
// Add permissions for abilities to the Agent PKP
|
|
167
|
+
// Note: This uses the Platform User PKP wallet to add permissions
|
|
168
|
+
await delegator.addPermissionForAbilities(platformUserPkpWallet, agentPkpInfo.tokenId, abilityIpfsCids);
|
|
169
|
+
// Ensure capacity token is valid and unexpired
|
|
170
|
+
await (0, ensure_capacity_credit_1.ensureUnexpiredCapacityToken)(wallets.appDelegatee);
|
|
165
171
|
return {
|
|
166
172
|
agentPkpInfo,
|
|
173
|
+
agentAddress: resolvedAgentAddress,
|
|
167
174
|
platformUserPkpInfo,
|
|
168
175
|
wallets: {
|
|
169
176
|
...wallets,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-vincent-development-environment.js","sourceRoot":"","sources":["../../../src/lib/setup-vincent-development-environment.ts"],"names":[],"mappings":";;;;AAEA,+BAAoC;AACpC,4CAAoD;AACpD,gEAA0C;AAQ1C,iEAA2C;AAC3C,mCAA0C;AAC1C,+DAAyC;AACzC,+DAAyC;AACzC,qEAAwE;AACxE,+BAA+B;AAC/B,yDAAmC;AACnC,iDAA8F;
|
|
1
|
+
{"version":3,"file":"setup-vincent-development-environment.js","sourceRoot":"","sources":["../../../src/lib/setup-vincent-development-environment.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { setupZerodevAccount } from './zerodev/setup-zerodev-account';
|
|
2
2
|
export { setupCrossmintAccount } from './crossmint/setup-crossmint-account';
|
|
3
3
|
export { setupSafeAccount } from './safe/setup-safe-account';
|
|
4
|
-
export type { SmartAccountInfo, ZerodevSmartAccountInfo, CrossmintSmartAccountInfo, SafeSmartAccountInfo, SetupSmartAccountParams, } from './types';
|
|
4
|
+
export type { SmartAccountInfo, ZerodevSmartAccountInfo, CrossmintSmartAccountInfo, SafeSmartAccountInfo, SetupSmartAccountParams, SetupZerodevAccountParams, } from './types';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/smartAccount/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,YAAY,EACV,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,EACpB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/smartAccount/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,YAAY,EACV,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,SAAS,CAAC"}
|
|
@@ -9,6 +9,9 @@ export interface SetupSmartAccountParams {
|
|
|
9
9
|
permittedAddress: Address;
|
|
10
10
|
chain: Chain;
|
|
11
11
|
}
|
|
12
|
+
export interface SetupZerodevAccountParams extends SetupSmartAccountParams {
|
|
13
|
+
deploy?: boolean;
|
|
14
|
+
}
|
|
12
15
|
export interface ZerodevSmartAccountInfo {
|
|
13
16
|
account: CreateKernelAccountReturnType;
|
|
14
17
|
serializedPermissionAccount: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/smartAccount/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,iBAAiB,CAAC;IAChC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,KAAK,CAAC;CACd;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,6BAA6B,CAAC;IACvC,2BAA2B,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC5F,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC;IACxD,MAAM,EAAE,kBAAkB,CAAC;CAC5B;AAED,MAAM,MAAM,gBAAgB,GACxB,uBAAuB,GACvB,yBAAyB,GACzB,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/smartAccount/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,iBAAiB,CAAC;IAChC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,KAAK,CAAC;CACd;AAED,MAAM,WAAW,yBAA0B,SAAQ,uBAAuB;IACxE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,6BAA6B,CAAC;IACvC,2BAA2B,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC5F,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC;IACxD,MAAM,EAAE,kBAAkB,CAAC;CAC5B;AAED,MAAM,MAAM,gBAAgB,GACxB,uBAAuB,GACvB,yBAAyB,GACzB,oBAAoB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { SetupZerodevAccountParams, ZerodevSmartAccountInfo } from '../types';
|
|
2
2
|
/**
|
|
3
3
|
* Set up a ZeroDev Kernel smart account for testing with Vincent abilities.
|
|
4
4
|
*
|
|
@@ -9,7 +9,10 @@ import type { SetupSmartAccountParams, ZerodevSmartAccountInfo } from '../types'
|
|
|
9
9
|
* 4. Generates a serialized permission account for signing UserOps
|
|
10
10
|
*
|
|
11
11
|
* @param params - Configuration parameters
|
|
12
|
+
* @param params.deploy - When false, derive the deterministic account address without submitting a UserOp.
|
|
13
|
+
* This skips on-chain deployment and lets tests register permissions for the address without paying gas, so that
|
|
14
|
+
* we can verify registry flows without requiring a funded smart account.
|
|
12
15
|
* @returns Smart account address and serialized permission account
|
|
13
16
|
*/
|
|
14
|
-
export declare function setupZerodevAccount({ ownerAccount, permittedAddress, chain, }:
|
|
17
|
+
export declare function setupZerodevAccount({ ownerAccount, permittedAddress, chain, deploy, }: SetupZerodevAccountParams): Promise<ZerodevSmartAccountInfo>;
|
|
15
18
|
//# sourceMappingURL=setup-zerodev-account.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-zerodev-account.d.ts","sourceRoot":"","sources":["../../../../../src/lib/smartAccount/zerodev/setup-zerodev-account.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"setup-zerodev-account.d.ts","sourceRoot":"","sources":["../../../../../src/lib/smartAccount/zerodev/setup-zerodev-account.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAUnF;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,mBAAmB,CAAC,EACxC,YAAY,EACZ,gBAAgB,EAChB,KAAK,EACL,MAAa,GACd,EAAE,yBAAyB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CA2G9D"}
|
|
@@ -17,9 +17,12 @@ const get_permission_empty_validator_1 = require("./get-permission-empty-validat
|
|
|
17
17
|
* 4. Generates a serialized permission account for signing UserOps
|
|
18
18
|
*
|
|
19
19
|
* @param params - Configuration parameters
|
|
20
|
+
* @param params.deploy - When false, derive the deterministic account address without submitting a UserOp.
|
|
21
|
+
* This skips on-chain deployment and lets tests register permissions for the address without paying gas, so that
|
|
22
|
+
* we can verify registry flows without requiring a funded smart account.
|
|
20
23
|
* @returns Smart account address and serialized permission account
|
|
21
24
|
*/
|
|
22
|
-
async function setupZerodevAccount({ ownerAccount, permittedAddress, chain, }) {
|
|
25
|
+
async function setupZerodevAccount({ ownerAccount, permittedAddress, chain, deploy = true, }) {
|
|
23
26
|
// Create public client for the chain using ZeroDev RPC
|
|
24
27
|
// This ensures validator configuration is consistent with the bundler
|
|
25
28
|
const zerodevTransport = (0, zerodev_1.getZerodevTransport)();
|
|
@@ -27,8 +30,6 @@ async function setupZerodevAccount({ ownerAccount, permittedAddress, chain, }) {
|
|
|
27
30
|
chain,
|
|
28
31
|
transport: zerodevTransport,
|
|
29
32
|
});
|
|
30
|
-
// Create ZeroDev paymaster using centralized factory
|
|
31
|
-
const zerodevPaymaster = (0, zerodev_1.createZeroDevPaymaster)(chain);
|
|
32
33
|
console.log('[setupZerodevAccount] Creating validators...');
|
|
33
34
|
// Owner validator (actual signer)
|
|
34
35
|
const ownerValidator = await (0, ecdsa_validator_1.signerToEcdsaValidator)(publicClient, {
|
|
@@ -54,23 +55,24 @@ async function setupZerodevAccount({ ownerAccount, permittedAddress, chain, }) {
|
|
|
54
55
|
address: ownerKernelAccount.address,
|
|
55
56
|
});
|
|
56
57
|
const isDeployed = accountCode && accountCode !== '0x';
|
|
57
|
-
// Create kernel client with paymaster
|
|
58
|
-
const ownerKernelClient = (0, sdk_1.createKernelAccountClient)({
|
|
59
|
-
chain,
|
|
60
|
-
account: ownerKernelAccount,
|
|
61
|
-
bundlerTransport: zerodevTransport,
|
|
62
|
-
client: publicClient,
|
|
63
|
-
paymaster: {
|
|
64
|
-
getPaymasterData(userOperation) {
|
|
65
|
-
return zerodevPaymaster.sponsorUserOperation({ userOperation });
|
|
66
|
-
},
|
|
67
|
-
},
|
|
68
|
-
});
|
|
69
58
|
if (isDeployed) {
|
|
70
59
|
console.log('[setupZerodevAccount] ✅ Smart account already deployed');
|
|
71
60
|
}
|
|
72
|
-
else {
|
|
61
|
+
else if (deploy) {
|
|
73
62
|
console.log('[setupZerodevAccount] Deploying Smart Account with empty UserOp...');
|
|
63
|
+
// Create ZeroDev paymaster using centralized factory
|
|
64
|
+
const zerodevPaymaster = (0, zerodev_1.createZeroDevPaymaster)(chain);
|
|
65
|
+
const ownerKernelClient = (0, sdk_1.createKernelAccountClient)({
|
|
66
|
+
chain,
|
|
67
|
+
account: ownerKernelAccount,
|
|
68
|
+
bundlerTransport: zerodevTransport,
|
|
69
|
+
client: publicClient,
|
|
70
|
+
paymaster: {
|
|
71
|
+
getPaymasterData(userOperation) {
|
|
72
|
+
return zerodevPaymaster.sponsorUserOperation({ userOperation });
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
});
|
|
74
76
|
// Deploy smart account with an empty user operation
|
|
75
77
|
const deployUserOpHash = await ownerKernelClient.sendUserOperation({
|
|
76
78
|
callData: await ownerKernelAccount.encodeCalls([
|
|
@@ -88,6 +90,9 @@ async function setupZerodevAccount({ ownerAccount, permittedAddress, chain, }) {
|
|
|
88
90
|
});
|
|
89
91
|
console.log(`[setupZerodevAccount] ✅ Smart Account deployed at tx: ${deployUserOpReceipt.receipt.transactionHash}`);
|
|
90
92
|
}
|
|
93
|
+
else {
|
|
94
|
+
console.log('[setupZerodevAccount] Skipping deployment (deploy=false)');
|
|
95
|
+
}
|
|
91
96
|
const permissionKernelAccountToSerialize = await (0, sdk_1.createKernelAccount)(publicClient, {
|
|
92
97
|
entryPoint: zerodev_1.entryPoint,
|
|
93
98
|
kernelVersion: zerodev_1.kernelVersion,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-zerodev-account.js","sourceRoot":"","sources":["../../../../../src/lib/smartAccount/zerodev/setup-zerodev-account.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"setup-zerodev-account.js","sourceRoot":"","sources":["../../../../../src/lib/smartAccount/zerodev/setup-zerodev-account.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lit-protocol/vincent-e2e-test-utils",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -12,7 +12,6 @@
|
|
|
12
12
|
"@lit-protocol/lit-node-client": "^7",
|
|
13
13
|
"@lit-protocol/pkp-ethers": "^7.3.1",
|
|
14
14
|
"@lit-protocol/types": "^7",
|
|
15
|
-
"@lit-protocol/vincent-contracts-sdk": "7.1.0",
|
|
16
15
|
"@t3-oss/env-core": "^0.13.8",
|
|
17
16
|
"@zerodev/ecdsa-validator": "^5.4.9",
|
|
18
17
|
"@zerodev/permissions": "^5.6.2",
|
|
@@ -21,7 +20,8 @@
|
|
|
21
20
|
"permissionless": "^0.2.57",
|
|
22
21
|
"tslib": "^2.8.1",
|
|
23
22
|
"viem": "^2.38.3",
|
|
24
|
-
"zod": "^3.25.64"
|
|
23
|
+
"zod": "^3.25.64",
|
|
24
|
+
"@lit-protocol/vincent-contracts-sdk": "8.1.0"
|
|
25
25
|
},
|
|
26
26
|
"main": "./dist/src/index.js",
|
|
27
27
|
"types": "./dist/src/index.d.ts",
|