@metamask/smart-accounts-kit 1.5.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/CHANGELOG.md +47 -25
  2. package/dist/actions/index.cjs +5 -6
  3. package/dist/actions/index.cjs.map +1 -1
  4. package/dist/actions/index.d.cts +3 -3
  5. package/dist/actions/index.d.ts +3 -3
  6. package/dist/actions/index.mjs +4 -5
  7. package/dist/{caveats-DQ6HoAHe.d.ts → caveats-B2OssjV4.d.ts} +1 -2
  8. package/dist/{caveats-CaSt_VHs.d.cts → caveats-gqMBZKkI.d.cts} +1 -2
  9. package/dist/{chunk-SOFB2MXG.cjs → chunk-2OS36DVV.cjs} +8 -1
  10. package/dist/chunk-2OS36DVV.cjs.map +1 -0
  11. package/dist/{chunk-XEOE25DE.cjs → chunk-2ZOWIAP3.cjs} +98 -68
  12. package/dist/chunk-2ZOWIAP3.cjs.map +1 -0
  13. package/dist/{chunk-BGOSYTKV.mjs → chunk-AZYTTGON.mjs} +38 -8
  14. package/dist/chunk-AZYTTGON.mjs.map +1 -0
  15. package/dist/{chunk-SCS3CFRE.cjs → chunk-DCI2AN4N.cjs} +15 -17
  16. package/dist/chunk-DCI2AN4N.cjs.map +1 -0
  17. package/dist/{chunk-DN4O5VOP.cjs → chunk-EPU4O7FY.cjs} +158 -151
  18. package/dist/chunk-EPU4O7FY.cjs.map +1 -0
  19. package/dist/{chunk-QCULIK3O.mjs → chunk-GMGJRC3D.mjs} +8 -1
  20. package/dist/chunk-GMGJRC3D.mjs.map +1 -0
  21. package/dist/chunk-IMO6XNDJ.mjs +14 -0
  22. package/dist/chunk-IMO6XNDJ.mjs.map +1 -0
  23. package/dist/chunk-IQT6XFDT.cjs +14 -0
  24. package/dist/chunk-IQT6XFDT.cjs.map +1 -0
  25. package/dist/{chunk-FH6HZCHI.cjs → chunk-JKVSTPEC.cjs} +200 -18
  26. package/dist/chunk-JKVSTPEC.cjs.map +1 -0
  27. package/dist/{chunk-N66VAWMO.mjs → chunk-K7GTZGKJ.mjs} +2 -2
  28. package/dist/{chunk-TBHT26BV.mjs → chunk-L3EZCIY6.mjs} +67 -60
  29. package/dist/chunk-L3EZCIY6.mjs.map +1 -0
  30. package/dist/{chunk-7FYDQNJ3.cjs → chunk-PQPAEHJZ.cjs} +12 -12
  31. package/dist/{chunk-7FYDQNJ3.cjs.map → chunk-PQPAEHJZ.cjs.map} +1 -1
  32. package/dist/{chunk-MV2KHN75.mjs → chunk-TNGQTVSY.mjs} +163 -35
  33. package/dist/chunk-TNGQTVSY.mjs.map +1 -0
  34. package/dist/{chunk-YXHUT56Z.mjs → chunk-UJQ3JN3U.mjs} +4 -6
  35. package/dist/{chunk-YXHUT56Z.mjs.map → chunk-UJQ3JN3U.mjs.map} +1 -1
  36. package/dist/{chunk-IBZSNB7D.cjs → chunk-W6HPAK4M.cjs} +202 -74
  37. package/dist/chunk-W6HPAK4M.cjs.map +1 -0
  38. package/dist/{chunk-W7O2UQL5.mjs → chunk-YVU66KSH.mjs} +188 -6
  39. package/dist/chunk-YVU66KSH.mjs.map +1 -0
  40. package/dist/contracts/index.cjs +5 -6
  41. package/dist/contracts/index.cjs.map +1 -1
  42. package/dist/contracts/index.d.cts +4 -4
  43. package/dist/contracts/index.d.ts +4 -4
  44. package/dist/contracts/index.mjs +4 -5
  45. package/dist/{delegation-DbPGWKfP.d.ts → decodeRevertReason-CmmCpmZ_.d.cts} +11 -3
  46. package/dist/{delegation-BKkEyxZY.d.cts → decodeRevertReason-dOTpJx2h.d.ts} +11 -3
  47. package/dist/experimental/index.cjs +364 -9
  48. package/dist/experimental/index.cjs.map +1 -1
  49. package/dist/experimental/index.d.cts +39 -3
  50. package/dist/experimental/index.d.ts +39 -3
  51. package/dist/experimental/index.mjs +357 -2
  52. package/dist/experimental/index.mjs.map +1 -1
  53. package/dist/index-B1Cmezvh.d.cts +61 -0
  54. package/dist/{index-DXdlz7t4.d.ts → index-BkgdU4LI.d.ts} +99 -93
  55. package/dist/{index-G78z6nwi.d.ts → index-DUJmm8Wz.d.ts} +13 -5
  56. package/dist/{index-yU3olCJV.d.cts → index-Dv4jPzhe.d.cts} +99 -93
  57. package/dist/index-LqiEgBjV.d.ts +61 -0
  58. package/dist/{index-DfDAuvr5.d.cts → index-X7Qn3JTg.d.cts} +13 -5
  59. package/dist/index.cjs +22 -24
  60. package/dist/index.cjs.map +1 -1
  61. package/dist/index.d.cts +8 -8
  62. package/dist/index.d.ts +8 -8
  63. package/dist/index.mjs +9 -11
  64. package/dist/index.mjs.map +1 -1
  65. package/dist/{resolveCaveats-DiqGB-T5.d.cts → resolveCaveats-A9xC29l8.d.cts} +160 -62
  66. package/dist/{resolveCaveats-s2snaFEo.d.ts → resolveCaveats-A9xC29l8.d.ts} +160 -62
  67. package/dist/utils/index.cjs +13 -6
  68. package/dist/utils/index.cjs.map +1 -1
  69. package/dist/utils/index.d.cts +8 -5
  70. package/dist/utils/index.d.ts +8 -5
  71. package/dist/utils/index.mjs +16 -9
  72. package/package.json +7 -6
  73. package/dist/chunk-4QXIOE7F.mjs +0 -79
  74. package/dist/chunk-4QXIOE7F.mjs.map +0 -1
  75. package/dist/chunk-BGOSYTKV.mjs.map +0 -1
  76. package/dist/chunk-DN4O5VOP.cjs.map +0 -1
  77. package/dist/chunk-FH6HZCHI.cjs.map +0 -1
  78. package/dist/chunk-IBZSNB7D.cjs.map +0 -1
  79. package/dist/chunk-MOHCTPYQ.cjs +0 -79
  80. package/dist/chunk-MOHCTPYQ.cjs.map +0 -1
  81. package/dist/chunk-MV2KHN75.mjs.map +0 -1
  82. package/dist/chunk-QCULIK3O.mjs.map +0 -1
  83. package/dist/chunk-SCS3CFRE.cjs.map +0 -1
  84. package/dist/chunk-SOFB2MXG.cjs.map +0 -1
  85. package/dist/chunk-TBHT26BV.mjs.map +0 -1
  86. package/dist/chunk-W7O2UQL5.mjs.map +0 -1
  87. package/dist/chunk-XEOE25DE.cjs.map +0 -1
  88. package/dist/types-BWaH4KH1.d.cts +0 -155
  89. package/dist/types-BWaH4KH1.d.ts +0 -155
  90. /package/dist/{chunk-N66VAWMO.mjs.map → chunk-K7GTZGKJ.mjs.map} +0 -0
