@metamask/smart-accounts-kit 1.4.0 → 1.5.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.
- package/CHANGELOG.md +12 -1
- package/dist/actions/index.cjs +8 -4
- package/dist/actions/index.cjs.map +1 -1
- package/dist/actions/index.d.cts +4 -2
- package/dist/actions/index.d.ts +4 -2
- package/dist/actions/index.mjs +7 -3
- package/dist/{caveats-CeHBbmt_.d.cts → caveats-CaSt_VHs.d.cts} +1 -1
- package/dist/{caveats-BhjGBVHX.d.ts → caveats-DQ6HoAHe.d.ts} +1 -1
- package/dist/{chunk-XZ7UMCG3.cjs → chunk-7FYDQNJ3.cjs} +12 -12
- package/dist/{chunk-XZ7UMCG3.cjs.map → chunk-7FYDQNJ3.cjs.map} +1 -1
- package/dist/{chunk-R2WT54GZ.mjs → chunk-BGOSYTKV.mjs} +179 -57
- package/dist/chunk-BGOSYTKV.mjs.map +1 -0
- package/dist/{chunk-RR2AMG4A.cjs → chunk-DN4O5VOP.cjs} +102 -102
- package/dist/{chunk-RR2AMG4A.cjs.map → chunk-DN4O5VOP.cjs.map} +1 -1
- package/dist/{chunk-SO5JAXGD.cjs → chunk-FH6HZCHI.cjs} +11 -11
- package/dist/{chunk-SO5JAXGD.cjs.map → chunk-FH6HZCHI.cjs.map} +1 -1
- package/dist/{chunk-TMO23YRP.cjs → chunk-IBZSNB7D.cjs} +64 -20
- package/dist/chunk-IBZSNB7D.cjs.map +1 -0
- package/dist/{chunk-EEIIVBNV.mjs → chunk-MV2KHN75.mjs} +64 -20
- package/dist/{chunk-EEIIVBNV.mjs.map → chunk-MV2KHN75.mjs.map} +1 -1
- package/dist/{chunk-DVJX76J3.mjs → chunk-N66VAWMO.mjs} +2 -2
- package/dist/{chunk-MVBU3LRV.cjs → chunk-SCS3CFRE.cjs} +10 -10
- package/dist/{chunk-MVBU3LRV.cjs.map → chunk-SCS3CFRE.cjs.map} +1 -1
- package/dist/{chunk-HQHXGWNJ.mjs → chunk-TBHT26BV.mjs} +4 -4
- package/dist/{chunk-ZGBFPD4O.mjs → chunk-W7O2UQL5.mjs} +2 -2
- package/dist/{chunk-6CEOFJY5.cjs → chunk-XEOE25DE.cjs} +229 -107
- package/dist/chunk-XEOE25DE.cjs.map +1 -0
- package/dist/{chunk-FG2CQGSE.mjs → chunk-YXHUT56Z.mjs} +3 -3
- package/dist/contracts/index.cjs +5 -5
- package/dist/contracts/index.d.cts +3 -2
- package/dist/contracts/index.d.ts +3 -2
- package/dist/contracts/index.mjs +4 -4
- package/dist/delegation-BKkEyxZY.d.cts +64 -0
- package/dist/delegation-DbPGWKfP.d.ts +64 -0
- package/dist/experimental/index.cjs +7 -7
- package/dist/experimental/index.mjs +1 -1
- package/dist/{index-DRKgDSZW.d.ts → index-DXdlz7t4.d.ts} +2 -1
- package/dist/{index-BToRQKyJ.d.cts → index-DfDAuvr5.d.cts} +37 -4
- package/dist/{index-Cg-JakqA.d.ts → index-G78z6nwi.d.ts} +37 -4
- package/dist/{index-DzL9ccjU.d.cts → index-yU3olCJV.d.cts} +2 -1
- package/dist/index.cjs +19 -19
- package/dist/index.d.cts +6 -5
- package/dist/index.d.ts +6 -5
- package/dist/index.mjs +6 -6
- package/dist/{delegation-CR99q1-n.d.ts → resolveCaveats-DiqGB-T5.d.cts} +3 -52
- package/dist/{delegation-DoVULGYE.d.cts → resolveCaveats-s2snaFEo.d.ts} +3 -52
- package/dist/utils/index.cjs +4 -4
- package/dist/utils/index.d.cts +3 -2
- package/dist/utils/index.d.ts +3 -2
- package/dist/utils/index.mjs +3 -3
- package/package.json +2 -2
- package/dist/chunk-6CEOFJY5.cjs.map +0 -1
- package/dist/chunk-R2WT54GZ.mjs.map +0 -1
- package/dist/chunk-TMO23YRP.cjs.map +0 -1
- /package/dist/{chunk-DVJX76J3.mjs.map → chunk-N66VAWMO.mjs.map} +0 -0
- /package/dist/{chunk-HQHXGWNJ.mjs.map → chunk-TBHT26BV.mjs.map} +0 -0
- /package/dist/{chunk-ZGBFPD4O.mjs.map → chunk-W7O2UQL5.mjs.map} +0 -0
- /package/dist/{chunk-FG2CQGSE.mjs.map → chunk-YXHUT56Z.mjs.map} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.5.0]
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Add utils and wallet actions for redelegating a `permissionContext`: ([#217](https://github.com/metamask/smart-accounts-kit/pull/217), [#229](https://github.com/metamask/smart-accounts-kit/pull/229))
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- Bumped @metamask/delegation-core from ^2.0.0 to ^2.1.0 ([#231](https://github.com/MetaMask/smart-accounts-kit/pull/231))
|
|
19
|
+
|
|
10
20
|
## [1.4.0]
|
|
11
21
|
|
|
12
22
|
### Added
|
|
@@ -128,7 +138,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
128
138
|
|
|
129
139
|
- Promote readable permissions actions (`requestExecutionPermissions`, `sendTransactionWithDelegation`, and `sendUserOperationWithDelegation`) from experimental ([#91](https://github.com/MetaMask/smart-accounts-kit/pull/91))
|
|
130
140
|
|
|
131
|
-
[Unreleased]: https://github.com/metamask/smart-accounts-kit/compare/@metamask/smart-accounts-kit@1.
|
|
141
|
+
[Unreleased]: https://github.com/metamask/smart-accounts-kit/compare/@metamask/smart-accounts-kit@1.5.0...HEAD
|
|
142
|
+
[1.5.0]: https://github.com/metamask/smart-accounts-kit/compare/@metamask/smart-accounts-kit@1.4.0...@metamask/smart-accounts-kit@1.5.0
|
|
132
143
|
[1.4.0]: https://github.com/metamask/smart-accounts-kit/compare/@metamask/smart-accounts-kit@1.3.0...@metamask/smart-accounts-kit@1.4.0
|
|
133
144
|
[1.3.0]: https://github.com/metamask/smart-accounts-kit/compare/@metamask/smart-accounts-kit@1.2.0...@metamask/smart-accounts-kit@1.3.0
|
|
134
145
|
[1.2.0]: https://github.com/metamask/smart-accounts-kit/compare/@metamask/smart-accounts-kit@1.1.0...@metamask/smart-accounts-kit@1.2.0
|
package/dist/actions/index.cjs
CHANGED
|
@@ -16,11 +16,15 @@
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
var _chunkXEOE25DEcjs = require('../chunk-XEOE25DE.cjs');
|
|
22
|
+
require('../chunk-7FYDQNJ3.cjs');
|
|
21
23
|
require('../chunk-SOFB2MXG.cjs');
|
|
22
24
|
require('../chunk-MOHCTPYQ.cjs');
|
|
23
|
-
require('../chunk-
|
|
25
|
+
require('../chunk-IBZSNB7D.cjs');
|
|
26
|
+
|
|
27
|
+
|
|
24
28
|
|
|
25
29
|
|
|
26
30
|
|
|
@@ -39,5 +43,5 @@ require('../chunk-TMO23YRP.cjs');
|
|
|
39
43
|
|
|
40
44
|
|
|
41
45
|
|
|
42
|
-
exports.caveatEnforcerActions =
|
|
46
|
+
exports.caveatEnforcerActions = _chunkXEOE25DEcjs.caveatEnforcerActions; exports.erc7710BundlerActions = _chunkXEOE25DEcjs.erc7710BundlerActions; exports.erc7710WalletActions = _chunkXEOE25DEcjs.erc7710WalletActions; exports.erc7715ProviderActions = _chunkXEOE25DEcjs.erc7715ProviderActions; exports.getErc20PeriodTransferEnforcerAvailableAmount = _chunkXEOE25DEcjs.getErc20PeriodTransferEnforcerAvailableAmount; exports.getErc20StreamingEnforcerAvailableAmount = _chunkXEOE25DEcjs.getErc20StreamingEnforcerAvailableAmount; exports.getGrantedExecutionPermissions = _chunkXEOE25DEcjs.erc7715GetGrantedExecutionPermissionsAction; exports.getMultiTokenPeriodEnforcerAvailableAmount = _chunkXEOE25DEcjs.getMultiTokenPeriodEnforcerAvailableAmount; exports.getNativeTokenPeriodTransferEnforcerAvailableAmount = _chunkXEOE25DEcjs.getNativeTokenPeriodTransferEnforcerAvailableAmount; exports.getNativeTokenStreamingEnforcerAvailableAmount = _chunkXEOE25DEcjs.getNativeTokenStreamingEnforcerAvailableAmount; exports.getSupportedExecutionPermissions = _chunkXEOE25DEcjs.erc7715GetSupportedExecutionPermissionsAction; exports.isValid7702Implementation = _chunkXEOE25DEcjs.isValid7702Implementation; exports.redelegatePermissionContextAction = _chunkXEOE25DEcjs.redelegatePermissionContextAction; exports.redelegatePermissionContextOpenAction = _chunkXEOE25DEcjs.redelegatePermissionContextOpenAction; exports.requestExecutionPermissions = _chunkXEOE25DEcjs.erc7715RequestExecutionPermissionsAction; exports.signDelegation = _chunkXEOE25DEcjs.signDelegation; exports.signDelegationActions = _chunkXEOE25DEcjs.signDelegationActions; exports.signUserOperation = _chunkXEOE25DEcjs.signUserOperation; exports.signUserOperationActions = _chunkXEOE25DEcjs.signUserOperationActions;
|
|
43
47
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/smart-accounts-kit/smart-accounts-kit/packages/smart-accounts-kit/dist/actions/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/smart-accounts-kit/smart-accounts-kit/packages/smart-accounts-kit/dist/actions/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,muDAAC","file":"/home/runner/work/smart-accounts-kit/smart-accounts-kit/packages/smart-accounts-kit/dist/actions/index.cjs"}
|
package/dist/actions/index.d.cts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
export { C as CaveatEnforcerParams, D as DelegatedCall, E as Erc20TokenAllowancePermission, a as Erc20TokenPeriodicPermission, b as Erc20TokenRevocationPermission, d as Erc20TokenStreamPermission, e as Erc7715Client, G as GetGrantedExecutionPermissionsResult,
|
|
1
|
+
export { C as CaveatEnforcerParams, D as DelegatedCall, E as Erc20TokenAllowancePermission, a as Erc20TokenPeriodicPermission, b as Erc20TokenRevocationPermission, d as Erc20TokenStreamPermission, e as Erc7710WalletClient, f as Erc7715Client, G as GetGrantedExecutionPermissionsResult, g as GetSupportedExecutionPermissionsResult, M as MetaMaskExtensionClient, h as MetaMaskExtensionSchema, N as NativeTokenAllowancePermission, j as NativeTokenPeriodicPermission, k as NativeTokenStreamPermission, P as PeriodTransferResult, l as PermissionRequestParameter, m as PermissionTypes, R as RedelegatePermissionContextOpenParameters, n as RedelegatePermissionContextParameters, o as RedelegatePermissionContextReturnType, p as RequestExecutionPermissionsParameters, q as RequestExecutionPermissionsReturnType, r as RpcGetGrantedExecutionPermissionsResult, s as RpcGetSupportedExecutionPermissionsResult, t as RpcSupportedPermissionInfo, S as SignDelegationParameters, u as SignDelegationReturnType, v as SignUserOperationParameters, w as SignUserOperationReturnType, x as StreamingResult, y as SupportedPermissionInfo, c as caveatEnforcerActions, z as erc7710BundlerActions, A as erc7710WalletActions, B as erc7715ProviderActions, F as getErc20PeriodTransferEnforcerAvailableAmount, H as getErc20StreamingEnforcerAvailableAmount, I as getGrantedExecutionPermissions, J as getMultiTokenPeriodEnforcerAvailableAmount, K as getNativeTokenPeriodTransferEnforcerAvailableAmount, L as getNativeTokenStreamingEnforcerAvailableAmount, O as getSupportedExecutionPermissions, Q as isValid7702Implementation, T as redelegatePermissionContextAction, U as redelegatePermissionContextOpenAction, V as requestExecutionPermissions, W as signDelegation, X as signDelegationActions, Y as signUserOperation, Z as signUserOperationActions } from '../index-DfDAuvr5.cjs';
|
|
2
2
|
import 'viem';
|
|
3
3
|
export { Rule } from '@metamask/7715-permission-types';
|
|
4
|
-
import 'viem/account-abstraction';
|
|
5
4
|
import '../types-BWaH4KH1.cjs';
|
|
6
5
|
import '@metamask/delegation-abis';
|
|
6
|
+
import 'viem/account-abstraction';
|
|
7
7
|
import 'viem/chains';
|
|
8
|
+
import '../resolveCaveats-DiqGB-T5.cjs';
|
|
9
|
+
import '@metamask/delegation-core';
|
|
8
10
|
import '../userOp-DKgjzz7B.cjs';
|
package/dist/actions/index.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
export { C as CaveatEnforcerParams, D as DelegatedCall, E as Erc20TokenAllowancePermission, a as Erc20TokenPeriodicPermission, b as Erc20TokenRevocationPermission, d as Erc20TokenStreamPermission, e as Erc7715Client, G as GetGrantedExecutionPermissionsResult,
|
|
1
|
+
export { C as CaveatEnforcerParams, D as DelegatedCall, E as Erc20TokenAllowancePermission, a as Erc20TokenPeriodicPermission, b as Erc20TokenRevocationPermission, d as Erc20TokenStreamPermission, e as Erc7710WalletClient, f as Erc7715Client, G as GetGrantedExecutionPermissionsResult, g as GetSupportedExecutionPermissionsResult, M as MetaMaskExtensionClient, h as MetaMaskExtensionSchema, N as NativeTokenAllowancePermission, j as NativeTokenPeriodicPermission, k as NativeTokenStreamPermission, P as PeriodTransferResult, l as PermissionRequestParameter, m as PermissionTypes, R as RedelegatePermissionContextOpenParameters, n as RedelegatePermissionContextParameters, o as RedelegatePermissionContextReturnType, p as RequestExecutionPermissionsParameters, q as RequestExecutionPermissionsReturnType, r as RpcGetGrantedExecutionPermissionsResult, s as RpcGetSupportedExecutionPermissionsResult, t as RpcSupportedPermissionInfo, S as SignDelegationParameters, u as SignDelegationReturnType, v as SignUserOperationParameters, w as SignUserOperationReturnType, x as StreamingResult, y as SupportedPermissionInfo, c as caveatEnforcerActions, z as erc7710BundlerActions, A as erc7710WalletActions, B as erc7715ProviderActions, F as getErc20PeriodTransferEnforcerAvailableAmount, H as getErc20StreamingEnforcerAvailableAmount, I as getGrantedExecutionPermissions, J as getMultiTokenPeriodEnforcerAvailableAmount, K as getNativeTokenPeriodTransferEnforcerAvailableAmount, L as getNativeTokenStreamingEnforcerAvailableAmount, O as getSupportedExecutionPermissions, Q as isValid7702Implementation, T as redelegatePermissionContextAction, U as redelegatePermissionContextOpenAction, V as requestExecutionPermissions, W as signDelegation, X as signDelegationActions, Y as signUserOperation, Z as signUserOperationActions } from '../index-G78z6nwi.js';
|
|
2
2
|
import 'viem';
|
|
3
3
|
export { Rule } from '@metamask/7715-permission-types';
|
|
4
|
-
import 'viem/account-abstraction';
|
|
5
4
|
import '../types-BWaH4KH1.js';
|
|
6
5
|
import '@metamask/delegation-abis';
|
|
6
|
+
import 'viem/account-abstraction';
|
|
7
7
|
import 'viem/chains';
|
|
8
|
+
import '../resolveCaveats-s2snaFEo.js';
|
|
9
|
+
import '@metamask/delegation-core';
|
|
8
10
|
import '../userOp-DKgjzz7B.js';
|
package/dist/actions/index.mjs
CHANGED
|
@@ -12,15 +12,17 @@ import {
|
|
|
12
12
|
getNativeTokenPeriodTransferEnforcerAvailableAmount,
|
|
13
13
|
getNativeTokenStreamingEnforcerAvailableAmount,
|
|
14
14
|
isValid7702Implementation,
|
|
15
|
+
redelegatePermissionContextAction,
|
|
16
|
+
redelegatePermissionContextOpenAction,
|
|
15
17
|
signDelegation,
|
|
16
18
|
signDelegationActions,
|
|
17
19
|
signUserOperation,
|
|
18
20
|
signUserOperationActions
|
|
19
|
-
} from "../chunk-
|
|
20
|
-
import "../chunk-
|
|
21
|
+
} from "../chunk-BGOSYTKV.mjs";
|
|
22
|
+
import "../chunk-N66VAWMO.mjs";
|
|
21
23
|
import "../chunk-QCULIK3O.mjs";
|
|
22
24
|
import "../chunk-4QXIOE7F.mjs";
|
|
23
|
-
import "../chunk-
|
|
25
|
+
import "../chunk-MV2KHN75.mjs";
|
|
24
26
|
export {
|
|
25
27
|
caveatEnforcerActions,
|
|
26
28
|
erc7710BundlerActions,
|
|
@@ -34,6 +36,8 @@ export {
|
|
|
34
36
|
getNativeTokenStreamingEnforcerAvailableAmount,
|
|
35
37
|
erc7715GetSupportedExecutionPermissionsAction as getSupportedExecutionPermissions,
|
|
36
38
|
isValid7702Implementation,
|
|
39
|
+
redelegatePermissionContextAction,
|
|
40
|
+
redelegatePermissionContextOpenAction,
|
|
37
41
|
erc7715RequestExecutionPermissionsAction as requestExecutionPermissions,
|
|
38
42
|
signDelegation,
|
|
39
43
|
signDelegationActions,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { WalletClient, PublicClient, Chain, Hex } from 'viem';
|
|
2
2
|
import { S as SmartAccountsEnvironment, C as Caveat } from './types-BWaH4KH1.cjs';
|
|
3
|
-
import {
|
|
3
|
+
import { l as CoreCaveatConfiguration } from './resolveCaveats-DiqGB-T5.cjs';
|
|
4
4
|
|
|
5
5
|
type SupportedVersion = '1.0.0' | '1.1.0' | '1.2.0' | '1.3.0';
|
|
6
6
|
declare const PREFERRED_VERSION: SupportedVersion;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { WalletClient, PublicClient, Chain, Hex } from 'viem';
|
|
2
2
|
import { S as SmartAccountsEnvironment, C as Caveat } from './types-BWaH4KH1.js';
|
|
3
|
-
import {
|
|
3
|
+
import { l as CoreCaveatConfiguration } from './resolveCaveats-s2snaFEo.js';
|
|
4
4
|
|
|
5
5
|
type SupportedVersion = '1.0.0' | '1.1.0' | '1.2.0' | '1.3.0';
|
|
6
6
|
declare const PREFERRED_VERSION: SupportedVersion;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkIBZSNB7Dcjs = require('./chunk-IBZSNB7D.cjs');
|
|
4
4
|
|
|
5
5
|
// src/DelegationFramework/ERC20PeriodTransferEnforcer/index.ts
|
|
6
6
|
var ERC20PeriodTransferEnforcer_exports = {};
|
|
7
|
-
|
|
7
|
+
_chunkIBZSNB7Dcjs.__export.call(void 0, ERC20PeriodTransferEnforcer_exports, {
|
|
8
8
|
read: () => read_exports
|
|
9
9
|
});
|
|
10
10
|
|
|
11
11
|
// src/DelegationFramework/ERC20PeriodTransferEnforcer/read.ts
|
|
12
12
|
var read_exports = {};
|
|
13
|
-
|
|
13
|
+
_chunkIBZSNB7Dcjs.__export.call(void 0, read_exports, {
|
|
14
14
|
getAvailableAmount: () => read
|
|
15
15
|
});
|
|
16
16
|
|
|
@@ -42,13 +42,13 @@ var read = async ({
|
|
|
42
42
|
|
|
43
43
|
// src/DelegationFramework/ERC20StreamingEnforcer/index.ts
|
|
44
44
|
var ERC20StreamingEnforcer_exports = {};
|
|
45
|
-
|
|
45
|
+
_chunkIBZSNB7Dcjs.__export.call(void 0, ERC20StreamingEnforcer_exports, {
|
|
46
46
|
read: () => read_exports2
|
|
47
47
|
});
|
|
48
48
|
|
|
49
49
|
// src/DelegationFramework/ERC20StreamingEnforcer/read.ts
|
|
50
50
|
var read_exports2 = {};
|
|
51
|
-
|
|
51
|
+
_chunkIBZSNB7Dcjs.__export.call(void 0, read_exports2, {
|
|
52
52
|
getAvailableAmount: () => read2
|
|
53
53
|
});
|
|
54
54
|
|
|
@@ -126,13 +126,13 @@ function getAvailableAmount(allowance) {
|
|
|
126
126
|
|
|
127
127
|
// src/DelegationFramework/MultiTokenPeriodEnforcer/index.ts
|
|
128
128
|
var MultiTokenPeriodEnforcer_exports = {};
|
|
129
|
-
|
|
129
|
+
_chunkIBZSNB7Dcjs.__export.call(void 0, MultiTokenPeriodEnforcer_exports, {
|
|
130
130
|
read: () => read_exports3
|
|
131
131
|
});
|
|
132
132
|
|
|
133
133
|
// src/DelegationFramework/MultiTokenPeriodEnforcer/read.ts
|
|
134
134
|
var read_exports3 = {};
|
|
135
|
-
|
|
135
|
+
_chunkIBZSNB7Dcjs.__export.call(void 0, read_exports3, {
|
|
136
136
|
getAvailableAmount: () => read3
|
|
137
137
|
});
|
|
138
138
|
|
|
@@ -165,13 +165,13 @@ var read3 = async ({
|
|
|
165
165
|
|
|
166
166
|
// src/DelegationFramework/NativeTokenPeriodTransferEnforcer/index.ts
|
|
167
167
|
var NativeTokenPeriodTransferEnforcer_exports = {};
|
|
168
|
-
|
|
168
|
+
_chunkIBZSNB7Dcjs.__export.call(void 0, NativeTokenPeriodTransferEnforcer_exports, {
|
|
169
169
|
read: () => read_exports4
|
|
170
170
|
});
|
|
171
171
|
|
|
172
172
|
// src/DelegationFramework/NativeTokenPeriodTransferEnforcer/read.ts
|
|
173
173
|
var read_exports4 = {};
|
|
174
|
-
|
|
174
|
+
_chunkIBZSNB7Dcjs.__export.call(void 0, read_exports4, {
|
|
175
175
|
getAvailableAmount: () => read4
|
|
176
176
|
});
|
|
177
177
|
|
|
@@ -203,13 +203,13 @@ var read4 = async ({
|
|
|
203
203
|
|
|
204
204
|
// src/DelegationFramework/NativeTokenStreamingEnforcer/index.ts
|
|
205
205
|
var NativeTokenStreamingEnforcer_exports = {};
|
|
206
|
-
|
|
206
|
+
_chunkIBZSNB7Dcjs.__export.call(void 0, NativeTokenStreamingEnforcer_exports, {
|
|
207
207
|
read: () => read_exports5
|
|
208
208
|
});
|
|
209
209
|
|
|
210
210
|
// src/DelegationFramework/NativeTokenStreamingEnforcer/read.ts
|
|
211
211
|
var read_exports5 = {};
|
|
212
|
-
|
|
212
|
+
_chunkIBZSNB7Dcjs.__export.call(void 0, read_exports5, {
|
|
213
213
|
getAvailableAmount: () => read5
|
|
214
214
|
});
|
|
215
215
|
|
|
@@ -296,4 +296,4 @@ function getAvailableAmount2(allowance) {
|
|
|
296
296
|
|
|
297
297
|
|
|
298
298
|
exports.read_exports = read_exports; exports.ERC20PeriodTransferEnforcer_exports = ERC20PeriodTransferEnforcer_exports; exports.read_exports2 = read_exports2; exports.ERC20StreamingEnforcer_exports = ERC20StreamingEnforcer_exports; exports.read_exports3 = read_exports3; exports.MultiTokenPeriodEnforcer_exports = MultiTokenPeriodEnforcer_exports; exports.read_exports4 = read_exports4; exports.NativeTokenPeriodTransferEnforcer_exports = NativeTokenPeriodTransferEnforcer_exports; exports.read_exports5 = read_exports5; exports.NativeTokenStreamingEnforcer_exports = NativeTokenStreamingEnforcer_exports;
|
|
299
|
-
//# sourceMappingURL=chunk-
|
|
299
|
+
//# sourceMappingURL=chunk-7FYDQNJ3.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/smart-accounts-kit/smart-accounts-kit/packages/smart-accounts-kit/dist/chunk-XZ7UMCG3.cjs","../src/DelegationFramework/ERC20PeriodTransferEnforcer/index.ts","../src/DelegationFramework/ERC20PeriodTransferEnforcer/read.ts","../src/DelegationFramework/ERC20PeriodTransferEnforcer/methods/getAvailableAmount.ts","../src/DelegationFramework/ERC20StreamingEnforcer/index.ts","../src/DelegationFramework/ERC20StreamingEnforcer/read.ts","../src/DelegationFramework/ERC20StreamingEnforcer/methods/getAvailableAmount.ts","../src/DelegationFramework/MultiTokenPeriodEnforcer/index.ts","../src/DelegationFramework/MultiTokenPeriodEnforcer/read.ts","../src/DelegationFramework/MultiTokenPeriodEnforcer/methods/getAvailableAmount.ts","../src/DelegationFramework/NativeTokenPeriodTransferEnforcer/index.ts","../src/DelegationFramework/NativeTokenPeriodTransferEnforcer/read.ts","../src/DelegationFramework/NativeTokenPeriodTransferEnforcer/methods/getAvailableAmount.ts","../src/DelegationFramework/NativeTokenStreamingEnforcer/index.ts","../src/DelegationFramework/NativeTokenStreamingEnforcer/read.ts","../src/DelegationFramework/NativeTokenStreamingEnforcer/methods/getAvailableAmount.ts"],"names":["read_exports","read","readContract","availableAmount","getBlock","getAvailableAmount"],"mappings":"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","file":"/home/runner/work/smart-accounts-kit/smart-accounts-kit/packages/smart-accounts-kit/dist/chunk-XZ7UMCG3.cjs","sourcesContent":[null,"import * as read from './read';\n\nexport { read };\n","import { read as getAvailableAmount } from './methods/getAvailableAmount';\n\nexport { getAvailableAmount };\n","import { ERC20PeriodTransferEnforcer } from '@metamask/delegation-abis';\nimport type { Address, Client, Hex } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetAvailableAmountParameters = {\n client: Client;\n contractAddress: Address;\n delegationHash: Hex;\n delegationManager: Address;\n terms: Hex;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n delegationHash,\n delegationManager,\n terms,\n}: ReadGetAvailableAmountParameters) => {\n const [availableAmount, isNewPeriod, currentPeriod] = await readContract(\n client,\n {\n address: contractAddress,\n abi: ERC20PeriodTransferEnforcer,\n functionName: 'getAvailableAmount',\n args: [delegationHash, delegationManager, terms],\n },\n );\n\n return {\n availableAmount,\n isNewPeriod,\n currentPeriod,\n };\n};\n","import * as read from './read';\n\nexport { read };\n","import { read as getAvailableAmount } from './methods/getAvailableAmount';\n\nexport { getAvailableAmount };\n","import { ERC20StreamingEnforcer } from '@metamask/delegation-abis';\nimport type { Address, Client, Hex } from 'viem';\nimport { readContract, getBlock } from 'viem/actions';\n\nexport type ReadGetAvailableAmountParameters = {\n client: Client;\n contractAddress: Address;\n delegationManager: Address;\n delegationHash: Hex;\n terms: Hex;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n delegationManager,\n delegationHash,\n terms,\n}: ReadGetAvailableAmountParameters) => {\n // Get current block timestamp from blockchain\n const currentBlock = await getBlock(client);\n const currentTimestamp = currentBlock.timestamp;\n\n // First, get the current state from the contract\n const allowanceState = await readContract(client, {\n address: contractAddress,\n abi: ERC20StreamingEnforcer,\n functionName: 'streamingAllowances',\n args: [delegationManager, delegationHash],\n });\n\n const [initialAmount, maxAmount, amountPerSecond, startTime, spent] =\n allowanceState;\n\n // Check if state exists (startTime != 0)\n if (startTime !== 0n) {\n // State exists, calculate available amount using the stored state\n const availableAmount = getAvailableAmount({\n initialAmount,\n maxAmount,\n amountPerSecond,\n startTime,\n spent,\n currentTimestamp,\n });\n\n return {\n availableAmount,\n };\n }\n\n // State doesn't exist, decode terms and simulate with spent = 0\n const decodedTerms = await readContract(client, {\n address: contractAddress,\n abi: ERC20StreamingEnforcer,\n functionName: 'getTermsInfo',\n args: [terms],\n });\n\n const [\n ,\n decodedInitialAmount,\n decodedMaxAmount,\n decodedAmountPerSecond,\n decodedStartTime,\n ] = decodedTerms;\n\n // Simulate using decoded terms with spent = 0\n const availableAmount = getAvailableAmount({\n initialAmount: decodedInitialAmount,\n maxAmount: decodedMaxAmount,\n amountPerSecond: decodedAmountPerSecond,\n startTime: decodedStartTime,\n spent: 0n,\n currentTimestamp,\n });\n\n return {\n availableAmount,\n };\n};\n\n/**\n * Replicates the internal _getAvailableAmount logic from the smart contract.\n *\n * @param allowance - The allowance object containing all parameters.\n * @param allowance.initialAmount - The initial amount available.\n * @param allowance.maxAmount - The maximum amount allowed.\n * @param allowance.amountPerSecond - The amount streamed per second.\n * @param allowance.startTime - The start time of the streaming.\n * @param allowance.spent - The amount already spent.\n * @param allowance.currentTimestamp - The current timestamp.\n * @returns The available amount that can be spent.\n */\nfunction getAvailableAmount(allowance: {\n initialAmount: bigint;\n maxAmount: bigint;\n amountPerSecond: bigint;\n startTime: bigint;\n spent: bigint;\n currentTimestamp: bigint;\n}): bigint {\n // If current time is before start time, nothing is available\n if (allowance.currentTimestamp < allowance.startTime) {\n return 0n;\n }\n\n // Calculate elapsed time since start\n const elapsed = allowance.currentTimestamp - allowance.startTime;\n\n // Calculate total unlocked amount\n let unlocked = allowance.initialAmount + allowance.amountPerSecond * elapsed;\n\n // Cap by max amount\n if (unlocked > allowance.maxAmount) {\n unlocked = allowance.maxAmount;\n }\n\n // If spent >= unlocked, nothing available\n if (allowance.spent >= unlocked) {\n return 0n;\n }\n\n // Return available amount\n return unlocked - allowance.spent;\n}\n","import * as read from './read';\n\nexport { read };\n","import { read as getAvailableAmount } from './methods/getAvailableAmount';\n\nexport { getAvailableAmount };\n","import { MultiTokenPeriodEnforcer } from '@metamask/delegation-abis';\nimport type { Address, Client, Hex } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetAvailableAmountParameters = {\n client: Client;\n contractAddress: Address;\n delegationHash: Hex;\n delegationManager: Address;\n terms: Hex;\n args: Hex;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n delegationHash,\n delegationManager,\n terms,\n args,\n}: ReadGetAvailableAmountParameters) => {\n const [availableAmount, isNewPeriod, currentPeriod] = await readContract(\n client,\n {\n address: contractAddress,\n abi: MultiTokenPeriodEnforcer,\n functionName: 'getAvailableAmount',\n args: [delegationHash, delegationManager, terms, args],\n },\n );\n\n return {\n availableAmount,\n isNewPeriod,\n currentPeriod,\n };\n};\n","import * as read from './read';\n\nexport { read };\n","import { read as getAvailableAmount } from './methods/getAvailableAmount';\n\nexport { getAvailableAmount };\n","import { NativeTokenPeriodTransferEnforcer } from '@metamask/delegation-abis';\nimport type { Address, Client, Hex } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetAvailableAmountParameters = {\n client: Client;\n contractAddress: Address;\n delegationHash: Hex;\n delegationManager: Address;\n terms: Hex;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n delegationHash,\n delegationManager,\n terms,\n}: ReadGetAvailableAmountParameters) => {\n const [availableAmount, isNewPeriod, currentPeriod] = await readContract(\n client,\n {\n address: contractAddress,\n abi: NativeTokenPeriodTransferEnforcer,\n functionName: 'getAvailableAmount',\n args: [delegationHash, delegationManager, terms],\n },\n );\n\n return {\n availableAmount,\n isNewPeriod,\n currentPeriod,\n };\n};\n","import * as read from './read';\n\nexport { read };\n","import { read as getAvailableAmount } from './methods/getAvailableAmount';\n\nexport { getAvailableAmount };\n","import { NativeTokenStreamingEnforcer } from '@metamask/delegation-abis';\nimport type { Address, Client, Hex } from 'viem';\nimport { readContract, getBlock } from 'viem/actions';\n\nexport type ReadGetAvailableAmountParameters = {\n client: Client;\n contractAddress: Address;\n delegationManager: Address;\n delegationHash: Hex;\n terms: Hex;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n delegationManager,\n delegationHash,\n terms,\n}: ReadGetAvailableAmountParameters) => {\n // Get current block timestamp from blockchain\n const currentBlock = await getBlock(client);\n const currentTimestamp = currentBlock.timestamp;\n\n // First, get the current state from the contract\n const allowanceState = await readContract(client, {\n address: contractAddress,\n abi: NativeTokenStreamingEnforcer,\n functionName: 'streamingAllowances',\n args: [delegationManager, delegationHash],\n });\n\n const [initialAmount, maxAmount, amountPerSecond, startTime, spent] =\n allowanceState;\n\n // Check if state exists (startTime != 0)\n if (startTime !== 0n) {\n // State exists, calculate available amount using the stored state\n const availableAmount = getAvailableAmount({\n initialAmount,\n maxAmount,\n amountPerSecond,\n startTime,\n spent,\n currentTimestamp,\n });\n\n return {\n availableAmount,\n };\n }\n\n // State doesn't exist, decode terms and simulate with spent = 0\n const decodedTerms = await readContract(client, {\n address: contractAddress,\n abi: NativeTokenStreamingEnforcer,\n functionName: 'getTermsInfo',\n args: [terms],\n });\n\n const [\n decodedInitialAmount,\n decodedMaxAmount,\n decodedAmountPerSecond,\n decodedStartTime,\n ] = decodedTerms;\n\n // Simulate using decoded terms with spent = 0\n const availableAmount = getAvailableAmount({\n initialAmount: decodedInitialAmount,\n maxAmount: decodedMaxAmount,\n amountPerSecond: decodedAmountPerSecond,\n startTime: decodedStartTime,\n spent: 0n,\n currentTimestamp,\n });\n\n return {\n availableAmount,\n };\n};\n\n/**\n * Replicates the internal _getAvailableAmount logic from the smart contract.\n *\n * @param allowance - The allowance object containing all parameters.\n * @param allowance.initialAmount - The initial amount available.\n * @param allowance.maxAmount - The maximum amount allowed.\n * @param allowance.amountPerSecond - The amount streamed per second.\n * @param allowance.startTime - The start time of the streaming.\n * @param allowance.spent - The amount already spent.\n * @param allowance.currentTimestamp - The current timestamp.\n * @returns The available amount that can be spent.\n */\nfunction getAvailableAmount(allowance: {\n initialAmount: bigint;\n maxAmount: bigint;\n amountPerSecond: bigint;\n startTime: bigint;\n spent: bigint;\n currentTimestamp: bigint;\n}): bigint {\n // If current time is before start time, nothing is available\n if (allowance.currentTimestamp < allowance.startTime) {\n return 0n;\n }\n\n // Calculate elapsed time since start\n const elapsed = allowance.currentTimestamp - allowance.startTime;\n\n // Calculate total unlocked amount\n let unlocked = allowance.initialAmount + allowance.amountPerSecond * elapsed;\n\n // Cap by max amount\n if (unlocked > allowance.maxAmount) {\n unlocked = allowance.maxAmount;\n }\n\n // If spent >= unlocked, nothing available\n if (allowance.spent >= unlocked) {\n return 0n;\n }\n\n // Return available amount\n return unlocked - allowance.spent;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/smart-accounts-kit/smart-accounts-kit/packages/smart-accounts-kit/dist/chunk-7FYDQNJ3.cjs","../src/DelegationFramework/ERC20PeriodTransferEnforcer/index.ts","../src/DelegationFramework/ERC20PeriodTransferEnforcer/read.ts","../src/DelegationFramework/ERC20PeriodTransferEnforcer/methods/getAvailableAmount.ts","../src/DelegationFramework/ERC20StreamingEnforcer/index.ts","../src/DelegationFramework/ERC20StreamingEnforcer/read.ts","../src/DelegationFramework/ERC20StreamingEnforcer/methods/getAvailableAmount.ts","../src/DelegationFramework/MultiTokenPeriodEnforcer/index.ts","../src/DelegationFramework/MultiTokenPeriodEnforcer/read.ts","../src/DelegationFramework/MultiTokenPeriodEnforcer/methods/getAvailableAmount.ts","../src/DelegationFramework/NativeTokenPeriodTransferEnforcer/index.ts","../src/DelegationFramework/NativeTokenPeriodTransferEnforcer/read.ts","../src/DelegationFramework/NativeTokenPeriodTransferEnforcer/methods/getAvailableAmount.ts","../src/DelegationFramework/NativeTokenStreamingEnforcer/index.ts","../src/DelegationFramework/NativeTokenStreamingEnforcer/read.ts","../src/DelegationFramework/NativeTokenStreamingEnforcer/methods/getAvailableAmount.ts"],"names":["read_exports","read","readContract","availableAmount","getBlock","getAvailableAmount"],"mappings":"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","file":"/home/runner/work/smart-accounts-kit/smart-accounts-kit/packages/smart-accounts-kit/dist/chunk-7FYDQNJ3.cjs","sourcesContent":[null,"import * as read from './read';\n\nexport { read };\n","import { read as getAvailableAmount } from './methods/getAvailableAmount';\n\nexport { getAvailableAmount };\n","import { ERC20PeriodTransferEnforcer } from '@metamask/delegation-abis';\nimport type { Address, Client, Hex } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetAvailableAmountParameters = {\n client: Client;\n contractAddress: Address;\n delegationHash: Hex;\n delegationManager: Address;\n terms: Hex;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n delegationHash,\n delegationManager,\n terms,\n}: ReadGetAvailableAmountParameters) => {\n const [availableAmount, isNewPeriod, currentPeriod] = await readContract(\n client,\n {\n address: contractAddress,\n abi: ERC20PeriodTransferEnforcer,\n functionName: 'getAvailableAmount',\n args: [delegationHash, delegationManager, terms],\n },\n );\n\n return {\n availableAmount,\n isNewPeriod,\n currentPeriod,\n };\n};\n","import * as read from './read';\n\nexport { read };\n","import { read as getAvailableAmount } from './methods/getAvailableAmount';\n\nexport { getAvailableAmount };\n","import { ERC20StreamingEnforcer } from '@metamask/delegation-abis';\nimport type { Address, Client, Hex } from 'viem';\nimport { readContract, getBlock } from 'viem/actions';\n\nexport type ReadGetAvailableAmountParameters = {\n client: Client;\n contractAddress: Address;\n delegationManager: Address;\n delegationHash: Hex;\n terms: Hex;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n delegationManager,\n delegationHash,\n terms,\n}: ReadGetAvailableAmountParameters) => {\n // Get current block timestamp from blockchain\n const currentBlock = await getBlock(client);\n const currentTimestamp = currentBlock.timestamp;\n\n // First, get the current state from the contract\n const allowanceState = await readContract(client, {\n address: contractAddress,\n abi: ERC20StreamingEnforcer,\n functionName: 'streamingAllowances',\n args: [delegationManager, delegationHash],\n });\n\n const [initialAmount, maxAmount, amountPerSecond, startTime, spent] =\n allowanceState;\n\n // Check if state exists (startTime != 0)\n if (startTime !== 0n) {\n // State exists, calculate available amount using the stored state\n const availableAmount = getAvailableAmount({\n initialAmount,\n maxAmount,\n amountPerSecond,\n startTime,\n spent,\n currentTimestamp,\n });\n\n return {\n availableAmount,\n };\n }\n\n // State doesn't exist, decode terms and simulate with spent = 0\n const decodedTerms = await readContract(client, {\n address: contractAddress,\n abi: ERC20StreamingEnforcer,\n functionName: 'getTermsInfo',\n args: [terms],\n });\n\n const [\n ,\n decodedInitialAmount,\n decodedMaxAmount,\n decodedAmountPerSecond,\n decodedStartTime,\n ] = decodedTerms;\n\n // Simulate using decoded terms with spent = 0\n const availableAmount = getAvailableAmount({\n initialAmount: decodedInitialAmount,\n maxAmount: decodedMaxAmount,\n amountPerSecond: decodedAmountPerSecond,\n startTime: decodedStartTime,\n spent: 0n,\n currentTimestamp,\n });\n\n return {\n availableAmount,\n };\n};\n\n/**\n * Replicates the internal _getAvailableAmount logic from the smart contract.\n *\n * @param allowance - The allowance object containing all parameters.\n * @param allowance.initialAmount - The initial amount available.\n * @param allowance.maxAmount - The maximum amount allowed.\n * @param allowance.amountPerSecond - The amount streamed per second.\n * @param allowance.startTime - The start time of the streaming.\n * @param allowance.spent - The amount already spent.\n * @param allowance.currentTimestamp - The current timestamp.\n * @returns The available amount that can be spent.\n */\nfunction getAvailableAmount(allowance: {\n initialAmount: bigint;\n maxAmount: bigint;\n amountPerSecond: bigint;\n startTime: bigint;\n spent: bigint;\n currentTimestamp: bigint;\n}): bigint {\n // If current time is before start time, nothing is available\n if (allowance.currentTimestamp < allowance.startTime) {\n return 0n;\n }\n\n // Calculate elapsed time since start\n const elapsed = allowance.currentTimestamp - allowance.startTime;\n\n // Calculate total unlocked amount\n let unlocked = allowance.initialAmount + allowance.amountPerSecond * elapsed;\n\n // Cap by max amount\n if (unlocked > allowance.maxAmount) {\n unlocked = allowance.maxAmount;\n }\n\n // If spent >= unlocked, nothing available\n if (allowance.spent >= unlocked) {\n return 0n;\n }\n\n // Return available amount\n return unlocked - allowance.spent;\n}\n","import * as read from './read';\n\nexport { read };\n","import { read as getAvailableAmount } from './methods/getAvailableAmount';\n\nexport { getAvailableAmount };\n","import { MultiTokenPeriodEnforcer } from '@metamask/delegation-abis';\nimport type { Address, Client, Hex } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetAvailableAmountParameters = {\n client: Client;\n contractAddress: Address;\n delegationHash: Hex;\n delegationManager: Address;\n terms: Hex;\n args: Hex;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n delegationHash,\n delegationManager,\n terms,\n args,\n}: ReadGetAvailableAmountParameters) => {\n const [availableAmount, isNewPeriod, currentPeriod] = await readContract(\n client,\n {\n address: contractAddress,\n abi: MultiTokenPeriodEnforcer,\n functionName: 'getAvailableAmount',\n args: [delegationHash, delegationManager, terms, args],\n },\n );\n\n return {\n availableAmount,\n isNewPeriod,\n currentPeriod,\n };\n};\n","import * as read from './read';\n\nexport { read };\n","import { read as getAvailableAmount } from './methods/getAvailableAmount';\n\nexport { getAvailableAmount };\n","import { NativeTokenPeriodTransferEnforcer } from '@metamask/delegation-abis';\nimport type { Address, Client, Hex } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetAvailableAmountParameters = {\n client: Client;\n contractAddress: Address;\n delegationHash: Hex;\n delegationManager: Address;\n terms: Hex;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n delegationHash,\n delegationManager,\n terms,\n}: ReadGetAvailableAmountParameters) => {\n const [availableAmount, isNewPeriod, currentPeriod] = await readContract(\n client,\n {\n address: contractAddress,\n abi: NativeTokenPeriodTransferEnforcer,\n functionName: 'getAvailableAmount',\n args: [delegationHash, delegationManager, terms],\n },\n );\n\n return {\n availableAmount,\n isNewPeriod,\n currentPeriod,\n };\n};\n","import * as read from './read';\n\nexport { read };\n","import { read as getAvailableAmount } from './methods/getAvailableAmount';\n\nexport { getAvailableAmount };\n","import { NativeTokenStreamingEnforcer } from '@metamask/delegation-abis';\nimport type { Address, Client, Hex } from 'viem';\nimport { readContract, getBlock } from 'viem/actions';\n\nexport type ReadGetAvailableAmountParameters = {\n client: Client;\n contractAddress: Address;\n delegationManager: Address;\n delegationHash: Hex;\n terms: Hex;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n delegationManager,\n delegationHash,\n terms,\n}: ReadGetAvailableAmountParameters) => {\n // Get current block timestamp from blockchain\n const currentBlock = await getBlock(client);\n const currentTimestamp = currentBlock.timestamp;\n\n // First, get the current state from the contract\n const allowanceState = await readContract(client, {\n address: contractAddress,\n abi: NativeTokenStreamingEnforcer,\n functionName: 'streamingAllowances',\n args: [delegationManager, delegationHash],\n });\n\n const [initialAmount, maxAmount, amountPerSecond, startTime, spent] =\n allowanceState;\n\n // Check if state exists (startTime != 0)\n if (startTime !== 0n) {\n // State exists, calculate available amount using the stored state\n const availableAmount = getAvailableAmount({\n initialAmount,\n maxAmount,\n amountPerSecond,\n startTime,\n spent,\n currentTimestamp,\n });\n\n return {\n availableAmount,\n };\n }\n\n // State doesn't exist, decode terms and simulate with spent = 0\n const decodedTerms = await readContract(client, {\n address: contractAddress,\n abi: NativeTokenStreamingEnforcer,\n functionName: 'getTermsInfo',\n args: [terms],\n });\n\n const [\n decodedInitialAmount,\n decodedMaxAmount,\n decodedAmountPerSecond,\n decodedStartTime,\n ] = decodedTerms;\n\n // Simulate using decoded terms with spent = 0\n const availableAmount = getAvailableAmount({\n initialAmount: decodedInitialAmount,\n maxAmount: decodedMaxAmount,\n amountPerSecond: decodedAmountPerSecond,\n startTime: decodedStartTime,\n spent: 0n,\n currentTimestamp,\n });\n\n return {\n availableAmount,\n };\n};\n\n/**\n * Replicates the internal _getAvailableAmount logic from the smart contract.\n *\n * @param allowance - The allowance object containing all parameters.\n * @param allowance.initialAmount - The initial amount available.\n * @param allowance.maxAmount - The maximum amount allowed.\n * @param allowance.amountPerSecond - The amount streamed per second.\n * @param allowance.startTime - The start time of the streaming.\n * @param allowance.spent - The amount already spent.\n * @param allowance.currentTimestamp - The current timestamp.\n * @returns The available amount that can be spent.\n */\nfunction getAvailableAmount(allowance: {\n initialAmount: bigint;\n maxAmount: bigint;\n amountPerSecond: bigint;\n startTime: bigint;\n spent: bigint;\n currentTimestamp: bigint;\n}): bigint {\n // If current time is before start time, nothing is available\n if (allowance.currentTimestamp < allowance.startTime) {\n return 0n;\n }\n\n // Calculate elapsed time since start\n const elapsed = allowance.currentTimestamp - allowance.startTime;\n\n // Calculate total unlocked amount\n let unlocked = allowance.initialAmount + allowance.amountPerSecond * elapsed;\n\n // Cap by max amount\n if (unlocked > allowance.maxAmount) {\n unlocked = allowance.maxAmount;\n }\n\n // If spent >= unlocked, nothing available\n if (allowance.spent >= unlocked) {\n return 0n;\n }\n\n // Return available amount\n return unlocked - allowance.spent;\n}\n"]}
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
read_exports3,
|
|
5
5
|
read_exports4,
|
|
6
6
|
read_exports5
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-N66VAWMO.mjs";
|
|
8
8
|
import {
|
|
9
9
|
getSmartAccountsEnvironment,
|
|
10
10
|
prepareSignUserOperationTypedData
|
|
@@ -14,14 +14,18 @@ import {
|
|
|
14
14
|
encodeExecutionCalldatas
|
|
15
15
|
} from "./chunk-4QXIOE7F.mjs";
|
|
16
16
|
import {
|
|
17
|
+
ANY_BENEFICIARY,
|
|
17
18
|
__export,
|
|
19
|
+
createDelegation,
|
|
20
|
+
createOpenDelegation,
|
|
21
|
+
decodeDelegations,
|
|
18
22
|
encodeDelegations,
|
|
19
23
|
hashDelegation,
|
|
20
24
|
isDefined,
|
|
21
25
|
prepareSignDelegationTypedData,
|
|
22
26
|
toHexOrThrow,
|
|
23
27
|
trackSmartAccountsKitFunctionCall
|
|
24
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-MV2KHN75.mjs";
|
|
25
29
|
|
|
26
30
|
// src/actions/index.ts
|
|
27
31
|
var actions_exports = {};
|
|
@@ -38,6 +42,8 @@ __export(actions_exports, {
|
|
|
38
42
|
getNativeTokenStreamingEnforcerAvailableAmount: () => getNativeTokenStreamingEnforcerAvailableAmount,
|
|
39
43
|
getSupportedExecutionPermissions: () => erc7715GetSupportedExecutionPermissionsAction,
|
|
40
44
|
isValid7702Implementation: () => isValid7702Implementation,
|
|
45
|
+
redelegatePermissionContextAction: () => redelegatePermissionContextAction,
|
|
46
|
+
redelegatePermissionContextOpenAction: () => redelegatePermissionContextOpenAction,
|
|
41
47
|
requestExecutionPermissions: () => erc7715RequestExecutionPermissionsAction,
|
|
42
48
|
signDelegation: () => signDelegation,
|
|
43
49
|
signDelegationActions: () => signDelegationActions,
|
|
@@ -561,6 +567,164 @@ async function erc7715RequestExecutionPermissionsAction(client, parameters) {
|
|
|
561
567
|
return permissionResponsesFromRpc(result);
|
|
562
568
|
}
|
|
563
569
|
|
|
570
|
+
// src/actions/redelegatePermissionContext.ts
|
|
571
|
+
import { BaseError as BaseError2 } from "viem";
|
|
572
|
+
import { parseAccount as parseAccount2 } from "viem/accounts";
|
|
573
|
+
|
|
574
|
+
// src/actions/signDelegation.ts
|
|
575
|
+
import { BaseError } from "viem";
|
|
576
|
+
import { parseAccount } from "viem/accounts";
|
|
577
|
+
async function signDelegation(client, parameters) {
|
|
578
|
+
const {
|
|
579
|
+
account: accountParam = client.account,
|
|
580
|
+
delegation,
|
|
581
|
+
delegationManager,
|
|
582
|
+
chainId,
|
|
583
|
+
name = "DelegationManager",
|
|
584
|
+
version = "1",
|
|
585
|
+
allowInsecureUnrestrictedDelegation = false
|
|
586
|
+
} = parameters;
|
|
587
|
+
if (!accountParam) {
|
|
588
|
+
throw new BaseError("Account not found. Please provide an account.");
|
|
589
|
+
}
|
|
590
|
+
const account = parseAccount(accountParam);
|
|
591
|
+
const typedData = prepareSignDelegationTypedData({
|
|
592
|
+
delegation,
|
|
593
|
+
delegationManager,
|
|
594
|
+
chainId,
|
|
595
|
+
name,
|
|
596
|
+
version,
|
|
597
|
+
allowInsecureUnrestrictedDelegation
|
|
598
|
+
});
|
|
599
|
+
return client.signTypedData({
|
|
600
|
+
account,
|
|
601
|
+
...typedData
|
|
602
|
+
});
|
|
603
|
+
}
|
|
604
|
+
function signDelegationActions() {
|
|
605
|
+
return (client) => ({
|
|
606
|
+
signDelegation: async (parameters) => signDelegation(client, {
|
|
607
|
+
chainId: parameters.chainId ?? (() => {
|
|
608
|
+
if (!client.chain?.id) {
|
|
609
|
+
throw new BaseError(
|
|
610
|
+
"Chain ID is required. Either provide it in parameters or configure the client with a chain."
|
|
611
|
+
);
|
|
612
|
+
}
|
|
613
|
+
return client.chain.id;
|
|
614
|
+
})(),
|
|
615
|
+
...parameters
|
|
616
|
+
})
|
|
617
|
+
});
|
|
618
|
+
}
|
|
619
|
+
|
|
620
|
+
// src/actions/redelegatePermissionContext.ts
|
|
621
|
+
async function signAndPrependRedelegation(client, options) {
|
|
622
|
+
const { account, environment, delegations, unsignedDelegation, chainId } = options;
|
|
623
|
+
const signature = await signDelegation(client, {
|
|
624
|
+
account,
|
|
625
|
+
delegation: unsignedDelegation,
|
|
626
|
+
delegationManager: environment.DelegationManager,
|
|
627
|
+
chainId,
|
|
628
|
+
// Redelegations always inherit from a parent delegation (enforced by
|
|
629
|
+
// `resolveRedelegationArgs`), so the parent's caveats provide the
|
|
630
|
+
// restriction even when the redelegation itself adds no extra caveats.
|
|
631
|
+
// This mirrors `resolveCaveats`, which also allows empty caveats in this
|
|
632
|
+
// case.
|
|
633
|
+
allowInsecureUnrestrictedDelegation: true
|
|
634
|
+
});
|
|
635
|
+
const signedDelegation = {
|
|
636
|
+
...unsignedDelegation,
|
|
637
|
+
signature
|
|
638
|
+
};
|
|
639
|
+
const newPermissionContext = encodeDelegations([
|
|
640
|
+
signedDelegation,
|
|
641
|
+
...delegations
|
|
642
|
+
]);
|
|
643
|
+
return {
|
|
644
|
+
delegation: signedDelegation,
|
|
645
|
+
permissionContext: newPermissionContext
|
|
646
|
+
};
|
|
647
|
+
}
|
|
648
|
+
function resolveRedelegationArgs(client, parameters) {
|
|
649
|
+
const { account: accountParam = client.account, permissionContext } = parameters;
|
|
650
|
+
if (!accountParam) {
|
|
651
|
+
throw new BaseError2("Account not found. Please provide an account.");
|
|
652
|
+
}
|
|
653
|
+
const account = parseAccount2(accountParam);
|
|
654
|
+
const delegations = decodeDelegations(permissionContext);
|
|
655
|
+
const parentDelegation = delegations[0];
|
|
656
|
+
if (!parentDelegation) {
|
|
657
|
+
throw new BaseError2(
|
|
658
|
+
"Permission context must contain at least one delegation"
|
|
659
|
+
);
|
|
660
|
+
}
|
|
661
|
+
const isParentOpenDelegation = parentDelegation.delegate.toLowerCase() === ANY_BENEFICIARY.toLowerCase();
|
|
662
|
+
const from = isParentOpenDelegation ? account.address : parentDelegation.delegate;
|
|
663
|
+
return { account, delegations, parentDelegation, from };
|
|
664
|
+
}
|
|
665
|
+
async function redelegatePermissionContextAction(client, parameters) {
|
|
666
|
+
const { environment, scope, caveats, salt, to } = parameters;
|
|
667
|
+
const chainId = resolveChainId(client, parameters.chainId);
|
|
668
|
+
const { account, delegations, parentDelegation, from } = resolveRedelegationArgs(client, parameters);
|
|
669
|
+
trackSmartAccountsKitFunctionCall("redelegatePermissionContext", {
|
|
670
|
+
chainId,
|
|
671
|
+
hasScope: scope !== void 0,
|
|
672
|
+
hasCaveats: caveats !== void 0
|
|
673
|
+
});
|
|
674
|
+
const unsignedDelegation = createDelegation({
|
|
675
|
+
environment,
|
|
676
|
+
from,
|
|
677
|
+
to,
|
|
678
|
+
scope,
|
|
679
|
+
caveats,
|
|
680
|
+
parentDelegation,
|
|
681
|
+
salt
|
|
682
|
+
});
|
|
683
|
+
return signAndPrependRedelegation(client, {
|
|
684
|
+
account,
|
|
685
|
+
environment,
|
|
686
|
+
delegations,
|
|
687
|
+
unsignedDelegation,
|
|
688
|
+
chainId
|
|
689
|
+
});
|
|
690
|
+
}
|
|
691
|
+
async function redelegatePermissionContextOpenAction(client, parameters) {
|
|
692
|
+
const { environment, scope, caveats, salt } = parameters;
|
|
693
|
+
const chainId = resolveChainId(client, parameters.chainId);
|
|
694
|
+
const { account, delegations, parentDelegation, from } = resolveRedelegationArgs(client, parameters);
|
|
695
|
+
trackSmartAccountsKitFunctionCall("redelegatePermissionContextOpen", {
|
|
696
|
+
chainId,
|
|
697
|
+
hasScope: scope !== void 0,
|
|
698
|
+
hasCaveats: caveats !== void 0
|
|
699
|
+
});
|
|
700
|
+
const unsignedDelegation = createOpenDelegation({
|
|
701
|
+
environment,
|
|
702
|
+
from,
|
|
703
|
+
scope,
|
|
704
|
+
caveats,
|
|
705
|
+
parentDelegation,
|
|
706
|
+
salt
|
|
707
|
+
});
|
|
708
|
+
return signAndPrependRedelegation(client, {
|
|
709
|
+
account,
|
|
710
|
+
environment,
|
|
711
|
+
delegations,
|
|
712
|
+
unsignedDelegation,
|
|
713
|
+
chainId
|
|
714
|
+
});
|
|
715
|
+
}
|
|
716
|
+
function resolveChainId(client, chainId) {
|
|
717
|
+
if (chainId !== void 0) {
|
|
718
|
+
return chainId;
|
|
719
|
+
}
|
|
720
|
+
if (!client.chain?.id) {
|
|
721
|
+
throw new BaseError2(
|
|
722
|
+
"Chain ID is required. Either provide it in parameters or configure the client with a chain."
|
|
723
|
+
);
|
|
724
|
+
}
|
|
725
|
+
return client.chain.id;
|
|
726
|
+
}
|
|
727
|
+
|
|
564
728
|
// src/actions/getCaveatAvailableAmount.ts
|
|
565
729
|
function findMatchingCaveat({
|
|
566
730
|
delegation,
|
|
@@ -841,55 +1005,9 @@ async function isValid7702Implementation({
|
|
|
841
1005
|
}
|
|
842
1006
|
}
|
|
843
1007
|
|
|
844
|
-
// src/actions/signDelegation.ts
|
|
845
|
-
import { BaseError } from "viem";
|
|
846
|
-
import { parseAccount } from "viem/accounts";
|
|
847
|
-
async function signDelegation(client, parameters) {
|
|
848
|
-
const {
|
|
849
|
-
account: accountParam = client.account,
|
|
850
|
-
delegation,
|
|
851
|
-
delegationManager,
|
|
852
|
-
chainId,
|
|
853
|
-
name = "DelegationManager",
|
|
854
|
-
version = "1",
|
|
855
|
-
allowInsecureUnrestrictedDelegation = false
|
|
856
|
-
} = parameters;
|
|
857
|
-
if (!accountParam) {
|
|
858
|
-
throw new BaseError("Account not found. Please provide an account.");
|
|
859
|
-
}
|
|
860
|
-
const account = parseAccount(accountParam);
|
|
861
|
-
const typedData = prepareSignDelegationTypedData({
|
|
862
|
-
delegation,
|
|
863
|
-
delegationManager,
|
|
864
|
-
chainId,
|
|
865
|
-
name,
|
|
866
|
-
version,
|
|
867
|
-
allowInsecureUnrestrictedDelegation
|
|
868
|
-
});
|
|
869
|
-
return client.signTypedData({
|
|
870
|
-
account,
|
|
871
|
-
...typedData
|
|
872
|
-
});
|
|
873
|
-
}
|
|
874
|
-
function signDelegationActions() {
|
|
875
|
-
return (client) => ({
|
|
876
|
-
signDelegation: async (parameters) => signDelegation(client, {
|
|
877
|
-
chainId: parameters.chainId ?? (() => {
|
|
878
|
-
if (!client.chain?.id) {
|
|
879
|
-
throw new BaseError(
|
|
880
|
-
"Chain ID is required. Either provide it in parameters or configure the client with a chain."
|
|
881
|
-
);
|
|
882
|
-
}
|
|
883
|
-
return client.chain.id;
|
|
884
|
-
})(),
|
|
885
|
-
...parameters
|
|
886
|
-
})
|
|
887
|
-
});
|
|
888
|
-
}
|
|
889
|
-
|
|
890
1008
|
// src/actions/signUserOperation.ts
|
|
891
|
-
import { BaseError as
|
|
892
|
-
import { parseAccount as
|
|
1009
|
+
import { BaseError as BaseError3 } from "viem";
|
|
1010
|
+
import { parseAccount as parseAccount3 } from "viem/accounts";
|
|
893
1011
|
async function signUserOperation(client, parameters) {
|
|
894
1012
|
const {
|
|
895
1013
|
account: accountParam = client.account,
|
|
@@ -901,9 +1019,9 @@ async function signUserOperation(client, parameters) {
|
|
|
901
1019
|
version = "1"
|
|
902
1020
|
} = parameters;
|
|
903
1021
|
if (!accountParam) {
|
|
904
|
-
throw new
|
|
1022
|
+
throw new BaseError3("Account not found. Please provide an account.");
|
|
905
1023
|
}
|
|
906
|
-
const account =
|
|
1024
|
+
const account = parseAccount3(accountParam);
|
|
907
1025
|
const typedData = prepareSignUserOperationTypedData({
|
|
908
1026
|
userOperation,
|
|
909
1027
|
entryPoint,
|
|
@@ -922,7 +1040,7 @@ function signUserOperationActions() {
|
|
|
922
1040
|
signUserOperation: async (parameters) => signUserOperation(client, {
|
|
923
1041
|
chainId: parameters.chainId ?? (() => {
|
|
924
1042
|
if (!client.chain?.id) {
|
|
925
|
-
throw new
|
|
1043
|
+
throw new BaseError3(
|
|
926
1044
|
"Chain ID is required. Either provide it in parameters or configure the client with a chain."
|
|
927
1045
|
);
|
|
928
1046
|
}
|
|
@@ -953,7 +1071,9 @@ var erc7715ProviderActions = () => (client) => ({
|
|
|
953
1071
|
}
|
|
954
1072
|
});
|
|
955
1073
|
var erc7710WalletActions = () => (client) => ({
|
|
956
|
-
sendTransactionWithDelegation: async (args) => sendTransactionWithDelegationAction(client, args)
|
|
1074
|
+
sendTransactionWithDelegation: async (args) => sendTransactionWithDelegationAction(client, args),
|
|
1075
|
+
redelegatePermissionContext: async (parameters) => redelegatePermissionContextAction(client, parameters),
|
|
1076
|
+
redelegatePermissionContextOpen: async (parameters) => redelegatePermissionContextOpenAction(client, parameters)
|
|
957
1077
|
});
|
|
958
1078
|
var erc7710BundlerActions = () => (client) => ({
|
|
959
1079
|
sendUserOperationWithDelegation: async (args) => sendUserOperationWithDelegationAction(client, args)
|
|
@@ -964,14 +1084,16 @@ export {
|
|
|
964
1084
|
erc7715GetGrantedExecutionPermissionsAction,
|
|
965
1085
|
erc7715GetSupportedExecutionPermissionsAction,
|
|
966
1086
|
erc7715RequestExecutionPermissionsAction,
|
|
1087
|
+
signDelegation,
|
|
1088
|
+
signDelegationActions,
|
|
1089
|
+
redelegatePermissionContextAction,
|
|
1090
|
+
redelegatePermissionContextOpenAction,
|
|
967
1091
|
getErc20PeriodTransferEnforcerAvailableAmount,
|
|
968
1092
|
getErc20StreamingEnforcerAvailableAmount,
|
|
969
1093
|
getMultiTokenPeriodEnforcerAvailableAmount,
|
|
970
1094
|
getNativeTokenPeriodTransferEnforcerAvailableAmount,
|
|
971
1095
|
getNativeTokenStreamingEnforcerAvailableAmount,
|
|
972
1096
|
caveatEnforcerActions,
|
|
973
|
-
signDelegation,
|
|
974
|
-
signDelegationActions,
|
|
975
1097
|
signUserOperation,
|
|
976
1098
|
signUserOperationActions,
|
|
977
1099
|
erc7715ProviderActions,
|
|
@@ -979,4 +1101,4 @@ export {
|
|
|
979
1101
|
erc7710BundlerActions,
|
|
980
1102
|
actions_exports
|
|
981
1103
|
};
|
|
982
|
-
//# sourceMappingURL=chunk-
|
|
1104
|
+
//# sourceMappingURL=chunk-BGOSYTKV.mjs.map
|