Claim UBI (Viem/Wagmi)
Installation
npm install @goodsdks/citizen-sdkyarn add @goodsdks/citizen-sdkAvailable Methods
Using the Wagmi SDK
import { useAccount, usePublicClient, useWalletClient } from 'wagmi';
import { useIdentitySDK } from '@goodsdks/identity-sdk/wagmi-sdk';
import { ClaimSDK } from '@goodsdks/identity-sdk/viem-claim-sdk';
const ClaimComponent = () => {
const { address } = useAccount();
const publicClient = usePublicClient();
const { data: walletClient } = useWalletClient();
const identitySDK = useIdentitySDK('production');
if (!address || !publicClient || !walletClient || !identitySDK) {
return <div>Loading...</div>;
}
const claimSDK = new ClaimSDK({
account: address,
publicClient,
walletClient,
identitySDK,
env: 'production',
});
const checkEntitlement = async () => {
try {
const entitlement = await claimSDK.checkEntitlement();
console.log('Entitlement:', entitlement.toString());
} catch (error) {
console.error('Entitlement check failed:', error);
}
};
const claimUBI = async () => {
try {
await claimSDK.claim();
console.log('Claim successful');
} catch (error) {
console.error('Claim failed:', error);
}
};
return (
<div>
<button onClick={checkEntitlement}>Check Entitlement</button>
<button onClick={claimUBI}>Claim UBI</button>
</div>
);
};Using the Viem SDK
References
Last updated
Was this helpful?