1+ /* eslint-disable no-bitwise */
2+ import { hexToNumber } from '@metamask/utils' ;
3+
14import type {
25 ChecksumCaveat ,
36 ChecksumEnforcersByChainId ,
47 DecodedPermission ,
58} from '../types' ;
6- import { hexToNumber } from '@metamask/utils' ;
79import { getTermsByEnforcer } from '../utils' ;
810import { expiryRule } from './expiryRule' ;
911import type { MakePermissionDecoderConfig } from './makePermissionDecoder' ;
@@ -17,8 +19,13 @@ enum ApprovalRevocationFlag {
1719 Permit2InvalidateNonces = 0x20 ,
1820}
1921
20- // eslint-disable-next-line no-bitwise
21- const MAX_APPROVAL_REVOCATION_MASK = ApprovalRevocationFlag . Permit2InvalidateNonces | ApprovalRevocationFlag . Permit2Lockdown | ApprovalRevocationFlag . Permit2Approve | ApprovalRevocationFlag . Erc721SetApprovalForAll | ApprovalRevocationFlag . Erc721Approve | ApprovalRevocationFlag . Erc20Approve ;
22+ const MAX_APPROVAL_REVOCATION_MASK =
23+ ApprovalRevocationFlag . Permit2InvalidateNonces |
24+ ApprovalRevocationFlag . Permit2Lockdown |
25+ ApprovalRevocationFlag . Permit2Approve |
26+ ApprovalRevocationFlag . Erc721SetApprovalForAll |
27+ ApprovalRevocationFlag . Erc721Approve |
28+ ApprovalRevocationFlag . Erc20Approve ;
2229
2330/**
2431 * Builds the configuration for the token-approval-revocation permission decoder.
@@ -68,7 +75,9 @@ function validateAndDecodeData(
6875 const mask = hexToNumber ( terms ) ;
6976
7077 if ( mask > MAX_APPROVAL_REVOCATION_MASK ) {
71- throw new Error ( `Invalid ApprovalRevocation terms: must be less than or equal to ${ MAX_APPROVAL_REVOCATION_MASK } ` ) ;
78+ throw new Error (
79+ `Invalid ApprovalRevocation terms: must be less than or equal to ${ MAX_APPROVAL_REVOCATION_MASK } ` ,
80+ ) ;
7281 }
7382
7483 if ( mask === 0 ) {
@@ -95,6 +104,5 @@ function validateAndDecodeData(
95104}
96105
97106function isFlagEnabled ( mask : number , flag : number ) : boolean {
98- // eslint-disable-next-line no-bitwise
99107 return ( mask & flag ) === flag ;
100108}
0 commit comments