Check Proof of Identity (POI) Status
Example Code
import { ProofOfIdentityContract as ProofOfIdentityContractSDK } from '@haven1/blockchain-sdk/contract';
import { useReadContracts } from 'wagmi';
import { Address } from 'viem';
type CheckPOIStatusParameters = {
address: Address;
contractAddress: Address;
chainId: number;
};
export const checkPOIStatus = async ({
address,
contractAddress,
chainId,
}: CheckPOIStatusParameters) => {
const { data: poiResult, isLoading, isError } = useReadContracts({
contracts: [
{
address: contractAddress,
chainId,
abi: ProofOfIdentityContractSDK.abi,
functionName: 'balanceOf',
args: [address],
},
{
address: contractAddress,
chainId,
abi: ProofOfIdentityContractSDK.abi,
functionName: 'isSuspended',
args: [address],
},
],
});
if (isLoading) {
console.log('Loading POI status...');
return;
}
if (isError) {
console.error('Error fetching POI status');
return;
}
const balance = poiResult?.[0]?.result;
const isSuspended = poiResult?.[1]?.result;
if (balance > 0 && !isSuspended) {
console.log('User is POI active');
} else {
console.log('User is not POI active');
}
};Usage
Example Code using ProofOfIdentity wagmi wrap Contract hook
Usage
Contract Addresses
Proof of identity V1
Proof of identity V2
Last updated