feat: fetch referral contract addresses

This commit is contained in:
Kirill Litvinov
2023-06-16 09:24:28 +03:00
parent 18480ca2b8
commit 31f6985a64
4 changed files with 25 additions and 4 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "@orionprotocol/sdk",
"version": "0.19.24",
"version": "0.19.26-rc1",
"description": "Orion Protocol SDK",
"main": "./lib/index.cjs",
"module": "./lib/index.js",
@@ -108,4 +108,4 @@
"overrides": {
"tsconfig-paths": "^4.0.0"
}
}
}

View File

@@ -12,6 +12,7 @@ import {
aggregatedHistorySchema,
} from './schemas/index.js';
import {SupportedChainId} from "../../types.js";
import getContractsAddressesSchema from './schemas/getContractsAddressesSchema.js';
type CreateLinkPayloadType = {
referer: string
@@ -53,7 +54,8 @@ class ReferralSystem {
this.claimRewards = this.claimRewards.bind(this);
this.getRating = this.getRating.bind(this);
this.getRating = this.getRating.bind(this);
this.getClamInfo = this.getClamInfo.bind(this);
this.getContractsAddresses = this.getContractsAddresses.bind(this);
this.getClaimInfo = this.getClaimInfo.bind(this);
this.getAggregatedHistory = this.getAggregatedHistory.bind(this);
}
@@ -169,7 +171,15 @@ class ReferralSystem {
errorSchema
);
getClamInfo = (refererAddress: string) =>
getContractsAddresses = () =>
fetchWithValidation(
`${this.apiUrl}/referer/view/contracts`,
getContractsAddressesSchema,
undefined,
errorSchema
);
getClaimInfo = (refererAddress: string) =>
fetchWithValidation(
`${this.apiUrl}/referer/view/claim-info-with-stats?&suppress_error=1`,
claimInfoSchema,

View File

@@ -0,0 +1,10 @@
import { z } from 'zod';
import { SupportedChainId } from '../../../types.js';
import { isAddress } from 'ethers/lib/utils.js';
const getContractsAddressesSchema = z.record(
z.nativeEnum(SupportedChainId),
z.string().refine(isAddress)
);
export default getContractsAddressesSchema;

View File

@@ -8,3 +8,4 @@ export { default as globalAnalyticsSchema } from './globalAnalyticsSchema.js';
export { default as ratingSchema } from './ratingSchema.js';
export { default as claimInfoSchema } from './claimInfoSchema.js';
export { default as aggregatedHistorySchema } from './aggregatedHistorySchema.js';
export { default as getContractsAddressesSchema } from './getContractsAddressesSchema.js';