Appearance
Rewards
A reward offer represents a reward that a user can redeem points to earn.
Creating a Reward
As of v0.3.0, creating a reward is handled within the stack dashboard https://stack.so/rewards
Fetch reward offers
Get a list of reward offers for the current point system.
typescript
await stack.getRewardOffers();
// [{
// uuid: 'f892699a-e52f-4133-89ed-ea40a356919e',
// name: 'Stack Baseball Hat Redemption',
// type: 'OFFCHAIN',
// status: 'ACTIVE',
// points: 200,
// createdAt: '2024-04-17T18:32:41.050Z',
// updatedAt: '2024-04-17T18:32:41.050Z'
// }]
Reward claim
Claiming for a reward will subtract points from the user's point balance and track an event.
typescript
await stack.claimReward(rewardOfferUuid, {
pointAmount: 200, // only optional for offchain redemptions which assumes redemption of 1 item
address: "0x627306090abaB3A6e1400e9345bC60c78a8BEf57"
});
// Tracks an redeem event and deducts 200 points from 0x2eeb301387D6BDa23E02fa0c7463507c68b597B5
// {
// address: '0x2eeb301387D6BDa23E02fa0c7463507c68b597B5',
// rewardOfferUuid: 'f892699a-e52f-4133-89ed-ea40a356919e',
// claimedAt: "2024-04-17T18:32:44.222Z"
// }
Fetch reward claims
Fetch all of the users that have redeeemed for a particular offer.
typescript
await stack.getRewardClaims({
rewardOfferUuid: 'f892699a-e52f-4133-89ed-ea40a356919e',
});
// [{
// address: '0x2eeb301387D6BDa23E02fa0c7463507c68b597B5',
// rewardOfferUuid: 'f892699a-e52f-4133-89ed-ea40a356919e',
// claimedAt: '2024-04-17T18:32:44.222Z',
// }, {
// address: '0x627306090abaB3A6e1400e9345bC60c78a8BEf57',
// rewardOfferUuid: 'f892699a-e52f-4133-89ed-ea40a356919e',
// claimedAt: '2024-04-17T18:34:44.222Z',
// }]