diff --git a/functions/api/ccd007-citycoin-stacking/get-stacker.ts b/functions/api/ccd007-citycoin-stacking/get-stacker.ts index 0960fa2..52c2ead 100644 --- a/functions/api/ccd007-citycoin-stacking/get-stacker.ts +++ b/functions/api/ccd007-citycoin-stacking/get-stacker.ts @@ -12,9 +12,10 @@ export async function onRequest(context: any): Promise { if (!cycle) return createResponse('Missing cycle parameter', 400); const userId = requestUrl.searchParams.get('userId'); if (!userId) return createResponse('Missing userId parameter', 400); + const tip = requestUrl.searchParams.get('tip'); // get result from contract - const stacker = await getStacker(cityId, cycle, userId); + const stacker = await getStacker(cityId, cycle, userId, tip ? tip : undefined); // return result if (!stacker) return createResponse(`Stacker not found: ${cityId} ${cycle} ${userId}`, 404); @@ -22,7 +23,7 @@ export async function onRequest(context: any): Promise { } // returns the stacker for a given cityId, cycle, and userId -async function getStacker(cityId: string, cycle: string, userId: string) { +async function getStacker(cityId: string, cycle: string, userId: string, tip?: string) { try { const result = await fetchReadOnlyFunction( { @@ -31,6 +32,7 @@ async function getStacker(cityId: string, cycle: string, userId: string) { functionName: 'get-stacker', functionArgs: [uintCV(Number(cityId)), uintCV(Number(cycle)), uintCV(Number(userId))], network: NETWORK('mainnet'), + tip: tip, }, true ); diff --git a/functions/api/ccd007-citycoin-stacking/is-cycle-paid.ts b/functions/api/ccd007-citycoin-stacking/is-cycle-paid.ts index 00f83c4..1ea5af6 100644 --- a/functions/api/ccd007-citycoin-stacking/is-cycle-paid.ts +++ b/functions/api/ccd007-citycoin-stacking/is-cycle-paid.ts @@ -10,9 +10,10 @@ export async function onRequest(context: any): Promise { if (!cityId) return createResponse('Missing cityId parameter', 400); const cycle = requestUrl.searchParams.get('cycle'); if (!cycle) return createResponse('Missing cycle parameter', 400); + const tip = requestUrl.searchParams.get('tip'); // get result from contract - const paid = await isCyclePaid(cityId, cycle); + const paid = await isCyclePaid(cityId, cycle, tip ? tip : undefined); // return result if (paid === null) return createResponse(`Cycle payout information not found: ${cityId} ${cycle}`, 404); @@ -20,7 +21,7 @@ export async function onRequest(context: any): Promise { } // returns true if the cycle is paid -async function isCyclePaid(cityId: string, cycle: string) { +async function isCyclePaid(cityId: string, cycle: string, tip?: string) { try { const result = await fetchReadOnlyFunction( { @@ -29,6 +30,7 @@ async function isCyclePaid(cityId: string, cycle: string) { functionName: 'is-cycle-paid', functionArgs: [uintCV(Number(cityId)), uintCV(Number(cycle))], network: NETWORK('mainnet'), + tip: tip, }, true );