From 951351c2554acefca1c423bfef2068626074cb0c Mon Sep 17 00:00:00 2001 From: Jack Swenson Date: Wed, 27 Nov 2024 10:27:23 -0600 Subject: [PATCH] Borrower rewards (#177) * feat: more types * feat: start --- src/contracts/definitions/moneyMarket.ts | 5 +++++ src/contracts/services/moneyMarket.ts | 8 +++++--- src/types/contracts/moneyMarket/model.ts | 10 ++++++++++ 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/contracts/definitions/moneyMarket.ts b/src/contracts/definitions/moneyMarket.ts index b0248ca..231aac9 100644 --- a/src/contracts/definitions/moneyMarket.ts +++ b/src/contracts/definitions/moneyMarket.ts @@ -177,6 +177,10 @@ function msgMoneyMarketRepay({ }).msg; } +function msgMoneyMarketClaimRewards() { + return { claim_rewards: {} }; +} + /** * Query the Public Event Logs for momeymarket contract * NOT FOR PRODUCTION USE, CONTRACT IS IN DEVELOPMENT ON TESTNET ONLY @@ -200,5 +204,6 @@ export { msgMoneyMarketSupply, msgMoneyMarketWithdrawSupply, msgMoneyMarketRepay, + msgMoneyMarketClaimRewards, msgQueryMoneyMarketPublicLogs, }; diff --git a/src/contracts/services/moneyMarket.ts b/src/contracts/services/moneyMarket.ts index 37fd929..3bd4fe4 100644 --- a/src/contracts/services/moneyMarket.ts +++ b/src/contracts/services/moneyMarket.ts @@ -9,6 +9,7 @@ import { import { BatchQueryParsedResponse, BatchQueryParams, + BatchQueryParsedResponseItem, } from '~/types/contracts/batchQuery/model'; import { sendSecretClientContractQuery$ } from '~/client/services/clientServices'; import { ConfigResponse, GetCollateralResponse, GetMarketsResponse } from '~/types/contracts/moneyMarket/response'; @@ -19,6 +20,7 @@ import { ContractAndPagination, Pagination, ParsedConfigResponse, ParsedGetCollateralResponse, ParsedGetMarketsResponse, ParsedRewardPoolsResponse, + RewardPoolResponse, } from '~/types/contracts/moneyMarket/model'; import { Contract } from '~/types/contracts/shared/index'; import { MinBlockHeightValidationOptions } from '~/types'; @@ -735,10 +737,10 @@ async function batchQueryMoneyMarketPublicLogs({ const parseBatchQueryMoneyMarketRewardPools = ( responses: BatchQueryParsedResponse, ): ParsedRewardPoolsResponse[] => ( - responses.map((response: any) => ({ - debtMarket: response.id, + responses.map((response: BatchQueryParsedResponseItem) => ({ + debtMarket: response.id.toString(), blockHeight: response.blockHeight, - rewardPools: response.response.map((pool: any) => ({ + rewardPools: response.response.map((pool: RewardPoolResponse) => ({ rewardPoolId: pool.id, amount: pool.amount, token: pool.token, diff --git a/src/types/contracts/moneyMarket/model.ts b/src/types/contracts/moneyMarket/model.ts index b647a6a..8e4c068 100644 --- a/src/types/contracts/moneyMarket/model.ts +++ b/src/types/contracts/moneyMarket/model.ts @@ -174,6 +174,15 @@ type RewardPool = { rate: string, } +type RewardPoolResponse = { + id: string, + amount: string, + token: string, + start: string, + end: string, + rate: string, +} + type ParsedRewardPoolsResponse = { debtMarket: string, blockHeight: number, @@ -196,5 +205,6 @@ export type { PublicLog, PaginatedPublicLogs, RewardPool, + RewardPoolResponse, ParsedRewardPoolsResponse, };