Skip to content

Commit 1234de0

Browse files
committed
Refactor time period handling in ERC20 and native token contexts to remove getClosestTimePeriod function; simplify duration conversion logic
1 parent a85fcfc commit 1234de0

File tree

2 files changed

+14
-6
lines changed
  • packages/gator-permissions-snap/src/permissions

2 files changed

+14
-6
lines changed

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

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ import {
88
type Hex,
99
} from '@metamask/utils';
1010

11+
import type { TimePeriod } from '../../core/types';
1112
import type { TokenMetadataService } from '../../services/tokenMetadataService';
12-
import { getClosestTimePeriod, TIME_PERIOD_TO_SECONDS } from '../../utils/time';
13+
import { TIME_PERIOD_TO_SECONDS } from '../../utils/time';
1314
import { parseUnits, formatUnitsFromHex } from '../../utils/value';
1415
import {
1516
validateAndParseAmount,
@@ -177,8 +178,11 @@ export async function buildContext({
177178
decimals,
178179
});
179180

180-
const periodType = getClosestTimePeriod(data.periodDuration);
181-
const periodDuration = TIME_PERIOD_TO_SECONDS[periodType].toString();
181+
const periodType = (Object.keys(TIME_PERIOD_TO_SECONDS) as TimePeriod[]).find(
182+
(key: TimePeriod) =>
183+
Number(TIME_PERIOD_TO_SECONDS[key]) === data.periodDuration,
184+
);
185+
const periodDuration = data.periodDuration.toString();
182186

183187
const startTime = data.startTime ?? Math.floor(Date.now() / 1000);
184188

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

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ import {
88
type Hex,
99
} from '@metamask/utils';
1010

11+
import type { TimePeriod } from '../../core/types';
1112
import type { TokenMetadataService } from '../../services/tokenMetadataService';
12-
import { getClosestTimePeriod, TIME_PERIOD_TO_SECONDS } from '../../utils/time';
13+
import { TIME_PERIOD_TO_SECONDS } from '../../utils/time';
1314
import { parseUnits, formatUnitsFromHex } from '../../utils/value';
1415
import {
1516
validateAndParseAmount,
@@ -177,8 +178,11 @@ export async function buildContext({
177178
decimals,
178179
});
179180

180-
const periodType = getClosestTimePeriod(data.periodDuration);
181-
const periodDuration = TIME_PERIOD_TO_SECONDS[periodType].toString();
181+
const periodType = (Object.keys(TIME_PERIOD_TO_SECONDS) as TimePeriod[]).find(
182+
(key: TimePeriod) =>
183+
Number(TIME_PERIOD_TO_SECONDS[key]) === data.periodDuration,
184+
);
185+
const periodDuration = data.periodDuration.toString();
182186

183187
const startTime = data.startTime ?? Math.floor(Date.now() / 1000);
184188

0 commit comments

Comments
 (0)