@account-kit/smart-contracts 4.34.1 → 4.35.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/plugindefs/session-key/config.js.map +1 -1
- package/dist/esm/src/light-account/accounts/account.js.map +1 -1
- package/dist/esm/src/light-account/accounts/base.js.map +1 -1
- package/dist/esm/src/light-account/accounts/multiOwner.js.map +1 -1
- package/dist/esm/src/light-account/accounts/predictAddress.js.map +1 -1
- package/dist/esm/src/light-account/actions/transferOwnership.d.ts +1 -1
- package/dist/esm/src/light-account/actions/transferOwnership.js.map +1 -1
- package/dist/esm/src/light-account/actions/updateOwners.js.map +1 -1
- package/dist/esm/src/light-account/clients/alchemyClient.js.map +1 -1
- package/dist/esm/src/light-account/clients/client.js.map +1 -1
- package/dist/esm/src/light-account/clients/multiOwnerAlchemyClient.js.map +1 -1
- package/dist/esm/src/light-account/clients/multiOwnerLightAccount.js.map +1 -1
- package/dist/esm/src/light-account/decorators/lightAccount.js.map +1 -1
- package/dist/esm/src/light-account/decorators/multiOwnerLightAccount.js.map +1 -1
- package/dist/esm/src/light-account/types.js.map +1 -1
- package/dist/esm/src/light-account/utils.d.ts +1 -1
- package/dist/esm/src/light-account/utils.js.map +1 -1
- package/dist/esm/src/ma-v2/account/common/modularAccountV2Base.js.map +1 -1
- package/dist/esm/src/ma-v2/account/modularAccountV2.js.map +1 -1
- package/dist/esm/src/ma-v2/account/nativeSMASigner.d.ts +2 -207
- package/dist/esm/src/ma-v2/account/nativeSMASigner.js +7 -4
- package/dist/esm/src/ma-v2/account/nativeSMASigner.js.map +1 -1
- package/dist/esm/src/ma-v2/account/predictAddress.js.map +1 -1
- package/dist/esm/src/ma-v2/actions/deferralActions.js.map +1 -1
- package/dist/esm/src/ma-v2/actions/install-validation/installValidation.js.map +1 -1
- package/dist/esm/src/ma-v2/client/client.js.map +1 -1
- package/dist/esm/src/ma-v2/modules/allowlist-module/module.js.map +1 -1
- package/dist/esm/src/ma-v2/modules/native-token-limit-module/module.js.map +1 -1
- package/dist/esm/src/ma-v2/modules/paymaster-guard-module/module.js.map +1 -1
- package/dist/esm/src/ma-v2/modules/single-signer-validation/module.js.map +1 -1
- package/dist/esm/src/ma-v2/modules/single-signer-validation/signer.d.ts +2 -207
- package/dist/esm/src/ma-v2/modules/single-signer-validation/signer.js +7 -4
- package/dist/esm/src/ma-v2/modules/single-signer-validation/signer.js.map +1 -1
- package/dist/esm/src/ma-v2/modules/time-range-module/module.js.map +1 -1
- package/dist/esm/src/ma-v2/modules/utils.js.map +1 -1
- package/dist/esm/src/ma-v2/modules/webauthn-validation/module.js.map +1 -1
- package/dist/esm/src/ma-v2/permissionBuilder.js.map +1 -1
- package/dist/esm/src/ma-v2/permissionBuilderErrors.js +1 -1
- package/dist/esm/src/ma-v2/permissionBuilderErrors.js.map +1 -1
- package/dist/esm/src/ma-v2/utils.js.map +1 -1
- package/dist/esm/src/msca/account/multiOwnerAccount.js.map +1 -1
- package/dist/esm/src/msca/account/multisigAccount.d.ts +1 -1
- package/dist/esm/src/msca/account/multisigAccount.js.map +1 -1
- package/dist/esm/src/msca/account-loupe/decorator.js.map +1 -1
- package/dist/esm/src/msca/account-loupe/types.js.map +1 -1
- package/dist/esm/src/msca/client/alchemyClient.js.map +1 -1
- package/dist/esm/src/msca/client/client.js.map +1 -1
- package/dist/esm/src/msca/client/multiSigAlchemyClient.js.map +1 -1
- package/dist/esm/src/msca/plugin-manager/decorator.js.map +1 -1
- package/dist/esm/src/msca/plugin-manager/installPlugin.js.map +1 -1
- package/dist/esm/src/msca/plugin-manager/uninstallPlugin.js.map +1 -1
- package/dist/esm/src/msca/plugins/multi-owner/extension.js.map +1 -1
- package/dist/esm/src/msca/plugins/multi-owner/plugin.js.map +1 -1
- package/dist/esm/src/msca/plugins/multi-owner/signer.d.ts +3 -208
- package/dist/esm/src/msca/plugins/multi-owner/signer.js.map +1 -1
- package/dist/esm/src/msca/plugins/multisig/actions/getThreshold.js.map +1 -1
- package/dist/esm/src/msca/plugins/multisig/actions/isOwnerOf.js.map +1 -1
- package/dist/esm/src/msca/plugins/multisig/actions/proposeUserOperation.js.map +1 -1
- package/dist/esm/src/msca/plugins/multisig/actions/readOwners.js.map +1 -1
- package/dist/esm/src/msca/plugins/multisig/actions/signMultisigUserOperation.js.map +1 -1
- package/dist/esm/src/msca/plugins/multisig/extension.js.map +1 -1
- package/dist/esm/src/msca/plugins/multisig/middleware.js.map +1 -1
- package/dist/esm/src/msca/plugins/multisig/plugin.js.map +1 -1
- package/dist/esm/src/msca/plugins/multisig/signer.d.ts +3 -208
- package/dist/esm/src/msca/plugins/multisig/signer.js.map +1 -1
- package/dist/esm/src/msca/plugins/multisig/types.js.map +1 -1
- package/dist/esm/src/msca/plugins/multisig/utils/formatSignatures.js.map +1 -1
- package/dist/esm/src/msca/plugins/multisig/utils/getSignerType.d.ts +1 -1
- package/dist/esm/src/msca/plugins/multisig/utils/getSignerType.js.map +1 -1
- package/dist/esm/src/msca/plugins/multisig/utils/splitAggregatedSignature.d.ts +1 -1
- package/dist/esm/src/msca/plugins/multisig/utils/splitAggregatedSignature.js.map +1 -1
- package/dist/esm/src/msca/plugins/session-key/extension.js.map +1 -1
- package/dist/esm/src/msca/plugins/session-key/permissions.js.map +1 -1
- package/dist/esm/src/msca/plugins/session-key/plugin.js.map +1 -1
- package/dist/esm/src/msca/plugins/session-key/signer.d.ts +4 -209
- package/dist/esm/src/msca/plugins/session-key/signer.js.map +1 -1
- package/dist/esm/src/msca/plugins/session-key/utils.js.map +1 -1
- package/dist/esm/src/msca/plugins/types.js.map +1 -1
- package/dist/esm/src/msca/utils.js.map +1 -1
- package/dist/types/src/light-account/accounts/account.d.ts.map +1 -1
- package/dist/types/src/light-account/accounts/base.d.ts.map +1 -1
- package/dist/types/src/light-account/accounts/multiOwner.d.ts.map +1 -1
- package/dist/types/src/light-account/actions/transferOwnership.d.ts +1 -1
- package/dist/types/src/light-account/actions/transferOwnership.d.ts.map +1 -1
- package/dist/types/src/light-account/actions/updateOwners.d.ts.map +1 -1
- package/dist/types/src/light-account/types.d.ts.map +1 -1
- package/dist/types/src/light-account/utils.d.ts +1 -1
- package/dist/types/src/light-account/utils.d.ts.map +1 -1
- package/dist/types/src/ma-v2/account/nativeSMASigner.d.ts +2 -207
- package/dist/types/src/ma-v2/account/nativeSMASigner.d.ts.map +1 -1
- package/dist/types/src/ma-v2/modules/allowlist-module/module.d.ts.map +1 -1
- package/dist/types/src/ma-v2/modules/single-signer-validation/signer.d.ts +2 -207
- package/dist/types/src/ma-v2/modules/single-signer-validation/signer.d.ts.map +1 -1
- package/dist/types/src/ma-v2/modules/utils.d.ts.map +1 -1
- package/dist/types/src/ma-v2/permissionBuilderErrors.d.ts.map +1 -1
- package/dist/types/src/ma-v2/utils.d.ts.map +1 -1
- package/dist/types/src/msca/account/multisigAccount.d.ts +1 -1
- package/dist/types/src/msca/account/multisigAccount.d.ts.map +1 -1
- package/dist/types/src/msca/plugin-manager/decorator.d.ts.map +1 -1
- package/dist/types/src/msca/plugin-manager/installPlugin.d.ts.map +1 -1
- package/dist/types/src/msca/plugin-manager/uninstallPlugin.d.ts.map +1 -1
- package/dist/types/src/msca/plugins/multi-owner/plugin.d.ts.map +1 -1
- package/dist/types/src/msca/plugins/multi-owner/signer.d.ts +3 -208
- package/dist/types/src/msca/plugins/multi-owner/signer.d.ts.map +1 -1
- package/dist/types/src/msca/plugins/multisig/actions/proposeUserOperation.d.ts.map +1 -1
- package/dist/types/src/msca/plugins/multisig/plugin.d.ts.map +1 -1
- package/dist/types/src/msca/plugins/multisig/signer.d.ts +3 -208
- package/dist/types/src/msca/plugins/multisig/signer.d.ts.map +1 -1
- package/dist/types/src/msca/plugins/multisig/types.d.ts.map +1 -1
- package/dist/types/src/msca/plugins/multisig/utils/formatSignatures.d.ts.map +1 -1
- package/dist/types/src/msca/plugins/multisig/utils/getSignerType.d.ts +1 -1
- package/dist/types/src/msca/plugins/multisig/utils/getSignerType.d.ts.map +1 -1
- package/dist/types/src/msca/plugins/multisig/utils/splitAggregatedSignature.d.ts +1 -1
- package/dist/types/src/msca/plugins/multisig/utils/splitAggregatedSignature.d.ts.map +1 -1
- package/dist/types/src/msca/plugins/session-key/extension.d.ts.map +1 -1
- package/dist/types/src/msca/plugins/session-key/plugin.d.ts.map +1 -1
- package/dist/types/src/msca/plugins/session-key/signer.d.ts +4 -209
- package/dist/types/src/msca/plugins/session-key/signer.d.ts.map +1 -1
- package/dist/types/src/msca/utils.d.ts.map +1 -1
- package/package.json +7 -9
- package/plugindefs/session-key/config.ts +1 -1
- package/src/light-account/accounts/account.ts +7 -5
- package/src/light-account/accounts/base.ts +18 -15
- package/src/light-account/accounts/multiOwner.ts +9 -6
- package/src/light-account/accounts/predictAddress.ts +5 -5
- package/src/light-account/actions/transferOwnership.ts +5 -4
- package/src/light-account/actions/updateOwners.ts +6 -5
- package/src/light-account/clients/alchemyClient.ts +3 -3
- package/src/light-account/clients/client.ts +6 -6
- package/src/light-account/clients/multiOwnerAlchemyClient.ts +3 -3
- package/src/light-account/clients/multiOwnerLightAccount.ts +7 -7
- package/src/light-account/decorators/lightAccount.ts +4 -4
- package/src/light-account/decorators/multiOwnerLightAccount.ts +4 -4
- package/src/light-account/types.ts +3 -2
- package/src/light-account/utils.ts +10 -10
- package/src/ma-v2/account/common/modularAccountV2Base.ts +8 -8
- package/src/ma-v2/account/modularAccountV2.ts +4 -4
- package/src/ma-v2/account/nativeSMASigner.ts +16 -13
- package/src/ma-v2/account/predictAddress.ts +13 -13
- package/src/ma-v2/actions/deferralActions.ts +7 -7
- package/src/ma-v2/actions/install-validation/installValidation.ts +14 -14
- package/src/ma-v2/client/client.ts +8 -8
- package/src/ma-v2/modules/allowlist-module/module.ts +5 -5
- package/src/ma-v2/modules/native-token-limit-module/module.ts +1 -1
- package/src/ma-v2/modules/paymaster-guard-module/module.ts +2 -2
- package/src/ma-v2/modules/single-signer-validation/module.ts +2 -2
- package/src/ma-v2/modules/single-signer-validation/signer.ts +14 -11
- package/src/ma-v2/modules/time-range-module/module.ts +6 -6
- package/src/ma-v2/modules/utils.ts +4 -4
- package/src/ma-v2/modules/webauthn-validation/module.ts +2 -2
- package/src/ma-v2/permissionBuilder.ts +14 -14
- package/src/ma-v2/permissionBuilderErrors.ts +9 -7
- package/src/ma-v2/utils.ts +4 -4
- package/src/msca/account/multiOwnerAccount.ts +5 -5
- package/src/msca/account/multisigAccount.ts +6 -6
- package/src/msca/account-loupe/decorator.ts +11 -11
- package/src/msca/account-loupe/types.ts +1 -1
- package/src/msca/client/alchemyClient.ts +4 -4
- package/src/msca/client/client.ts +12 -12
- package/src/msca/client/multiSigAlchemyClient.ts +4 -4
- package/src/msca/plugin-manager/decorator.ts +6 -5
- package/src/msca/plugin-manager/installPlugin.ts +8 -7
- package/src/msca/plugin-manager/uninstallPlugin.ts +6 -5
- package/src/msca/plugins/multi-owner/extension.ts +10 -10
- package/src/msca/plugins/multi-owner/plugin.ts +21 -19
- package/src/msca/plugins/multi-owner/signer.ts +4 -4
- package/src/msca/plugins/multisig/actions/getThreshold.ts +3 -3
- package/src/msca/plugins/multisig/actions/isOwnerOf.ts +2 -2
- package/src/msca/plugins/multisig/actions/proposeUserOperation.ts +4 -3
- package/src/msca/plugins/multisig/actions/readOwners.ts +3 -3
- package/src/msca/plugins/multisig/actions/signMultisigUserOperation.ts +5 -5
- package/src/msca/plugins/multisig/extension.ts +16 -16
- package/src/msca/plugins/multisig/middleware.ts +2 -2
- package/src/msca/plugins/multisig/plugin.ts +21 -19
- package/src/msca/plugins/multisig/signer.ts +5 -5
- package/src/msca/plugins/multisig/types.ts +4 -2
- package/src/msca/plugins/multisig/utils/formatSignatures.ts +1 -1
- package/src/msca/plugins/multisig/utils/getSignerType.ts +2 -2
- package/src/msca/plugins/multisig/utils/splitAggregatedSignature.ts +7 -6
- package/src/msca/plugins/session-key/extension.ts +16 -14
- package/src/msca/plugins/session-key/permissions.ts +7 -7
- package/src/msca/plugins/session-key/plugin.ts +30 -28
- package/src/msca/plugins/session-key/signer.ts +5 -5
- package/src/msca/plugins/session-key/utils.ts +4 -4
- package/src/msca/plugins/types.ts +1 -1
- package/src/msca/utils.ts +11 -11
|
@@ -19,14 +19,15 @@ export async function proposeUserOperation<
|
|
|
19
19
|
TAccount extends SmartContractAccount | undefined =
|
|
20
20
|
| SmartContractAccount
|
|
21
21
|
| undefined,
|
|
22
|
-
TEntryPointVersion extends
|
|
22
|
+
TEntryPointVersion extends
|
|
23
|
+
GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>,
|
|
23
24
|
>(
|
|
24
25
|
client: Client<TTransport, TChain, TAccount>,
|
|
25
26
|
{
|
|
26
27
|
uo,
|
|
27
28
|
account = client.account,
|
|
28
29
|
overrides: overrides_,
|
|
29
|
-
}: SendUserOperationParameters<TAccount, undefined
|
|
30
|
+
}: SendUserOperationParameters<TAccount, undefined>,
|
|
30
31
|
): Promise<ProposeUserOperationResult> {
|
|
31
32
|
// these overrides allow us to set a high max fee and PVG upper bound
|
|
32
33
|
const overrides = {
|
|
@@ -44,7 +45,7 @@ export async function proposeUserOperation<
|
|
|
44
45
|
throw new IncompatibleClientError(
|
|
45
46
|
"SmartAccountClient",
|
|
46
47
|
"proposeUserOperation",
|
|
47
|
-
client
|
|
48
|
+
client,
|
|
48
49
|
);
|
|
49
50
|
}
|
|
50
51
|
|
|
@@ -12,10 +12,10 @@ export async function readOwners<
|
|
|
12
12
|
TChain extends Chain | undefined = Chain | undefined,
|
|
13
13
|
TAccount extends SmartContractAccount | undefined =
|
|
14
14
|
| SmartContractAccount
|
|
15
|
-
| undefined
|
|
15
|
+
| undefined,
|
|
16
16
|
>(
|
|
17
17
|
client: Client<TTransport, TChain, TAccount>,
|
|
18
|
-
args: GetPluginAddressParameter & GetAccountParameter<TAccount
|
|
18
|
+
args: GetPluginAddressParameter & GetAccountParameter<TAccount>,
|
|
19
19
|
) {
|
|
20
20
|
const account = args?.account ?? client.account;
|
|
21
21
|
if (!account) {
|
|
@@ -25,7 +25,7 @@ export async function readOwners<
|
|
|
25
25
|
// either via account loupe or checking if the supports interface call passes on the account
|
|
26
26
|
const [owners] = await MultisigPlugin.getContract(
|
|
27
27
|
client,
|
|
28
|
-
args?.pluginAddress
|
|
28
|
+
args?.pluginAddress,
|
|
29
29
|
).read.ownershipInfoOf([account.address]);
|
|
30
30
|
return owners;
|
|
31
31
|
}
|
|
@@ -19,10 +19,10 @@ export async function signMultisigUserOperation<
|
|
|
19
19
|
TChain extends Chain | undefined = Chain | undefined,
|
|
20
20
|
TAccount extends SmartContractAccount | undefined =
|
|
21
21
|
| SmartContractAccount
|
|
22
|
-
| undefined
|
|
22
|
+
| undefined,
|
|
23
23
|
>(
|
|
24
24
|
client: Client<TTransport, TChain, TAccount>,
|
|
25
|
-
params: SignMultisigUserOperationParams<TAccount
|
|
25
|
+
params: SignMultisigUserOperationParams<TAccount>,
|
|
26
26
|
): Promise<SignMultisigUserOperationResult> {
|
|
27
27
|
const { account = client.account, signatures, userOperationRequest } = params;
|
|
28
28
|
|
|
@@ -34,7 +34,7 @@ export async function signMultisigUserOperation<
|
|
|
34
34
|
throw new IncompatibleClientError(
|
|
35
35
|
"SmartAccountClient",
|
|
36
36
|
"signMultisigUserOperation",
|
|
37
|
-
client
|
|
37
|
+
client,
|
|
38
38
|
);
|
|
39
39
|
}
|
|
40
40
|
|
|
@@ -75,13 +75,13 @@ export async function signMultisigUserOperation<
|
|
|
75
75
|
});
|
|
76
76
|
|
|
77
77
|
const signatureObj = splitSignatures.signatures.find(
|
|
78
|
-
(x) => x.signer === signerAddress
|
|
78
|
+
(x) => x.signer === signerAddress,
|
|
79
79
|
);
|
|
80
80
|
|
|
81
81
|
if (!signatureObj) {
|
|
82
82
|
// TODO: strongly type this
|
|
83
83
|
throw new Error(
|
|
84
|
-
"INTERNAL ERROR: signature not found in split signatures, this is an internal bug please report"
|
|
84
|
+
"INTERNAL ERROR: signature not found in split signatures, this is an internal bug please report",
|
|
85
85
|
);
|
|
86
86
|
}
|
|
87
87
|
|
|
@@ -26,34 +26,34 @@ import {
|
|
|
26
26
|
export type MultisigPluginActions<
|
|
27
27
|
TAccount extends SmartContractAccount | undefined =
|
|
28
28
|
| SmartContractAccount
|
|
29
|
-
| undefined
|
|
29
|
+
| undefined,
|
|
30
30
|
> = MultisigPluginActions_<TAccount, MultisigUserOperationContext> & {
|
|
31
31
|
readOwners: (
|
|
32
|
-
params: GetPluginAddressParameter & GetAccountParameter<TAccount
|
|
32
|
+
params: GetPluginAddressParameter & GetAccountParameter<TAccount>,
|
|
33
33
|
) => Promise<ReadonlyArray<Address>>;
|
|
34
34
|
|
|
35
35
|
isOwnerOf: (
|
|
36
36
|
params: { address: Address } & GetPluginAddressParameter &
|
|
37
|
-
GetAccountParameter<TAccount
|
|
37
|
+
GetAccountParameter<TAccount>,
|
|
38
38
|
) => Promise<boolean>;
|
|
39
39
|
|
|
40
40
|
getThreshold: (
|
|
41
|
-
params: GetPluginAddressParameter & GetAccountParameter<TAccount
|
|
41
|
+
params: GetPluginAddressParameter & GetAccountParameter<TAccount>,
|
|
42
42
|
) => Promise<bigint>;
|
|
43
43
|
|
|
44
44
|
proposeUserOperation: (
|
|
45
|
-
params: SendUserOperationParameters<TAccount, undefined
|
|
45
|
+
params: SendUserOperationParameters<TAccount, undefined>,
|
|
46
46
|
) => Promise<
|
|
47
47
|
ProposeUserOperationResult<TAccount, GetEntryPointFromAccount<TAccount>>
|
|
48
48
|
>;
|
|
49
49
|
|
|
50
50
|
signMultisigUserOperation: (
|
|
51
|
-
params: SignMultisigUserOperationParams<TAccount
|
|
51
|
+
params: SignMultisigUserOperationParams<TAccount>,
|
|
52
52
|
) => Promise<SignMultisigUserOperationResult>;
|
|
53
53
|
} & (IsUndefined<TAccount> extends false
|
|
54
54
|
? {
|
|
55
55
|
readOwners: (
|
|
56
|
-
params?: GetPluginAddressParameter & GetAccountParameter<TAccount
|
|
56
|
+
params?: GetPluginAddressParameter & GetAccountParameter<TAccount>,
|
|
57
57
|
) => Promise<ReadonlyArray<Address>>;
|
|
58
58
|
}
|
|
59
59
|
: {});
|
|
@@ -76,38 +76,38 @@ export const multisigPluginActions: <
|
|
|
76
76
|
TChain extends Chain | undefined = Chain | undefined,
|
|
77
77
|
TAccount extends SmartContractAccount | undefined =
|
|
78
78
|
| SmartContractAccount
|
|
79
|
-
| undefined
|
|
79
|
+
| undefined,
|
|
80
80
|
>(
|
|
81
|
-
client: Client<TTransport, TChain, TAccount
|
|
81
|
+
client: Client<TTransport, TChain, TAccount>,
|
|
82
82
|
) => MultisigPluginActions<TAccount> = <
|
|
83
83
|
TTransport extends Transport = Transport,
|
|
84
84
|
TChain extends Chain | undefined = Chain | undefined,
|
|
85
85
|
TAccount extends SmartContractAccount | undefined =
|
|
86
86
|
| SmartContractAccount
|
|
87
|
-
| undefined
|
|
87
|
+
| undefined,
|
|
88
88
|
>(
|
|
89
|
-
client: Client<TTransport, TChain, TAccount
|
|
89
|
+
client: Client<TTransport, TChain, TAccount>,
|
|
90
90
|
) => ({
|
|
91
91
|
...multisigPluginActions_(client),
|
|
92
92
|
readOwners: (
|
|
93
|
-
args: GetPluginAddressParameter & GetAccountParameter<TAccount
|
|
93
|
+
args: GetPluginAddressParameter & GetAccountParameter<TAccount>,
|
|
94
94
|
) => readOwners(client, args),
|
|
95
95
|
|
|
96
96
|
isOwnerOf: (
|
|
97
97
|
args: { address: Address } & GetPluginAddressParameter &
|
|
98
|
-
GetAccountParameter<TAccount
|
|
98
|
+
GetAccountParameter<TAccount>,
|
|
99
99
|
) => isOwnerOf(client, args),
|
|
100
100
|
|
|
101
101
|
getThreshold: (
|
|
102
|
-
args: GetPluginAddressParameter & GetAccountParameter<TAccount
|
|
102
|
+
args: GetPluginAddressParameter & GetAccountParameter<TAccount>,
|
|
103
103
|
) => getThreshold(client, args),
|
|
104
104
|
|
|
105
105
|
proposeUserOperation: (
|
|
106
|
-
args: SendUserOperationParameters<TAccount, undefined
|
|
106
|
+
args: SendUserOperationParameters<TAccount, undefined>,
|
|
107
107
|
) => proposeUserOperation(client, args),
|
|
108
108
|
|
|
109
109
|
signMultisigUserOperation: (
|
|
110
|
-
params: SignMultisigUserOperationParams<TAccount
|
|
110
|
+
params: SignMultisigUserOperationParams<TAccount>,
|
|
111
111
|
): Promise<SignMultisigUserOperationResult> =>
|
|
112
112
|
signMultisigUserOperation(client, params),
|
|
113
113
|
});
|
|
@@ -63,7 +63,7 @@ export const multisigSignatureMiddleware: ClientMiddlewareFn<
|
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
const signature = await account.signUserOperationHash(
|
|
66
|
-
account.getEntryPoint().getUserOperationHash(request)
|
|
66
|
+
account.getEntryPoint().getUserOperationHash(request),
|
|
67
67
|
);
|
|
68
68
|
|
|
69
69
|
const signerType = await getSignerType({
|
|
@@ -142,7 +142,7 @@ const isUsingMaxValues = (
|
|
|
142
142
|
upperLimitPvg: Hex;
|
|
143
143
|
upperLimitMaxFeePerGas: Hex;
|
|
144
144
|
upperLimitMaxPriorityFeePerGas: Hex;
|
|
145
|
-
}
|
|
145
|
+
},
|
|
146
146
|
): boolean => {
|
|
147
147
|
if (
|
|
148
148
|
BigInt(request.preVerificationGas) !== BigInt(upperLimits.upperLimitPvg)
|
|
@@ -38,7 +38,8 @@ type ExecutionActions<
|
|
|
38
38
|
TContext extends UserOperationContext | undefined =
|
|
39
39
|
| UserOperationContext
|
|
40
40
|
| undefined,
|
|
41
|
-
TEntryPointVersion extends
|
|
41
|
+
TEntryPointVersion extends
|
|
42
|
+
GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>,
|
|
42
43
|
> = {
|
|
43
44
|
updateOwnership: (
|
|
44
45
|
args: Pick<
|
|
@@ -50,7 +51,7 @@ type ExecutionActions<
|
|
|
50
51
|
> &
|
|
51
52
|
UserOperationOverridesParameter<TEntryPointVersion> &
|
|
52
53
|
GetAccountParameter<TAccount> &
|
|
53
|
-
GetContextParameter<TContext
|
|
54
|
+
GetContextParameter<TContext>,
|
|
54
55
|
) => Promise<SendUserOperationResult<TEntryPointVersion>>;
|
|
55
56
|
};
|
|
56
57
|
|
|
@@ -69,20 +70,21 @@ type ManagementActions<
|
|
|
69
70
|
TContext extends UserOperationContext | undefined =
|
|
70
71
|
| Record<string, any>
|
|
71
72
|
| undefined,
|
|
72
|
-
TEntryPointVersion extends
|
|
73
|
+
TEntryPointVersion extends
|
|
74
|
+
GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>,
|
|
73
75
|
> = {
|
|
74
76
|
installMultisigPlugin: (
|
|
75
77
|
args: UserOperationOverridesParameter<TEntryPointVersion> &
|
|
76
78
|
InstallMultisigPluginParams &
|
|
77
79
|
GetAccountParameter<TAccount> &
|
|
78
|
-
GetContextParameter<TContext
|
|
80
|
+
GetContextParameter<TContext>,
|
|
79
81
|
) => Promise<SendUserOperationResult<TEntryPointVersion>>;
|
|
80
82
|
};
|
|
81
83
|
|
|
82
84
|
type ReadAndEncodeActions<
|
|
83
85
|
TAccount extends SmartContractAccount | undefined =
|
|
84
86
|
| SmartContractAccount
|
|
85
|
-
| undefined
|
|
87
|
+
| undefined,
|
|
86
88
|
> = {
|
|
87
89
|
encodeUpdateOwnership: (
|
|
88
90
|
args: Pick<
|
|
@@ -91,7 +93,7 @@ type ReadAndEncodeActions<
|
|
|
91
93
|
"updateOwnership"
|
|
92
94
|
>,
|
|
93
95
|
"args"
|
|
94
|
-
|
|
96
|
+
>,
|
|
95
97
|
) => Hex;
|
|
96
98
|
|
|
97
99
|
encodeEip712Domain: (
|
|
@@ -101,11 +103,11 @@ type ReadAndEncodeActions<
|
|
|
101
103
|
"eip712Domain"
|
|
102
104
|
>,
|
|
103
105
|
"args"
|
|
104
|
-
|
|
106
|
+
>,
|
|
105
107
|
) => Hex;
|
|
106
108
|
|
|
107
109
|
readEip712Domain: (
|
|
108
|
-
args: GetAccountParameter<TAccount
|
|
110
|
+
args: GetAccountParameter<TAccount>,
|
|
109
111
|
) => Promise<
|
|
110
112
|
ReadContractReturnType<
|
|
111
113
|
typeof MultisigPluginExecutionFunctionAbi,
|
|
@@ -120,7 +122,7 @@ type ReadAndEncodeActions<
|
|
|
120
122
|
"isValidSignature"
|
|
121
123
|
>,
|
|
122
124
|
"args"
|
|
123
|
-
|
|
125
|
+
>,
|
|
124
126
|
) => Hex;
|
|
125
127
|
|
|
126
128
|
readIsValidSignature: (
|
|
@@ -131,7 +133,7 @@ type ReadAndEncodeActions<
|
|
|
131
133
|
>,
|
|
132
134
|
"args"
|
|
133
135
|
> &
|
|
134
|
-
GetAccountParameter<TAccount
|
|
136
|
+
GetAccountParameter<TAccount>,
|
|
135
137
|
) => Promise<
|
|
136
138
|
ReadContractReturnType<
|
|
137
139
|
typeof MultisigPluginExecutionFunctionAbi,
|
|
@@ -146,7 +148,7 @@ export type MultisigPluginActions<
|
|
|
146
148
|
| undefined,
|
|
147
149
|
TContext extends UserOperationContext | undefined =
|
|
148
150
|
| UserOperationContext
|
|
149
|
-
| undefined
|
|
151
|
+
| undefined,
|
|
150
152
|
> = ExecutionActions<TAccount, TContext> &
|
|
151
153
|
ManagementActions<TAccount, TContext> &
|
|
152
154
|
ReadAndEncodeActions<TAccount>;
|
|
@@ -176,7 +178,7 @@ export const MultisigPlugin: Plugin<typeof MultisigPluginAbi> = {
|
|
|
176
178
|
},
|
|
177
179
|
getContract: <C extends Client>(
|
|
178
180
|
client: C,
|
|
179
|
-
address?: Address
|
|
181
|
+
address?: Address,
|
|
180
182
|
): GetContractReturnType<typeof MultisigPluginAbi, PublicClient, Address> => {
|
|
181
183
|
if (!client.chain) throw new ChainNotFoundError();
|
|
182
184
|
|
|
@@ -200,9 +202,9 @@ export const multisigPluginActions: <
|
|
|
200
202
|
| undefined,
|
|
201
203
|
TContext extends UserOperationContext | undefined =
|
|
202
204
|
| UserOperationContext
|
|
203
|
-
| undefined
|
|
205
|
+
| undefined,
|
|
204
206
|
>(
|
|
205
|
-
client: Client<TTransport, TChain, TAccount
|
|
207
|
+
client: Client<TTransport, TChain, TAccount>,
|
|
206
208
|
) => MultisigPluginActions<TAccount, TContext> = (client) => ({
|
|
207
209
|
updateOwnership({ args, overrides, context, account = client.account }) {
|
|
208
210
|
if (!account) {
|
|
@@ -212,7 +214,7 @@ export const multisigPluginActions: <
|
|
|
212
214
|
throw new IncompatibleClientError(
|
|
213
215
|
"SmartAccountClient",
|
|
214
216
|
"updateOwnership",
|
|
215
|
-
client
|
|
217
|
+
client,
|
|
216
218
|
);
|
|
217
219
|
}
|
|
218
220
|
|
|
@@ -238,7 +240,7 @@ export const multisigPluginActions: <
|
|
|
238
240
|
throw new IncompatibleClientError(
|
|
239
241
|
"SmartAccountClient",
|
|
240
242
|
"installMultisigPlugin",
|
|
241
|
-
client
|
|
243
|
+
client,
|
|
242
244
|
);
|
|
243
245
|
}
|
|
244
246
|
|
|
@@ -260,7 +262,7 @@ export const multisigPluginActions: <
|
|
|
260
262
|
pluginAddress,
|
|
261
263
|
pluginInitData: encodeAbiParameters(
|
|
262
264
|
[{ type: "address[]" }, { type: "uint256" }],
|
|
263
|
-
params.args
|
|
265
|
+
params.args,
|
|
264
266
|
),
|
|
265
267
|
dependencies,
|
|
266
268
|
overrides,
|
|
@@ -291,7 +293,7 @@ export const multisigPluginActions: <
|
|
|
291
293
|
throw new IncompatibleClientError(
|
|
292
294
|
"SmartAccountClient",
|
|
293
295
|
"readEip712Domain",
|
|
294
|
-
client
|
|
296
|
+
client,
|
|
295
297
|
);
|
|
296
298
|
}
|
|
297
299
|
|
|
@@ -318,7 +320,7 @@ export const multisigPluginActions: <
|
|
|
318
320
|
throw new IncompatibleClientError(
|
|
319
321
|
"SmartAccountClient",
|
|
320
322
|
"readIsValidSignature",
|
|
321
|
-
client
|
|
323
|
+
client,
|
|
322
324
|
);
|
|
323
325
|
}
|
|
324
326
|
|
|
@@ -13,7 +13,7 @@ import { MultisigPlugin, MultisigPluginAbi } from "./plugin.js";
|
|
|
13
13
|
|
|
14
14
|
type MultisigSignMethodsParams<
|
|
15
15
|
TTransport extends Transport,
|
|
16
|
-
TSigner extends SmartAccountSigner
|
|
16
|
+
TSigner extends SmartAccountSigner,
|
|
17
17
|
> = {
|
|
18
18
|
client: BundlerClient<TTransport>;
|
|
19
19
|
accountAddress: Address;
|
|
@@ -24,7 +24,7 @@ type MultisigSignMethodsParams<
|
|
|
24
24
|
|
|
25
25
|
export const multisigSignMethods = <
|
|
26
26
|
TTransport extends Transport,
|
|
27
|
-
TSigner extends SmartAccountSigner
|
|
27
|
+
TSigner extends SmartAccountSigner,
|
|
28
28
|
>({
|
|
29
29
|
client,
|
|
30
30
|
accountAddress,
|
|
@@ -76,7 +76,7 @@ export const multisigSignMethods = <
|
|
|
76
76
|
"FF".repeat(32 * 3) +
|
|
77
77
|
"fffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3c" +
|
|
78
78
|
"fffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c".repeat(
|
|
79
|
-
Number(actualThreshold) - 1
|
|
79
|
+
Number(actualThreshold) - 1,
|
|
80
80
|
)) as Hex;
|
|
81
81
|
},
|
|
82
82
|
|
|
@@ -90,9 +90,9 @@ export const multisigSignMethods = <
|
|
|
90
90
|
|
|
91
91
|
signTypedData: <
|
|
92
92
|
const typedData extends TypedData | Record<string, unknown>,
|
|
93
|
-
primaryType extends keyof typedData | "EIP712Domain" = keyof typedData
|
|
93
|
+
primaryType extends keyof typedData | "EIP712Domain" = keyof typedData,
|
|
94
94
|
>(
|
|
95
|
-
typedDataDefinition: TypedDataDefinition<typedData, primaryType
|
|
95
|
+
typedDataDefinition: TypedDataDefinition<typedData, primaryType>,
|
|
96
96
|
): Promise<Hex> => {
|
|
97
97
|
return signWith712Wrapper(hashTypedData(typedDataDefinition));
|
|
98
98
|
},
|
|
@@ -28,7 +28,8 @@ export type SignMultisigUserOperationParams<
|
|
|
28
28
|
TAccount extends SmartContractAccount | undefined =
|
|
29
29
|
| SmartContractAccount
|
|
30
30
|
| undefined,
|
|
31
|
-
TEntryPointVersion extends
|
|
31
|
+
TEntryPointVersion extends
|
|
32
|
+
GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>,
|
|
32
33
|
> = {
|
|
33
34
|
userOperationRequest: UserOperationRequest<TEntryPointVersion>;
|
|
34
35
|
signatures: Signature[];
|
|
@@ -39,7 +40,8 @@ export type ProposeUserOperationResult<
|
|
|
39
40
|
TAccount extends SmartContractAccount | undefined =
|
|
40
41
|
| SmartContractAccount
|
|
41
42
|
| undefined,
|
|
42
|
-
TEntryPointVersion extends
|
|
43
|
+
TEntryPointVersion extends
|
|
44
|
+
GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>,
|
|
43
45
|
> = {
|
|
44
46
|
request: UserOperationRequest<TEntryPointVersion>;
|
|
45
47
|
aggregatedSignature: Hex;
|
|
@@ -22,7 +22,7 @@ type GetSignerTypeParams<
|
|
|
22
22
|
TAccount,
|
|
23
23
|
PublicRpcSchema,
|
|
24
24
|
PublicActions
|
|
25
|
-
> = Client<TTransport, TChain, TAccount, PublicRpcSchema, PublicActions
|
|
25
|
+
> = Client<TTransport, TChain, TAccount, PublicRpcSchema, PublicActions>,
|
|
26
26
|
> = {
|
|
27
27
|
signer: SmartAccountSigner<any>;
|
|
28
28
|
signature: Hex;
|
|
@@ -50,7 +50,7 @@ type GetSignerTypeParams<
|
|
|
50
50
|
*/
|
|
51
51
|
export const getSignerType = async <
|
|
52
52
|
TTransport extends Transport = Transport,
|
|
53
|
-
TChain extends Chain | undefined = Chain | undefined
|
|
53
|
+
TChain extends Chain | undefined = Chain | undefined,
|
|
54
54
|
>({
|
|
55
55
|
client,
|
|
56
56
|
signature,
|
|
@@ -12,7 +12,8 @@ export type SplitAggregateSignatureParams<
|
|
|
12
12
|
TAccount extends SmartContractAccount | undefined =
|
|
13
13
|
| SmartContractAccount
|
|
14
14
|
| undefined,
|
|
15
|
-
TEntryPointVersion extends
|
|
15
|
+
TEntryPointVersion extends
|
|
16
|
+
GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>,
|
|
16
17
|
> = {
|
|
17
18
|
aggregatedSignature: Hex;
|
|
18
19
|
threshold: number;
|
|
@@ -40,9 +41,9 @@ export type SplitAggregateSignatureResult = {
|
|
|
40
41
|
export const splitAggregatedSignature = async <
|
|
41
42
|
TAccount extends SmartContractAccount | undefined =
|
|
42
43
|
| SmartContractAccount
|
|
43
|
-
| undefined
|
|
44
|
+
| undefined,
|
|
44
45
|
>(
|
|
45
|
-
args: SplitAggregateSignatureParams<TAccount
|
|
46
|
+
args: SplitAggregateSignatureParams<TAccount>,
|
|
46
47
|
): Promise<SplitAggregateSignatureResult> => {
|
|
47
48
|
const { aggregatedSignature, threshold, account, request } = args;
|
|
48
49
|
if (aggregatedSignature.length < 192 + (65 * threshold - 1)) {
|
|
@@ -109,11 +110,11 @@ export const splitAggregatedSignature = async <
|
|
|
109
110
|
const signer = takeBytes(signature, { count: 20, offset: 12 });
|
|
110
111
|
const offset = fromHex(
|
|
111
112
|
takeBytes(signature, { count: 32, offset: 32 }),
|
|
112
|
-
"number"
|
|
113
|
+
"number",
|
|
113
114
|
);
|
|
114
115
|
const signatureLength = fromHex(
|
|
115
116
|
takeBytes(signaturesAndData, { count: 32, offset }),
|
|
116
|
-
"number"
|
|
117
|
+
"number",
|
|
117
118
|
);
|
|
118
119
|
|
|
119
120
|
return {
|
|
@@ -125,7 +126,7 @@ export const splitAggregatedSignature = async <
|
|
|
125
126
|
offset: offset + 32,
|
|
126
127
|
}),
|
|
127
128
|
};
|
|
128
|
-
}
|
|
129
|
+
},
|
|
129
130
|
);
|
|
130
131
|
|
|
131
132
|
return {
|
|
@@ -24,7 +24,8 @@ export type SessionKeyPluginActions<
|
|
|
24
24
|
TAccount extends SmartContractAccount | undefined =
|
|
25
25
|
| SmartContractAccount
|
|
26
26
|
| undefined,
|
|
27
|
-
TEntryPointVersion extends
|
|
27
|
+
TEntryPointVersion extends
|
|
28
|
+
GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>,
|
|
28
29
|
> = Omit<
|
|
29
30
|
SessionKeyPluginActions_<TAccount>,
|
|
30
31
|
| "removeSessionKey"
|
|
@@ -34,17 +35,17 @@ export type SessionKeyPluginActions<
|
|
|
34
35
|
> & {
|
|
35
36
|
isAccountSessionKey: (
|
|
36
37
|
args: { key: Address } & GetPluginAddressParameter &
|
|
37
|
-
GetAccountParameter<TAccount
|
|
38
|
+
GetAccountParameter<TAccount>,
|
|
38
39
|
) => Promise<boolean>;
|
|
39
40
|
|
|
40
41
|
getAccountSessionKeys: (
|
|
41
|
-
args: GetPluginAddressParameter & GetAccountParameter<TAccount
|
|
42
|
+
args: GetPluginAddressParameter & GetAccountParameter<TAccount>,
|
|
42
43
|
) => Promise<ReadonlyArray<Address>>;
|
|
43
44
|
|
|
44
45
|
removeSessionKey: (
|
|
45
46
|
args: { key: Address } & GetPluginAddressParameter &
|
|
46
47
|
GetAccountParameter<TAccount> &
|
|
47
|
-
UserOperationOverridesParameter<TEntryPointVersion
|
|
48
|
+
UserOperationOverridesParameter<TEntryPointVersion>,
|
|
48
49
|
) => Promise<SendUserOperationResult<TEntryPointVersion>>;
|
|
49
50
|
|
|
50
51
|
addSessionKey: (
|
|
@@ -54,7 +55,7 @@ export type SessionKeyPluginActions<
|
|
|
54
55
|
tag: Hex;
|
|
55
56
|
} & GetPluginAddressParameter &
|
|
56
57
|
GetAccountParameter<TAccount> &
|
|
57
|
-
UserOperationOverridesParameter<TEntryPointVersion
|
|
58
|
+
UserOperationOverridesParameter<TEntryPointVersion>,
|
|
58
59
|
) => Promise<SendUserOperationResult<TEntryPointVersion>>;
|
|
59
60
|
|
|
60
61
|
rotateSessionKey: (
|
|
@@ -63,7 +64,7 @@ export type SessionKeyPluginActions<
|
|
|
63
64
|
newKey: Address;
|
|
64
65
|
} & GetPluginAddressParameter &
|
|
65
66
|
GetAccountParameter<TAccount> &
|
|
66
|
-
UserOperationOverridesParameter<TEntryPointVersion
|
|
67
|
+
UserOperationOverridesParameter<TEntryPointVersion>,
|
|
67
68
|
) => Promise<SendUserOperationResult<TEntryPointVersion>>;
|
|
68
69
|
|
|
69
70
|
updateSessionKeyPermissions: (
|
|
@@ -72,12 +73,12 @@ export type SessionKeyPluginActions<
|
|
|
72
73
|
permissions: Hex[];
|
|
73
74
|
} & GetPluginAddressParameter &
|
|
74
75
|
GetAccountParameter<TAccount> &
|
|
75
|
-
UserOperationOverridesParameter<TEntryPointVersion
|
|
76
|
+
UserOperationOverridesParameter<TEntryPointVersion>,
|
|
76
77
|
) => Promise<SendUserOperationResult<TEntryPointVersion>>;
|
|
77
78
|
} & (IsUndefined<TAccount> extends false
|
|
78
79
|
? {
|
|
79
80
|
getAccountSessionKeys: (
|
|
80
|
-
args?: GetPluginAddressParameter & GetAccountParameter<TAccount
|
|
81
|
+
args?: GetPluginAddressParameter & GetAccountParameter<TAccount>,
|
|
81
82
|
) => Promise<ReadonlyArray<Address>>;
|
|
82
83
|
}
|
|
83
84
|
: {});
|
|
@@ -100,18 +101,19 @@ export const sessionKeyPluginActions: <
|
|
|
100
101
|
TChain extends Chain | undefined = Chain | undefined,
|
|
101
102
|
TAccount extends SmartContractAccount | undefined =
|
|
102
103
|
| SmartContractAccount
|
|
103
|
-
| undefined
|
|
104
|
+
| undefined,
|
|
104
105
|
>(
|
|
105
|
-
client: Client<TTransport, TChain, TAccount
|
|
106
|
+
client: Client<TTransport, TChain, TAccount>,
|
|
106
107
|
) => SessionKeyPluginActions<TAccount> = <
|
|
107
108
|
TTransport extends Transport = Transport,
|
|
108
109
|
TChain extends Chain | undefined = Chain | undefined,
|
|
109
110
|
TAccount extends SmartContractAccount | undefined =
|
|
110
111
|
| SmartContractAccount
|
|
111
112
|
| undefined,
|
|
112
|
-
TEntryPointVersion extends
|
|
113
|
+
TEntryPointVersion extends
|
|
114
|
+
GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>,
|
|
113
115
|
>(
|
|
114
|
-
client: Client<TTransport, TChain, TAccount
|
|
116
|
+
client: Client<TTransport, TChain, TAccount>,
|
|
115
117
|
) => {
|
|
116
118
|
const {
|
|
117
119
|
removeSessionKey,
|
|
@@ -209,14 +211,14 @@ export const sessionKeyPluginActions: <
|
|
|
209
211
|
},
|
|
210
212
|
|
|
211
213
|
getAccountSessionKeys: async (
|
|
212
|
-
args: GetPluginAddressParameter & GetAccountParameter<TAccount
|
|
214
|
+
args: GetPluginAddressParameter & GetAccountParameter<TAccount>,
|
|
213
215
|
) => {
|
|
214
216
|
const account = args?.account ?? client.account;
|
|
215
217
|
if (!account) throw new AccountNotFoundError();
|
|
216
218
|
|
|
217
219
|
const contract = SessionKeyPlugin.getContract(
|
|
218
220
|
client,
|
|
219
|
-
args?.pluginAddress
|
|
221
|
+
args?.pluginAddress,
|
|
220
222
|
);
|
|
221
223
|
|
|
222
224
|
return await contract.read.sessionKeysOf([account.address]);
|
|
@@ -268,14 +268,14 @@ export class SessionKeyPermissionsBuilder {
|
|
|
268
268
|
abi: SessionKeyPermissionsUpdatesAbi,
|
|
269
269
|
functionName: "updateAccessListAddressEntry",
|
|
270
270
|
args: [entry.contractAddress, entry.isOnList, entry.checkSelectors],
|
|
271
|
-
})
|
|
271
|
+
}),
|
|
272
272
|
),
|
|
273
273
|
...this._contractMethodAccessEntrys.map((entry) =>
|
|
274
274
|
encodeFunctionData({
|
|
275
275
|
abi: SessionKeyPermissionsUpdatesAbi,
|
|
276
276
|
functionName: "updateAccessListFunctionEntry",
|
|
277
277
|
args: [entry.contractAddress, entry.methodSelector, entry.isOnList],
|
|
278
|
-
})
|
|
278
|
+
}),
|
|
279
279
|
),
|
|
280
280
|
this.encodeIfDefined(
|
|
281
281
|
(timeRange) =>
|
|
@@ -284,7 +284,7 @@ export class SessionKeyPermissionsBuilder {
|
|
|
284
284
|
functionName: "updateTimeRange",
|
|
285
285
|
args: [timeRange.validFrom, timeRange.validUntil],
|
|
286
286
|
}),
|
|
287
|
-
this._timeRange
|
|
287
|
+
this._timeRange,
|
|
288
288
|
),
|
|
289
289
|
this.encodeIfDefined(
|
|
290
290
|
(nativeSpendLimit) =>
|
|
@@ -296,7 +296,7 @@ export class SessionKeyPermissionsBuilder {
|
|
|
296
296
|
nativeSpendLimit.refreshInterval ?? 0,
|
|
297
297
|
],
|
|
298
298
|
}),
|
|
299
|
-
this._nativeTokenSpendLimit
|
|
299
|
+
this._nativeTokenSpendLimit,
|
|
300
300
|
),
|
|
301
301
|
...this._erc20TokenSpendLimits.map((erc20SpendLimit) =>
|
|
302
302
|
encodeFunctionData({
|
|
@@ -307,7 +307,7 @@ export class SessionKeyPermissionsBuilder {
|
|
|
307
307
|
erc20SpendLimit.spendLimit,
|
|
308
308
|
erc20SpendLimit.refreshInterval ?? 0,
|
|
309
309
|
],
|
|
310
|
-
})
|
|
310
|
+
}),
|
|
311
311
|
),
|
|
312
312
|
this.encodeIfDefined(
|
|
313
313
|
(spendLimit) =>
|
|
@@ -316,7 +316,7 @@ export class SessionKeyPermissionsBuilder {
|
|
|
316
316
|
functionName: "setGasSpendLimit",
|
|
317
317
|
args: [spendLimit.spendLimit, spendLimit.refreshInterval ?? 0],
|
|
318
318
|
}),
|
|
319
|
-
this._gasSpendLimit
|
|
319
|
+
this._gasSpendLimit,
|
|
320
320
|
),
|
|
321
321
|
this.encodeIfDefined(
|
|
322
322
|
(paymaster) =>
|
|
@@ -325,7 +325,7 @@ export class SessionKeyPermissionsBuilder {
|
|
|
325
325
|
functionName: "setRequiredPaymaster",
|
|
326
326
|
args: [paymaster],
|
|
327
327
|
}),
|
|
328
|
-
this._requiredPaymaster
|
|
328
|
+
this._requiredPaymaster,
|
|
329
329
|
),
|
|
330
330
|
].filter((x) => x !== "0x");
|
|
331
331
|
}
|