@account-kit/smart-contracts 4.24.0 → 4.25.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/dist/esm/src/ma-v2/account/common/modularAccountV2Base.js +4 -8
- package/dist/esm/src/ma-v2/account/common/modularAccountV2Base.js.map +1 -1
- package/dist/esm/src/ma-v2/actions/deferralActions.d.ts +0 -5
- package/dist/esm/src/ma-v2/actions/deferralActions.js +0 -20
- package/dist/esm/src/ma-v2/actions/deferralActions.js.map +1 -1
- package/dist/esm/src/ma-v2/index.d.ts +2 -1
- package/dist/esm/src/ma-v2/index.js +2 -1
- package/dist/esm/src/ma-v2/index.js.map +1 -1
- package/dist/esm/src/ma-v2/permissionBuilder.d.ts +7 -8
- package/dist/esm/src/ma-v2/permissionBuilder.js +43 -34
- package/dist/esm/src/ma-v2/permissionBuilder.js.map +1 -1
- package/dist/esm/src/ma-v2/permissionBuilderErrors.d.ts +99 -0
- package/dist/esm/src/ma-v2/permissionBuilderErrors.js +176 -0
- package/dist/esm/src/ma-v2/permissionBuilderErrors.js.map +1 -0
- package/dist/esm/src/ma-v2/utils.d.ts +20 -0
- package/dist/esm/src/ma-v2/utils.js +28 -1
- package/dist/esm/src/ma-v2/utils.js.map +1 -1
- package/dist/types/src/ma-v2/account/common/modularAccountV2Base.d.ts.map +1 -1
- package/dist/types/src/ma-v2/actions/deferralActions.d.ts +0 -5
- package/dist/types/src/ma-v2/actions/deferralActions.d.ts.map +1 -1
- package/dist/types/src/ma-v2/index.d.ts +2 -1
- package/dist/types/src/ma-v2/index.d.ts.map +1 -1
- package/dist/types/src/ma-v2/permissionBuilder.d.ts +7 -8
- package/dist/types/src/ma-v2/permissionBuilder.d.ts.map +1 -1
- package/dist/types/src/ma-v2/permissionBuilderErrors.d.ts +100 -0
- package/dist/types/src/ma-v2/permissionBuilderErrors.d.ts.map +1 -0
- package/dist/types/src/ma-v2/utils.d.ts +20 -0
- package/dist/types/src/ma-v2/utils.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/ma-v2/account/common/modularAccountV2Base.ts +4 -8
- package/src/ma-v2/actions/deferralActions.ts +0 -31
- package/src/ma-v2/index.ts +2 -1
- package/src/ma-v2/permissionBuilder.ts +58 -78
- package/src/ma-v2/permissionBuilderErrors.ts +153 -0
- package/src/ma-v2/utils.ts +45 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modularAccountV2Base.d.ts","sourceRoot":"","sources":["../../../../../../src/ma-v2/account/common/modularAccountV2Base.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"modularAccountV2Base.d.ts","sourceRoot":"","sources":["../../../../../../src/ma-v2/account/common/modularAccountV2Base.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,kBAAkB,EACvB,KAAK,8BAA8B,EACnC,KAAK,4BAA4B,EAClC,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,KAAK,GAAG,EACR,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,SAAS,EAOf,MAAM,MAAM,CAAC;AAMd,eAAO,MAAM,qBAAqB,EAAE,GAAkB,CAAC;AAEvD,MAAM,MAAM,YAAY,GAAG;IACzB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,cAAc,EAAE,SAAS,GAAG,EAAE,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,eAAe,EAAE,SAAS,GAAG,EAAE,CAAC;IAChC,cAAc,EAAE,SAAS,GAAG,EAAE,CAAC;IAC/B,SAAS,EAAE,SAAS,GAAG,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAC5B;IACE,uBAAuB,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB,GACD;IACE,uBAAuB,CAAC,EAAE,KAAK,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEN,MAAM,MAAM,gBAAgB,CAC1B,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,IACrD,8BAA8B,CAAC,kBAAkB,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG;IACzE,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAChE,iBAAiB,EAAE,CACjB,IAAI,EAAE,oBAAoB,KACvB,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACjC,cAAc,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAC9B,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,UAAU,SAAS,SAAS,GAAG,SAAS,IACtC,IAAI,CACN,4BAA4B,CAAC,kBAAkB,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,EAE1E,eAAe,GACf,oBAAoB,GACpB,UAAU,GACV,aAAa,GACb,eAAe,GACf,mBAAmB,CACtB,GAAG;IACF,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,GAAG,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAClC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,IACrD,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;AAEvC,wBAAsB,cAAc,CAClC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,MAAM,EAAE,oBAAoB,CAAC,OAAO,CAAC,GAAG,wBAAwB,CAAC,OAAO,CAAC,CA0L1E"}
|
|
@@ -37,10 +37,6 @@ export type CreateDeferredActionTypedDataParams = {
|
|
|
37
37
|
deadline: number;
|
|
38
38
|
nonce: bigint;
|
|
39
39
|
};
|
|
40
|
-
export type BuildDeferredActionDigestParams = {
|
|
41
|
-
fullPreSignatureDeferredActionDigest: Hex;
|
|
42
|
-
sig: Hex;
|
|
43
|
-
};
|
|
44
40
|
export type BuildPreSignatureDeferredActionDigestParams = {
|
|
45
41
|
typedData: DeferredActionTypedData;
|
|
46
42
|
};
|
|
@@ -57,7 +53,6 @@ export type EntityIdAndNonceParams = {
|
|
|
57
53
|
};
|
|
58
54
|
export type DeferralActions = {
|
|
59
55
|
createDeferredActionTypedDataObject: (args: CreateDeferredActionTypedDataParams) => Promise<DeferredActionReturnData>;
|
|
60
|
-
buildDeferredActionDigest: (args: BuildDeferredActionDigestParams) => Hex;
|
|
61
56
|
buildPreSignatureDeferredActionDigest: (args: BuildPreSignatureDeferredActionDigestParams) => Hex;
|
|
62
57
|
buildUserOperationWithDeferredAction: (args: BuildUserOperationWithDeferredActionParams) => Promise<UserOperationRequest_v7>;
|
|
63
58
|
getEntityIdAndNonce: (args: EntityIdAndNonceParams) => Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deferralActions.d.ts","sourceRoot":"","sources":["../../../../../src/ma-v2/actions/deferralActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC7B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,GAAG,EAQT,MAAM,MAAM,CAAC;AAGd,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,iBAAiB,EAAE,OAAO,CAAC;KAC5B,CAAC;IACF,KAAK,EAAE;QACL,cAAc,EAAE;YACd;gBAAE,IAAI,EAAE,OAAO,CAAC;gBAAC,IAAI,EAAE,SAAS,CAAA;aAAE;YAClC;gBAAE,IAAI,EAAE,UAAU,CAAC;gBAAC,IAAI,EAAE,QAAQ,CAAA;aAAE;YACpC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,OAAO,CAAA;aAAE;SAChC,CAAC;KACH,CAAC;IACF,WAAW,EAAE,gBAAgB,CAAC;IAC9B,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,GAAG,CAAC;KACX,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,EAAE,uBAAuB,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG;IAChD,QAAQ,EAAE,GAAG,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"deferralActions.d.ts","sourceRoot":"","sources":["../../../../../src/ma-v2/actions/deferralActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC7B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,GAAG,EAQT,MAAM,MAAM,CAAC;AAGd,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,iBAAiB,EAAE,OAAO,CAAC;KAC5B,CAAC;IACF,KAAK,EAAE;QACL,cAAc,EAAE;YACd;gBAAE,IAAI,EAAE,OAAO,CAAC;gBAAC,IAAI,EAAE,SAAS,CAAA;aAAE;YAClC;gBAAE,IAAI,EAAE,UAAU,CAAC;gBAAC,IAAI,EAAE,QAAQ,CAAA;aAAE;YACpC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,OAAO,CAAA;aAAE;SAChC,CAAC;KACH,CAAC;IACF,WAAW,EAAE,gBAAgB,CAAC;IAC9B,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,GAAG,CAAC;KACX,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,EAAE,uBAAuB,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG;IAChD,QAAQ,EAAE,GAAG,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,2CAA2C,GAAG;IACxD,SAAS,EAAE,uBAAuB,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,0CAA0C,GAAG;IACvD,EAAE,EAAE,qBAAqB,GAAG,0BAA0B,CAAC;IACvD,gBAAgB,EAAE,GAAG,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,mCAAmC,EAAE,CACnC,IAAI,EAAE,mCAAmC,KACtC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACvC,qCAAqC,EAAE,CACrC,IAAI,EAAE,2CAA2C,KAC9C,GAAG,CAAC;IACT,oCAAoC,EAAE,CACpC,IAAI,EAAE,0CAA0C,KAC7C,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACtC,mBAAmB,EAAE,CACnB,IAAI,EAAE,sBAAsB,KACzB,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,CAC5B,MAAM,EAAE,sBAAsB,KAC3B,eAyJJ,CAAC"}
|
|
@@ -12,8 +12,9 @@ export type * from "./actions/deferralActions.js";
|
|
|
12
12
|
export { deferralActions } from "./actions/deferralActions.js";
|
|
13
13
|
export type * from "./permissionBuilder.js";
|
|
14
14
|
export { PermissionBuilder, PermissionType } from "./permissionBuilder.js";
|
|
15
|
+
export * from "./permissionBuilderErrors.js";
|
|
15
16
|
export { getDefaultAllowlistModuleAddress, getDefaultNativeTokenLimitModuleAddress, getDefaultPaymasterGuardModuleAddress, getDefaultSingleSignerValidationModuleAddress, getDefaultTimeRangeModuleAddress, getDefaultWebauthnValidationModuleAddress, } from "./modules/utils.js";
|
|
16
|
-
export { buildFullNonceKey } from "./utils.js";
|
|
17
|
+
export { buildFullNonceKey, buildDeferredActionDigest } from "./utils.js";
|
|
17
18
|
export { allowlistModuleAbi } from "./modules/allowlist-module/abis/allowlistModuleAbi.js";
|
|
18
19
|
export { AllowlistModule } from "./modules/allowlist-module/module.js";
|
|
19
20
|
export { nativeTokenLimitModuleAbi } from "./modules/native-token-limit-module/abis/nativeTokenLimitModuleAbi.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ma-v2/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AACxF,OAAO,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AAEtF,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,cAAc,GACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AACnC,mBAAmB,mDAAmD,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAC7F,mBAAmB,8BAA8B,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,mBAAmB,wBAAwB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ma-v2/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AACxF,OAAO,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AAEtF,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,cAAc,GACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AACnC,mBAAmB,mDAAmD,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAC7F,mBAAmB,8BAA8B,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,mBAAmB,wBAAwB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC3E,cAAc,8BAA8B,CAAC;AAE7C,OAAO,EACL,gCAAgC,EAChC,uCAAuC,EACvC,qCAAqC,EACrC,6CAA6C,EAC7C,gCAAgC,EAChC,yCAAyC,GAC1C,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uEAAuE,CAAC;AAClH,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,kEAAkE,CAAC;AAC3G,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,+BAA+B,EAAE,MAAM,4EAA4E,CAAC;AAC7H,OAAO,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,wDAAwD,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,6DAA6D,CAAC"}
|
|
@@ -81,14 +81,16 @@ export declare class PermissionBuilder {
|
|
|
81
81
|
private hooks;
|
|
82
82
|
private nonce;
|
|
83
83
|
private hasAssociatedExecHooks;
|
|
84
|
-
|
|
85
|
-
|
|
84
|
+
private deadline;
|
|
85
|
+
constructor({ client, key, entityId, nonce, selectors, hooks, deadline, }: {
|
|
86
|
+
client: ModularAccountV2Client;
|
|
86
87
|
key: Key;
|
|
87
88
|
entityId: number;
|
|
88
89
|
nonce: bigint;
|
|
89
90
|
selectors?: Hex[];
|
|
90
91
|
hooks?: Hook[];
|
|
91
|
-
|
|
92
|
+
deadline?: number;
|
|
93
|
+
});
|
|
92
94
|
addSelector({ selector }: {
|
|
93
95
|
selector: Hex;
|
|
94
96
|
}): this;
|
|
@@ -98,11 +100,7 @@ export declare class PermissionBuilder {
|
|
|
98
100
|
addPermissions({ permissions }: {
|
|
99
101
|
permissions: Permission[];
|
|
100
102
|
}): this;
|
|
101
|
-
compileDeferred(
|
|
102
|
-
deadline: number;
|
|
103
|
-
uoValidationEntityId: number;
|
|
104
|
-
uoIsGlobalValidation: boolean;
|
|
105
|
-
}): Promise<{
|
|
103
|
+
compileDeferred(): Promise<{
|
|
106
104
|
typedData: DeferredActionTypedData;
|
|
107
105
|
fullPreSignatureDeferredActionDigest: Hex;
|
|
108
106
|
}>;
|
|
@@ -112,5 +110,6 @@ export declare class PermissionBuilder {
|
|
|
112
110
|
private translatePermissions;
|
|
113
111
|
private addHooks;
|
|
114
112
|
}
|
|
113
|
+
export declare function assertNever(_valid: never): never;
|
|
115
114
|
export {};
|
|
116
115
|
//# sourceMappingURL=permissionBuilder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissionBuilder.d.ts","sourceRoot":"","sources":["../../../../src/ma-v2/permissionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"permissionBuilder.d.ts","sourceRoot":"","sources":["../../../../src/ma-v2/permissionBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { BaseError, type Address } from "@aa-sdk/core";
|
|
2
|
+
import type { Permission } from "./permissionBuilder";
|
|
3
|
+
export declare class RootPermissionOnlyError extends BaseError {
|
|
4
|
+
name: string;
|
|
5
|
+
/**
|
|
6
|
+
* Constructor for initializing an error message indicating that an account could not be found to execute the specified action.
|
|
7
|
+
*
|
|
8
|
+
* @param {Permission} permission The permission trying to be added atop the root permission
|
|
9
|
+
*/
|
|
10
|
+
constructor(permission: Permission);
|
|
11
|
+
}
|
|
12
|
+
export declare class AccountAddressAsTargetError extends BaseError {
|
|
13
|
+
name: string;
|
|
14
|
+
/**
|
|
15
|
+
* Constructor for initializing an error message indicating that account address is used as target.
|
|
16
|
+
*
|
|
17
|
+
* @param {Permission} permission The permission with account address as target
|
|
18
|
+
*/
|
|
19
|
+
constructor(permission: Permission);
|
|
20
|
+
}
|
|
21
|
+
export declare class DuplicateTargetAddressError extends BaseError {
|
|
22
|
+
name: string;
|
|
23
|
+
/**
|
|
24
|
+
* Constructor for initializing an error message indicating duplicate target address in permissions.
|
|
25
|
+
*
|
|
26
|
+
* @param {Permission} permission The permission with duplicate target address
|
|
27
|
+
* @param {Address} targetAddress The duplicate target address
|
|
28
|
+
*/
|
|
29
|
+
constructor(permission: Permission, targetAddress: Address);
|
|
30
|
+
}
|
|
31
|
+
export declare class NoFunctionsProvidedError extends BaseError {
|
|
32
|
+
name: string;
|
|
33
|
+
/**
|
|
34
|
+
* Constructor for initializing an error message indicating no functions were provided.
|
|
35
|
+
*
|
|
36
|
+
* @param {Permission} permission The permission missing functions
|
|
37
|
+
*/
|
|
38
|
+
constructor(permission: Permission);
|
|
39
|
+
}
|
|
40
|
+
export declare class ExpiredDeadlineError extends BaseError {
|
|
41
|
+
name: string;
|
|
42
|
+
/**
|
|
43
|
+
* Constructor for initializing an error message indicating the deadline has expired.
|
|
44
|
+
*
|
|
45
|
+
* @param {number} deadline The expired deadline timestamp
|
|
46
|
+
* @param {number} currentTime The current timestamp
|
|
47
|
+
*/
|
|
48
|
+
constructor(deadline: number, currentTime: number);
|
|
49
|
+
}
|
|
50
|
+
export declare class DeadlineOverLimitError extends BaseError {
|
|
51
|
+
name: string;
|
|
52
|
+
/**
|
|
53
|
+
* Constructor for initializing an error message indicating the deadline has expired.
|
|
54
|
+
*
|
|
55
|
+
* @param {number} deadline The expired deadline timestamp
|
|
56
|
+
*/
|
|
57
|
+
constructor(deadline: number);
|
|
58
|
+
}
|
|
59
|
+
export declare class ValidationConfigUnsetError extends BaseError {
|
|
60
|
+
name: string;
|
|
61
|
+
/**
|
|
62
|
+
* Constructor for initializing an error message indicating the validation config is unset.
|
|
63
|
+
*/
|
|
64
|
+
constructor();
|
|
65
|
+
}
|
|
66
|
+
export declare class MultipleNativeTokenTransferError extends BaseError {
|
|
67
|
+
name: string;
|
|
68
|
+
/**
|
|
69
|
+
* Constructor for initializing an error message indicating multiple native token transfer permissions.
|
|
70
|
+
*
|
|
71
|
+
* @param {Permission} permission The duplicate native token transfer permission
|
|
72
|
+
*/
|
|
73
|
+
constructor(permission: Permission);
|
|
74
|
+
}
|
|
75
|
+
export declare class ZeroAddressError extends BaseError {
|
|
76
|
+
name: string;
|
|
77
|
+
/**
|
|
78
|
+
* Constructor for initializing an error message indicating zero address was provided.
|
|
79
|
+
*
|
|
80
|
+
* @param {Permission} permission The permission with zero address
|
|
81
|
+
*/
|
|
82
|
+
constructor(permission: Permission);
|
|
83
|
+
}
|
|
84
|
+
export declare class MultipleGasLimitError extends BaseError {
|
|
85
|
+
name: string;
|
|
86
|
+
/**
|
|
87
|
+
* Constructor for initializing an error message indicating multiple gas limit permissions.
|
|
88
|
+
*
|
|
89
|
+
* @param {Permission} permission The duplicate gas limit permission
|
|
90
|
+
*/
|
|
91
|
+
constructor(permission: Permission);
|
|
92
|
+
}
|
|
93
|
+
export declare class UnsupportedPermissionTypeError extends BaseError {
|
|
94
|
+
name: string;
|
|
95
|
+
/**
|
|
96
|
+
* Constructor for initializing an error message indicating an unsupported permission type.
|
|
97
|
+
*/
|
|
98
|
+
constructor();
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=permissionBuilderErrors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissionBuilderErrors.d.ts","sourceRoot":"","sources":["../../../../src/ma-v2/permissionBuilderErrors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,qBAAa,uBAAwB,SAAQ,SAAS;IAC3C,IAAI,SAAgD;IAE7D;;;;OAIG;gBACS,UAAU,EAAE,UAAU;CAGnC;AAED,qBAAa,2BAA4B,SAAQ,SAAS;IAC/C,IAAI,SAAoD;IAEjE;;;;OAIG;gBACS,UAAU,EAAE,UAAU;CAKnC;AAED,qBAAa,2BAA4B,SAAQ,SAAS;IAC/C,IAAI,SAAoD;IAEjE;;;;;OAKG;gBACS,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO;CAK3D;AAED,qBAAa,wBAAyB,SAAQ,SAAS;IAC5C,IAAI,SAAiD;IAE9D;;;;OAIG;gBACS,UAAU,EAAE,UAAU;CAGnC;AAED,qBAAa,oBAAqB,SAAQ,SAAS;IACxC,IAAI,SAA6C;IAE1D;;;;;OAKG;gBACS,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;CAKlD;AAED,qBAAa,sBAAuB,SAAQ,SAAS;IAC1C,IAAI,SAA+C;IAE5D;;;;OAIG;gBACS,QAAQ,EAAE,MAAM;CAK7B;AAED,qBAAa,0BAA2B,SAAQ,SAAS;IAC9C,IAAI,SAAmD;IAEhE;;OAEG;;CAIJ;AAED,qBAAa,gCAAiC,SAAQ,SAAS;IACpD,IAAI,SAAyD;IAEtE;;;;OAIG;gBACS,UAAU,EAAE,UAAU;CAKnC;AAED,qBAAa,gBAAiB,SAAQ,SAAS;IACpC,IAAI,SAAyC;IAEtD;;;;OAIG;gBACS,UAAU,EAAE,UAAU;CAGnC;AAED,qBAAa,qBAAsB,SAAQ,SAAS;IACzC,IAAI,SAA8C;IAE3D;;;;OAIG;gBACS,UAAU,EAAE,UAAU;CAGnC;AAED,qBAAa,8BAA+B,SAAQ,SAAS;IAClD,IAAI,SAAuD;IAEpE;;OAEG;;CAIJ"}
|
|
@@ -82,4 +82,24 @@ export type BuildNonceParams = {
|
|
|
82
82
|
isDirectCallValidation?: boolean;
|
|
83
83
|
};
|
|
84
84
|
export declare const buildFullNonceKey: ({ nonceKey, entityId, isGlobalValidation, isDeferredAction, }: BuildNonceParams) => bigint;
|
|
85
|
+
export declare const parseDeferredAction: (deferredAction: Hex) => {
|
|
86
|
+
nonce: bigint;
|
|
87
|
+
deferredActionData: Hex;
|
|
88
|
+
hasAssociatedExecHooks: boolean;
|
|
89
|
+
};
|
|
90
|
+
export type BuildDeferredActionDigestParams = {
|
|
91
|
+
fullPreSignatureDeferredActionDigest: Hex;
|
|
92
|
+
sig: Hex;
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Creates the digest which must be prepended to the userOp signature.
|
|
96
|
+
*
|
|
97
|
+
* Assumption: The client this extends is used to sign the typed data.
|
|
98
|
+
*
|
|
99
|
+
* @param {object} args The argument object containing the following:
|
|
100
|
+
* @param {Hex} args.fullPreSignatureDeferredActionDigest The The data to append the signature and length to
|
|
101
|
+
* @param {Hex} args.sig The signature to include in the digest
|
|
102
|
+
* @returns {Hex} The encoded digest to be prepended to the userOp signature
|
|
103
|
+
*/
|
|
104
|
+
export declare const buildDeferredActionDigest: ({ fullPreSignatureDeferredActionDigest, sig, }: BuildDeferredActionDigestParams) => Hex;
|
|
85
105
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/ma-v2/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,GAAG,EACR,KAAK,KAAK,EACV,KAAK,OAAO,EACZ,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/ma-v2/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@account-kit/smart-contracts",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.25.1",
|
|
4
4
|
"description": "aa-sdk compatible interfaces for Alchemy Smart Accounts",
|
|
5
5
|
"author": "Alchemy",
|
|
6
6
|
"license": "MIT",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"test:run": "vitest run"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
|
-
"@account-kit/plugingen": "^4.
|
|
56
|
+
"@account-kit/plugingen": "^4.25.1",
|
|
57
57
|
"change-case": "^5.1.2",
|
|
58
58
|
"dedent": "^1.5.1",
|
|
59
59
|
"dotenv": "^16.3.1",
|
|
@@ -73,10 +73,10 @@
|
|
|
73
73
|
"url": "https://github.com/alchemyplatform/aa-sdk/issues"
|
|
74
74
|
},
|
|
75
75
|
"homepage": "https://github.com/alchemyplatform/aa-sdk#readme",
|
|
76
|
-
"gitHead": "
|
|
76
|
+
"gitHead": "a9fea72b02f77909ca0dfc9cdecda7af6de0b17d",
|
|
77
77
|
"dependencies": {
|
|
78
|
-
"@aa-sdk/core": "^4.
|
|
79
|
-
"@account-kit/infra": "^4.
|
|
78
|
+
"@aa-sdk/core": "^4.25.1",
|
|
79
|
+
"@account-kit/infra": "^4.25.1"
|
|
80
80
|
},
|
|
81
81
|
"peerDependencies": {
|
|
82
82
|
"viem": "^2.22.6"
|
|
@@ -4,14 +4,13 @@ import {
|
|
|
4
4
|
InvalidEntityIdError,
|
|
5
5
|
InvalidNonceKeyError,
|
|
6
6
|
InvalidDeferredActionNonce,
|
|
7
|
-
InvalidDeferredActionMode,
|
|
8
7
|
toSmartContractAccount,
|
|
9
8
|
type AccountOp,
|
|
10
9
|
type SmartAccountSigner,
|
|
11
10
|
type SmartContractAccountWithSigner,
|
|
12
11
|
type ToSmartContractAccountParams,
|
|
13
12
|
} from "@aa-sdk/core";
|
|
14
|
-
import { DEFAULT_OWNER_ENTITY_ID } from "../../utils.js";
|
|
13
|
+
import { DEFAULT_OWNER_ENTITY_ID, parseDeferredAction } from "../../utils.js";
|
|
15
14
|
import {
|
|
16
15
|
type Hex,
|
|
17
16
|
type Address,
|
|
@@ -136,9 +135,9 @@ export async function createMAv2Base<
|
|
|
136
135
|
let hasAssociatedExecHooks: boolean = false;
|
|
137
136
|
|
|
138
137
|
if (deferredAction) {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
138
|
+
({ nonce, deferredActionData, hasAssociatedExecHooks } =
|
|
139
|
+
parseDeferredAction(deferredAction));
|
|
140
|
+
|
|
142
141
|
// Set these values if the deferred action has not been consumed. We check this with the EP
|
|
143
142
|
const nextNonceForDeferredAction: bigint =
|
|
144
143
|
(await entryPointContract.read.getNonce([
|
|
@@ -148,10 +147,7 @@ export async function createMAv2Base<
|
|
|
148
147
|
|
|
149
148
|
// we only add the deferred action in if the nonce has not been consumed
|
|
150
149
|
if (nonce === nextNonceForDeferredAction) {
|
|
151
|
-
nonce = BigInt(`0x${deferredAction.slice(6, 70)}`);
|
|
152
150
|
useDeferredAction = true;
|
|
153
|
-
deferredActionData = `0x${deferredAction.slice(70)}`;
|
|
154
|
-
hasAssociatedExecHooks = deferredAction[5] === "1";
|
|
155
151
|
} else if (nonce > nextNonceForDeferredAction) {
|
|
156
152
|
throw new InvalidDeferredActionNonce();
|
|
157
153
|
}
|
|
@@ -51,11 +51,6 @@ export type CreateDeferredActionTypedDataParams = {
|
|
|
51
51
|
nonce: bigint;
|
|
52
52
|
};
|
|
53
53
|
|
|
54
|
-
export type BuildDeferredActionDigestParams = {
|
|
55
|
-
fullPreSignatureDeferredActionDigest: Hex;
|
|
56
|
-
sig: Hex;
|
|
57
|
-
};
|
|
58
|
-
|
|
59
54
|
export type BuildPreSignatureDeferredActionDigestParams = {
|
|
60
55
|
typedData: DeferredActionTypedData;
|
|
61
56
|
};
|
|
@@ -77,7 +72,6 @@ export type DeferralActions = {
|
|
|
77
72
|
createDeferredActionTypedDataObject: (
|
|
78
73
|
args: CreateDeferredActionTypedDataParams
|
|
79
74
|
) => Promise<DeferredActionReturnData>;
|
|
80
|
-
buildDeferredActionDigest: (args: BuildDeferredActionDigestParams) => Hex;
|
|
81
75
|
buildPreSignatureDeferredActionDigest: (
|
|
82
76
|
args: BuildPreSignatureDeferredActionDigestParams
|
|
83
77
|
) => Hex;
|
|
@@ -135,30 +129,6 @@ export const deferralActions: (
|
|
|
135
129
|
};
|
|
136
130
|
};
|
|
137
131
|
|
|
138
|
-
/**
|
|
139
|
-
* Creates the digest which must be prepended to the userOp signature.
|
|
140
|
-
*
|
|
141
|
-
* Assumption: The client this extends is used to sign the typed data.
|
|
142
|
-
*
|
|
143
|
-
* @param {object} args The argument object containing the following:
|
|
144
|
-
* @param {Hex} args.fullPreSignatureDeferredActionDigest The The data to append the signature and length to
|
|
145
|
-
* @param {Hex} args.sig The signature to include in the digest
|
|
146
|
-
* @returns {Hex} The encoded digest to be prepended to the userOp signature
|
|
147
|
-
*/
|
|
148
|
-
const buildDeferredActionDigest = ({
|
|
149
|
-
fullPreSignatureDeferredActionDigest,
|
|
150
|
-
sig,
|
|
151
|
-
}: BuildDeferredActionDigestParams): Hex => {
|
|
152
|
-
const sigLength = size(sig);
|
|
153
|
-
|
|
154
|
-
const encodedData = concatHex([
|
|
155
|
-
fullPreSignatureDeferredActionDigest,
|
|
156
|
-
toHex(sigLength, { size: 4 }),
|
|
157
|
-
sig,
|
|
158
|
-
]);
|
|
159
|
-
return encodedData;
|
|
160
|
-
};
|
|
161
|
-
|
|
162
132
|
const buildPreSignatureDeferredActionDigest = ({
|
|
163
133
|
typedData,
|
|
164
134
|
}: BuildPreSignatureDeferredActionDigestParams): Hex => {
|
|
@@ -270,7 +240,6 @@ export const deferralActions: (
|
|
|
270
240
|
|
|
271
241
|
return {
|
|
272
242
|
createDeferredActionTypedDataObject,
|
|
273
|
-
buildDeferredActionDigest,
|
|
274
243
|
buildPreSignatureDeferredActionDigest,
|
|
275
244
|
buildUserOperationWithDeferredAction,
|
|
276
245
|
getEntityIdAndNonce,
|
package/src/ma-v2/index.ts
CHANGED
|
@@ -24,6 +24,7 @@ export type * from "./actions/deferralActions.js";
|
|
|
24
24
|
export { deferralActions } from "./actions/deferralActions.js";
|
|
25
25
|
export type * from "./permissionBuilder.js";
|
|
26
26
|
export { PermissionBuilder, PermissionType } from "./permissionBuilder.js";
|
|
27
|
+
export * from "./permissionBuilderErrors.js";
|
|
27
28
|
|
|
28
29
|
export {
|
|
29
30
|
getDefaultAllowlistModuleAddress,
|
|
@@ -33,7 +34,7 @@ export {
|
|
|
33
34
|
getDefaultTimeRangeModuleAddress,
|
|
34
35
|
getDefaultWebauthnValidationModuleAddress,
|
|
35
36
|
} from "./modules/utils.js";
|
|
36
|
-
export { buildFullNonceKey } from "./utils.js";
|
|
37
|
+
export { buildFullNonceKey, buildDeferredActionDigest } from "./utils.js";
|
|
37
38
|
export { allowlistModuleAbi } from "./modules/allowlist-module/abis/allowlistModuleAbi.js";
|
|
38
39
|
export { AllowlistModule } from "./modules/allowlist-module/module.js";
|
|
39
40
|
export { nativeTokenLimitModuleAbi } from "./modules/native-token-limit-module/abis/nativeTokenLimitModuleAbi.js";
|