Users earn $TRUST token rewards based on verified social contributions. These rewards accumulate during defined epochs, allowing users to claim them at intervals convenient for them.Claiming Rewards Using React Integration:
Copy
import { useUser } from '@sageprotocol/sdk/react';import { useWallet } from '@suiet/wallet-kit';function ClaimRewards({ epoch, ownedUserId, sharedUserId }) { const { claimReward } = useUser(); const { account, signAndExecuteTransaction } = useWallet(); async function handleClaimRewards() { const result = await claimReward({ epoch, // Sui timestamp for the epoch period appId: 'your-app-id', // Explicitly required network: 'testnet', // Explicitly required: 'testnet' or 'mainnet' ownedUserId, // User's owned user object ID sharedUserId // User's shared user object ID }); if (result.ok) { await signAndExecuteTransaction({ transaction: result.transaction }); console.log("Rewards claimed successfully!"); } else { console.error("Error claiming rewards:", result.err); } } return ( <button onClick={handleClaimRewards}> Claim Rewards </button> );}export default ClaimRewards;
Claiming Rewards Using Direct JavaScript Integration
Copy
const result = await sageClient.claimReward({ epoch: 1704067200000, // Sui timestamp for the epoch period appId: 'your-app-id', // Explicitly required application ID network: 'testnet', // Explicitly required network ('testnet' or 'mainnet') ownedUserId: 'your-owned-user-id', // User's owned user object ID sharedUserId: 'your-shared-user-id' // User's shared user object ID});if (result.ok) { await signAndExecuteTransaction({ transaction: result.transaction }); console.log("Rewards claimed successfully!");} else { console.error("Error claiming rewards:", result.err);}