@@ -1,9 +1,8 @@
1
1
  import { ANY_BENEFICIARY, ROOT_AUTHORITY } from '@metamask/delegation-core';
2
2
  import * as viem from 'viem';
3
3
  import { Client, Transport, Chain, Account, Address, Hex } from 'viem';
4
- import { f as DelegationStruct } from './delegation-DbPGWKfP.js';
5
- import { D as Delegation, P as PermissionContext } from './types-BWaH4KH1.js';
6
- import { E as ExecutionMode, b as ExecutionStruct } from './resolveCaveats-s2snaFEo.js';
4
+ import { f as DecodedRevertReason, g as DelegationStruct } from './decodeRevertReason-dOTpJx2h.js';
5
+ import { P as PermissionContext, E as ExecutionMode, e as ExecutionStruct, D as Delegation } from './resolveCaveats-A9xC29l8.js';
7
6
 
8
7
  declare const NAME$1 = "DelegationManager";
9
8
  declare const VERSION$1 = "1.3.0";
@@ -22,18 +21,21 @@ type P256Owner = {
22
21
  };
23
22
  type InitializedClient = Client<Transport, Chain, Account>;
24
23
 
25
- type EncodeDisableDelegationParameters$1 = {
26
- delegation: Delegation;
24
+ type EncodeRedeemDelegationsParameters = {
25
+ delegations: PermissionContext[];
26
+ modes: ExecutionMode[];
27
+ executions: ExecutionStruct[][];
27
28
  };
28
- type SimulateDisableDelegationParameters$1 = {
29
+ type SimulateRedeemDelegationsParameters = {
29
30
  client: Client;
30
31
  delegationManagerAddress: Address;
31
- } & EncodeDisableDelegationParameters$1;
32
- type ExecuteDisableDelegationParameters$1 = {
32
+ } & EncodeRedeemDelegationsParameters;
33
+ type ExecuteRedeemDelegationsParameters = {
33
34
  client: InitializedClient;
34
35
  delegationManagerAddress: Address;
35
- } & EncodeDisableDelegationParameters$1;
36
- declare const simulate$y: ({ client, delegationManagerAddress, delegation, }: SimulateDisableDelegationParameters$1) => Promise<viem.SimulateContractReturnType<readonly [{
36
+ } & EncodeRedeemDelegationsParameters;
37
+ type DecodeRedeemDelegationsErrorReturnType = DecodedRevertReason | undefined;
38
+ declare const simulate$y: ({ client, delegationManagerAddress, delegations, modes, executions, }: SimulateRedeemDelegationsParameters) => Promise<viem.SimulateContractReturnType<readonly [{
37
39
  readonly type: "constructor";
38
40
  readonly inputs: readonly [{
39
41
  readonly name: "_owner";
@@ -744,70 +746,45 @@ declare const simulate$y: ({ client, delegationManagerAddress, delegation, }: Si
744
746
  readonly type: "string";
745
747
  readonly internalType: "string";
746
748
  }];
747
- }], "disableDelegation", readonly [DelegationStruct], viem.Chain | undefined, viem.Account | undefined, undefined, undefined, readonly [{
749
+ }], "redeemDelegations", readonly [`0x${string}`[], ExecutionMode[], `0x${string}`[]], viem.Chain | undefined, viem.Account | undefined, undefined, undefined, readonly [{
748
750
  readonly type: "function";
749
- readonly name: "disableDelegation";
751
+ readonly name: "redeemDelegations";
750
752
  readonly inputs: readonly [{
751
- readonly name: "_delegation";
752
- readonly type: "tuple";
753
- readonly internalType: "struct Delegation";
754
- readonly components: readonly [{
755
- readonly name: "delegate";
756
- readonly type: "address";
757
- readonly internalType: "address";
758
- }, {
759
- readonly name: "delegator";
760
- readonly type: "address";
761
- readonly internalType: "address";
762
- }, {
763
- readonly name: "authority";
764
- readonly type: "bytes32";
765
- readonly internalType: "bytes32";
766
- }, {
767
- readonly name: "caveats";
768
- readonly type: "tuple[]";
769
- readonly internalType: "struct Caveat[]";
770
- readonly components: readonly [{
771
- readonly name: "enforcer";
772
- readonly type: "address";
773
- readonly internalType: "address";
774
- }, {
775
- readonly name: "terms";
776
- readonly type: "bytes";
777
- readonly internalType: "bytes";
778
- }, {
779
- readonly name: "args";
780
- readonly type: "bytes";
781
- readonly internalType: "bytes";
782
- }];
783
- }, {
784
- readonly name: "salt";
785
- readonly type: "uint256";
786
- readonly internalType: "uint256";
787
- }, {
788
- readonly name: "signature";
789
- readonly type: "bytes";
790
- readonly internalType: "bytes";
791
- }];
753
+ readonly name: "_permissionContexts";
754
+ readonly type: "bytes[]";
755
+ readonly internalType: "bytes[]";
756
+ }, {
757
+ readonly name: "_modes";
758
+ readonly type: "bytes32[]";
759
+ readonly internalType: "ModeCode[]";
760
+ }, {
761
+ readonly name: "_executionCallDatas";
762
+ readonly type: "bytes[]";
763
+ readonly internalType: "bytes[]";
792
764
  }];
793
765
  readonly outputs: readonly [];
794
766
  readonly stateMutability: "nonpayable";
795
767
  }], viem.Account | undefined>>;
796
- declare const execute$k: ({ client, delegationManagerAddress, delegation, }: ExecuteDisableDelegationParameters$1) => Promise<`0x${string}`>;
797
- declare const encode$z: ({ delegation }: EncodeDisableDelegationParameters$1) => `0x${string}`;
768
+ declare const execute$k: ({ client, delegationManagerAddress, delegations, modes, executions, }: ExecuteRedeemDelegationsParameters) => Promise<`0x${string}`>;
769
+ declare const encode$z: ({ delegations, modes, executions, }: EncodeRedeemDelegationsParameters) => `0x${string}`;
770
+ declare const decodeError: (error: unknown) => DecodeRedeemDelegationsErrorReturnType;
798
771
 
799
- type EncodeEnableDelegationParameters$1 = {
772
+ declare namespace decode {
773
+ export { decodeError as redeemDelegationsError };
774
+ }
775
+
776
+ type EncodeDisableDelegationParameters$1 = {
800
777
  delegation: Delegation;
801
778
  };
802
- type SimulateEnableDelegationParameters$1 = {
779
+ type SimulateDisableDelegationParameters$1 = {
803
780
  client: Client;
804
781
  delegationManagerAddress: Address;
805
- } & EncodeEnableDelegationParameters$1;
806
- type ExecuteEnableDelegationParameters$1 = {
782
+ } & EncodeDisableDelegationParameters$1;
783
+ type ExecuteDisableDelegationParameters$1 = {
807
784
  client: InitializedClient;
808
785
  delegationManagerAddress: Address;
809
- } & EncodeEnableDelegationParameters$1;
810
- declare const simulate$x: ({ client, delegationManagerAddress, delegation, }: SimulateEnableDelegationParameters$1) => Promise<viem.SimulateContractReturnType<readonly [{
786
+ } & EncodeDisableDelegationParameters$1;
787
+ declare const simulate$x: ({ client, delegationManagerAddress, delegation, }: SimulateDisableDelegationParameters$1) => Promise<viem.SimulateContractReturnType<readonly [{
811
788
  readonly type: "constructor";
812
789
  readonly inputs: readonly [{
813
790
  readonly name: "_owner";
@@ -1518,9 +1495,9 @@ declare const simulate$x: ({ client, delegationManagerAddress, delegation, }: Si
1518
1495
  readonly type: "string";
1519
1496
  readonly internalType: "string";
1520
1497
  }];
1521
- }], "enableDelegation", readonly [DelegationStruct], viem.Chain | undefined, viem.Account | undefined, undefined, undefined, readonly [{
1498
+ }], "disableDelegation", readonly [DelegationStruct], viem.Chain | undefined, viem.Account | undefined, undefined, undefined, readonly [{
1522
1499
  readonly type: "function";
1523
- readonly name: "enableDelegation";
1500
+ readonly name: "disableDelegation";
1524
1501
  readonly inputs: readonly [{
1525
1502
  readonly name: "_delegation";
1526
1503
  readonly type: "tuple";
@@ -1567,23 +1544,21 @@ declare const simulate$x: ({ client, delegationManagerAddress, delegation, }: Si
1567
1544
  readonly outputs: readonly [];
1568
1545
  readonly stateMutability: "nonpayable";
1569
1546
  }], viem.Account | undefined>>;
1570
- declare const execute$j: ({ client, delegationManagerAddress, delegation, }: ExecuteEnableDelegationParameters$1) => Promise<`0x${string}`>;
1571
- declare const encode$y: ({ delegation }: EncodeEnableDelegationParameters$1) => `0x${string}`;
1547
+ declare const execute$j: ({ client, delegationManagerAddress, delegation, }: ExecuteDisableDelegationParameters$1) => Promise<`0x${string}`>;
1548
+ declare const encode$y: ({ delegation }: EncodeDisableDelegationParameters$1) => `0x${string}`;
1572
1549
 
1573
- type EncodeRedeemDelegationsParameters = {
1574
- delegations: PermissionContext[];
1575
- modes: ExecutionMode[];
1576
- executions: ExecutionStruct[][];
1550
+ type EncodeEnableDelegationParameters$1 = {
1551
+ delegation: Delegation;
1577
1552
  };
1578
- type SimulateRedeemDelegationsParameters = {
1553
+ type SimulateEnableDelegationParameters$1 = {
1579
1554
  client: Client;
1580
1555
  delegationManagerAddress: Address;
1581
- } & EncodeRedeemDelegationsParameters;
1582
- type ExecuteRedeemDelegationsParameters = {
1556
+ } & EncodeEnableDelegationParameters$1;
1557
+ type ExecuteEnableDelegationParameters$1 = {
1583
1558
  client: InitializedClient;
1584
1559
  delegationManagerAddress: Address;
1585
- } & EncodeRedeemDelegationsParameters;
1586
- declare const simulate$w: ({ client, delegationManagerAddress, delegations, modes, executions, }: SimulateRedeemDelegationsParameters) => Promise<viem.SimulateContractReturnType<readonly [{
1560
+ } & EncodeEnableDelegationParameters$1;
1561
+ declare const simulate$w: ({ client, delegationManagerAddress, delegation, }: SimulateEnableDelegationParameters$1) => Promise<viem.SimulateContractReturnType<readonly [{
1587
1562
  readonly type: "constructor";
1588
1563
  readonly inputs: readonly [{
1589
1564
  readonly name: "_owner";
@@ -2294,34 +2269,64 @@ declare const simulate$w: ({ client, delegationManagerAddress, delegations, mode
2294
2269
  readonly type: "string";
2295
2270
  readonly internalType: "string";
2296
2271
  }];
2297
- }], "redeemDelegations", readonly [`0x${string}`[], ExecutionMode[], `0x${string}`[]], viem.Chain | undefined, viem.Account | undefined, undefined, undefined, readonly [{
2272
+ }], "enableDelegation", readonly [DelegationStruct], viem.Chain | undefined, viem.Account | undefined, undefined, undefined, readonly [{
2298
2273
  readonly type: "function";
2299
- readonly name: "redeemDelegations";
2274
+ readonly name: "enableDelegation";
2300
2275
  readonly inputs: readonly [{
2301
- readonly name: "_permissionContexts";
2302
- readonly type: "bytes[]";
2303
- readonly internalType: "bytes[]";
2304
- }, {
2305
- readonly name: "_modes";
2306
- readonly type: "bytes32[]";
2307
- readonly internalType: "ModeCode[]";
2308
- }, {
2309
- readonly name: "_executionCallDatas";
2310
- readonly type: "bytes[]";
2311
- readonly internalType: "bytes[]";
2276
+ readonly name: "_delegation";
2277
+ readonly type: "tuple";
2278
+ readonly internalType: "struct Delegation";
2279
+ readonly components: readonly [{
2280
+ readonly name: "delegate";
2281
+ readonly type: "address";
2282
+ readonly internalType: "address";
2283
+ }, {
2284
+ readonly name: "delegator";
2285
+ readonly type: "address";
2286
+ readonly internalType: "address";
2287
+ }, {
2288
+ readonly name: "authority";
2289
+ readonly type: "bytes32";
2290
+ readonly internalType: "bytes32";
2291
+ }, {
2292
+ readonly name: "caveats";
2293
+ readonly type: "tuple[]";
2294
+ readonly internalType: "struct Caveat[]";
2295
+ readonly components: readonly [{
2296
+ readonly name: "enforcer";
2297
+ readonly type: "address";
2298
+ readonly internalType: "address";
2299
+ }, {
2300
+ readonly name: "terms";
2301
+ readonly type: "bytes";
2302
+ readonly internalType: "bytes";
2303
+ }, {
2304
+ readonly name: "args";
2305
+ readonly type: "bytes";
2306
+ readonly internalType: "bytes";
2307
+ }];
2308
+ }, {
2309
+ readonly name: "salt";
2310
+ readonly type: "uint256";
2311
+ readonly internalType: "uint256";
2312
+ }, {
2313
+ readonly name: "signature";
2314
+ readonly type: "bytes";
2315
+ readonly internalType: "bytes";
2316
+ }];
2312
2317
  }];
2313
2318
  readonly outputs: readonly [];
2314
2319
  readonly stateMutability: "nonpayable";
2315
2320
  }], viem.Account | undefined>>;
2316
- declare const execute$i: ({ client, delegationManagerAddress, delegations, modes, executions, }: ExecuteRedeemDelegationsParameters) => Promise<`0x${string}`>;
2317
- declare const encode$x: ({ delegations, modes, executions, }: EncodeRedeemDelegationsParameters) => `0x${string}`;
2321
+ declare const execute$i: ({ client, delegationManagerAddress, delegation, }: ExecuteEnableDelegationParameters$1) => Promise<`0x${string}`>;
2322
+ declare const encode$x: ({ delegation }: EncodeEnableDelegationParameters$1) => `0x${string}`;
2318
2323
 
2319
2324
  declare namespace encode$w {
2320
- export { encode$z as disableDelegation, encode$y as enableDelegation, encode$x as redeemDelegations };
2325
+ export { encode$y as disableDelegation, encode$x as enableDelegation, encode$z as redeemDelegations };
2321
2326
  }
2322
2327
 
2323
2328
  declare namespace execute$h {
2324
- export { execute$k as disableDelegation, execute$j as enableDelegation, execute$i as redeemDelegations };
2329
+ export { execute$j as disableDelegation, execute$i as enableDelegation, execute$k as redeemDelegations };
2325
2330
  }
2326
2331
 
2327
2332
  type ReadDisabledDelegationsParameters = {
@@ -2348,11 +2353,12 @@ declare namespace read$X {
2348
2353
  }
2349
2354
 
2350
2355
  declare namespace simulate$v {
2351
- export { simulate$y as disableDelegation, simulate$x as enableDelegation, simulate$w as redeemDelegations };
2356
+ export { simulate$x as disableDelegation, simulate$w as enableDelegation, simulate$y as redeemDelegations };
2352
2357
  }
2353
2358
 
2359
+ declare const index$k_decode: typeof decode;
2354
2360
  declare namespace index$k {
2355
- export { constants$2 as constants, encode$w as encode, execute$h as execute, read$X as read, simulate$v as simulate };
2361
+ export { constants$2 as constants, index$k_decode as decode, encode$w as encode, execute$h as execute, read$X as read, simulate$v as simulate };
2356
2362
  }
2357
2363
 
2358
2364
  type SimulateDisableDelegationParameters = {
@@ -1,7 +1,8 @@
1
1
  import { Account, Address, Hex, Chain, Client, Transport, WalletClient, RpcSchema, OneOf, SendTransactionRequest, SendTransactionParameters, PublicClient } from 'viem';
2
- import { S as SmartAccountsEnvironment, P as PermissionContext, D as Delegation, l as Call } from './types-BWaH4KH1.js';
3
- import { S as ScopeConfig, C as Caveats } from './resolveCaveats-s2snaFEo.js';
2
+ import { S as SmartAccountsEnvironment, P as PermissionContext, c as Caveats, D as Delegation, p as Call } from './resolveCaveats-A9xC29l8.js';
3
+ import { S as ScopeConfig } from './index-LqiEgBjV.js';
4
4
  import { Rule, PermissionRequest as PermissionRequest$1, PermissionTypes as PermissionTypes$1, PermissionResponse as PermissionResponse$1 } from '@metamask/7715-permission-types';
5
+ import { ApprovalRevocationTerms } from '@metamask/delegation-core';
5
6
  import { SmartAccount, SendUserOperationParameters } from 'viem/account-abstraction';
6
7
  import { U as UserOperationV07 } from './userOp-DKgjzz7B.js';
7
8
 
@@ -96,7 +97,13 @@ type Erc20TokenRevocationPermission = BasePermission & {
96
97
  justification?: string;
97
98
  };
98
99
  };
99
- type PermissionTypes = NativeTokenStreamPermission | NativeTokenPeriodicPermission | NativeTokenAllowancePermission | Erc20TokenStreamPermission | Erc20TokenPeriodicPermission | Erc20TokenAllowancePermission | Erc20TokenRevocationPermission;
100
+ type TokenApprovalRevocationPermission = BasePermission & {
101
+ type: 'token-approval-revocation';
102
+ data: ApprovalRevocationTerms & {
103
+ justification?: string;
104
+ };
105
+ };
106
+ type PermissionTypes = NativeTokenStreamPermission | NativeTokenPeriodicPermission | NativeTokenAllowancePermission | Erc20TokenStreamPermission | Erc20TokenPeriodicPermission | Erc20TokenAllowancePermission | Erc20TokenRevocationPermission | TokenApprovalRevocationPermission;
100
107
  type PermissionRequestParameter = {
101
108
  chainId: number;
102
109
  permission: PermissionTypes;
@@ -303,6 +310,7 @@ type index_SignUserOperationParameters = SignUserOperationParameters;
303
310
  type index_SignUserOperationReturnType = SignUserOperationReturnType;
304
311
  type index_StreamingResult = StreamingResult;
305
312
  type index_SupportedPermissionInfo = SupportedPermissionInfo;
313
+ type index_TokenApprovalRevocationPermission = TokenApprovalRevocationPermission;
306
314
  declare const index_caveatEnforcerActions: typeof caveatEnforcerActions;
307
315
  declare const index_erc7710BundlerActions: typeof erc7710BundlerActions;
308
316
  declare const index_erc7710WalletActions: typeof erc7710WalletActions;
@@ -320,7 +328,7 @@ declare const index_signDelegationActions: typeof signDelegationActions;
320
328
  declare const index_signUserOperation: typeof signUserOperation;
321
329
  declare const index_signUserOperationActions: typeof signUserOperationActions;
322
330
  declare namespace index {
323
- export { type index_CaveatEnforcerParams as CaveatEnforcerParams, type index_DelegatedCall as DelegatedCall, type index_Erc20TokenAllowancePermission as Erc20TokenAllowancePermission, type index_Erc20TokenPeriodicPermission as Erc20TokenPeriodicPermission, type index_Erc20TokenRevocationPermission as Erc20TokenRevocationPermission, type index_Erc20TokenStreamPermission as Erc20TokenStreamPermission, type index_Erc7710WalletClient as Erc7710WalletClient, type index_Erc7715Client as Erc7715Client, type index_GetGrantedExecutionPermissionsResult as GetGrantedExecutionPermissionsResult, type index_GetSupportedExecutionPermissionsResult as GetSupportedExecutionPermissionsResult, type index_MetaMaskExtensionClient as MetaMaskExtensionClient, type index_MetaMaskExtensionSchema as MetaMaskExtensionSchema, type index_NativeTokenAllowancePermission as NativeTokenAllowancePermission, type index_NativeTokenPeriodicPermission as NativeTokenPeriodicPermission, type index_NativeTokenStreamPermission as NativeTokenStreamPermission, type index_PeriodTransferResult as PeriodTransferResult, type index_PermissionRequestParameter as PermissionRequestParameter, type index_PermissionTypes as PermissionTypes, type index_RedelegatePermissionContextOpenParameters as RedelegatePermissionContextOpenParameters, type index_RedelegatePermissionContextParameters as RedelegatePermissionContextParameters, type index_RedelegatePermissionContextReturnType as RedelegatePermissionContextReturnType, type index_RequestExecutionPermissionsParameters as RequestExecutionPermissionsParameters, type index_RequestExecutionPermissionsReturnType as RequestExecutionPermissionsReturnType, type index_RpcGetGrantedExecutionPermissionsResult as RpcGetGrantedExecutionPermissionsResult, type index_RpcGetSupportedExecutionPermissionsResult as RpcGetSupportedExecutionPermissionsResult, type index_RpcSupportedPermissionInfo as RpcSupportedPermissionInfo, index_Rule as Rule, type index_SignDelegationParameters as SignDelegationParameters, type index_SignDelegationReturnType as SignDelegationReturnType, type index_SignUserOperationParameters as SignUserOperationParameters, type index_SignUserOperationReturnType as SignUserOperationReturnType, type index_StreamingResult as StreamingResult, type index_SupportedPermissionInfo as SupportedPermissionInfo, index_caveatEnforcerActions as caveatEnforcerActions, index_erc7710BundlerActions as erc7710BundlerActions, index_erc7710WalletActions as erc7710WalletActions, index_erc7715ProviderActions as erc7715ProviderActions, index_getErc20PeriodTransferEnforcerAvailableAmount as getErc20PeriodTransferEnforcerAvailableAmount, index_getErc20StreamingEnforcerAvailableAmount as getErc20StreamingEnforcerAvailableAmount, erc7715GetGrantedExecutionPermissionsAction as getGrantedExecutionPermissions, index_getMultiTokenPeriodEnforcerAvailableAmount as getMultiTokenPeriodEnforcerAvailableAmount, index_getNativeTokenPeriodTransferEnforcerAvailableAmount as getNativeTokenPeriodTransferEnforcerAvailableAmount, index_getNativeTokenStreamingEnforcerAvailableAmount as getNativeTokenStreamingEnforcerAvailableAmount, erc7715GetSupportedExecutionPermissionsAction as getSupportedExecutionPermissions, index_isValid7702Implementation as isValid7702Implementation, index_redelegatePermissionContextAction as redelegatePermissionContextAction, index_redelegatePermissionContextOpenAction as redelegatePermissionContextOpenAction, erc7715RequestExecutionPermissionsAction as requestExecutionPermissions, index_signDelegation as signDelegation, index_signDelegationActions as signDelegationActions, index_signUserOperation as signUserOperation, index_signUserOperationActions as signUserOperationActions };
331
+ export { type index_CaveatEnforcerParams as CaveatEnforcerParams, type index_DelegatedCall as DelegatedCall, type index_Erc20TokenAllowancePermission as Erc20TokenAllowancePermission, type index_Erc20TokenPeriodicPermission as Erc20TokenPeriodicPermission, type index_Erc20TokenRevocationPermission as Erc20TokenRevocationPermission, type index_Erc20TokenStreamPermission as Erc20TokenStreamPermission, type index_Erc7710WalletClient as Erc7710WalletClient, type index_Erc7715Client as Erc7715Client, type index_GetGrantedExecutionPermissionsResult as GetGrantedExecutionPermissionsResult, type index_GetSupportedExecutionPermissionsResult as GetSupportedExecutionPermissionsResult, type index_MetaMaskExtensionClient as MetaMaskExtensionClient, type index_MetaMaskExtensionSchema as MetaMaskExtensionSchema, type index_NativeTokenAllowancePermission as NativeTokenAllowancePermission, type index_NativeTokenPeriodicPermission as NativeTokenPeriodicPermission, type index_NativeTokenStreamPermission as NativeTokenStreamPermission, type index_PeriodTransferResult as PeriodTransferResult, type index_PermissionRequestParameter as PermissionRequestParameter, type index_PermissionTypes as PermissionTypes, type index_RedelegatePermissionContextOpenParameters as RedelegatePermissionContextOpenParameters, type index_RedelegatePermissionContextParameters as RedelegatePermissionContextParameters, type index_RedelegatePermissionContextReturnType as RedelegatePermissionContextReturnType, type index_RequestExecutionPermissionsParameters as RequestExecutionPermissionsParameters, type index_RequestExecutionPermissionsReturnType as RequestExecutionPermissionsReturnType, type index_RpcGetGrantedExecutionPermissionsResult as RpcGetGrantedExecutionPermissionsResult, type index_RpcGetSupportedExecutionPermissionsResult as RpcGetSupportedExecutionPermissionsResult, type index_RpcSupportedPermissionInfo as RpcSupportedPermissionInfo, index_Rule as Rule, type index_SignDelegationParameters as SignDelegationParameters, type index_SignDelegationReturnType as SignDelegationReturnType, type index_SignUserOperationParameters as SignUserOperationParameters, type index_SignUserOperationReturnType as SignUserOperationReturnType, type index_StreamingResult as StreamingResult, type index_SupportedPermissionInfo as SupportedPermissionInfo, type index_TokenApprovalRevocationPermission as TokenApprovalRevocationPermission, index_caveatEnforcerActions as caveatEnforcerActions, index_erc7710BundlerActions as erc7710BundlerActions, index_erc7710WalletActions as erc7710WalletActions, index_erc7715ProviderActions as erc7715ProviderActions, index_getErc20PeriodTransferEnforcerAvailableAmount as getErc20PeriodTransferEnforcerAvailableAmount, index_getErc20StreamingEnforcerAvailableAmount as getErc20StreamingEnforcerAvailableAmount, erc7715GetGrantedExecutionPermissionsAction as getGrantedExecutionPermissions, index_getMultiTokenPeriodEnforcerAvailableAmount as getMultiTokenPeriodEnforcerAvailableAmount, index_getNativeTokenPeriodTransferEnforcerAvailableAmount as getNativeTokenPeriodTransferEnforcerAvailableAmount, index_getNativeTokenStreamingEnforcerAvailableAmount as getNativeTokenStreamingEnforcerAvailableAmount, erc7715GetSupportedExecutionPermissionsAction as getSupportedExecutionPermissions, index_isValid7702Implementation as isValid7702Implementation, index_redelegatePermissionContextAction as redelegatePermissionContextAction, index_redelegatePermissionContextOpenAction as redelegatePermissionContextOpenAction, erc7715RequestExecutionPermissionsAction as requestExecutionPermissions, index_signDelegation as signDelegation, index_signDelegationActions as signDelegationActions, index_signUserOperation as signUserOperation, index_signUserOperationActions as signUserOperationActions };
324
332
  }
325
333
 
326
- export { erc7710WalletActions as A, erc7715ProviderActions as B, type CaveatEnforcerParams as C, type DelegatedCall as D, type Erc20TokenAllowancePermission as E, getErc20PeriodTransferEnforcerAvailableAmount as F, type GetGrantedExecutionPermissionsResult as G, getErc20StreamingEnforcerAvailableAmount as H, erc7715GetGrantedExecutionPermissionsAction as I, getMultiTokenPeriodEnforcerAvailableAmount as J, getNativeTokenPeriodTransferEnforcerAvailableAmount as K, getNativeTokenStreamingEnforcerAvailableAmount as L, type MetaMaskExtensionClient as M, type NativeTokenAllowancePermission as N, erc7715GetSupportedExecutionPermissionsAction as O, type PeriodTransferResult as P, isValid7702Implementation as Q, type RedelegatePermissionContextOpenParameters as R, type SignDelegationParameters as S, redelegatePermissionContextAction as T, redelegatePermissionContextOpenAction as U, erc7715RequestExecutionPermissionsAction as V, signDelegation as W, signDelegationActions as X, signUserOperation as Y, signUserOperationActions as Z, type Erc20TokenPeriodicPermission as a, type Erc20TokenRevocationPermission as b, caveatEnforcerActions as c, type Erc20TokenStreamPermission as d, type Erc7710WalletClient as e, type Erc7715Client as f, type GetSupportedExecutionPermissionsResult as g, type MetaMaskExtensionSchema as h, index as i, type NativeTokenPeriodicPermission as j, type NativeTokenStreamPermission as k, type PermissionRequestParameter as l, type PermissionTypes as m, type RedelegatePermissionContextParameters as n, type RedelegatePermissionContextReturnType as o, type RequestExecutionPermissionsParameters as p, type RequestExecutionPermissionsReturnType as q, type RpcGetGrantedExecutionPermissionsResult as r, type RpcGetSupportedExecutionPermissionsResult as s, type RpcSupportedPermissionInfo as t, type SignDelegationReturnType as u, type SignUserOperationParameters as v, type SignUserOperationReturnType as w, type StreamingResult as x, type SupportedPermissionInfo as y, erc7710BundlerActions as z };
334
+ export { erc7710WalletActions as A, erc7715ProviderActions as B, type CaveatEnforcerParams as C, type DelegatedCall as D, type Erc20TokenAllowancePermission as E, getErc20PeriodTransferEnforcerAvailableAmount as F, type GetGrantedExecutionPermissionsResult as G, getErc20StreamingEnforcerAvailableAmount as H, erc7715GetGrantedExecutionPermissionsAction as I, getMultiTokenPeriodEnforcerAvailableAmount as J, getNativeTokenPeriodTransferEnforcerAvailableAmount as K, getNativeTokenStreamingEnforcerAvailableAmount as L, type MetaMaskExtensionClient as M, type NativeTokenAllowancePermission as N, erc7715GetSupportedExecutionPermissionsAction as O, type PeriodTransferResult as P, isValid7702Implementation as Q, type RedelegatePermissionContextOpenParameters as R, type SignDelegationParameters as S, type TokenApprovalRevocationPermission as T, redelegatePermissionContextAction as U, redelegatePermissionContextOpenAction as V, erc7715RequestExecutionPermissionsAction as W, signDelegation as X, signDelegationActions as Y, signUserOperation as Z, signUserOperationActions as _, type Erc20TokenPeriodicPermission as a, type Erc20TokenRevocationPermission as b, caveatEnforcerActions as c, type Erc20TokenStreamPermission as d, type Erc7710WalletClient as e, type Erc7715Client as f, type GetSupportedExecutionPermissionsResult as g, type MetaMaskExtensionSchema as h, index as i, type NativeTokenPeriodicPermission as j, type NativeTokenStreamPermission as k, type PermissionRequestParameter as l, type PermissionTypes as m, type RedelegatePermissionContextParameters as n, type RedelegatePermissionContextReturnType as o, type RequestExecutionPermissionsParameters as p, type RequestExecutionPermissionsReturnType as q, type RpcGetGrantedExecutionPermissionsResult as r, type RpcGetSupportedExecutionPermissionsResult as s, type RpcSupportedPermissionInfo as t, type SignDelegationReturnType as u, type SignUserOperationParameters as v, type SignUserOperationReturnType as w, type StreamingResult as x, type SupportedPermissionInfo as y, erc7710BundlerActions as z };
@@ -1,9 +1,8 @@
1
1
  import { ANY_BENEFICIARY, ROOT_AUTHORITY } from '@metamask/delegation-core';
2
2
  import * as viem from 'viem';
3
3
  import { Client, Transport, Chain, Account, Address, Hex } from 'viem';
4
- import { f as DelegationStruct } from './delegation-BKkEyxZY.cjs';
5
- import { D as Delegation, P as PermissionContext } from './types-BWaH4KH1.cjs';
6
- import { E as ExecutionMode, b as ExecutionStruct } from './resolveCaveats-DiqGB-T5.cjs';
4
+ import { f as DecodedRevertReason, g as DelegationStruct } from './decodeRevertReason-CmmCpmZ_.cjs';
5
+ import { P as PermissionContext, E as ExecutionMode, e as ExecutionStruct, D as Delegation } from './resolveCaveats-A9xC29l8.cjs';
7
6
 
8
7
  declare const NAME$1 = "DelegationManager";
9
8
  declare const VERSION$1 = "1.3.0";
@@ -22,18 +21,21 @@ type P256Owner = {
22
21
  };
23
22
  type InitializedClient = Client<Transport, Chain, Account>;
24
23
 
25
- type EncodeDisableDelegationParameters$1 = {
26
- delegation: Delegation;
24
+ type EncodeRedeemDelegationsParameters = {
25
+ delegations: PermissionContext[];
26
+ modes: ExecutionMode[];
27
+ executions: ExecutionStruct[][];
27
28
  };
28
- type SimulateDisableDelegationParameters$1 = {
29
+ type SimulateRedeemDelegationsParameters = {
29
30
  client: Client;
30
31
  delegationManagerAddress: Address;
31
- } & EncodeDisableDelegationParameters$1;
32
- type ExecuteDisableDelegationParameters$1 = {
32
+ } & EncodeRedeemDelegationsParameters;
33
+ type ExecuteRedeemDelegationsParameters = {
33
34
  client: InitializedClient;
34
35
  delegationManagerAddress: Address;
35
- } & EncodeDisableDelegationParameters$1;
36
- declare const simulate$y: ({ client, delegationManagerAddress, delegation, }: SimulateDisableDelegationParameters$1) => Promise<viem.SimulateContractReturnType<readonly [{
36
+ } & EncodeRedeemDelegationsParameters;
37
+ type DecodeRedeemDelegationsErrorReturnType = DecodedRevertReason | undefined;
38
+ declare const simulate$y: ({ client, delegationManagerAddress, delegations, modes, executions, }: SimulateRedeemDelegationsParameters) => Promise<viem.SimulateContractReturnType<readonly [{
37
39
  readonly type: "constructor";
38
40
  readonly inputs: readonly [{
39
41
  readonly name: "_owner";
@@ -744,70 +746,45 @@ declare const simulate$y: ({ client, delegationManagerAddress, delegation, }: Si
744
746
  readonly type: "string";
745
747
  readonly internalType: "string";
746
748
  }];
747
- }], "disableDelegation", readonly [DelegationStruct], viem.Chain | undefined, viem.Account | undefined, undefined, undefined, readonly [{
749
+ }], "redeemDelegations", readonly [`0x${string}`[], ExecutionMode[], `0x${string}`[]], viem.Chain | undefined, viem.Account | undefined, undefined, undefined, readonly [{
748
750
  readonly type: "function";
749
- readonly name: "disableDelegation";
751
+ readonly name: "redeemDelegations";
750
752
  readonly inputs: readonly [{
751
- readonly name: "_delegation";
752
- readonly type: "tuple";
753
- readonly internalType: "struct Delegation";
754
- readonly components: readonly [{
755
- readonly name: "delegate";
756
- readonly type: "address";
757
- readonly internalType: "address";
758
- }, {
759
- readonly name: "delegator";
760
- readonly type: "address";
761
- readonly internalType: "address";
762
- }, {
763
- readonly name: "authority";
764
- readonly type: "bytes32";
765
- readonly internalType: "bytes32";
766
- }, {
767
- readonly name: "caveats";
768
- readonly type: "tuple[]";
769
- readonly internalType: "struct Caveat[]";
770
- readonly components: readonly [{
771
- readonly name: "enforcer";
772
- readonly type: "address";
773
- readonly internalType: "address";
774
- }, {
775
- readonly name: "terms";
776
- readonly type: "bytes";
777
- readonly internalType: "bytes";
778
- }, {
779
- readonly name: "args";
780
- readonly type: "bytes";
781
- readonly internalType: "bytes";
782
- }];
783
- }, {
784
- readonly name: "salt";
785
- readonly type: "uint256";
786
- readonly internalType: "uint256";
787
- }, {
788
- readonly name: "signature";
789
- readonly type: "bytes";
790
- readonly internalType: "bytes";
791
- }];
753
+ readonly name: "_permissionContexts";
754
+ readonly type: "bytes[]";
755
+ readonly internalType: "bytes[]";
756
+ }, {
757
+ readonly name: "_modes";
758
+ readonly type: "bytes32[]";
759
+ readonly internalType: "ModeCode[]";
760
+ }, {
761
+ readonly name: "_executionCallDatas";
762
+ readonly type: "bytes[]";
763
+ readonly internalType: "bytes[]";
792
764
  }];
793
765
  readonly outputs: readonly [];
794
766
  readonly stateMutability: "nonpayable";
795
767
  }], viem.Account | undefined>>;
796
- declare const execute$k: ({ client, delegationManagerAddress, delegation, }: ExecuteDisableDelegationParameters$1) => Promise<`0x${string}`>;
797
- declare const encode$z: ({ delegation }: EncodeDisableDelegationParameters$1) => `0x${string}`;
768
+ declare const execute$k: ({ client, delegationManagerAddress, delegations, modes, executions, }: ExecuteRedeemDelegationsParameters) => Promise<`0x${string}`>;
769
+ declare const encode$z: ({ delegations, modes, executions, }: EncodeRedeemDelegationsParameters) => `0x${string}`;
770
+ declare const decodeError: (error: unknown) => DecodeRedeemDelegationsErrorReturnType;
798
771
 
799
- type EncodeEnableDelegationParameters$1 = {
772
+ declare namespace decode {
773
+ export { decodeError as redeemDelegationsError };
774
+ }
775
+
776
+ type EncodeDisableDelegationParameters$1 = {
800
777
  delegation: Delegation;
801
778
  };
802
- type SimulateEnableDelegationParameters$1 = {
779
+ type SimulateDisableDelegationParameters$1 = {
803
780
  client: Client;
804
781
  delegationManagerAddress: Address;
805
- } & EncodeEnableDelegationParameters$1;
806
- type ExecuteEnableDelegationParameters$1 = {
782
+ } & EncodeDisableDelegationParameters$1;
783
+ type ExecuteDisableDelegationParameters$1 = {
807
784
  client: InitializedClient;
808
785
  delegationManagerAddress: Address;
809
- } & EncodeEnableDelegationParameters$1;
810
- declare const simulate$x: ({ client, delegationManagerAddress, delegation, }: SimulateEnableDelegationParameters$1) => Promise<viem.SimulateContractReturnType<readonly [{
786
+ } & EncodeDisableDelegationParameters$1;
787
+ declare const simulate$x: ({ client, delegationManagerAddress, delegation, }: SimulateDisableDelegationParameters$1) => Promise<viem.SimulateContractReturnType<readonly [{
811
788
  readonly type: "constructor";
812
789
  readonly inputs: readonly [{
813
790
  readonly name: "_owner";
@@ -1518,9 +1495,9 @@ declare const simulate$x: ({ client, delegationManagerAddress, delegation, }: Si
1518
1495
  readonly type: "string";
1519
1496
  readonly internalType: "string";
1520
1497
  }];
1521
- }], "enableDelegation", readonly [DelegationStruct], viem.Chain | undefined, viem.Account | undefined, undefined, undefined, readonly [{
1498
+ }], "disableDelegation", readonly [DelegationStruct], viem.Chain | undefined, viem.Account | undefined, undefined, undefined, readonly [{
1522
1499
  readonly type: "function";
1523
- readonly name: "enableDelegation";
1500
+ readonly name: "disableDelegation";
1524
1501
  readonly inputs: readonly [{
1525
1502
  readonly name: "_delegation";
1526
1503
  readonly type: "tuple";
@@ -1567,23 +1544,21 @@ declare const simulate$x: ({ client, delegationManagerAddress, delegation, }: Si
1567
1544
  readonly outputs: readonly [];
1568
1545
  readonly stateMutability: "nonpayable";
1569
1546
  }], viem.Account | undefined>>;
1570
- declare const execute$j: ({ client, delegationManagerAddress, delegation, }: ExecuteEnableDelegationParameters$1) => Promise<`0x${string}`>;
1571
- declare const encode$y: ({ delegation }: EncodeEnableDelegationParameters$1) => `0x${string}`;
1547
+ declare const execute$j: ({ client, delegationManagerAddress, delegation, }: ExecuteDisableDelegationParameters$1) => Promise<`0x${string}`>;
1548
+ declare const encode$y: ({ delegation }: EncodeDisableDelegationParameters$1) => `0x${string}`;
1572
1549
 
1573
- type EncodeRedeemDelegationsParameters = {
1574
- delegations: PermissionContext[];
1575
- modes: ExecutionMode[];
1576
- executions: ExecutionStruct[][];
1550
+ type EncodeEnableDelegationParameters$1 = {
1551
+ delegation: Delegation;
1577
1552
  };
1578
- type SimulateRedeemDelegationsParameters = {
1553
+ type SimulateEnableDelegationParameters$1 = {
1579
1554
  client: Client;
1580
1555
  delegationManagerAddress: Address;
1581
- } & EncodeRedeemDelegationsParameters;
1582
- type ExecuteRedeemDelegationsParameters = {
1556
+ } & EncodeEnableDelegationParameters$1;
1557
+ type ExecuteEnableDelegationParameters$1 = {
1583
1558
  client: InitializedClient;
1584
1559
  delegationManagerAddress: Address;
1585
- } & EncodeRedeemDelegationsParameters;
1586
- declare const simulate$w: ({ client, delegationManagerAddress, delegations, modes, executions, }: SimulateRedeemDelegationsParameters) => Promise<viem.SimulateContractReturnType<readonly [{
1560
+ } & EncodeEnableDelegationParameters$1;
1561
+ declare const simulate$w: ({ client, delegationManagerAddress, delegation, }: SimulateEnableDelegationParameters$1) => Promise<viem.SimulateContractReturnType<readonly [{
1587
1562
  readonly type: "constructor";
1588
1563
  readonly inputs: readonly [{
1589
1564
  readonly name: "_owner";
@@ -2294,34 +2269,64 @@ declare const simulate$w: ({ client, delegationManagerAddress, delegations, mode
2294
2269
  readonly type: "string";
2295
2270
  readonly internalType: "string";
2296
2271
  }];
2297
- }], "redeemDelegations", readonly [`0x${string}`[], ExecutionMode[], `0x${string}`[]], viem.Chain | undefined, viem.Account | undefined, undefined, undefined, readonly [{
2272
+ }], "enableDelegation", readonly [DelegationStruct], viem.Chain | undefined, viem.Account | undefined, undefined, undefined, readonly [{
2298
2273
  readonly type: "function";
2299
- readonly name: "redeemDelegations";
2274
+ readonly name: "enableDelegation";
2300
2275
  readonly inputs: readonly [{
2301
- readonly name: "_permissionContexts";
2302
- readonly type: "bytes[]";
2303
- readonly internalType: "bytes[]";
2304
- }, {
2305
- readonly name: "_modes";
2306
- readonly type: "bytes32[]";
2307
- readonly internalType: "ModeCode[]";
2308
- }, {
2309
- readonly name: "_executionCallDatas";
2310
- readonly type: "bytes[]";
2311
- readonly internalType: "bytes[]";
2276
+ readonly name: "_delegation";
2277
+ readonly type: "tuple";
2278
+ readonly internalType: "struct Delegation";
2279
+ readonly components: readonly [{
2280
+ readonly name: "delegate";
2281
+ readonly type: "address";
2282
+ readonly internalType: "address";
2283
+ }, {
2284
+ readonly name: "delegator";
2285
+ readonly type: "address";
2286
+ readonly internalType: "address";
2287
+ }, {
2288
+ readonly name: "authority";
2289
+ readonly type: "bytes32";
2290
+ readonly internalType: "bytes32";
2291
+ }, {
2292
+ readonly name: "caveats";
2293
+ readonly type: "tuple[]";
2294
+ readonly internalType: "struct Caveat[]";
2295
+ readonly components: readonly [{
2296
+ readonly name: "enforcer";
2297
+ readonly type: "address";
2298
+ readonly internalType: "address";
2299
+ }, {
2300
+ readonly name: "terms";
2301
+ readonly type: "bytes";
2302
+ readonly internalType: "bytes";
2303
+ }, {
2304
+ readonly name: "args";
2305
+ readonly type: "bytes";
2306
+ readonly internalType: "bytes";
2307
+ }];
2308
+ }, {
2309
+ readonly name: "salt";
2310
+ readonly type: "uint256";
2311
+ readonly internalType: "uint256";
2312
+ }, {
2313
+ readonly name: "signature";
2314
+ readonly type: "bytes";
2315
+ readonly internalType: "bytes";
2316
+ }];
2312
2317
  }];
2313
2318
  readonly outputs: readonly [];
2314
2319
  readonly stateMutability: "nonpayable";
2315
2320
  }], viem.Account | undefined>>;
2316
- declare const execute$i: ({ client, delegationManagerAddress, delegations, modes, executions, }: ExecuteRedeemDelegationsParameters) => Promise<`0x${string}`>;
2317
- declare const encode$x: ({ delegations, modes, executions, }: EncodeRedeemDelegationsParameters) => `0x${string}`;
2321
+ declare const execute$i: ({ client, delegationManagerAddress, delegation, }: ExecuteEnableDelegationParameters$1) => Promise<`0x${string}`>;
2322
+ declare const encode$x: ({ delegation }: EncodeEnableDelegationParameters$1) => `0x${string}`;
2318
2323
 
2319
2324
  declare namespace encode$w {
2320
- export { encode$z as disableDelegation, encode$y as enableDelegation, encode$x as redeemDelegations };
2325
+ export { encode$y as disableDelegation, encode$x as enableDelegation, encode$z as redeemDelegations };
2321
2326
  }
2322
2327
 
2323
2328
  declare namespace execute$h {
2324
- export { execute$k as disableDelegation, execute$j as enableDelegation, execute$i as redeemDelegations };
2329
+ export { execute$j as disableDelegation, execute$i as enableDelegation, execute$k as redeemDelegations };
2325
2330
  }
2326
2331
 
2327
2332
  type ReadDisabledDelegationsParameters = {
@@ -2348,11 +2353,12 @@ declare namespace read$X {
2348
2353
  }
2349
2354
 
2350
2355
  declare namespace simulate$v {
2351
- export { simulate$y as disableDelegation, simulate$x as enableDelegation, simulate$w as redeemDelegations };
2356
+ export { simulate$x as disableDelegation, simulate$w as enableDelegation, simulate$y as redeemDelegations };
2352
2357
  }
2353
2358
 
2359
+ declare const index$k_decode: typeof decode;
2354
2360
  declare namespace index$k {
2355
- export { constants$2 as constants, encode$w as encode, execute$h as execute, read$X as read, simulate$v as simulate };
2361
+ export { constants$2 as constants, index$k_decode as decode, encode$w as encode, execute$h as execute, read$X as read, simulate$v as simulate };
2356
2362
  }
2357
2363
 
2358
2364
  type SimulateDisableDelegationParameters = {