permissionless 0.2.12 → 0.2.14
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 +13 -0
- package/_cjs/accounts/biconomy/toBiconomySmartAccount.js.map +1 -1
- package/_cjs/accounts/index.js +3 -1
- package/_cjs/accounts/index.js.map +1 -1
- package/_cjs/accounts/nexus/toNexusSmartAccount.js +198 -0
- package/_cjs/accounts/nexus/toNexusSmartAccount.js.map +1 -0
- package/_cjs/accounts/safe/toSafeSmartAccount.js +1 -9
- package/_cjs/accounts/safe/toSafeSmartAccount.js.map +1 -1
- package/_cjs/actions/erc7579/isModuleInstalled.js +8 -13
- package/_cjs/actions/erc7579/isModuleInstalled.js.map +1 -1
- package/_cjs/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.js +5 -3
- package/_cjs/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.js.map +1 -1
- package/_cjs/utils/encodeInstallModule.js +9 -6
- package/_cjs/utils/encodeInstallModule.js.map +1 -1
- package/_cjs/utils/encodeUninstallModule.js +9 -6
- package/_cjs/utils/encodeUninstallModule.js.map +1 -1
- package/_esm/accounts/biconomy/toBiconomySmartAccount.js +2 -7
- package/_esm/accounts/biconomy/toBiconomySmartAccount.js.map +1 -1
- package/_esm/accounts/index.js +2 -1
- package/_esm/accounts/index.js.map +1 -1
- package/_esm/accounts/nexus/toNexusSmartAccount.js +201 -0
- package/_esm/accounts/nexus/toNexusSmartAccount.js.map +1 -0
- package/_esm/accounts/safe/toSafeSmartAccount.js +1 -9
- package/_esm/accounts/safe/toSafeSmartAccount.js.map +1 -1
- package/_esm/actions/erc7579/isModuleInstalled.js +8 -13
- package/_esm/actions/erc7579/isModuleInstalled.js.map +1 -1
- package/_esm/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.js +5 -3
- package/_esm/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.js.map +1 -1
- package/_esm/utils/encodeInstallModule.js +9 -6
- package/_esm/utils/encodeInstallModule.js.map +1 -1
- package/_esm/utils/encodeUninstallModule.js +9 -6
- package/_esm/utils/encodeUninstallModule.js.map +1 -1
- package/_types/accounts/biconomy/toBiconomySmartAccount.d.ts +2 -7
- package/_types/accounts/biconomy/toBiconomySmartAccount.d.ts.map +1 -1
- package/_types/accounts/index.d.ts +2 -1
- package/_types/accounts/index.d.ts.map +1 -1
- package/_types/accounts/nexus/toNexusSmartAccount.d.ts +26 -0
- package/_types/accounts/nexus/toNexusSmartAccount.d.ts.map +1 -0
- package/_types/accounts/safe/toSafeSmartAccount.d.ts.map +1 -1
- package/_types/actions/erc7579/isModuleInstalled.d.ts.map +1 -1
- package/_types/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.d.ts.map +1 -1
- package/_types/utils/encodeInstallModule.d.ts.map +1 -1
- package/_types/utils/encodeUninstallModule.d.ts.map +1 -1
- package/accounts/biconomy/toBiconomySmartAccount.ts +2 -8
- package/accounts/index.ts +11 -0
- package/accounts/nexus/toNexusSmartAccount.ts +331 -0
- package/accounts/safe/toSafeSmartAccount.ts +1 -12
- package/actions/erc7579/installModule.test.ts +4 -4
- package/actions/erc7579/installModules.test.ts +4 -4
- package/actions/erc7579/isModuleInstalled.test.ts +2 -2
- package/actions/erc7579/isModuleInstalled.ts +8 -13
- package/actions/erc7579/uninstallModule.test.ts +2 -2
- package/actions/erc7579/uninstallModules.test.ts +2 -2
- package/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.ts +6 -5
- package/package.json +1 -1
- package/utils/encodeInstallModule.ts +9 -6
- package/utils/encodeUninstallModule.ts +9 -6
|
@@ -17,24 +17,27 @@ export function encodeUninstallModule(parameters) {
|
|
|
17
17
|
data: encodeFunctionData({
|
|
18
18
|
abi: [
|
|
19
19
|
{
|
|
20
|
-
name: "uninstallModule",
|
|
21
20
|
type: "function",
|
|
22
|
-
|
|
21
|
+
name: "uninstallModule",
|
|
23
22
|
inputs: [
|
|
24
23
|
{
|
|
24
|
+
name: "moduleType",
|
|
25
25
|
type: "uint256",
|
|
26
|
-
|
|
26
|
+
internalType: "uint256"
|
|
27
27
|
},
|
|
28
28
|
{
|
|
29
|
+
name: "module",
|
|
29
30
|
type: "address",
|
|
30
|
-
|
|
31
|
+
internalType: "address"
|
|
31
32
|
},
|
|
32
33
|
{
|
|
34
|
+
name: "deInitData",
|
|
33
35
|
type: "bytes",
|
|
34
|
-
|
|
36
|
+
internalType: "bytes"
|
|
35
37
|
}
|
|
36
38
|
],
|
|
37
|
-
outputs: []
|
|
39
|
+
outputs: [],
|
|
40
|
+
stateMutability: "nonpayable"
|
|
38
41
|
}
|
|
39
42
|
],
|
|
40
43
|
functionName: "uninstallModule",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encodeUninstallModule.js","sourceRoot":"","sources":["../../utils/encodeUninstallModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,kBAAkB,EAClB,UAAU,EACb,MAAM,MAAM,CAAA;AAKb,OAAO,EAEH,iBAAiB,EACpB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAoBhD,MAAM,UAAU,qBAAqB,CAEnC,UAA0D;IACxD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAuB,CAAA;IAElD,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,oBAAoB,CAAC;YAC3B,QAAQ,EAAE,sCAAsC;SACnD,CAAC,CAAA;IACN,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;QAC7C,CAAC,CAAC,UAAU,CAAC,OAAO;QACpB,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IAE1B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5D,EAAE,EAAE,OAAO,CAAC,OAAO;QACnB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAChB,IAAI,EAAE,kBAAkB,CAAC;YACrB,GAAG,EAAE;gBACD;oBACI,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"encodeUninstallModule.js","sourceRoot":"","sources":["../../utils/encodeUninstallModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,kBAAkB,EAClB,UAAU,EACb,MAAM,MAAM,CAAA;AAKb,OAAO,EAEH,iBAAiB,EACpB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAoBhD,MAAM,UAAU,qBAAqB,CAEnC,UAA0D;IACxD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAuB,CAAA;IAElD,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,oBAAoB,CAAC;YAC3B,QAAQ,EAAE,sCAAsC;SACnD,CAAC,CAAA;IACN,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;QAC7C,CAAC,CAAC,UAAU,CAAC,OAAO;QACpB,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IAE1B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5D,EAAE,EAAE,OAAO,CAAC,OAAO;QACnB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAChB,IAAI,EAAE,kBAAkB,CAAC;YACrB,GAAG,EAAE;gBACD;oBACI,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,iBAAiB;oBACvB,MAAM,EAAE;wBACJ;4BACI,IAAI,EAAE,YAAY;4BAClB,IAAI,EAAE,SAAS;4BACf,YAAY,EAAE,SAAS;yBAC1B;wBACD;4BACI,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,SAAS;4BACf,YAAY,EAAE,SAAS;yBAC1B;wBACD;4BACI,IAAI,EAAE,YAAY;4BAClB,IAAI,EAAE,OAAO;4BACb,YAAY,EAAE,OAAO;yBACxB;qBACJ;oBACD,OAAO,EAAE,EAAE;oBACX,eAAe,EAAE,YAAY;iBAChC;aACJ;YACD,YAAY,EAAE,iBAAiB;YAC/B,IAAI,EAAE;gBACF,iBAAiB,CAAC,IAAI,CAAC;gBACvB,UAAU,CAAC,OAAO,CAAC;gBACnB,OAAO,IAAI,UAAU;aACxB;SACJ,CAAC;KACL,CAAC,CAAC,CAAA;AACP,CAAC"}
|
|
@@ -23,13 +23,8 @@ export type BiconomySmartAccountImplementation = Assign<SmartAccountImplementati
|
|
|
23
23
|
}>;
|
|
24
24
|
export type ToBiconomySmartAccountReturnType = Prettify<SmartAccount<BiconomySmartAccountImplementation>>;
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
27
|
-
* @
|
|
28
|
-
* @param privateKey
|
|
29
|
-
* @param entryPoint
|
|
30
|
-
* @param index
|
|
31
|
-
* @param factoryAddress
|
|
32
|
-
* @param ecdsaModuleAddress
|
|
26
|
+
* @deprecated Biconomy Smart Account is deprecated. Please use toNexusSmartAccount instead.
|
|
27
|
+
* @see toNexusSmartAccount
|
|
33
28
|
*/
|
|
34
29
|
export declare function toBiconomySmartAccount(parameters: ToBiconomySmartAccountParameters): Promise<ToBiconomySmartAccountReturnType>;
|
|
35
30
|
//# sourceMappingURL=toBiconomySmartAccount.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toBiconomySmartAccount.d.ts","sourceRoot":"","sources":["../../../accounts/biconomy/toBiconomySmartAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,OAAO,EACP,MAAM,EACN,KAAK,EACL,eAAe,EACf,KAAK,EACL,QAAQ,EACR,SAAS,EACT,YAAY,EACf,MAAM,MAAM,CAAA;AACb,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,MAAM,EAEX,KAAK,YAAY,EAQpB,MAAM,MAAM,CAAA;AACb,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAC/B,eAAe,EAIlB,MAAM,0BAA0B,CAAA;AA+DjC,MAAM,MAAM,gCAAgC,GAAG,QAAQ,CAAC;IACpD,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE;QACJ,KAAK,CACC,eAAe,GACf,YAAY,CAAC,SAAS,EAAE,KAAK,GAAG,SAAS,EAAE,OAAO,CAAC,GACnD,YAAY,CACjB;KACJ,CAAA;IACD,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,UAAU,EAAE;QACR,OAAO,EAAE,OAAO,CAAA;QAChB,OAAO,EAAE,KAAK,CAAA;KACjB,CAAA;IACD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACnC,CAAC,CAAA;AAEF,MAAM,MAAM,kCAAkC,GAAG,MAAM,CACnD,0BAA0B,CAAC,OAAO,eAAe,EAAE,KAAK,CAAC,EACzD;IAAE,IAAI,EAAE,WAAW,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAA;CAAE,CAC5D,CAAA;AAED,MAAM,MAAM,gCAAgC,GAAG,QAAQ,CACnD,YAAY,CAAC,kCAAkC,CAAC,CACnD,CAAA;AAuDD
|
|
1
|
+
{"version":3,"file":"toBiconomySmartAccount.d.ts","sourceRoot":"","sources":["../../../accounts/biconomy/toBiconomySmartAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,OAAO,EACP,MAAM,EACN,KAAK,EACL,eAAe,EACf,KAAK,EACL,QAAQ,EACR,SAAS,EACT,YAAY,EACf,MAAM,MAAM,CAAA;AACb,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,MAAM,EAEX,KAAK,YAAY,EAQpB,MAAM,MAAM,CAAA;AACb,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAC/B,eAAe,EAIlB,MAAM,0BAA0B,CAAA;AA+DjC,MAAM,MAAM,gCAAgC,GAAG,QAAQ,CAAC;IACpD,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE;QACJ,KAAK,CACC,eAAe,GACf,YAAY,CAAC,SAAS,EAAE,KAAK,GAAG,SAAS,EAAE,OAAO,CAAC,GACnD,YAAY,CACjB;KACJ,CAAA;IACD,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,UAAU,EAAE;QACR,OAAO,EAAE,OAAO,CAAA;QAChB,OAAO,EAAE,KAAK,CAAA;KACjB,CAAA;IACD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACnC,CAAC,CAAA;AAEF,MAAM,MAAM,kCAAkC,GAAG,MAAM,CACnD,0BAA0B,CAAC,OAAO,eAAe,EAAE,KAAK,CAAC,EACzD;IAAE,IAAI,EAAE,WAAW,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAA;CAAE,CAC5D,CAAA;AAED,MAAM,MAAM,gCAAgC,GAAG,QAAQ,CACnD,YAAY,CAAC,kCAAkC,CAAC,CACnD,CAAA;AAuDD;;;GAGG;AACH,wBAAsB,sBAAsB,CACxC,UAAU,EAAE,gCAAgC,GAC7C,OAAO,CAAC,gCAAgC,CAAC,CA8J3C"}
|
|
@@ -4,6 +4,7 @@ import { type ToTrustSmartAccountParameters, type ToTrustSmartAccountReturnType,
|
|
|
4
4
|
import { type SafeSmartAccountImplementation, type SafeVersion, type ToSafeSmartAccountParameters, type ToSafeSmartAccountReturnType, toSafeSmartAccount } from "./safe/toSafeSmartAccount";
|
|
5
5
|
import { type EcdsaKernelSmartAccountImplementation, type KernelVersion, type ToEcdsaKernelSmartAccountParameters, type ToEcdsaKernelSmartAccountReturnType, toEcdsaKernelSmartAccount } from "./kernel/toEcdsaKernelSmartAccount";
|
|
6
6
|
import { type BiconomySmartAccountImplementation, type ToBiconomySmartAccountParameters, type ToBiconomySmartAccountReturnType, toBiconomySmartAccount } from "./biconomy/toBiconomySmartAccount";
|
|
7
|
+
import { type NexusSmartAccountImplementation, type ToNexusSmartAccountParameters, type ToNexusSmartAccountReturnType, toNexusSmartAccount } from "./nexus/toNexusSmartAccount";
|
|
7
8
|
import { type ThirdwebSmartAccountImplementation, type ToThirdwebSmartAccountParameters, type ToThirdwebSmartAccountReturnType, toThirdwebSmartAccount } from "./thirdweb/toThirdwebSmartAccount";
|
|
8
|
-
export { type ToSimpleSmartAccountParameters, type SimpleSmartAccountImplementation, type ToSimpleSmartAccountReturnType, toSimpleSmartAccount, type LightAccountVersion, type ToLightSmartAccountParameters, type LightSmartAccountImplementation, type ToLightSmartAccountReturnType, toLightSmartAccount, type ToTrustSmartAccountParameters, type TrustSmartAccountImplementation, type ToTrustSmartAccountReturnType, toTrustSmartAccount, type ToSafeSmartAccountParameters, type SafeSmartAccountImplementation, type ToSafeSmartAccountReturnType, toSafeSmartAccount, type ToEcdsaKernelSmartAccountParameters, type EcdsaKernelSmartAccountImplementation, type ToEcdsaKernelSmartAccountReturnType, type SafeVersion, type KernelVersion, toEcdsaKernelSmartAccount, type ToBiconomySmartAccountReturnType, type ToBiconomySmartAccountParameters, type BiconomySmartAccountImplementation, toBiconomySmartAccount, type ToThirdwebSmartAccountReturnType, type ToThirdwebSmartAccountParameters, type ThirdwebSmartAccountImplementation, toThirdwebSmartAccount };
|
|
9
|
+
export { type ToSimpleSmartAccountParameters, type SimpleSmartAccountImplementation, type ToSimpleSmartAccountReturnType, toSimpleSmartAccount, type LightAccountVersion, type ToLightSmartAccountParameters, type LightSmartAccountImplementation, type ToLightSmartAccountReturnType, toLightSmartAccount, type ToTrustSmartAccountParameters, type TrustSmartAccountImplementation, type ToTrustSmartAccountReturnType, toTrustSmartAccount, type ToSafeSmartAccountParameters, type SafeSmartAccountImplementation, type ToSafeSmartAccountReturnType, toSafeSmartAccount, type ToEcdsaKernelSmartAccountParameters, type EcdsaKernelSmartAccountImplementation, type ToEcdsaKernelSmartAccountReturnType, type SafeVersion, type KernelVersion, toEcdsaKernelSmartAccount, type NexusSmartAccountImplementation, type ToNexusSmartAccountParameters, type ToNexusSmartAccountReturnType, toNexusSmartAccount, type ToBiconomySmartAccountReturnType, type ToBiconomySmartAccountParameters, type BiconomySmartAccountImplementation, toBiconomySmartAccount, type ToThirdwebSmartAccountReturnType, type ToThirdwebSmartAccountParameters, type ThirdwebSmartAccountImplementation, toThirdwebSmartAccount };
|
|
9
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../accounts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,gCAAgC,EACrC,KAAK,8BAA8B,EACnC,KAAK,8BAA8B,EACnC,oBAAoB,EACvB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,+BAA+B,EACpC,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,EAClC,mBAAmB,EACtB,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EACH,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,EAClC,KAAK,+BAA+B,EACpC,mBAAmB,EACtB,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EACH,KAAK,8BAA8B,EACnC,KAAK,WAAW,EAChB,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EACjC,kBAAkB,EACrB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACH,KAAK,qCAAqC,EAC1C,KAAK,aAAa,EAClB,KAAK,mCAAmC,EACxC,KAAK,mCAAmC,EACxC,yBAAyB,EAC5B,MAAM,oCAAoC,CAAA;AAE3C,OAAO,EACH,KAAK,kCAAkC,EACvC,KAAK,gCAAgC,EACrC,KAAK,gCAAgC,EACrC,sBAAsB,EACzB,MAAM,mCAAmC,CAAA;AAE1C,OAAO,EACH,KAAK,kCAAkC,EACvC,KAAK,gCAAgC,EACrC,KAAK,gCAAgC,EACrC,sBAAsB,EACzB,MAAM,mCAAmC,CAAA;AAE1C,OAAO,EACH,KAAK,8BAA8B,EACnC,KAAK,gCAAgC,EACrC,KAAK,8BAA8B,EACnC,oBAAoB,EACpB,KAAK,mBAAmB,EACxB,KAAK,6BAA6B,EAClC,KAAK,+BAA+B,EACpC,KAAK,6BAA6B,EAClC,mBAAmB,EACnB,KAAK,6BAA6B,EAClC,KAAK,+BAA+B,EACpC,KAAK,6BAA6B,EAClC,mBAAmB,EACnB,KAAK,4BAA4B,EACjC,KAAK,8BAA8B,EACnC,KAAK,4BAA4B,EACjC,kBAAkB,EAClB,KAAK,mCAAmC,EACxC,KAAK,qCAAqC,EAC1C,KAAK,mCAAmC,EACxC,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,yBAAyB,EACzB,KAAK,gCAAgC,EACrC,KAAK,gCAAgC,EACrC,KAAK,kCAAkC,EACvC,sBAAsB,EACtB,KAAK,gCAAgC,EACrC,KAAK,gCAAgC,EACrC,KAAK,kCAAkC,EACvC,sBAAsB,EACzB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../accounts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,gCAAgC,EACrC,KAAK,8BAA8B,EACnC,KAAK,8BAA8B,EACnC,oBAAoB,EACvB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,+BAA+B,EACpC,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,EAClC,mBAAmB,EACtB,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EACH,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,EAClC,KAAK,+BAA+B,EACpC,mBAAmB,EACtB,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EACH,KAAK,8BAA8B,EACnC,KAAK,WAAW,EAChB,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EACjC,kBAAkB,EACrB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACH,KAAK,qCAAqC,EAC1C,KAAK,aAAa,EAClB,KAAK,mCAAmC,EACxC,KAAK,mCAAmC,EACxC,yBAAyB,EAC5B,MAAM,oCAAoC,CAAA;AAE3C,OAAO,EACH,KAAK,kCAAkC,EACvC,KAAK,gCAAgC,EACrC,KAAK,gCAAgC,EACrC,sBAAsB,EACzB,MAAM,mCAAmC,CAAA;AAE1C,OAAO,EACH,KAAK,+BAA+B,EACpC,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,EAClC,mBAAmB,EACtB,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EACH,KAAK,kCAAkC,EACvC,KAAK,gCAAgC,EACrC,KAAK,gCAAgC,EACrC,sBAAsB,EACzB,MAAM,mCAAmC,CAAA;AAE1C,OAAO,EACH,KAAK,8BAA8B,EACnC,KAAK,gCAAgC,EACrC,KAAK,8BAA8B,EACnC,oBAAoB,EACpB,KAAK,mBAAmB,EACxB,KAAK,6BAA6B,EAClC,KAAK,+BAA+B,EACpC,KAAK,6BAA6B,EAClC,mBAAmB,EACnB,KAAK,6BAA6B,EAClC,KAAK,+BAA+B,EACpC,KAAK,6BAA6B,EAClC,mBAAmB,EACnB,KAAK,4BAA4B,EACjC,KAAK,8BAA8B,EACnC,KAAK,4BAA4B,EACjC,kBAAkB,EAClB,KAAK,mCAAmC,EACxC,KAAK,qCAAqC,EAC1C,KAAK,mCAAmC,EACxC,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,yBAAyB,EACzB,KAAK,+BAA+B,EACpC,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,EAClC,mBAAmB,EACnB,KAAK,gCAAgC,EACrC,KAAK,gCAAgC,EACrC,KAAK,kCAAkC,EACvC,sBAAsB,EACtB,KAAK,gCAAgC,EACrC,KAAK,gCAAgC,EACrC,KAAK,kCAAkC,EACvC,sBAAsB,EACzB,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Account, Assign, Chain, EIP1193Provider, OneOf, Prettify, Transport, WalletClient } from "viem";
|
|
2
|
+
import { type Address, type Client, type LocalAccount } from "viem";
|
|
3
|
+
import { type SmartAccount, type SmartAccountImplementation, entryPoint07Abi } from "viem/account-abstraction";
|
|
4
|
+
export type ToNexusSmartAccountParameters = Prettify<{
|
|
5
|
+
client: Client;
|
|
6
|
+
owners: [
|
|
7
|
+
OneOf<EIP1193Provider | WalletClient<Transport, Chain | undefined, Account> | LocalAccount>
|
|
8
|
+
];
|
|
9
|
+
version: "1.0.0";
|
|
10
|
+
address?: Address | undefined;
|
|
11
|
+
entryPoint?: {
|
|
12
|
+
address: Address;
|
|
13
|
+
version: "0.7";
|
|
14
|
+
};
|
|
15
|
+
index?: bigint;
|
|
16
|
+
factoryAddress?: Address;
|
|
17
|
+
validatorAddress?: Address;
|
|
18
|
+
attesters?: Address[];
|
|
19
|
+
threshold?: number;
|
|
20
|
+
}>;
|
|
21
|
+
export type NexusSmartAccountImplementation = Assign<SmartAccountImplementation<typeof entryPoint07Abi, "0.7">, {
|
|
22
|
+
sign: NonNullable<SmartAccountImplementation["sign"]>;
|
|
23
|
+
}>;
|
|
24
|
+
export type ToNexusSmartAccountReturnType = Prettify<SmartAccount<NexusSmartAccountImplementation>>;
|
|
25
|
+
export declare function toNexusSmartAccount(parameters: ToNexusSmartAccountParameters): Promise<ToNexusSmartAccountReturnType>;
|
|
26
|
+
//# sourceMappingURL=toNexusSmartAccount.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toNexusSmartAccount.d.ts","sourceRoot":"","sources":["../../../accounts/nexus/toNexusSmartAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,OAAO,EACP,MAAM,EACN,KAAK,EACL,eAAe,EACf,KAAK,EACL,QAAQ,EACR,SAAS,EAET,YAAY,EACf,MAAM,MAAM,CAAA;AACb,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,MAAM,EAEX,KAAK,YAAY,EAcpB,MAAM,MAAM,CAAA;AACb,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAC/B,eAAe,EAIlB,MAAM,0BAA0B,CAAA;AAsDjC,MAAM,MAAM,6BAA6B,GAAG,QAAQ,CAAC;IACjD,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE;QACJ,KAAK,CACC,eAAe,GACf,YAAY,CAAC,SAAS,EAAE,KAAK,GAAG,SAAS,EAAE,OAAO,CAAC,GACnD,YAAY,CACjB;KACJ,CAAA;IACD,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,UAAU,CAAC,EAAE;QACT,OAAO,EAAE,OAAO,CAAA;QAChB,OAAO,EAAE,KAAK,CAAA;KACjB,CAAA;IACD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,SAAS,CAAC,EAAE,OAAO,EAAE,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB,CAAC,CAAA;AAEF,MAAM,MAAM,+BAA+B,GAAG,MAAM,CAChD,0BAA0B,CAAC,OAAO,eAAe,EAAE,KAAK,CAAC,EACzD;IAAE,IAAI,EAAE,WAAW,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAA;CAAE,CAC5D,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG,QAAQ,CAChD,YAAY,CAAC,+BAA+B,CAAC,CAChD,CAAA;AAED,wBAAsB,mBAAmB,CACrC,UAAU,EAAE,6BAA6B,GAC1C,OAAO,CAAC,6BAA6B,CAAC,CA8MxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toSafeSmartAccount.d.ts","sourceRoot":"","sources":["../../../accounts/safe/toSafeSmartAccount.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"toSafeSmartAccount.d.ts","sourceRoot":"","sources":["../../../accounts/safe/toSafeSmartAccount.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isModuleInstalled.d.ts","sourceRoot":"","sources":["../../../actions/erc7579/isModuleInstalled.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,MAAM,EAEX,KAAK,GAAG,EACR,KAAK,KAAK,EACV,KAAK,SAAS,EAIjB,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EACR,wBAAwB,EACxB,YAAY,EACf,MAAM,0BAA0B,CAAA;AAIjC,OAAO,EAAE,KAAK,UAAU,EAAqB,MAAM,kBAAkB,CAAA;AAErE,MAAM,MAAM,2BAA2B,CACnC,aAAa,SAAS,YAAY,GAAG,SAAS,IAC9C,wBAAwB,CAAC,aAAa,CAAC,GAAG;IAC1C,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;CACnB,GAAG,KAAK,CACC;IACI,iBAAiB,EAAE,GAAG,CAAA;CACzB,GACD;IACI,OAAO,EAAE,GAAG,CAAA;CACf,CACN,CAAA;AAEL,wBAAsB,iBAAiB,CACnC,aAAa,SAAS,YAAY,GAAG,SAAS,EAE9C,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,GAAG,SAAS,EAAE,aAAa,CAAC,EAC3D,UAAU,EAAE,2BAA2B,CAAC,aAAa,CAAC,GACvD,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"isModuleInstalled.d.ts","sourceRoot":"","sources":["../../../actions/erc7579/isModuleInstalled.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,MAAM,EAEX,KAAK,GAAG,EACR,KAAK,KAAK,EACV,KAAK,SAAS,EAIjB,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EACR,wBAAwB,EACxB,YAAY,EACf,MAAM,0BAA0B,CAAA;AAIjC,OAAO,EAAE,KAAK,UAAU,EAAqB,MAAM,kBAAkB,CAAA;AAErE,MAAM,MAAM,2BAA2B,CACnC,aAAa,SAAS,YAAY,GAAG,SAAS,IAC9C,wBAAwB,CAAC,aAAa,CAAC,GAAG;IAC1C,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;CACnB,GAAG,KAAK,CACC;IACI,iBAAiB,EAAE,GAAG,CAAA;CACzB,GACD;IACI,OAAO,EAAE,GAAG,CAAA;CACf,CACN,CAAA;AAEL,wBAAsB,iBAAiB,CACnC,aAAa,SAAS,YAAY,GAAG,SAAS,EAE9C,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,GAAG,SAAS,EAAE,aAAa,CAAC,EAC3D,UAAU,EAAE,2BAA2B,CAAC,aAAa,CAAC,GACvD,OAAO,CAAC,OAAO,CAAC,CA2FlB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareUserOperationForErc20Paymaster.d.ts","sourceRoot":"","sources":["../../../../experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,KAAK,EACV,KAAK,MAAM,EAGX,KAAK,SAAS,EAKjB,MAAM,MAAM,CAAA;AACb,OAAO,EAEH,KAAK,8BAA8B,EACnC,KAAK,2BAA2B,EAChC,KAAK,8BAA8B,EACnC,KAAK,YAAY,EAKpB,MAAM,0BAA0B,CAAA;AAOjC,eAAO,MAAM,qCAAqC,kBAE3B,MAAM,kFAKlB;IACC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;CACzB,MAGD,OAAO,SAAS,YAAY,GAAG,SAAS,QAClC,KAAK,SAAS,SAAS,OAAO,EAAE,QAChC,OAAO,SAAS,2BAA2B,CAC7C,OAAO,EACP,eAAe,EACf,KAAK,CACR,EACD,eAAe,SAAS,YAAY,GAAG,SAAS,sBAExC,MAAM,CAAC,SAAS,EAAE,KAAK,GAAG,SAAS,EAAE,OAAO,CAAC,eACxC,8BAA8B,CACvC,OAAO,EACP,eAAe,EACf,KAAK,EACL,OAAO,CACV,KACF,OAAO,CACN,8BAA8B,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"prepareUserOperationForErc20Paymaster.d.ts","sourceRoot":"","sources":["../../../../experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,KAAK,EACV,KAAK,MAAM,EAGX,KAAK,SAAS,EAKjB,MAAM,MAAM,CAAA;AACb,OAAO,EAEH,KAAK,8BAA8B,EACnC,KAAK,2BAA2B,EAChC,KAAK,8BAA8B,EACnC,KAAK,YAAY,EAKpB,MAAM,0BAA0B,CAAA;AAOjC,eAAO,MAAM,qCAAqC,kBAE3B,MAAM,kFAKlB;IACC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;CACzB,MAGD,OAAO,SAAS,YAAY,GAAG,SAAS,QAClC,KAAK,SAAS,SAAS,OAAO,EAAE,QAChC,OAAO,SAAS,2BAA2B,CAC7C,OAAO,EACP,eAAe,EACf,KAAK,CACR,EACD,eAAe,SAAS,YAAY,GAAG,SAAS,sBAExC,MAAM,CAAC,SAAS,EAAE,KAAK,GAAG,SAAS,EAAE,OAAO,CAAC,eACxC,8BAA8B,CACvC,OAAO,EACP,eAAe,EACf,KAAK,EACL,OAAO,CACV,KACF,OAAO,CACN,8BAA8B,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,CAAC,CAqR3E,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encodeInstallModule.d.ts","sourceRoot":"","sources":["../../utils/encodeInstallModule.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,GAAG,EACR,KAAK,KAAK,EAGb,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EACR,wBAAwB,EACxB,YAAY,EACf,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACH,KAAK,UAAU,EAElB,MAAM,mCAAmC,CAAA;AAG1C,MAAM,MAAM,4BAA4B,GAAG;IACvC,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;CACnB,GAAG,KAAK,CACH;IACI,OAAO,EAAE,GAAG,CAAA;CACf,GACD;IACI,QAAQ,EAAE,GAAG,CAAA;CAChB,CACN,CAAA;AAED,MAAM,MAAM,6BAA6B,CACrC,aAAa,SAAS,YAAY,GAAG,SAAS,IAC9C,wBAAwB,CAAC,aAAa,CAAC,GAAG;IAC1C,OAAO,EAAE,4BAA4B,EAAE,GAAG,4BAA4B,CAAA;CACzE,CAAA;AAED,wBAAgB,mBAAmB,CAC/B,aAAa,SAAS,YAAY,GAAG,SAAS,EAChD,UAAU,EAAE,6BAA6B,CAAC,aAAa,CAAC;;;;
|
|
1
|
+
{"version":3,"file":"encodeInstallModule.d.ts","sourceRoot":"","sources":["../../utils/encodeInstallModule.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,GAAG,EACR,KAAK,KAAK,EAGb,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EACR,wBAAwB,EACxB,YAAY,EACf,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACH,KAAK,UAAU,EAElB,MAAM,mCAAmC,CAAA;AAG1C,MAAM,MAAM,4BAA4B,GAAG;IACvC,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;CACnB,GAAG,KAAK,CACH;IACI,OAAO,EAAE,GAAG,CAAA;CACf,GACD;IACI,QAAQ,EAAE,GAAG,CAAA;CAChB,CACN,CAAA;AAED,MAAM,MAAM,6BAA6B,CACrC,aAAa,SAAS,YAAY,GAAG,SAAS,IAC9C,wBAAwB,CAAC,aAAa,CAAC,GAAG;IAC1C,OAAO,EAAE,4BAA4B,EAAE,GAAG,4BAA4B,CAAA;CACzE,CAAA;AAED,wBAAgB,mBAAmB,CAC/B,aAAa,SAAS,YAAY,GAAG,SAAS,EAChD,UAAU,EAAE,6BAA6B,CAAC,aAAa,CAAC;;;;IAkDzD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encodeUninstallModule.d.ts","sourceRoot":"","sources":["../../utils/encodeUninstallModule.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,GAAG,EACR,KAAK,KAAK,EAGb,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EACR,wBAAwB,EACxB,YAAY,EACf,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACH,KAAK,UAAU,EAElB,MAAM,mCAAmC,CAAA;AAG1C,MAAM,MAAM,8BAA8B,GAAG;IACzC,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;CACnB,GAAG,KAAK,CACH;IACI,OAAO,EAAE,GAAG,CAAA;CACf,GACD;IACI,UAAU,EAAE,GAAG,CAAA;CAClB,CACN,CAAA;AAED,MAAM,MAAM,+BAA+B,CACvC,aAAa,SAAS,YAAY,GAAG,SAAS,IAC9C,wBAAwB,CAAC,aAAa,CAAC,GAAG;IAC1C,OAAO,EAAE,8BAA8B,EAAE,GAAG,8BAA8B,CAAA;CAC7E,CAAA;AAED,wBAAgB,qBAAqB,CACjC,aAAa,SAAS,YAAY,GAAG,SAAS,EAChD,UAAU,EAAE,+BAA+B,CAAC,aAAa,CAAC;;;;
|
|
1
|
+
{"version":3,"file":"encodeUninstallModule.d.ts","sourceRoot":"","sources":["../../utils/encodeUninstallModule.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,GAAG,EACR,KAAK,KAAK,EAGb,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EACR,wBAAwB,EACxB,YAAY,EACf,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACH,KAAK,UAAU,EAElB,MAAM,mCAAmC,CAAA;AAG1C,MAAM,MAAM,8BAA8B,GAAG;IACzC,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;CACnB,GAAG,KAAK,CACH;IACI,OAAO,EAAE,GAAG,CAAA;CACf,GACD;IACI,UAAU,EAAE,GAAG,CAAA;CAClB,CACN,CAAA;AAED,MAAM,MAAM,+BAA+B,CACvC,aAAa,SAAS,YAAY,GAAG,SAAS,IAC9C,wBAAwB,CAAC,aAAa,CAAC,GAAG;IAC1C,OAAO,EAAE,8BAA8B,EAAE,GAAG,8BAA8B,CAAA;CAC7E,CAAA;AAED,wBAAgB,qBAAqB,CACjC,aAAa,SAAS,YAAY,GAAG,SAAS,EAChD,UAAU,EAAE,+BAA+B,CAAC,aAAa,CAAC;;;;IAkD3D"}
|
|
@@ -176,15 +176,9 @@ const getAccountAddress = async ({
|
|
|
176
176
|
}
|
|
177
177
|
|
|
178
178
|
/**
|
|
179
|
-
*
|
|
180
|
-
* @
|
|
181
|
-
* @param privateKey
|
|
182
|
-
* @param entryPoint
|
|
183
|
-
* @param index
|
|
184
|
-
* @param factoryAddress
|
|
185
|
-
* @param ecdsaModuleAddress
|
|
179
|
+
* @deprecated Biconomy Smart Account is deprecated. Please use toNexusSmartAccount instead.
|
|
180
|
+
* @see toNexusSmartAccount
|
|
186
181
|
*/
|
|
187
|
-
|
|
188
182
|
export async function toBiconomySmartAccount(
|
|
189
183
|
parameters: ToBiconomySmartAccountParameters
|
|
190
184
|
): Promise<ToBiconomySmartAccountReturnType> {
|
package/accounts/index.ts
CHANGED
|
@@ -43,6 +43,13 @@ import {
|
|
|
43
43
|
toBiconomySmartAccount
|
|
44
44
|
} from "./biconomy/toBiconomySmartAccount"
|
|
45
45
|
|
|
46
|
+
import {
|
|
47
|
+
type NexusSmartAccountImplementation,
|
|
48
|
+
type ToNexusSmartAccountParameters,
|
|
49
|
+
type ToNexusSmartAccountReturnType,
|
|
50
|
+
toNexusSmartAccount
|
|
51
|
+
} from "./nexus/toNexusSmartAccount"
|
|
52
|
+
|
|
46
53
|
import {
|
|
47
54
|
type ThirdwebSmartAccountImplementation,
|
|
48
55
|
type ToThirdwebSmartAccountParameters,
|
|
@@ -74,6 +81,10 @@ export {
|
|
|
74
81
|
type SafeVersion,
|
|
75
82
|
type KernelVersion,
|
|
76
83
|
toEcdsaKernelSmartAccount,
|
|
84
|
+
type NexusSmartAccountImplementation,
|
|
85
|
+
type ToNexusSmartAccountParameters,
|
|
86
|
+
type ToNexusSmartAccountReturnType,
|
|
87
|
+
toNexusSmartAccount,
|
|
77
88
|
type ToBiconomySmartAccountReturnType,
|
|
78
89
|
type ToBiconomySmartAccountParameters,
|
|
79
90
|
type BiconomySmartAccountImplementation,
|
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
Account,
|
|
3
|
+
Assign,
|
|
4
|
+
Chain,
|
|
5
|
+
EIP1193Provider,
|
|
6
|
+
OneOf,
|
|
7
|
+
Prettify,
|
|
8
|
+
Transport,
|
|
9
|
+
TypedDataDefinition,
|
|
10
|
+
WalletClient
|
|
11
|
+
} from "viem"
|
|
12
|
+
import {
|
|
13
|
+
type Address,
|
|
14
|
+
type Client,
|
|
15
|
+
type Hex,
|
|
16
|
+
type LocalAccount,
|
|
17
|
+
concat,
|
|
18
|
+
concatHex,
|
|
19
|
+
domainSeparator,
|
|
20
|
+
encodeAbiParameters,
|
|
21
|
+
encodeFunctionData,
|
|
22
|
+
encodePacked,
|
|
23
|
+
getTypesForEIP712Domain,
|
|
24
|
+
hashMessage,
|
|
25
|
+
hashTypedData,
|
|
26
|
+
keccak256,
|
|
27
|
+
stringToHex,
|
|
28
|
+
toHex,
|
|
29
|
+
validateTypedData
|
|
30
|
+
} from "viem"
|
|
31
|
+
import {
|
|
32
|
+
type SmartAccount,
|
|
33
|
+
type SmartAccountImplementation,
|
|
34
|
+
entryPoint07Abi,
|
|
35
|
+
entryPoint07Address,
|
|
36
|
+
getUserOperationHash,
|
|
37
|
+
toSmartAccount
|
|
38
|
+
} from "viem/account-abstraction"
|
|
39
|
+
import { getChainId, readContract } from "viem/actions"
|
|
40
|
+
import { getAction } from "viem/utils"
|
|
41
|
+
import { getAccountNonce } from "../../actions/public/getAccountNonce"
|
|
42
|
+
import { encode7579Calls } from "../../utils"
|
|
43
|
+
import { toOwner } from "../../utils/toOwner"
|
|
44
|
+
|
|
45
|
+
const wrapMessageHash = (
|
|
46
|
+
messageHash: Hex,
|
|
47
|
+
{
|
|
48
|
+
accountAddress,
|
|
49
|
+
version,
|
|
50
|
+
chainId
|
|
51
|
+
}: {
|
|
52
|
+
accountAddress: Address
|
|
53
|
+
version: "1.0.0"
|
|
54
|
+
chainId: number
|
|
55
|
+
}
|
|
56
|
+
) => {
|
|
57
|
+
const _domainSeparator = domainSeparator({
|
|
58
|
+
domain: {
|
|
59
|
+
name: "Nexus",
|
|
60
|
+
version: version,
|
|
61
|
+
chainId,
|
|
62
|
+
verifyingContract: accountAddress
|
|
63
|
+
}
|
|
64
|
+
})
|
|
65
|
+
const parentStructHash = keccak256(
|
|
66
|
+
encodeAbiParameters(
|
|
67
|
+
[{ type: "bytes32" }, { type: "bytes32" }],
|
|
68
|
+
[
|
|
69
|
+
keccak256(stringToHex("PersonalSign(bytes prefixed)")),
|
|
70
|
+
messageHash
|
|
71
|
+
]
|
|
72
|
+
)
|
|
73
|
+
)
|
|
74
|
+
return keccak256(concatHex(["0x1901", _domainSeparator, parentStructHash]))
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* The account creation ABI for Biconomy Smart Account (from the biconomy SmartAccountFactory)
|
|
79
|
+
*/
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Default addresses for Biconomy Smart Account
|
|
83
|
+
*/
|
|
84
|
+
const BICONOMY_ADDRESSES: {
|
|
85
|
+
K1_VALIDATOR_FACTORY_ADDRESS: Address
|
|
86
|
+
K1_VALIDATOR_ADDRESS: Address
|
|
87
|
+
} = {
|
|
88
|
+
K1_VALIDATOR_FACTORY_ADDRESS: "0x00000bb19a3579F4D779215dEf97AFbd0e30DB55",
|
|
89
|
+
K1_VALIDATOR_ADDRESS: "0x00000004171351c442B202678c48D8AB5B321E8f"
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export type ToNexusSmartAccountParameters = Prettify<{
|
|
93
|
+
client: Client
|
|
94
|
+
owners: [
|
|
95
|
+
OneOf<
|
|
96
|
+
| EIP1193Provider
|
|
97
|
+
| WalletClient<Transport, Chain | undefined, Account>
|
|
98
|
+
| LocalAccount
|
|
99
|
+
>
|
|
100
|
+
]
|
|
101
|
+
version: "1.0.0"
|
|
102
|
+
address?: Address | undefined
|
|
103
|
+
entryPoint?: {
|
|
104
|
+
address: Address
|
|
105
|
+
version: "0.7"
|
|
106
|
+
}
|
|
107
|
+
index?: bigint
|
|
108
|
+
factoryAddress?: Address
|
|
109
|
+
validatorAddress?: Address
|
|
110
|
+
attesters?: Address[]
|
|
111
|
+
threshold?: number
|
|
112
|
+
}>
|
|
113
|
+
|
|
114
|
+
export type NexusSmartAccountImplementation = Assign<
|
|
115
|
+
SmartAccountImplementation<typeof entryPoint07Abi, "0.7">,
|
|
116
|
+
{ sign: NonNullable<SmartAccountImplementation["sign"]> }
|
|
117
|
+
>
|
|
118
|
+
|
|
119
|
+
export type ToNexusSmartAccountReturnType = Prettify<
|
|
120
|
+
SmartAccount<NexusSmartAccountImplementation>
|
|
121
|
+
>
|
|
122
|
+
|
|
123
|
+
export async function toNexusSmartAccount(
|
|
124
|
+
parameters: ToNexusSmartAccountParameters
|
|
125
|
+
): Promise<ToNexusSmartAccountReturnType> {
|
|
126
|
+
const {
|
|
127
|
+
owners,
|
|
128
|
+
client,
|
|
129
|
+
index = 0n,
|
|
130
|
+
address,
|
|
131
|
+
version,
|
|
132
|
+
factoryAddress = BICONOMY_ADDRESSES.K1_VALIDATOR_FACTORY_ADDRESS,
|
|
133
|
+
validatorAddress = BICONOMY_ADDRESSES.K1_VALIDATOR_ADDRESS,
|
|
134
|
+
attesters = [],
|
|
135
|
+
threshold = 0
|
|
136
|
+
} = parameters
|
|
137
|
+
|
|
138
|
+
const localOwner = await toOwner({ owner: owners[0] })
|
|
139
|
+
|
|
140
|
+
const entryPoint = {
|
|
141
|
+
address: parameters.entryPoint?.address ?? entryPoint07Address,
|
|
142
|
+
abi: entryPoint07Abi,
|
|
143
|
+
version: parameters.entryPoint?.version ?? "0.7"
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
let accountAddress: Address | undefined = address
|
|
147
|
+
|
|
148
|
+
const getFactoryArgs = async () => {
|
|
149
|
+
return {
|
|
150
|
+
factory: factoryAddress,
|
|
151
|
+
factoryData: encodeFunctionData({
|
|
152
|
+
abi: [
|
|
153
|
+
{
|
|
154
|
+
name: "createAccount",
|
|
155
|
+
type: "function",
|
|
156
|
+
stateMutability: "nonpayable",
|
|
157
|
+
inputs: [
|
|
158
|
+
{ type: "address", name: "eoaOwner" },
|
|
159
|
+
{ type: "uint256", name: "index" },
|
|
160
|
+
{ type: "address[]", name: "attesters" },
|
|
161
|
+
{ type: "uint8", name: "threshold" }
|
|
162
|
+
],
|
|
163
|
+
outputs: [{ type: "address" }]
|
|
164
|
+
}
|
|
165
|
+
],
|
|
166
|
+
functionName: "createAccount",
|
|
167
|
+
args: [localOwner.address, index, attesters, threshold]
|
|
168
|
+
})
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
let chainId: number
|
|
173
|
+
const getMemoizedChainId = async () => {
|
|
174
|
+
if (chainId) return chainId
|
|
175
|
+
chainId = client.chain
|
|
176
|
+
? client.chain.id
|
|
177
|
+
: await getAction(client, getChainId, "getChainId")({})
|
|
178
|
+
return chainId
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
return toSmartAccount({
|
|
182
|
+
client,
|
|
183
|
+
entryPoint,
|
|
184
|
+
getFactoryArgs,
|
|
185
|
+
async getAddress() {
|
|
186
|
+
if (accountAddress) return accountAddress
|
|
187
|
+
|
|
188
|
+
accountAddress = await readContract(client, {
|
|
189
|
+
address: factoryAddress,
|
|
190
|
+
abi: [
|
|
191
|
+
{
|
|
192
|
+
name: "computeAccountAddress",
|
|
193
|
+
type: "function",
|
|
194
|
+
stateMutability: "view",
|
|
195
|
+
inputs: [
|
|
196
|
+
{ type: "address", name: "eoaOwner" },
|
|
197
|
+
{ type: "uint256", name: "index" },
|
|
198
|
+
{ type: "address[]", name: "attesters" },
|
|
199
|
+
{ type: "uint8", name: "threshold" }
|
|
200
|
+
],
|
|
201
|
+
outputs: [{ type: "address" }]
|
|
202
|
+
}
|
|
203
|
+
],
|
|
204
|
+
functionName: "computeAccountAddress",
|
|
205
|
+
args: [localOwner.address, index, attesters, threshold]
|
|
206
|
+
})
|
|
207
|
+
|
|
208
|
+
return accountAddress
|
|
209
|
+
},
|
|
210
|
+
async getNonce(args) {
|
|
211
|
+
const TIMESTAMP_ADJUSTMENT = 16777215n // max value for size 3
|
|
212
|
+
const defaultedKey = (args?.key ?? 0n) % TIMESTAMP_ADJUSTMENT
|
|
213
|
+
const defaultedValidationMode = "0x00"
|
|
214
|
+
const key = concat([
|
|
215
|
+
toHex(defaultedKey, { size: 3 }),
|
|
216
|
+
defaultedValidationMode,
|
|
217
|
+
validatorAddress
|
|
218
|
+
])
|
|
219
|
+
|
|
220
|
+
const address = await this.getAddress()
|
|
221
|
+
|
|
222
|
+
return getAccountNonce(client, {
|
|
223
|
+
address,
|
|
224
|
+
entryPointAddress: entryPoint.address,
|
|
225
|
+
key: BigInt(key)
|
|
226
|
+
})
|
|
227
|
+
},
|
|
228
|
+
encodeCalls: async (calls) => {
|
|
229
|
+
return encode7579Calls({
|
|
230
|
+
mode: {
|
|
231
|
+
type: calls.length > 1 ? "batchcall" : "call",
|
|
232
|
+
revertOnError: false,
|
|
233
|
+
selector: "0x",
|
|
234
|
+
context: "0x"
|
|
235
|
+
},
|
|
236
|
+
callData: calls
|
|
237
|
+
})
|
|
238
|
+
},
|
|
239
|
+
async getStubSignature() {
|
|
240
|
+
const dynamicPart = validatorAddress.substring(2).padEnd(40, "0")
|
|
241
|
+
return `0x0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000${dynamicPart}000000000000000000000000000000000000000000000000000000000000004181d4b4981670cb18f99f0b4a66446df1bf5b204d24cfcb659bf38ba27a4359b5711649ec2423c5e1247245eba2964679b6a1dbb85c992ae40b9b00c6935b02ff1b00000000000000000000000000000000000000000000000000000000000000` as Hex
|
|
242
|
+
},
|
|
243
|
+
async sign({ hash }) {
|
|
244
|
+
return this.signMessage({ message: hash })
|
|
245
|
+
},
|
|
246
|
+
async signMessage({ message }) {
|
|
247
|
+
const wrappedMessageHash = wrapMessageHash(hashMessage(message), {
|
|
248
|
+
version,
|
|
249
|
+
accountAddress: await this.getAddress(),
|
|
250
|
+
chainId: await getMemoizedChainId()
|
|
251
|
+
})
|
|
252
|
+
|
|
253
|
+
const signature = await localOwner.signMessage({
|
|
254
|
+
message: {
|
|
255
|
+
raw: wrappedMessageHash
|
|
256
|
+
}
|
|
257
|
+
})
|
|
258
|
+
|
|
259
|
+
return encodePacked(
|
|
260
|
+
["address", "bytes"],
|
|
261
|
+
[validatorAddress, signature]
|
|
262
|
+
)
|
|
263
|
+
},
|
|
264
|
+
async signTypedData(typedData) {
|
|
265
|
+
const {
|
|
266
|
+
message,
|
|
267
|
+
primaryType,
|
|
268
|
+
types: _types,
|
|
269
|
+
domain
|
|
270
|
+
} = typedData as TypedDataDefinition
|
|
271
|
+
|
|
272
|
+
const types = {
|
|
273
|
+
EIP712Domain: getTypesForEIP712Domain({
|
|
274
|
+
domain: domain
|
|
275
|
+
}),
|
|
276
|
+
..._types
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
validateTypedData({
|
|
280
|
+
domain,
|
|
281
|
+
message,
|
|
282
|
+
primaryType,
|
|
283
|
+
types
|
|
284
|
+
})
|
|
285
|
+
|
|
286
|
+
const typedHash = hashTypedData({
|
|
287
|
+
message,
|
|
288
|
+
primaryType,
|
|
289
|
+
types,
|
|
290
|
+
domain
|
|
291
|
+
})
|
|
292
|
+
|
|
293
|
+
const wrappedMessageHash = wrapMessageHash(typedHash, {
|
|
294
|
+
version,
|
|
295
|
+
accountAddress: await this.getAddress(),
|
|
296
|
+
chainId: await getMemoizedChainId()
|
|
297
|
+
})
|
|
298
|
+
|
|
299
|
+
const signature = await localOwner.signMessage({
|
|
300
|
+
message: {
|
|
301
|
+
raw: wrappedMessageHash
|
|
302
|
+
}
|
|
303
|
+
})
|
|
304
|
+
|
|
305
|
+
return encodePacked(
|
|
306
|
+
["address", "bytes"],
|
|
307
|
+
[validatorAddress, signature]
|
|
308
|
+
)
|
|
309
|
+
},
|
|
310
|
+
async signUserOperation(parameters) {
|
|
311
|
+
const { chainId = await getMemoizedChainId(), ...userOperation } =
|
|
312
|
+
parameters
|
|
313
|
+
|
|
314
|
+
if (!chainId) throw new Error("Chain id not found")
|
|
315
|
+
|
|
316
|
+
const hash = getUserOperationHash({
|
|
317
|
+
userOperation: {
|
|
318
|
+
...userOperation,
|
|
319
|
+
sender: userOperation.sender ?? (await this.getAddress()),
|
|
320
|
+
signature: "0x"
|
|
321
|
+
},
|
|
322
|
+
entryPointAddress: entryPoint.address,
|
|
323
|
+
entryPointVersion: entryPoint.version,
|
|
324
|
+
chainId: chainId
|
|
325
|
+
})
|
|
326
|
+
return await localOwner.signMessage({
|
|
327
|
+
message: { raw: hash as Hex }
|
|
328
|
+
})
|
|
329
|
+
}
|
|
330
|
+
})
|
|
331
|
+
}
|
|
@@ -1439,12 +1439,9 @@ export async function toSafeSmartAccount<
|
|
|
1439
1439
|
entryPoint: entryPoint.address
|
|
1440
1440
|
}
|
|
1441
1441
|
|
|
1442
|
-
let isDeployed = false
|
|
1443
|
-
|
|
1444
1442
|
if ("initCode" in userOperation) {
|
|
1445
1443
|
message.paymasterAndData =
|
|
1446
1444
|
userOperation.paymasterAndData ?? "0x"
|
|
1447
|
-
isDeployed = userOperation.initCode === "0x"
|
|
1448
1445
|
}
|
|
1449
1446
|
|
|
1450
1447
|
if ("factory" in userOperation) {
|
|
@@ -1458,14 +1455,6 @@ export async function toSafeSmartAccount<
|
|
|
1458
1455
|
...userOperation,
|
|
1459
1456
|
sender: userOperation.sender ?? (await this.getAddress())
|
|
1460
1457
|
})
|
|
1461
|
-
isDeployed = !userOperation.factory
|
|
1462
|
-
}
|
|
1463
|
-
|
|
1464
|
-
let verifyingContract = safe4337ModuleAddress
|
|
1465
|
-
|
|
1466
|
-
if (erc7579LaunchpadAddress && !isDeployed) {
|
|
1467
|
-
verifyingContract =
|
|
1468
|
-
userOperation.sender ?? (await this.getAddress())
|
|
1469
1458
|
}
|
|
1470
1459
|
|
|
1471
1460
|
const signatures = [
|
|
@@ -1475,7 +1464,7 @@ export async function toSafeSmartAccount<
|
|
|
1475
1464
|
account: localOwner,
|
|
1476
1465
|
domain: {
|
|
1477
1466
|
chainId,
|
|
1478
|
-
verifyingContract
|
|
1467
|
+
verifyingContract: safe4337ModuleAddress
|
|
1479
1468
|
},
|
|
1480
1469
|
types:
|
|
1481
1470
|
entryPoint.version === "0.6"
|
|
@@ -35,7 +35,7 @@ describe.each(getCoreSmartAccounts())(
|
|
|
35
35
|
const opHash = await installModule(smartClient, {
|
|
36
36
|
account: smartClient.account,
|
|
37
37
|
type: "executor",
|
|
38
|
-
address: "
|
|
38
|
+
address: "0x4Fd8d57b94966982B62e9588C27B4171B55E8354",
|
|
39
39
|
initData: name.startsWith("Kernel 7579")
|
|
40
40
|
? encodePacked(
|
|
41
41
|
["address", "bytes"],
|
|
@@ -74,7 +74,7 @@ describe.each(getCoreSmartAccounts())(
|
|
|
74
74
|
|
|
75
75
|
const isModuleInstalled = await smartClient.isModuleInstalled({
|
|
76
76
|
type: "executor",
|
|
77
|
-
address: "
|
|
77
|
+
address: "0x4Fd8d57b94966982B62e9588C27B4171B55E8354",
|
|
78
78
|
context: "0x"
|
|
79
79
|
})
|
|
80
80
|
|
|
@@ -127,7 +127,7 @@ describe.each(getCoreSmartAccounts())(
|
|
|
127
127
|
const opHash = await installModule(smartClient, {
|
|
128
128
|
account: smartClient.account,
|
|
129
129
|
type: "executor",
|
|
130
|
-
address: "
|
|
130
|
+
address: "0x4Fd8d57b94966982B62e9588C27B4171B55E8354",
|
|
131
131
|
context: name.startsWith("Kernel 7579")
|
|
132
132
|
? encodePacked(
|
|
133
133
|
["address", "bytes"],
|
|
@@ -165,7 +165,7 @@ describe.each(getCoreSmartAccounts())(
|
|
|
165
165
|
|
|
166
166
|
const isModuleInstalled = await smartClient.isModuleInstalled({
|
|
167
167
|
type: "executor",
|
|
168
|
-
address: "
|
|
168
|
+
address: "0x4Fd8d57b94966982B62e9588C27B4171B55E8354",
|
|
169
169
|
context: "0x"
|
|
170
170
|
})
|
|
171
171
|
|
|
@@ -45,7 +45,7 @@ describe.each(getCoreSmartAccounts())(
|
|
|
45
45
|
{
|
|
46
46
|
type: "executor",
|
|
47
47
|
address:
|
|
48
|
-
"
|
|
48
|
+
"0x4Fd8d57b94966982B62e9588C27B4171B55E8354",
|
|
49
49
|
context: name.startsWith("Kernel 7579")
|
|
50
50
|
? encodePacked(
|
|
51
51
|
["address", "bytes"],
|
|
@@ -88,7 +88,7 @@ describe.each(getCoreSmartAccounts())(
|
|
|
88
88
|
|
|
89
89
|
const isModuleInstalled = await smartClient.isModuleInstalled({
|
|
90
90
|
type: "executor",
|
|
91
|
-
address: "
|
|
91
|
+
address: "0x4Fd8d57b94966982B62e9588C27B4171B55E8354",
|
|
92
92
|
context: "0x"
|
|
93
93
|
})
|
|
94
94
|
|
|
@@ -144,7 +144,7 @@ describe.each(getCoreSmartAccounts())(
|
|
|
144
144
|
{
|
|
145
145
|
type: "executor",
|
|
146
146
|
address:
|
|
147
|
-
"
|
|
147
|
+
"0x4Fd8d57b94966982B62e9588C27B4171B55E8354",
|
|
148
148
|
context: name.startsWith("Kernel 7579")
|
|
149
149
|
? encodePacked(
|
|
150
150
|
["address", "bytes"],
|
|
@@ -187,7 +187,7 @@ describe.each(getCoreSmartAccounts())(
|
|
|
187
187
|
|
|
188
188
|
const isModuleInstalled = await smartClient.isModuleInstalled({
|
|
189
189
|
type: "executor",
|
|
190
|
-
address: "
|
|
190
|
+
address: "0x4Fd8d57b94966982B62e9588C27B4171B55E8354",
|
|
191
191
|
context: "0x"
|
|
192
192
|
})
|
|
193
193
|
|