@dripfi/drip-sdk 1.1.21-dev.1 → 1.1.22-dev.1
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/dist/DripApi.d.ts +7 -0
- package/dist/DripApi.js +47 -0
- package/dist/DripSdk.d.ts +7 -0
- package/dist/DripSdk.js +21 -1
- package/dist/index.d.ts +3 -1
- package/dist/test.js +16 -12
- package/dist/types/CacheVaultRewards.d.ts +13 -0
- package/dist/types/CacheVaultRewards.js +2 -0
- package/dist/types/DepositToken.d.ts +8 -0
- package/dist/types/DepositToken.js +2 -0
- package/dist/types/MyPerqData.d.ts +37 -0
- package/dist/types/MyPerqData.js +2 -0
- package/dist/types/Strategy.d.ts +3 -0
- package/dist/types/UserMetaVaultBalance.d.ts +5 -0
- package/dist/types/UserMetaVaultBalance.js +2 -0
- package/package.json +2 -2
package/dist/DripApi.d.ts
CHANGED
@@ -6,7 +6,9 @@ import { UserRewards } from './types/UserRewards';
|
|
6
6
|
import { VaultStats } from './types/VaultStats';
|
7
7
|
import { UserBalance } from './types/UserBalance';
|
8
8
|
import { VaultClaimData } from './types/VaultClaimData';
|
9
|
+
import MyPerqData from './types/MyPerqData';
|
9
10
|
import { MetaVault } from './types/MetaVault';
|
11
|
+
import { UserMetaVaultBalance } from './types/UserMetaVaultBalance';
|
10
12
|
export declare const IMPERSONATOR_HEADER = "impersonatorAddress";
|
11
13
|
export default class DripApi {
|
12
14
|
route: string;
|
@@ -58,4 +60,9 @@ export default class DripApi {
|
|
58
60
|
cost: number;
|
59
61
|
boost: any;
|
60
62
|
}>;
|
63
|
+
fetchUserMetaVaultBalance(userAddress: string, metaVaultAddress: string, token: string, headers?: Headers): Promise<UserMetaVaultBalance>;
|
64
|
+
fetchMyPerqData(userAddress: string, token: string, headers?: Headers): Promise<MyPerqData>;
|
65
|
+
fetchAllUserMetaVaultBalance(userAddress: string, token: string, headers?: Headers): Promise<{
|
66
|
+
[metaVaultAddress: string]: UserMetaVaultBalance;
|
67
|
+
}>;
|
61
68
|
}
|
package/dist/DripApi.js
CHANGED
@@ -463,5 +463,52 @@ class DripApi {
|
|
463
463
|
};
|
464
464
|
});
|
465
465
|
}
|
466
|
+
fetchUserMetaVaultBalance(userAddress, metaVaultAddress, token, headers) {
|
467
|
+
return __awaiter(this, void 0, void 0, function* () {
|
468
|
+
const reqHeaders = headers ? headers : new Headers();
|
469
|
+
reqHeaders.append(AUTHORIZATION_HEADER, token);
|
470
|
+
if (reqHeaders.has(exports.IMPERSONATOR_HEADER)) {
|
471
|
+
userAddress = reqHeaders.get(exports.IMPERSONATOR_HEADER);
|
472
|
+
}
|
473
|
+
const res = yield fetch(`${this.route}/api-be/api/user/metavault/balance/${userAddress}/${metaVaultAddress}`, {
|
474
|
+
headers: reqHeaders,
|
475
|
+
});
|
476
|
+
const data = yield res.json();
|
477
|
+
return data;
|
478
|
+
});
|
479
|
+
}
|
480
|
+
fetchMyPerqData(userAddress, token, headers) {
|
481
|
+
return __awaiter(this, void 0, void 0, function* () {
|
482
|
+
const reqHeaders = headers ? headers : new Headers();
|
483
|
+
reqHeaders.append(AUTHORIZATION_HEADER, token);
|
484
|
+
if (reqHeaders.has(exports.IMPERSONATOR_HEADER)) {
|
485
|
+
userAddress = reqHeaders.get(exports.IMPERSONATOR_HEADER);
|
486
|
+
}
|
487
|
+
const res = yield fetch(`${this.route}/api-be/api/myperq/${userAddress}`, {
|
488
|
+
headers: reqHeaders,
|
489
|
+
});
|
490
|
+
if (res.ok) {
|
491
|
+
const data = yield res.json();
|
492
|
+
return data;
|
493
|
+
}
|
494
|
+
else {
|
495
|
+
throw Error(`${yield res.text()}`);
|
496
|
+
}
|
497
|
+
});
|
498
|
+
}
|
499
|
+
fetchAllUserMetaVaultBalance(userAddress, token, headers) {
|
500
|
+
return __awaiter(this, void 0, void 0, function* () {
|
501
|
+
const reqHeaders = headers ? headers : new Headers();
|
502
|
+
reqHeaders.append(AUTHORIZATION_HEADER, token);
|
503
|
+
if (reqHeaders.has(exports.IMPERSONATOR_HEADER)) {
|
504
|
+
userAddress = reqHeaders.get(exports.IMPERSONATOR_HEADER);
|
505
|
+
}
|
506
|
+
const res = yield fetch(`${this.route}/api-be/api/user/metavault/balance/${userAddress}`, {
|
507
|
+
headers: reqHeaders,
|
508
|
+
});
|
509
|
+
const data = yield res.json();
|
510
|
+
return data;
|
511
|
+
});
|
512
|
+
}
|
466
513
|
}
|
467
514
|
exports.default = DripApi;
|
package/dist/DripSdk.d.ts
CHANGED
@@ -8,7 +8,9 @@ import { UserVaultBalance } from './types/UserVaultBalance';
|
|
8
8
|
import { VaultClaimData } from './types/VaultClaimData';
|
9
9
|
import { Vault } from './types/Vault';
|
10
10
|
import { LoyaltyCard } from './types/LoyaltyCard';
|
11
|
+
import MyPerqData from './types/MyPerqData';
|
11
12
|
import { MetaVault } from './types/MetaVault';
|
13
|
+
import { UserMetaVaultBalance } from './types/UserMetaVaultBalance';
|
12
14
|
export default class DripSdk {
|
13
15
|
private dripApi;
|
14
16
|
private dripTokenContract;
|
@@ -35,7 +37,12 @@ export default class DripSdk {
|
|
35
37
|
getUserBoostedNfts(vaultAddress: string, headers?: Headers): Promise<string[]>;
|
36
38
|
getRewardsPerHour(vaultAddress: string): Promise<number>;
|
37
39
|
getRewards(headers?: Headers): Promise<UserRewards>;
|
40
|
+
getMyPerqBalance(headers?: Headers): Promise<MyPerqData>;
|
38
41
|
getUserVaultBalance(vaultAddress: string, headers?: Headers): Promise<UserVaultBalance>;
|
42
|
+
getUserMetaVaultBalance(metaVaultAddress: string, headers?: Headers): Promise<UserMetaVaultBalance>;
|
43
|
+
getAllUserMetaVaultBalance(headers?: Headers): Promise<{
|
44
|
+
[metaVaultAddress: string]: UserMetaVaultBalance;
|
45
|
+
}>;
|
39
46
|
fastWithdraw(vaultAddress: string, amountToWithdraw?: string): Promise<string>;
|
40
47
|
swapAndDeposit(fromTokenAddress: string, toTokenAddress: string, fromTokenAmount: string, vaultAddress: string, ethAmount?: string): Promise<string>;
|
41
48
|
newSwapAndDeposit(fromTokenAddress: string, toTokenAddress: string, fromTokenAmount: string, vaultAddress: string, ethAmount?: string): Promise<string>;
|
package/dist/DripSdk.js
CHANGED
@@ -133,7 +133,7 @@ class DripSdk {
|
|
133
133
|
const decimals = yield this.getERC20Precission(metavault.depositToken.tokenAddress);
|
134
134
|
const amountWithDecimals = parseFloat(parseFloat(amount).toFixed(decimals));
|
135
135
|
const amountToDeposit = ethers_1.ethers.utils.parseUnits(amountWithDecimals.toString(), decimals);
|
136
|
-
const depositTx = yield this.spoolSdk.metaVaultDeposit(metaVaultAddress, amountToDeposit);
|
136
|
+
const depositTx = yield this.spoolSdk.metaVaultDeposit(metaVaultAddress.toLowerCase(), amountToDeposit);
|
137
137
|
const txReceipt = yield depositTx.wait();
|
138
138
|
return txReceipt.transactionHash;
|
139
139
|
});
|
@@ -217,6 +217,14 @@ class DripSdk {
|
|
217
217
|
return userRewards;
|
218
218
|
});
|
219
219
|
}
|
220
|
+
getMyPerqBalance(headers) {
|
221
|
+
return __awaiter(this, void 0, void 0, function* () {
|
222
|
+
const userAddress = yield this.signer.getAddress();
|
223
|
+
const authData = yield this.isUserAuthenticated();
|
224
|
+
const myPerqBalance = this.dripApi.fetchMyPerqData(userAddress, authData.token, headers);
|
225
|
+
return myPerqBalance;
|
226
|
+
});
|
227
|
+
}
|
220
228
|
getUserVaultBalance(vaultAddress, headers) {
|
221
229
|
return __awaiter(this, void 0, void 0, function* () {
|
222
230
|
const userAddress = yield this.signer.getAddress();
|
@@ -240,6 +248,18 @@ class DripSdk {
|
|
240
248
|
};
|
241
249
|
});
|
242
250
|
}
|
251
|
+
getUserMetaVaultBalance(metaVaultAddress, headers) {
|
252
|
+
return __awaiter(this, void 0, void 0, function* () {
|
253
|
+
const authData = yield this.isUserAuthenticated();
|
254
|
+
return this.dripApi.fetchUserMetaVaultBalance(authData.address, metaVaultAddress, authData.token, headers);
|
255
|
+
});
|
256
|
+
}
|
257
|
+
getAllUserMetaVaultBalance(headers) {
|
258
|
+
return __awaiter(this, void 0, void 0, function* () {
|
259
|
+
const authData = yield this.isUserAuthenticated();
|
260
|
+
return this.dripApi.fetchAllUserMetaVaultBalance(authData.address, authData.token, headers);
|
261
|
+
});
|
262
|
+
}
|
243
263
|
fastWithdraw(vaultAddress, amountToWithdraw) {
|
244
264
|
return __awaiter(this, void 0, void 0, function* () {
|
245
265
|
var _a, _b;
|
package/dist/index.d.ts
CHANGED
@@ -9,8 +9,10 @@ import { SwapInfo } from './types/SwapInfo';
|
|
9
9
|
import { VaultDepositToken } from './types/VaultDepositToken';
|
10
10
|
import { VaultType } from './types/VaultType';
|
11
11
|
import { UserVaultBalance } from './types/UserVaultBalance';
|
12
|
+
import { UserMetaVaultBalance } from './types/UserMetaVaultBalance';
|
12
13
|
import { UserBalance } from './types/UserBalance';
|
13
14
|
import { VaultStats } from './types/VaultStats';
|
14
15
|
import { DripConfig } from './DripConfig';
|
16
|
+
import MyPerqData from './types/MyPerqData';
|
15
17
|
import { MetaVault } from './types/MetaVault';
|
16
|
-
export { Vault, VaultReward, DripSdk, DripConfig, UserVaultBalance, UserBalance, VaultStats, AuthenticationStatus, NFTBoost, Strategy, StretchGoal, SwapInfo, VaultDepositToken, VaultType, MetaVault };
|
18
|
+
export { Vault, VaultReward, DripSdk, DripConfig, UserVaultBalance, UserBalance, VaultStats, AuthenticationStatus, NFTBoost, Strategy, StretchGoal, SwapInfo, VaultDepositToken, VaultType, MetaVault, UserMetaVaultBalance, MyPerqData };
|
package/dist/test.js
CHANGED
@@ -16,10 +16,11 @@ exports.signer = void 0;
|
|
16
16
|
const ethers_1 = require("ethers");
|
17
17
|
const DripConfig_1 = require("./DripConfig");
|
18
18
|
const DripSdk_1 = __importDefault(require("./DripSdk"));
|
19
|
+
const spool_v2_sdk_1 = require("@spool.fi/spool-v2-sdk");
|
19
20
|
// This is script to test locally the drip sdk methods
|
20
21
|
const account2 = '0x9E9B6899Ea314dD553A99f4F49440d2CeD2b2848'; // privKey 92eb90257aa76cc56ead18dd52dd3433689712ebe7356a70308b760bfcbdd787
|
21
|
-
|
22
|
-
const privKey = '92eb90257aa76cc56ead18dd52dd3433689712ebe7356a70308b760bfcbdd787';
|
22
|
+
const privKey = '6ffc226f7b7769e27124317372c9dbb579a324e67e97bf07131bf2f59ec0f4fe'; // Deployer
|
23
|
+
// const privKey: string = '92eb90257aa76cc56ead18dd52dd3433689712ebe7356a70308b760bfcbdd787';
|
23
24
|
const testConfigParams = {
|
24
25
|
subgraphUrl: 'https://subgraph.satsuma-prod.com/49eb322da234/solidant/spool-v2-sepolia/api',
|
25
26
|
priceFeedApiUrl: 'https://pricefeed.dev.spool.fi/',
|
@@ -90,21 +91,24 @@ const daiVaultPerq = '0x1977efe478ba17da8be6e93fdfadbd3055d30111'; // DAI PERQ S
|
|
90
91
|
const usdcVaultPerq = '0xf9795bfbf7c40981c372d0fb25a87e0b694c4fcd'; // USDC PERQ SEPOLIA
|
91
92
|
const daiTokenAddress = '0x2a3a3872c242c35093a8fc48dac838c4b2d24a03'; // DAI TOKEN
|
92
93
|
const usdcTokenAddress = '0xa6b92fcd4ee124353c8a6acf1edb574f46f3f8df'; // USDC TOKEN
|
93
|
-
const
|
94
|
+
const dripConfig = new DripConfig_1.DripConfig(testConfigParams.subgraphUrl, testConfigParams.priceFeedApiUrl, testConfigParams.rewardsUrl, testConfigParams.fastRedeemApi, testConfigParams.spoolContracts, 'http://localhost:3000', testConfigParams.dripContracts.DripTokenAddress, testConfigParams.dripContracts.DripTokenRecyclerAddress);
|
95
|
+
const dripSdk = new DripSdk_1.default(dripConfig, exports.signer);
|
94
96
|
// 0x689Baa4821865Cb328F5E847fB6133DEB315A832
|
95
97
|
// 0x9E9B6899Ea314dD553A99f4F49440d2CeD2b2848
|
98
|
+
const usdcMetaVaultAddress = '0x89845afce65a62a4411c7ed9d0729e06147b47ca';
|
99
|
+
const wethMetaVautlAddress = '0xecf5325ccd0cf71b9d400ebbefd84f70b76a56f2';
|
96
100
|
function main() {
|
97
101
|
return __awaiter(this, void 0, void 0, function* () {
|
98
102
|
try {
|
99
|
-
//
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
//
|
104
|
-
// const res = await dripSdk.
|
105
|
-
// const res = await dripSdk.
|
106
|
-
// const res = await dripSdk.
|
107
|
-
//
|
103
|
+
// ==================================================
|
104
|
+
const spoolSdk = new spool_v2_sdk_1.SpoolSdk(dripConfig.internalConfig, exports.signer);
|
105
|
+
const res = yield spoolSdk.getOffchainRewards('drip_s');
|
106
|
+
console.log(JSON.stringify(res, null, 2));
|
107
|
+
// ==================================================
|
108
|
+
// const res = await dripSdk.getUserMetaVaultBalance('0x89845afce65a62a4411c7ed9d0729e06147b47ca');
|
109
|
+
// const res = await dripSdk.approveTokenForMetaVaultDeposit('0x88b25a14dae46c33ae3eef2b45a5ec758d9a5ec6', wethMetaVautlAddress, '0.002');
|
110
|
+
// const res = await dripSdk.depositMetaVault(wethMetaVautlAddress, '0.002');
|
111
|
+
// console.log(res);
|
108
112
|
}
|
109
113
|
catch (error) {
|
110
114
|
console.log(`Main error: ${error}`);
|
@@ -0,0 +1,13 @@
|
|
1
|
+
export type CacheVaultRewards = {
|
2
|
+
type: 'token' | 'points';
|
3
|
+
id?: number;
|
4
|
+
name: string;
|
5
|
+
symbol: string;
|
6
|
+
decimals: number;
|
7
|
+
tokenAddress: string;
|
8
|
+
monthlyEmissionRate: number;
|
9
|
+
blockNumber: number;
|
10
|
+
rewardRate: number;
|
11
|
+
timestamp: number;
|
12
|
+
endTime: number;
|
13
|
+
};
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import { CacheVaultRewards } from './CacheVaultRewards';
|
2
|
+
import DepositToken from './DepositToken';
|
3
|
+
import { NFTBoost } from './NFTBoost';
|
4
|
+
import { Strategy } from './Strategy';
|
5
|
+
type MyPerqData = {
|
6
|
+
[key: string]: {
|
7
|
+
vaultAddress: string;
|
8
|
+
projectName: string;
|
9
|
+
projectType: string;
|
10
|
+
projectFeatured: boolean;
|
11
|
+
liveUntil: string;
|
12
|
+
coingeckoId?: string;
|
13
|
+
depositTokenId: 'WETH' | 'USDC' | 'DAI';
|
14
|
+
type: 'earn' | 'launch' | 'airdrop';
|
15
|
+
rewardType: 'points' | 'token' | 'pnode shards';
|
16
|
+
amountOfTokens?: number;
|
17
|
+
vaultName: string;
|
18
|
+
protocols: string[];
|
19
|
+
apy: number;
|
20
|
+
tvr: number;
|
21
|
+
tokenPrice: number;
|
22
|
+
change24h: number;
|
23
|
+
volume24h: number;
|
24
|
+
rewards: CacheVaultRewards[];
|
25
|
+
strategies: Strategy[];
|
26
|
+
boosters: NFTBoost[];
|
27
|
+
depositToken: DepositToken;
|
28
|
+
avgTvl: string;
|
29
|
+
peakTvl: string;
|
30
|
+
pendingDeposits: number;
|
31
|
+
currentlyDeposited: number;
|
32
|
+
pendingWithdraws: number;
|
33
|
+
claimable: number;
|
34
|
+
ethPrice: number;
|
35
|
+
};
|
36
|
+
};
|
37
|
+
export default MyPerqData;
|
package/dist/types/Strategy.d.ts
CHANGED
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@dripfi/drip-sdk",
|
3
|
-
"version": "1.1.
|
3
|
+
"version": "1.1.22-dev.1",
|
4
4
|
"description": "Drip SDK",
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"types": "dist/index.d.ts",
|
@@ -11,7 +11,7 @@
|
|
11
11
|
"test": "echo \"Error: no test specified\" && exit 1"
|
12
12
|
},
|
13
13
|
"dependencies": {
|
14
|
-
"@spool.fi/spool-v2-sdk": "2.0.
|
14
|
+
"@spool.fi/spool-v2-sdk": "2.0.14",
|
15
15
|
"ethers": "^5.7.2",
|
16
16
|
"js-cookie": "^3.0.5",
|
17
17
|
"web3-token": "^1.0.6"
|