diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..cef1698 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,4 @@ +{ + "editor.defaultFormatter": "esbenp.prettier-vscode", + "biome.enabled": false, +} \ No newline at end of file diff --git a/packages/api-hooks/package.json b/packages/api-hooks/package.json index 88fc2c6..6709482 100644 --- a/packages/api-hooks/package.json +++ b/packages/api-hooks/package.json @@ -1,7 +1,7 @@ { "name": "@stakekit/api-hooks", "description": "React hooks for StakeKit API", - "version": "0.0.105", + "version": "0.0.106", "type": "module", "types": "./dist/index.d.ts", "main": "./dist/index.js", diff --git a/packages/api-hooks/src/api/index.msw.ts b/packages/api-hooks/src/api/index.msw.ts index 72a1f6a..6572cb7 100644 --- a/packages/api-hooks/src/api/index.msw.ts +++ b/packages/api-hooks/src/api/index.msw.ts @@ -27,6 +27,8 @@ import type { GasForNetworkResponseDto, HealthStatusDto, PriceResponseDto, + ReportProjectGetDailyPerformance200, + ReportProjectGetDailyRevenues200, ReportProjectGetRewards200, ReportProjectList200, SubmitResponseDto, @@ -55,7 +57,10 @@ export const getHealthControllerHealthV2ResponseMock = ( export const getReportProjectControllerListResponseMock = ( overrideResponse: any = {}, ): ReportProjectList200 => ({ - data: {}, + data: Array.from( + { length: faker.number.int({ min: 1, max: 10 }) }, + (_, i) => i + 1, + ).map(() => ({})), hasNextPage: faker.datatype.boolean(), limit: faker.number.int({ min: undefined, max: undefined }), page: faker.number.int({ min: undefined, max: undefined }), @@ -66,7 +71,38 @@ export const getReportProjectControllerListResponseMock = ( export const getReportProjectControllerGetRewardsResponseMock = ( overrideResponse: any = {}, ): ReportProjectGetRewards200 => ({ - data: {}, + data: Array.from( + { length: faker.number.int({ min: 1, max: 10 }) }, + (_, i) => i + 1, + ).map(() => ({})), + hasNextPage: faker.datatype.boolean(), + limit: faker.number.int({ min: undefined, max: undefined }), + page: faker.number.int({ min: undefined, max: undefined }), + ...overrideResponse, + ...overrideResponse, +}); + +export const getReportProjectControllerGetDailyRevenuesResponseMock = ( + overrideResponse: any = {}, +): ReportProjectGetDailyRevenues200 => ({ + data: Array.from( + { length: faker.number.int({ min: 1, max: 10 }) }, + (_, i) => i + 1, + ).map(() => ({})), + hasNextPage: faker.datatype.boolean(), + limit: faker.number.int({ min: undefined, max: undefined }), + page: faker.number.int({ min: undefined, max: undefined }), + ...overrideResponse, + ...overrideResponse, +}); + +export const getReportProjectControllerGetDailyPerformanceResponseMock = ( + overrideResponse: any = {}, +): ReportProjectGetDailyPerformance200 => ({ + data: Array.from( + { length: faker.number.int({ min: 1, max: 10 }) }, + (_, i) => i + 1, + ).map(() => ({})), hasNextPage: faker.datatype.boolean(), limit: faker.number.int({ min: undefined, max: undefined }), page: faker.number.int({ min: undefined, max: undefined }), @@ -1030,7 +1066,10 @@ export const getActionControllerExitGasEstimateResponseMock = ( export const getActionControllerListResponseMock = ( overrideResponse: any = {}, ): ActionList200 => ({ - data: {}, + data: Array.from( + { length: faker.number.int({ min: 1, max: 10 }) }, + (_, i) => i + 1, + ).map(() => ({})), hasNextPage: faker.datatype.boolean(), limit: faker.number.int({ min: undefined, max: undefined }), page: faker.number.int({ min: undefined, max: undefined }), @@ -1601,6 +1640,17 @@ export const getYieldControllerGetMultipleYieldBalancesResponseMock = ( })), undefined, ]), + providerId: faker.helpers.arrayElement([ + { + options: Array.from( + { length: faker.number.int({ min: 1, max: 10 }) }, + (_, i) => i + 1, + ).map(() => faker.word.sample()), + required: faker.datatype.boolean(), + ...overrideResponse, + }, + undefined, + ]), signatureVerification: faker.helpers.arrayElement([ { required: faker.datatype.boolean(), ...overrideResponse }, undefined, @@ -1684,7 +1734,10 @@ export const getYieldControllerGetMultipleYieldBalancesResponseMock = ( export const getYieldControllerGetMyYieldsResponseMock = ( overrideResponse: any = {}, ): YieldGetMyYields200 => ({ - data: {}, + data: Array.from( + { length: faker.number.int({ min: 1, max: 10 }) }, + (_, i) => i + 1, + ).map(() => ({})), hasNextPage: faker.datatype.boolean(), limit: faker.number.int({ min: undefined, max: undefined }), page: faker.number.int({ min: undefined, max: undefined }), @@ -1828,6 +1881,17 @@ export const getYieldControllerGetSingleYieldBalancesResponseMock = ( })), undefined, ]), + providerId: faker.helpers.arrayElement([ + { + options: Array.from( + { length: faker.number.int({ min: 1, max: 10 }) }, + (_, i) => i + 1, + ).map(() => faker.word.sample()), + required: faker.datatype.boolean(), + ...overrideResponse, + }, + undefined, + ]), signatureVerification: faker.helpers.arrayElement([ { required: faker.datatype.boolean(), ...overrideResponse }, undefined, @@ -1994,7 +2058,10 @@ export const getYieldControllerCreateFeeConfigurationResponseMock = ( export const getYieldV2ControllerYieldsResponseMock = ( overrideResponse: any = {}, ): YieldV2Yields200 => ({ - data: {}, + data: Array.from( + { length: faker.number.int({ min: 1, max: 10 }) }, + (_, i) => i + 1, + ).map(() => ({})), hasNextPage: faker.datatype.boolean(), limit: faker.number.int({ min: undefined, max: undefined }), page: faker.number.int({ min: undefined, max: undefined }), @@ -2093,6 +2160,17 @@ export const getYieldV2ControllerGetYieldByIdResponseMock = ( })), undefined, ]), + providerId: faker.helpers.arrayElement([ + { + options: Array.from( + { length: faker.number.int({ min: 1, max: 10 }) }, + (_, i) => i + 1, + ).map(() => faker.word.sample()), + required: faker.datatype.boolean(), + ...overrideResponse, + }, + undefined, + ]), signatureVerification: faker.helpers.arrayElement([ { required: faker.datatype.boolean(), ...overrideResponse }, undefined, @@ -2213,6 +2291,17 @@ export const getYieldV2ControllerGetYieldByIdResponseMock = ( })), undefined, ]), + providerId: faker.helpers.arrayElement([ + { + options: Array.from( + { length: faker.number.int({ min: 1, max: 10 }) }, + (_, i) => i + 1, + ).map(() => faker.word.sample()), + required: faker.datatype.boolean(), + ...overrideResponse, + }, + undefined, + ]), signatureVerification: faker.helpers.arrayElement([ { required: faker.datatype.boolean(), ...overrideResponse }, undefined, @@ -2677,7 +2766,10 @@ export const getYieldV2ControllerFindValidatorsResponseMock = ( export const getYieldV2ControllerGetFeeConfigurationsResponseMock = ( overrideResponse: any = {}, ): YieldV2GetFeeConfigurations200 => ({ - data: {}, + data: Array.from( + { length: faker.number.int({ min: 1, max: 10 }) }, + (_, i) => i + 1, + ).map(() => ({})), hasNextPage: faker.datatype.boolean(), limit: faker.number.int({ min: undefined, max: undefined }), page: faker.number.int({ min: undefined, max: undefined }), @@ -2748,6 +2840,48 @@ export const getReportProjectControllerGetRewardsMockHandler = ( }); }; +export const getReportProjectControllerGetDailyRevenuesMockHandler = ( + overrideResponse?: ReportProjectGetDailyRevenues200, +) => { + return http.get('*/v1/reporting/revenue', async () => { + await delay(1000); + return new HttpResponse( + JSON.stringify( + overrideResponse + ? overrideResponse + : getReportProjectControllerGetDailyRevenuesResponseMock(), + ), + { + status: 200, + headers: { + 'Content-Type': 'application/json', + }, + }, + ); + }); +}; + +export const getReportProjectControllerGetDailyPerformanceMockHandler = ( + overrideResponse?: ReportProjectGetDailyPerformance200, +) => { + return http.get('*/v1/reporting/performance', async () => { + await delay(1000); + return new HttpResponse( + JSON.stringify( + overrideResponse + ? overrideResponse + : getReportProjectControllerGetDailyPerformanceResponseMock(), + ), + { + status: 200, + headers: { + 'Content-Type': 'application/json', + }, + }, + ); + }); +}; + export const getActionControllerGetActionMockHandler = ( overrideResponse?: ActionDto, ) => { @@ -3403,6 +3537,8 @@ export const getStakeKitMock = () => [ getHealthControllerHealthV2MockHandler(), getReportProjectControllerListMockHandler(), getReportProjectControllerGetRewardsMockHandler(), + getReportProjectControllerGetDailyRevenuesMockHandler(), + getReportProjectControllerGetDailyPerformanceMockHandler(), getActionControllerGetActionMockHandler(), getActionControllerGetGasEstimateMockHandler(), getActionControllerEnterMockHandler(), diff --git a/packages/api-hooks/src/api/index.ts b/packages/api-hooks/src/api/index.ts index 8b77883..e13048d 100644 --- a/packages/api-hooks/src/api/index.ts +++ b/packages/api-hooks/src/api/index.ts @@ -26,6 +26,10 @@ import type { PendingActionRequestDto, PriceRequestDto, PriceResponseDto, + ReportProjectGetDailyPerformance200, + ReportProjectGetDailyPerformanceParams, + ReportProjectGetDailyRevenues200, + ReportProjectGetDailyRevenuesParams, ReportProjectGetRewards200, ReportProjectGetRewardsParams, ReportProjectList200, @@ -303,6 +307,173 @@ export const useReportProjectGetRewards = < return query; }; +export const reportProjectGetDailyRevenues = ( + params?: ReportProjectGetDailyRevenuesParams, + signal?: AbortSignal, +) => { + return customFetch({ + url: `/v1/reporting/revenue`, + method: 'GET', + params, + signal, + }); +}; + +export const getReportProjectGetDailyRevenuesQueryKey = ( + params?: ReportProjectGetDailyRevenuesParams, +) => { + return [`/v1/reporting/revenue`, ...(params ? [params] : [])] as const; +}; + +export const getReportProjectGetDailyRevenuesQueryOptions = < + TData = Awaited>, + TError = unknown, +>( + params?: ReportProjectGetDailyRevenuesParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + }, +) => { + const { query: queryOptions } = options ?? {}; + + const queryKey = + queryOptions?.queryKey ?? getReportProjectGetDailyRevenuesQueryKey(params); + + const queryFn: QueryFunction< + Awaited> + > = ({ signal }) => reportProjectGetDailyRevenues(params, signal); + + return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< + Awaited>, + TError, + TData + > & { queryKey: QueryKey }; +}; + +export type ReportProjectGetDailyRevenuesQueryResult = NonNullable< + Awaited> +>; +export type ReportProjectGetDailyRevenuesQueryError = unknown; + +export const useReportProjectGetDailyRevenues = < + TData = Awaited>, + TError = unknown, +>( + params?: ReportProjectGetDailyRevenuesParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + }, +): UseQueryResult & { queryKey: QueryKey } => { + const queryOptions = getReportProjectGetDailyRevenuesQueryOptions( + params, + options, + ); + + const query = useQuery(queryOptions) as UseQueryResult & { + queryKey: QueryKey; + }; + + query.queryKey = queryOptions.queryKey; + + return query; +}; + +export const reportProjectGetDailyPerformance = ( + params: ReportProjectGetDailyPerformanceParams, + signal?: AbortSignal, +) => { + return customFetch({ + url: `/v1/reporting/performance`, + method: 'GET', + params, + signal, + }); +}; + +export const getReportProjectGetDailyPerformanceQueryKey = ( + params: ReportProjectGetDailyPerformanceParams, +) => { + return [`/v1/reporting/performance`, ...(params ? [params] : [])] as const; +}; + +export const getReportProjectGetDailyPerformanceQueryOptions = < + TData = Awaited>, + TError = unknown, +>( + params: ReportProjectGetDailyPerformanceParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + }, +) => { + const { query: queryOptions } = options ?? {}; + + const queryKey = + queryOptions?.queryKey ?? + getReportProjectGetDailyPerformanceQueryKey(params); + + const queryFn: QueryFunction< + Awaited> + > = ({ signal }) => reportProjectGetDailyPerformance(params, signal); + + return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< + Awaited>, + TError, + TData + > & { queryKey: QueryKey }; +}; + +export type ReportProjectGetDailyPerformanceQueryResult = NonNullable< + Awaited> +>; +export type ReportProjectGetDailyPerformanceQueryError = unknown; + +export const useReportProjectGetDailyPerformance = < + TData = Awaited>, + TError = unknown, +>( + params: ReportProjectGetDailyPerformanceParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + }, +): UseQueryResult & { queryKey: QueryKey } => { + const queryOptions = getReportProjectGetDailyPerformanceQueryOptions( + params, + options, + ); + + const query = useQuery(queryOptions) as UseQueryResult & { + queryKey: QueryKey; + }; + + query.queryKey = queryOptions.queryKey; + + return query; +}; + /** * Returns a action with associated transactions * @summary Get action diff --git a/packages/api-hooks/src/api/schemas/actionListType.ts b/packages/api-hooks/src/api/schemas/actionListType.ts index 96a1316..ad9d006 100644 --- a/packages/api-hooks/src/api/schemas/actionListType.ts +++ b/packages/api-hooks/src/api/schemas/actionListType.ts @@ -19,4 +19,6 @@ export const ActionListType = { REVOTE: 'REVOTE', REBOND: 'REBOND', MIGRATE: 'MIGRATE', + VERIFY_WITHDRAW_CREDENTIALS: 'VERIFY_WITHDRAW_CREDENTIALS', + DELEGATE: 'DELEGATE', } as const; diff --git a/packages/api-hooks/src/api/schemas/actionTypes.ts b/packages/api-hooks/src/api/schemas/actionTypes.ts index 336b95a..6d6dfb3 100644 --- a/packages/api-hooks/src/api/schemas/actionTypes.ts +++ b/packages/api-hooks/src/api/schemas/actionTypes.ts @@ -18,4 +18,6 @@ export const ActionTypes = { REVOTE: 'REVOTE', REBOND: 'REBOND', MIGRATE: 'MIGRATE', + VERIFY_WITHDRAW_CREDENTIALS: 'VERIFY_WITHDRAW_CREDENTIALS', + DELEGATE: 'DELEGATE', } as const; diff --git a/packages/api-hooks/src/api/schemas/argumentOptionsDto.ts b/packages/api-hooks/src/api/schemas/argumentOptionsDto.ts index 3e807e2..a4f6611 100644 --- a/packages/api-hooks/src/api/schemas/argumentOptionsDto.ts +++ b/packages/api-hooks/src/api/schemas/argumentOptionsDto.ts @@ -10,6 +10,7 @@ export interface ArgumentOptionsDto { duration?: DurationArgumentOptionsDto; feeConfigurationId?: RequiredArgumentWithOptionsDto; nfts?: ApeNativeArgumentOptionsDto[]; + providerId?: RequiredArgumentWithOptionsDto; signatureVerification?: RequiredArgumentDto; subnetId?: RequiredArgumentDto; tronResource?: TronResourceArgumentOptionsDto; diff --git a/packages/api-hooks/src/api/schemas/cosmosAdditionalAddressesDto.ts b/packages/api-hooks/src/api/schemas/cosmosAdditionalAddressesDto.ts index 50def30..7b2ac64 100644 --- a/packages/api-hooks/src/api/schemas/cosmosAdditionalAddressesDto.ts +++ b/packages/api-hooks/src/api/schemas/cosmosAdditionalAddressesDto.ts @@ -1,3 +1,4 @@ export interface CosmosAdditionalAddressesDto { + /** Cosmos SDK public key encoded in base64 for secp256k1 */ cosmosPubKey: string; } diff --git a/packages/api-hooks/src/api/schemas/dailyCumulativeStakeDtoType.ts b/packages/api-hooks/src/api/schemas/dailyCumulativeStakeDtoType.ts index 3033b00..a7c1296 100644 --- a/packages/api-hooks/src/api/schemas/dailyCumulativeStakeDtoType.ts +++ b/packages/api-hooks/src/api/schemas/dailyCumulativeStakeDtoType.ts @@ -22,4 +22,6 @@ export const DailyCumulativeStakeDtoType = { REVOTE: 'REVOTE', REBOND: 'REBOND', MIGRATE: 'MIGRATE', + VERIFY_WITHDRAW_CREDENTIALS: 'VERIFY_WITHDRAW_CREDENTIALS', + DELEGATE: 'DELEGATE', } as const; diff --git a/packages/api-hooks/src/api/schemas/dailyPerformanceDto.ts b/packages/api-hooks/src/api/schemas/dailyPerformanceDto.ts new file mode 100644 index 0000000..b389b7a --- /dev/null +++ b/packages/api-hooks/src/api/schemas/dailyPerformanceDto.ts @@ -0,0 +1,10 @@ +import type { DailyPerformanceDtoToken } from './dailyPerformanceDtoToken'; + +export interface DailyPerformanceDto { + date: string; + integrationId: string; + token: DailyPerformanceDtoToken; + totalEnteredAmountWei: string | null; + totalExitedAmountWei: string | null; + totalRevenueAmountWei: string; +} diff --git a/packages/api-hooks/src/api/schemas/dailyPerformanceDtoToken.ts b/packages/api-hooks/src/api/schemas/dailyPerformanceDtoToken.ts new file mode 100644 index 0000000..15e5014 --- /dev/null +++ b/packages/api-hooks/src/api/schemas/dailyPerformanceDtoToken.ts @@ -0,0 +1,3 @@ +import type { TokenDto } from './tokenDto'; + +export type DailyPerformanceDtoToken = TokenDto | null; diff --git a/packages/api-hooks/src/api/schemas/dailyRevenueDto.ts b/packages/api-hooks/src/api/schemas/dailyRevenueDto.ts new file mode 100644 index 0000000..39c92c0 --- /dev/null +++ b/packages/api-hooks/src/api/schemas/dailyRevenueDto.ts @@ -0,0 +1,9 @@ +import type { DailyRevenueDtoToken } from './dailyRevenueDtoToken'; + +export interface DailyRevenueDto { + date: string; + integrationId: string; + token: DailyRevenueDtoToken; + totalRevenueAmountWei: string; + validatorAddress: string | null; +} diff --git a/packages/api-hooks/src/api/schemas/dailyRevenueDtoToken.ts b/packages/api-hooks/src/api/schemas/dailyRevenueDtoToken.ts new file mode 100644 index 0000000..f7253da --- /dev/null +++ b/packages/api-hooks/src/api/schemas/dailyRevenueDtoToken.ts @@ -0,0 +1,3 @@ +import type { TokenDto } from './tokenDto'; + +export type DailyRevenueDtoToken = TokenDto | null; diff --git a/packages/api-hooks/src/api/schemas/evmNetworks.ts b/packages/api-hooks/src/api/schemas/evmNetworks.ts index 53b1c50..02c4e70 100644 --- a/packages/api-hooks/src/api/schemas/evmNetworks.ts +++ b/packages/api-hooks/src/api/schemas/evmNetworks.ts @@ -6,6 +6,7 @@ export const EvmNetworks = { 'ethereum-goerli': 'ethereum-goerli', 'ethereum-holesky': 'ethereum-holesky', 'ethereum-sepolia': 'ethereum-sepolia', + 'ethereum-hoodi': 'ethereum-hoodi', arbitrum: 'arbitrum', base: 'base', 'base-sepolia': 'base-sepolia', diff --git a/packages/api-hooks/src/api/schemas/growSuccessDto.ts b/packages/api-hooks/src/api/schemas/growSuccessDto.ts new file mode 100644 index 0000000..d9954e0 --- /dev/null +++ b/packages/api-hooks/src/api/schemas/growSuccessDto.ts @@ -0,0 +1,10 @@ +import type { ProtocolInterestViewDto } from './protocolInterestViewDto'; +import type { Networks } from './networks'; + +export interface GrowSuccessDto { + /** The deposit token */ + deposit_token: string; + /** The interest information */ + interest: ProtocolInterestViewDto; + network: Networks; +} diff --git a/packages/api-hooks/src/api/schemas/index.ts b/packages/api-hooks/src/api/schemas/index.ts index afbbdea..f08ebf1 100644 --- a/packages/api-hooks/src/api/schemas/index.ts +++ b/packages/api-hooks/src/api/schemas/index.ts @@ -64,6 +64,10 @@ export * from './customValidatorAddresses'; export * from './dailyCumulativeStakeDto'; export * from './dailyCumulativeStakeDtoStatus'; export * from './dailyCumulativeStakeDtoType'; +export * from './dailyPerformanceDto'; +export * from './dailyPerformanceDtoToken'; +export * from './dailyRevenueDto'; +export * from './dailyRevenueDtoToken'; export * from './deleteBannedRegionsDto'; export * from './deleteEnabledYieldsDto'; export * from './deleteMasterBannedRegionsDto'; @@ -88,10 +92,12 @@ export * from './geolocationErrorDetails'; export * from './geolocationErrorRegionCode'; export * from './geolocationErrorTagsItem'; export * from './geolocationErrorType'; +export * from './growSuccessDto'; export * from './healthStatus'; export * from './healthStatusDto'; export * from './infinityPaginatedDto'; -export * from './infinityPaginatedDtoData'; +export * from './infinityPaginatedDtoDataItem'; +export * from './invalidRequestDto'; export * from './key'; export * from './keyCategory'; export * from './masterBannedRegionDto'; @@ -99,6 +105,7 @@ export * from './masterBannedRegionDtoTagsItem'; export * from './masterBannedYieldDto'; export * from './masterBannedYieldDtoTagsItem'; export * from './networks'; +export * from './notFoundDto'; export * from './payoutAddressDto'; export * from './pendingActionArgumentsDto'; export * from './pendingActionConstraintAmountDto'; @@ -111,9 +118,16 @@ export * from './positionDto'; export * from './priceRequestDto'; export * from './priceResponseDto'; export * from './project'; +export * from './protocolInterestViewDto'; export * from './referralDto'; export * from './reportEntryDto'; export * from './reportProjectDto'; +export * from './reportProjectGetDailyPerformance200'; +export * from './reportProjectGetDailyPerformance200AllOf'; +export * from './reportProjectGetDailyPerformanceParams'; +export * from './reportProjectGetDailyRevenues200'; +export * from './reportProjectGetDailyRevenues200AllOf'; +export * from './reportProjectGetDailyRevenuesParams'; export * from './reportProjectGetRewards200'; export * from './reportProjectGetRewards200AllOf'; export * from './reportProjectGetRewardsParams'; @@ -128,10 +142,13 @@ export * from './rewardClaiming'; export * from './rewardSchedule'; export * from './rewardTypes'; export * from './role'; +export * from './serverErrorDto'; export * from './signatureVerificationArgumentsDto'; export * from './solanaAdditionalAddressesDto'; export * from './stakeKitErrorDto'; export * from './stakeKitErrorDtoDetails'; +export * from './stakeResponseDto'; +export * from './stakeResponseDtoStake'; export * from './structuredTransactionTronDto'; export * from './structuredTransactionTronDtoVotesItem'; export * from './submitHashRequestDto'; @@ -164,6 +181,7 @@ export * from './transactionVerificationMessageDto'; export * from './transactionVerificationMessageRequestDto'; export * from './tronResourceArgumentOptionsDto'; export * from './tronResourceType'; +export * from './unauthorizedDto'; export * from './updateCustomUriDto'; export * from './updateFeeConfigurationDto'; export * from './updateKeyDto'; @@ -179,6 +197,7 @@ export * from './validatorAddressesDto'; export * from './validatorDto'; export * from './validatorSearchResultDto'; export * from './validatorStatusTypes'; +export * from './walletViewDto'; export * from './webhookSubscriptionDto'; export * from './webhookSubscriptionEventDto'; export * from './webhookSubscriptionEventDtoEvent'; diff --git a/packages/api-hooks/src/api/schemas/infinityPaginatedDto.ts b/packages/api-hooks/src/api/schemas/infinityPaginatedDto.ts index 75a9066..2ba125b 100644 --- a/packages/api-hooks/src/api/schemas/infinityPaginatedDto.ts +++ b/packages/api-hooks/src/api/schemas/infinityPaginatedDto.ts @@ -1,7 +1,8 @@ -import type { InfinityPaginatedDtoData } from './infinityPaginatedDtoData'; +import type { InfinityPaginatedDtoDataItem } from './infinityPaginatedDtoDataItem'; export interface InfinityPaginatedDto { - data: InfinityPaginatedDtoData; + /** Array of data items */ + data: InfinityPaginatedDtoDataItem[]; hasNextPage: boolean; limit: number; page: number; diff --git a/packages/api-hooks/src/api/schemas/infinityPaginatedDtoData.ts b/packages/api-hooks/src/api/schemas/infinityPaginatedDtoData.ts deleted file mode 100644 index 08b7f27..0000000 --- a/packages/api-hooks/src/api/schemas/infinityPaginatedDtoData.ts +++ /dev/null @@ -1 +0,0 @@ -export type InfinityPaginatedDtoData = { [key: string]: any }; diff --git a/packages/api-hooks/src/api/schemas/infinityPaginatedDtoDataItem.ts b/packages/api-hooks/src/api/schemas/infinityPaginatedDtoDataItem.ts new file mode 100644 index 0000000..b308a75 --- /dev/null +++ b/packages/api-hooks/src/api/schemas/infinityPaginatedDtoDataItem.ts @@ -0,0 +1 @@ +export type InfinityPaginatedDtoDataItem = { [key: string]: any }; diff --git a/packages/api-hooks/src/api/schemas/invalidRequestDto.ts b/packages/api-hooks/src/api/schemas/invalidRequestDto.ts new file mode 100644 index 0000000..8ad158b --- /dev/null +++ b/packages/api-hooks/src/api/schemas/invalidRequestDto.ts @@ -0,0 +1,3 @@ +export interface InvalidRequestDto { + msg: string; +} diff --git a/packages/api-hooks/src/api/schemas/networks.ts b/packages/api-hooks/src/api/schemas/networks.ts index 6ef12e1..925e7e3 100644 --- a/packages/api-hooks/src/api/schemas/networks.ts +++ b/packages/api-hooks/src/api/schemas/networks.ts @@ -1,3 +1,6 @@ +/** + * The network name + */ export type Networks = (typeof Networks)[keyof typeof Networks]; // eslint-disable-next-line @typescript-eslint/no-redeclare @@ -6,6 +9,7 @@ export const Networks = { 'ethereum-goerli': 'ethereum-goerli', 'ethereum-holesky': 'ethereum-holesky', 'ethereum-sepolia': 'ethereum-sepolia', + 'ethereum-hoodi': 'ethereum-hoodi', arbitrum: 'arbitrum', base: 'base', 'base-sepolia': 'base-sepolia', @@ -86,6 +90,8 @@ export const Networks = { near: 'near', solana: 'solana', 'solana-devnet': 'solana-devnet', + stellar: 'stellar', + 'stellar-testnet': 'stellar-testnet', tezos: 'tezos', tron: 'tron', ton: 'ton', diff --git a/packages/api-hooks/src/api/schemas/notFoundDto.ts b/packages/api-hooks/src/api/schemas/notFoundDto.ts new file mode 100644 index 0000000..fc0d4cd --- /dev/null +++ b/packages/api-hooks/src/api/schemas/notFoundDto.ts @@ -0,0 +1,3 @@ +export interface NotFoundDto { + what: string; +} diff --git a/packages/api-hooks/src/api/schemas/protocolInterestViewDto.ts b/packages/api-hooks/src/api/schemas/protocolInterestViewDto.ts new file mode 100644 index 0000000..4c4d475 --- /dev/null +++ b/packages/api-hooks/src/api/schemas/protocolInterestViewDto.ts @@ -0,0 +1,8 @@ +export interface ProtocolInterestViewDto { + /** Ledger crypto currency ID */ + currency: string; + /** The type of interest - APY */ + type: string; + /** The protocol's Net APY interest rate. */ + value: string; +} diff --git a/packages/api-hooks/src/api/schemas/reportProjectGetDailyPerformance200.ts b/packages/api-hooks/src/api/schemas/reportProjectGetDailyPerformance200.ts new file mode 100644 index 0000000..e3cc473 --- /dev/null +++ b/packages/api-hooks/src/api/schemas/reportProjectGetDailyPerformance200.ts @@ -0,0 +1,5 @@ +import type { InfinityPaginatedDto } from './infinityPaginatedDto'; +import type { ReportProjectGetDailyPerformance200AllOf } from './reportProjectGetDailyPerformance200AllOf'; + +export type ReportProjectGetDailyPerformance200 = InfinityPaginatedDto & + ReportProjectGetDailyPerformance200AllOf; diff --git a/packages/api-hooks/src/api/schemas/reportProjectGetDailyPerformance200AllOf.ts b/packages/api-hooks/src/api/schemas/reportProjectGetDailyPerformance200AllOf.ts new file mode 100644 index 0000000..ad2c257 --- /dev/null +++ b/packages/api-hooks/src/api/schemas/reportProjectGetDailyPerformance200AllOf.ts @@ -0,0 +1,5 @@ +import type { DailyPerformanceDto } from './dailyPerformanceDto'; + +export type ReportProjectGetDailyPerformance200AllOf = { + data?: DailyPerformanceDto[]; +}; diff --git a/packages/api-hooks/src/api/schemas/reportProjectGetDailyPerformanceParams.ts b/packages/api-hooks/src/api/schemas/reportProjectGetDailyPerformanceParams.ts new file mode 100644 index 0000000..17a5b1d --- /dev/null +++ b/packages/api-hooks/src/api/schemas/reportProjectGetDailyPerformanceParams.ts @@ -0,0 +1,16 @@ +export type ReportProjectGetDailyPerformanceParams = { + /** + * Filter data from this date (e.g. "2023-01-01") + */ + from: string; + /** + * Filter data until this date (e.g. "2023-01-01"). Difference between "from" and "to" cannot exceed 10 days. + */ + to: string; + /** + * Filter data from this integrationId + */ + integrationId?: string; + limit?: number; + page?: number; +}; diff --git a/packages/api-hooks/src/api/schemas/reportProjectGetDailyRevenues200.ts b/packages/api-hooks/src/api/schemas/reportProjectGetDailyRevenues200.ts new file mode 100644 index 0000000..c58d6bc --- /dev/null +++ b/packages/api-hooks/src/api/schemas/reportProjectGetDailyRevenues200.ts @@ -0,0 +1,5 @@ +import type { InfinityPaginatedDto } from './infinityPaginatedDto'; +import type { ReportProjectGetDailyRevenues200AllOf } from './reportProjectGetDailyRevenues200AllOf'; + +export type ReportProjectGetDailyRevenues200 = InfinityPaginatedDto & + ReportProjectGetDailyRevenues200AllOf; diff --git a/packages/api-hooks/src/api/schemas/reportProjectGetDailyRevenues200AllOf.ts b/packages/api-hooks/src/api/schemas/reportProjectGetDailyRevenues200AllOf.ts new file mode 100644 index 0000000..e2c00b6 --- /dev/null +++ b/packages/api-hooks/src/api/schemas/reportProjectGetDailyRevenues200AllOf.ts @@ -0,0 +1,5 @@ +import type { DailyRevenueDto } from './dailyRevenueDto'; + +export type ReportProjectGetDailyRevenues200AllOf = { + data?: DailyRevenueDto[]; +}; diff --git a/packages/api-hooks/src/api/schemas/reportProjectGetDailyRevenuesParams.ts b/packages/api-hooks/src/api/schemas/reportProjectGetDailyRevenuesParams.ts new file mode 100644 index 0000000..8869b96 --- /dev/null +++ b/packages/api-hooks/src/api/schemas/reportProjectGetDailyRevenuesParams.ts @@ -0,0 +1,16 @@ +export type ReportProjectGetDailyRevenuesParams = { + /** + * Filter rewards from this date (e.g. "2023-01-01") + */ + from?: string; + /** + * Filter rewards until this date (e.g. "2023-01-01") + */ + to?: string; + /** + * Filter rewards from this integrationId + */ + integrationId?: string; + limit?: number; + page?: number; +}; diff --git a/packages/api-hooks/src/api/schemas/serverErrorDto.ts b/packages/api-hooks/src/api/schemas/serverErrorDto.ts new file mode 100644 index 0000000..f9a222a --- /dev/null +++ b/packages/api-hooks/src/api/schemas/serverErrorDto.ts @@ -0,0 +1,3 @@ +export interface ServerErrorDto { + msg: string; +} diff --git a/packages/api-hooks/src/api/schemas/stakeResponseDto.ts b/packages/api-hooks/src/api/schemas/stakeResponseDto.ts new file mode 100644 index 0000000..c2ba9d3 --- /dev/null +++ b/packages/api-hooks/src/api/schemas/stakeResponseDto.ts @@ -0,0 +1,7 @@ +import type { WalletViewDto } from './walletViewDto'; +import type { StakeResponseDtoStake } from './stakeResponseDtoStake'; + +export interface StakeResponseDto { + id: WalletViewDto; + stake: StakeResponseDtoStake; +} diff --git a/packages/api-hooks/src/api/schemas/stakeResponseDtoStake.ts b/packages/api-hooks/src/api/schemas/stakeResponseDtoStake.ts new file mode 100644 index 0000000..63f92b2 --- /dev/null +++ b/packages/api-hooks/src/api/schemas/stakeResponseDtoStake.ts @@ -0,0 +1 @@ +export type StakeResponseDtoStake = { [key: string]: any }; diff --git a/packages/api-hooks/src/api/schemas/transactionType.ts b/packages/api-hooks/src/api/schemas/transactionType.ts index 463895d..213c5b7 100644 --- a/packages/api-hooks/src/api/schemas/transactionType.ts +++ b/packages/api-hooks/src/api/schemas/transactionType.ts @@ -26,6 +26,8 @@ export const TransactionType = { CREATE_ACCOUNT: 'CREATE_ACCOUNT', REVEAL: 'REVEAL', MIGRATE: 'MIGRATE', + DELEGATE: 'DELEGATE', + UNDELEGATE: 'UNDELEGATE', UTXO_P_TO_C_IMPORT: 'UTXO_P_TO_C_IMPORT', UTXO_C_TO_P_IMPORT: 'UTXO_C_TO_P_IMPORT', WRAP: 'WRAP', @@ -40,6 +42,12 @@ export const TransactionType = { UNDELEGATE_BANDWIDTH: 'UNDELEGATE_BANDWIDTH', UNDELEGATE_ENERGY: 'UNDELEGATE_ENERGY', P2P_NODE_REQUEST: 'P2P_NODE_REQUEST', + CREATE_EIGENPOD: 'CREATE_EIGENPOD', + VERIFY_WITHDRAW_CREDENTIALS: 'VERIFY_WITHDRAW_CREDENTIALS', + START_CHECKPOINT: 'START_CHECKPOINT', + VERIFY_CHECKPOINT_PROOFS: 'VERIFY_CHECKPOINT_PROOFS', + QUEUE_WITHDRAWALS: 'QUEUE_WITHDRAWALS', + COMPLETE_QUEUED_WITHDRAWALS: 'COMPLETE_QUEUED_WITHDRAWALS', LUGANODES_PROVISION: 'LUGANODES_PROVISION', LUGANODES_EXIT_REQUEST: 'LUGANODES_EXIT_REQUEST', INFSTONES_PROVISION: 'INFSTONES_PROVISION', diff --git a/packages/api-hooks/src/api/schemas/unauthorizedDto.ts b/packages/api-hooks/src/api/schemas/unauthorizedDto.ts new file mode 100644 index 0000000..6a8a11b --- /dev/null +++ b/packages/api-hooks/src/api/schemas/unauthorizedDto.ts @@ -0,0 +1,3 @@ +export interface UnauthorizedDto { + realm: string; +} diff --git a/packages/api-hooks/src/api/schemas/walletViewDto.ts b/packages/api-hooks/src/api/schemas/walletViewDto.ts new file mode 100644 index 0000000..e1869fe --- /dev/null +++ b/packages/api-hooks/src/api/schemas/walletViewDto.ts @@ -0,0 +1,7 @@ +import type { Networks } from './networks'; + +export interface WalletViewDto { + /** User wallet address */ + address: string; + network: Networks; +} diff --git a/packages/api-hooks/src/api/schemas/yieldProviders.ts b/packages/api-hooks/src/api/schemas/yieldProviders.ts index a655109..7bd835f 100644 --- a/packages/api-hooks/src/api/schemas/yieldProviders.ts +++ b/packages/api-hooks/src/api/schemas/yieldProviders.ts @@ -40,4 +40,6 @@ export const YieldProviders = { venus: 'venus', mantle: 'mantle', 'ton-whales': 'ton-whales', + blend: 'blend', + synthetix: 'synthetix', } as const; diff --git a/packages/api-hooks/src/api/schemas/yieldV2YieldsNetwork.ts b/packages/api-hooks/src/api/schemas/yieldV2YieldsNetwork.ts index 4f6d4cf..e9df6b8 100644 --- a/packages/api-hooks/src/api/schemas/yieldV2YieldsNetwork.ts +++ b/packages/api-hooks/src/api/schemas/yieldV2YieldsNetwork.ts @@ -7,6 +7,7 @@ export const YieldV2YieldsNetwork = { 'ethereum-goerli': 'ethereum-goerli', 'ethereum-holesky': 'ethereum-holesky', 'ethereum-sepolia': 'ethereum-sepolia', + 'ethereum-hoodi': 'ethereum-hoodi', arbitrum: 'arbitrum', base: 'base', 'base-sepolia': 'base-sepolia', @@ -87,6 +88,8 @@ export const YieldV2YieldsNetwork = { near: 'near', solana: 'solana', 'solana-devnet': 'solana-devnet', + stellar: 'stellar', + 'stellar-testnet': 'stellar-testnet', tezos: 'tezos', tron: 'tron', ton: 'ton', diff --git a/packages/api-hooks/src/api/schemas/yieldV2YieldsProviderId.ts b/packages/api-hooks/src/api/schemas/yieldV2YieldsProviderId.ts index 9e3ff49..5827f42 100644 --- a/packages/api-hooks/src/api/schemas/yieldV2YieldsProviderId.ts +++ b/packages/api-hooks/src/api/schemas/yieldV2YieldsProviderId.ts @@ -40,4 +40,6 @@ export const YieldV2YieldsProviderId = { venus: 'venus', mantle: 'mantle', 'ton-whales': 'ton-whales', + blend: 'blend', + synthetix: 'synthetix', } as const;