useOperator
Hook to manage operator permissions for encrypted token operations.
Usage
import { useOperator } from '@fhevm/sdk';
function OperatorManager() {
const { approve, revoke, isApproved, isLoading } = useOperator({
token: '0x123...',
operator: '0x456...',
});
return (
<div>
<div>Approved: {isApproved ? 'Yes' : 'No'}</div>
<button onClick={approve} disabled={isLoading}>
Approve Operator
</button>
<button onClick={revoke} disabled={isLoading}>
Revoke Operator
</button>
</div>
);
}
Parameters
type UseOperatorParameters = {
token: `0x${string}` | string;
operator: `0x${string}`;
enabled?: boolean;
};
Return Value
type UseOperatorReturnType = {
isApproved: boolean | undefined;
approve: () => Promise<void>;
revoke: () => Promise<void>;
isLoading: boolean;
isError: boolean;
error: Error | null;
refetch: () => Promise<void>;
};
Examples
Basic Usage
function OperatorApproval() {
const { approve, isLoading } = useOperator({
token: '0x123...',
operator: spenderAddress,
});
return (
<button onClick={approve} disabled={isLoading}>
Approve Operator
</button>
);
}
Check and Update
function OperatorStatus() {
const { isApproved, approve, revoke } = useOperator({
token: '0x123...',
operator: operatorAddress,
});
return (
<div>
{isApproved ? (
<button onClick={revoke}>Revoke</button>
) : (
<button onClick={approve}>Approve</button>
)}
</div>
);
}
Notes
ERC7984 Standard
This hook works with contracts implementing the ERC7984 operator standard for encrypted tokens.