Skip to content

Commit a51061f

Browse files
committed
Refactor periodDuration type to use zPeriodDuration in ERC20 and native token contexts; add zPeriodDuration definition
1 parent 15f94a3 commit a51061f

File tree

3 files changed

+12
-4
lines changed

3 files changed

+12
-4
lines changed

packages/gator-permissions-snap/src/permissions/erc20TokenPeriodic/types.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import {
33
zPermission,
44
zMetaMaskPermissionData,
55
zAddress,
6-
zTimestamp,
76
zStartTime,
87
} from '@metamask/7715-permissions-shared/types';
98
import { z } from 'zod';
@@ -15,6 +14,7 @@ import type {
1514
TimePeriod,
1615
BaseMetadata,
1716
} from '../../core/types';
17+
import { zPeriodDuration } from '../../utils/time';
1818

1919
export type Erc20TokenPeriodicMetadata = BaseMetadata & {
2020
validationErrors: {
@@ -41,7 +41,7 @@ export const zErc20TokenPeriodicPermission = zPermission.extend({
4141
zMetaMaskPermissionData,
4242
z.object({
4343
periodAmount: zHexStr,
44-
periodDuration: zTimestamp,
44+
periodDuration: zPeriodDuration,
4545
startTime: zStartTime,
4646
tokenAddress: zAddress,
4747
}),

packages/gator-permissions-snap/src/permissions/nativeTokenPeriodic/types.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import {
22
zHexStr,
33
zPermission,
44
zMetaMaskPermissionData,
5-
zTimestamp,
65
zStartTime,
76
} from '@metamask/7715-permissions-shared/types';
87
import { z } from 'zod';
@@ -14,6 +13,7 @@ import type {
1413
TimePeriod,
1514
BaseMetadata,
1615
} from '../../core/types';
16+
import { zPeriodDuration } from '../../utils/time';
1717

1818
export type NativeTokenPeriodicMetadata = BaseMetadata & {
1919
validationErrors: {
@@ -40,7 +40,7 @@ export const zNativeTokenPeriodicPermission = zPermission.extend({
4040
zMetaMaskPermissionData,
4141
z.object({
4242
periodAmount: zHexStr,
43-
periodDuration: zTimestamp,
43+
periodDuration: zPeriodDuration,
4444
startTime: zStartTime,
4545
}),
4646
),

packages/gator-permissions-snap/src/utils/time.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { zTimestamp } from '@metamask/7715-permissions-shared/types';
12
import { InvalidInputError } from '@metamask/snaps-sdk';
23

34
import { TimePeriod } from '../core/types';
@@ -316,3 +317,10 @@ export const getClosestTimePeriod = (seconds: bigint): TimePeriod => {
316317

317318
return closestPeriod;
318319
};
320+
321+
/**
322+
* period duration in seconds, mapped to closest TransferWindow enum value
323+
*/
324+
export const zPeriodDuration = zTimestamp.transform((val) => {
325+
return val; // getClosestTimePeriod(BigInt(val)) as unknown as number;
326+
});

0 commit comments

Comments
 (0)