Aller au contenu principal

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.