@dripfi/drip-sdk 1.4.20 → 1.4.22-s

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -366,28 +366,6 @@ type DepositToken = {
366
366
  tokenAddress: string;
367
367
  };
368
368
 
369
- type VaultTvl = {
370
- average: number;
371
- averageUsd: number;
372
- peak: number;
373
- peakUsd: number;
374
- current: number;
375
- currentUsd: number;
376
- historical: {
377
- [timestamp: number]: {
378
- amount: number;
379
- amountUsd: number;
380
- };
381
- };
382
- };
383
-
384
- type ProjectTvl = {
385
- averageUsd: number;
386
- peakUsd: number;
387
- currentUsd: number;
388
- historical: { [timestamp: number]: number };
389
- };
390
-
391
369
  enum ELoyaltyCardTier {
392
370
  White = 'White',
393
371
  Ivory = 'Ivory',
@@ -522,7 +500,7 @@ type UserRewards = {
522
500
  };
523
501
 
524
502
  type VaultData = {
525
- tvl?: VaultTvl;
503
+ tvlUsd: number;
526
504
  depositToken: DepositToken;
527
505
  vaultAddress: string;
528
506
  projectName: string;
@@ -608,20 +586,55 @@ type YelayVersion = 'v2' | 'lite';
608
586
 
609
587
  // Additional Types:
610
588
 
611
- type DetailedProjectData = {
612
- // Project details
613
- id: number;
614
- projectName: string;
615
- description: string;
616
- // ... other project details
617
- };
618
-
619
589
  type ReducedProjectData = {
620
- id: number;
590
+ tvlUsd: number;
591
+ peakTvlUsd: number;
621
592
  projectName: string;
622
- // ... reduced project information
593
+ logo: string;
594
+ bannerImage: string;
595
+ rewardImage: string;
596
+ rewardTooltipName: string;
597
+ projectInfoText: string;
598
+ projectType: string;
599
+ distributionType: VaultType;
600
+ liveUntil: string;
601
+ liveFrom: string;
602
+ vAPY: number;
603
+ chainIds: number[];
604
+ isFeatured: boolean;
605
+ currencies: DepositToken[];
606
+ isHidden: boolean;
623
607
  };
624
608
 
609
+ type DetailedProjectData = ReducedProjectData & {
610
+ supplyAtLaunch: number;
611
+ fdv: number;
612
+ totalSupply: number;
613
+ content: string;
614
+ telegramLink: string;
615
+ twitterLink: string;
616
+ mediumLink: string;
617
+ deckLink: string;
618
+ roadmapLink: string;
619
+ economicsLink: string;
620
+ discordLink: string;
621
+ docsLink: string;
622
+ whitepaperLink: string;
623
+ litepaperLink: string;
624
+ websiteLink: string;
625
+ projectType: string;
626
+ wikiLink: string;
627
+ youTubeLink: string;
628
+ tikTokLink: string;
629
+ projectRewardText: string;
630
+ networks: string[];
631
+ protocols: string[];
632
+ yelayVersion: YelayVersion;
633
+ stretchGoals: StretchGoal[];
634
+ backers: ProjectBacker[];
635
+ vaults: VaultData[];
636
+ }
637
+
625
638
  type RewardType = 'token' | 'points';
626
639
 
627
640
  type SDKConfig = {
package/dist/PerqApi.d.ts CHANGED
@@ -3,6 +3,7 @@ import { SwapInfo, UserRewards, VaultStats, MyPerqData, LoyaltyCard, BeansBalanc
3
3
  import VaultData from './types/VaultData';
4
4
  import PerqSdk from './PerqSdk';
5
5
  import MigrationOption from './types/MigrationOption';
6
+ import ProjectHistoricalTvl from './types/ProjectHistoricalTvl';
6
7
  export default class PerqApi {
7
8
  private perqSdk;
8
9
  constructor(perqSdk: PerqSdk);
@@ -34,4 +35,5 @@ export default class PerqApi {
34
35
  fetchLitePoolUserBalance(userAddress: string, vaultAddress: string, onChainProjectId: number): Promise<string>;
35
36
  fetchEarnings(userAddress: string, projectName: string): Promise<Earnings>;
36
37
  fetchMigrationOptions(vaultAddress: string, onChainProjectId: number): Promise<MigrationOption[]>;
38
+ fetchHistoricalTvl(projectName: string): Promise<ProjectHistoricalTvl>;
37
39
  }
package/dist/PerqApi.js CHANGED
@@ -366,5 +366,15 @@ class PerqApi {
366
366
  throw Error(`${await res.text()}`);
367
367
  }
368
368
  }
369
+ async fetchHistoricalTvl(projectName) {
370
+ const res = await fetch(`${this.perqSdk.perqConfig.route}/api-be/api/projects/tvl/${projectName}`);
371
+ if (res.ok) {
372
+ const data = await res.json();
373
+ return data;
374
+ }
375
+ else {
376
+ throw Error(`${await res.text()}`);
377
+ }
378
+ }
369
379
  }
370
380
  exports.default = PerqApi;
@@ -1,6 +1,7 @@
1
1
  import PerqSdk from '../PerqSdk';
2
2
  import MigrationOption from '../types/MigrationOption';
3
3
  import { PerqSupportedChainId } from '../types/PerqConfig';
4
+ import ProjectHistoricalTvl from '../types/ProjectHistoricalTvl';
4
5
  export default class LitePackage {
5
6
  perqSdk: PerqSdk;
6
7
  constructor(perqSdk: PerqSdk);
@@ -14,4 +15,5 @@ export default class LitePackage {
14
15
  getExpectedSwapResult(fromTokenAddress: string, toTokenAddress: string, amount: string, decimals: number, chainId: PerqSupportedChainId): Promise<string>;
15
16
  getMigrationOptions(vaultAddress: string, onChainProjectId: number): Promise<MigrationOption[]>;
16
17
  migrateDepositToOtherProject(tokenAddress: string, vaultAddress: string, fromProjectId: number, toProjectId: number, amount: string): Promise<string>;
18
+ getHistoricalTvl(projectName: string): Promise<ProjectHistoricalTvl>;
17
19
  }
@@ -98,5 +98,9 @@ class LitePackage {
98
98
  const res = await this.perqSdk.yelayLiteSdk.vaults.migrate(vaultAddress, fromProjectId, toProjectId, BigInt(parsedAmountToDeposit.toString()));
99
99
  return res.hash;
100
100
  }
101
+ async getHistoricalTvl(projectName) {
102
+ const res = await this.perqSdk.perqApi.fetchHistoricalTvl(projectName);
103
+ return res;
104
+ }
101
105
  }
102
106
  exports.default = LitePackage;
@@ -0,0 +1,4 @@
1
+ type ProjectHistoricalTvl = {
2
+ [timestamp: number]: number;
3
+ };
4
+ export default ProjectHistoricalTvl;
@@ -1,8 +1,8 @@
1
1
  import DepositToken from './DepositToken';
2
- import ProjectTvl from './ProjectTvl';
3
2
  import VaultType from './VaultType';
4
3
  export type ReducedProjectData = {
5
- tvl?: ProjectTvl;
4
+ tvlUsd: number;
5
+ peakTvlUsd: number;
6
6
  projectName: string;
7
7
  logo: string;
8
8
  bannerImage: string;
@@ -3,9 +3,8 @@ import DepositToken from './DepositToken';
3
3
  import Strategy from './Strategy';
4
4
  import StretchGoal from './StretchGoal';
5
5
  import VaultReward from './VaultReward';
6
- import VaultTvl from './VaultTvl';
7
6
  type VaultData = {
8
- tvl?: VaultTvl;
7
+ tvlUsd: number;
9
8
  depositToken: DepositToken;
10
9
  vaultAddress: string;
11
10
  projectName: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dripfi/drip-sdk",
3
- "version": "1.4.20",
3
+ "version": "1.4.22s",
4
4
  "description": "Drip SDK",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,9 +0,0 @@
1
- type ProjectTvl = {
2
- averageUsd: number;
3
- peakUsd: number;
4
- currentUsd: number;
5
- historical: {
6
- [timestamp: number]: number;
7
- };
8
- };
9
- export default ProjectTvl;
@@ -1,15 +0,0 @@
1
- type VaultTvl = {
2
- average: number;
3
- averageUsd: number;
4
- peak: number;
5
- peakUsd: number;
6
- current: number;
7
- currentUsd: number;
8
- historical: {
9
- [timestamp: number]: {
10
- amount: number;
11
- amountUsd: number;
12
- };
13
- };
14
- };
15
- export default VaultTvl;
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });