@ichidao/ichi-vaults-sdk 0.0.112 → 0.1.0
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 +163 -0
- package/dist/abis/types/MultiFeeDistributer.d.ts +475 -0
- package/dist/abis/types/MultiFeeDistributer.js +3 -0
- package/dist/abis/types/MultiFeeDistributer.js.map +1 -0
- package/dist/abis/types/factories/MultiFeeDistributer__factory.d.ts +451 -0
- package/dist/abis/types/factories/MultiFeeDistributer__factory.js +596 -0
- package/dist/abis/types/factories/MultiFeeDistributer__factory.js.map +1 -0
- package/dist/abis/types/factories/index.d.ts +1 -0
- package/dist/abis/types/factories/index.js +3 -1
- package/dist/abis/types/factories/index.js.map +1 -1
- package/dist/abis/types/index.d.ts +2 -0
- package/dist/abis/types/index.js +3 -1
- package/dist/abis/types/index.js.map +1 -1
- package/dist/src/__tests__/index.test.js +74 -1
- package/dist/src/__tests__/index.test.js.map +1 -1
- package/dist/src/abis/types/MultiFeeDistributer.d.ts +475 -0
- package/dist/src/abis/types/factories/MultiFeeDistributer__factory.d.ts +451 -0
- package/dist/src/abis/types/factories/index.d.ts +1 -0
- package/dist/src/abis/types/index.d.ts +2 -0
- package/dist/src/contracts/index.d.ts +2 -1
- package/dist/src/contracts/index.js +11 -1
- package/dist/src/contracts/index.js.map +1 -1
- package/dist/src/functions/claimRewards.d.ts +14 -0
- package/dist/src/functions/claimRewards.js +108 -0
- package/dist/src/functions/claimRewards.js.map +1 -0
- package/dist/src/functions/rewardInfo.d.ts +3 -0
- package/dist/src/functions/rewardInfo.js +176 -0
- package/dist/src/functions/rewardInfo.js.map +1 -0
- package/dist/src/functions/userBalances.d.ts +1 -1
- package/dist/src/functions/userBalances.js +64 -29
- package/dist/src/functions/userBalances.js.map +1 -1
- package/dist/src/functions/userRewards.d.ts +7 -0
- package/dist/src/functions/userRewards.js +132 -0
- package/dist/src/functions/userRewards.js.map +1 -0
- package/dist/src/functions/vault.d.ts +2 -1
- package/dist/src/functions/vault.js +75 -26
- package/dist/src/functions/vault.js.map +1 -1
- package/dist/src/graphql/constants.js +53 -46
- package/dist/src/graphql/constants.js.map +1 -1
- package/dist/src/graphql/queries.d.ts +14 -1
- package/dist/src/graphql/queries.js +57 -18
- package/dist/src/graphql/queries.js.map +1 -1
- package/dist/src/index.cjs.js +4 -1
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.esm.js +4 -1
- package/dist/src/index.js +3 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/src/contracts/index.d.ts +2 -1
- package/dist/src/src/functions/claimRewards.d.ts +14 -0
- package/dist/src/src/functions/rewardInfo.d.ts +3 -0
- package/dist/src/src/functions/userBalances.d.ts +1 -1
- package/dist/src/src/functions/userRewards.d.ts +7 -0
- package/dist/src/src/functions/vault.d.ts +2 -1
- package/dist/src/src/graphql/queries.d.ts +14 -1
- package/dist/src/src/index.d.ts +3 -0
- package/dist/src/src/types/index.d.ts +39 -0
- package/dist/src/src/types/vaultQueryData.d.ts +10 -1
- package/dist/src/src/utils/isVelodrome.d.ts +2 -0
- package/dist/src/src/utils/multicallUtils.d.ts +2 -0
- package/dist/src/types/index.d.ts +39 -0
- package/dist/src/types/index.js +2 -0
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/types/vaultQueryData.d.ts +10 -1
- package/dist/src/utils/config/addresses.js +113 -101
- package/dist/src/utils/config/addresses.js.map +1 -1
- package/dist/src/utils/isVelodrome.d.ts +2 -0
- package/dist/src/utils/isVelodrome.js +11 -0
- package/dist/src/utils/isVelodrome.js.map +1 -0
- package/dist/src/utils/multicallUtils.d.ts +2 -0
- package/dist/src/utils/multicallUtils.js +19 -1
- package/dist/src/utils/multicallUtils.js.map +1 -1
- package/package.json +1 -1
@@ -3,10 +3,24 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
|
|
3
3
|
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
4
4
|
return cooked;
|
5
5
|
};
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
8
|
+
};
|
6
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
7
|
-
exports.feeAprQuery = exports.
|
10
|
+
exports.allRewardVaults = exports.allRewardInfoQuery = exports.rewardInfoQuery = exports.feeAprQuery = exports.getUserBalancesQuery = exports.allEventsNoCollectFeesQuery = exports.allEventsQuery = exports.vaultWithdrawsQuery = exports.vaultDepositsQuery = exports.vaultCollectFeesQuery = exports.rebalancesQuery = exports.vaultByPoolQuery = exports.vaultByTokensQuery = exports.getVaultQuery = exports.vaultQueryVelodrome = exports.vaultQueryAlgebra = exports.vaultQuery = void 0;
|
8
11
|
// eslint-disable-next-line import/no-unresolved
|
9
12
|
var graphql_request_1 = require("graphql-request");
|
13
|
+
var types_1 = require("../types");
|
14
|
+
var addresses_1 = require("../utils/config/addresses");
|
15
|
+
var getGraphUrls_1 = __importDefault(require("../utils/getGraphUrls"));
|
16
|
+
var isVelodrome_1 = require("../utils/isVelodrome");
|
17
|
+
function noHoldersCount(dex, chainId) {
|
18
|
+
return (dex === types_1.SupportedDex.Fenix ||
|
19
|
+
dex === types_1.SupportedDex.Henjin ||
|
20
|
+
dex === types_1.SupportedDex.Thirdfy ||
|
21
|
+
(dex === types_1.SupportedDex.Sushiswap && chainId === types_1.SupportedChainId.skale_europa) ||
|
22
|
+
(dex === types_1.SupportedDex.Velocore && chainId === types_1.SupportedChainId.zksync_era_testnet));
|
23
|
+
}
|
10
24
|
function vaultQuery(includeHoldersCount, version) {
|
11
25
|
if (version === void 0) { version = 1; }
|
12
26
|
// Version 2 uses token0/token1 instead of tokenA/tokenB
|
@@ -27,36 +41,61 @@ function vaultQueryAlgebra(includeHoldersCount, version) {
|
|
27
41
|
return (0, graphql_request_1.gql)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n query ($vaultAddress: String!) {\n ichiVault(id: $vaultAddress) {\n id\n tokenA\n tokenB\n allowTokenA\n allowTokenB\n ", "\n }\n }\n "], ["\n query ($vaultAddress: String!) {\n ichiVault(id: $vaultAddress) {\n id\n tokenA\n tokenB\n allowTokenA\n allowTokenB\n ", "\n }\n }\n "])), includeHoldersCount ? 'holdersCount' : '');
|
28
42
|
}
|
29
43
|
exports.vaultQueryAlgebra = vaultQueryAlgebra;
|
44
|
+
exports.vaultQueryVelodrome = (0, graphql_request_1.gql)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n query ($vaultAddress: String!) {\n ichiVault(id: $vaultAddress) {\n id\n token0\n token1\n allowToken0\n allowToken1\n holdersCount\n farmingContract {\n id\n rewardToken\n rewardTokenDecimals\n }\n }\n }\n"], ["\n query ($vaultAddress: String!) {\n ichiVault(id: $vaultAddress) {\n id\n token0\n token1\n allowToken0\n allowToken1\n holdersCount\n farmingContract {\n id\n rewardToken\n rewardTokenDecimals\n }\n }\n }\n"])));
|
45
|
+
/**
|
46
|
+
* Returns the appropriate GraphQL query for vault information based on chain and DEX configuration
|
47
|
+
*
|
48
|
+
* @param chainId - The blockchain ID
|
49
|
+
* @param dex - The decentralized exchange
|
50
|
+
* @returns The appropriate GraphQL query string
|
51
|
+
*/
|
52
|
+
function getVaultQuery(chainId, dex) {
|
53
|
+
var _a, _b, _c, _d;
|
54
|
+
var includeHoldersCount = !noHoldersCount(dex, chainId);
|
55
|
+
var version = (0, getGraphUrls_1.default)(chainId, dex).version;
|
56
|
+
// Check for Velodrome AMM version first
|
57
|
+
if ((0, isVelodrome_1.isVelodromeDex)(chainId, dex)) {
|
58
|
+
return exports.vaultQueryVelodrome;
|
59
|
+
}
|
60
|
+
var isAlgebra = (_b = (_a = addresses_1.addressConfig[chainId]) === null || _a === void 0 ? void 0 : _a[dex]) === null || _b === void 0 ? void 0 : _b.isAlgebra;
|
61
|
+
var is2Thick = (_d = (_c = addresses_1.addressConfig[chainId]) === null || _c === void 0 ? void 0 : _c[dex]) === null || _d === void 0 ? void 0 : _d.is2Thick;
|
62
|
+
return isAlgebra || is2Thick
|
63
|
+
? vaultQueryAlgebra(includeHoldersCount, version)
|
64
|
+
: vaultQuery(includeHoldersCount, version);
|
65
|
+
}
|
66
|
+
exports.getVaultQuery = getVaultQuery;
|
30
67
|
function vaultByTokensQuery(version) {
|
31
68
|
if (version === void 0) { version = 1; }
|
32
69
|
// Version 2 uses token0/token1 instead of tokenA/tokenB
|
33
70
|
if (version === 2) {
|
34
|
-
return (0, graphql_request_1.gql)(
|
71
|
+
return (0, graphql_request_1.gql)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n query ($addressTokenA: String!, $addressTokenB: String!) {\n ichiVaults(where: { token0: $addressTokenA, token1: $addressTokenB }) {\n id\n token0\n token1\n allowToken0\n allowToken1\n }\n }\n "], ["\n query ($addressTokenA: String!, $addressTokenB: String!) {\n ichiVaults(where: { token0: $addressTokenA, token1: $addressTokenB }) {\n id\n token0\n token1\n allowToken0\n allowToken1\n }\n }\n "])));
|
35
72
|
}
|
36
|
-
return (0, graphql_request_1.gql)(
|
73
|
+
return (0, graphql_request_1.gql)(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n query ($addressTokenA: String!, $addressTokenB: String!) {\n ichiVaults(where: { tokenA: $addressTokenA, tokenB: $addressTokenB }) {\n id\n tokenA\n tokenB\n allowTokenA\n allowTokenB\n }\n }\n "], ["\n query ($addressTokenA: String!, $addressTokenB: String!) {\n ichiVaults(where: { tokenA: $addressTokenA, tokenB: $addressTokenB }) {\n id\n tokenA\n tokenB\n allowTokenA\n allowTokenB\n }\n }\n "])));
|
37
74
|
}
|
38
75
|
exports.vaultByTokensQuery = vaultByTokensQuery;
|
39
|
-
exports.vaultByPoolQuery = (0, graphql_request_1.gql)(
|
40
|
-
var rebalancesQuery = function (lastTimestamp) { return (0, graphql_request_1.gql)(
|
76
|
+
exports.vaultByPoolQuery = (0, graphql_request_1.gql)(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n query ($poolAddress: String!) {\n deployICHIVaults(where: { pool: $poolAddress }) {\n vault\n }\n }\n"], ["\n query ($poolAddress: String!) {\n deployICHIVaults(where: { pool: $poolAddress }) {\n vault\n }\n }\n"])));
|
77
|
+
var rebalancesQuery = function (lastTimestamp) { return (0, graphql_request_1.gql)(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n query ($vaultAddress: String!, $createdAtTimestamp_gt: String!) {\n vaultRebalances(\n first: 1000,\n where: {\n vault: $vaultAddress,\n createdAtTimestamp_gt: ", "\n },\n orderBy: createdAtTimestamp,\n orderDirection: asc\n ) {\n feeAmount0\n feeAmount1\n totalAmount0\n totalAmount1\n createdAtTimestamp\n vault\n sqrtPrice\n totalSupply\n }\n }\n"], ["\n query ($vaultAddress: String!, $createdAtTimestamp_gt: String!) {\n vaultRebalances(\n first: 1000,\n where: {\n vault: $vaultAddress,\n createdAtTimestamp_gt: ", "\n },\n orderBy: createdAtTimestamp,\n orderDirection: asc\n ) {\n feeAmount0\n feeAmount1\n totalAmount0\n totalAmount1\n createdAtTimestamp\n vault\n sqrtPrice\n totalSupply\n }\n }\n"])), lastTimestamp ? "\"".concat(lastTimestamp, "\"") : '$createdAtTimestamp_gt'); };
|
41
78
|
exports.rebalancesQuery = rebalancesQuery;
|
42
|
-
var vaultCollectFeesQuery = function (lastTimestamp) { return (0, graphql_request_1.gql)(
|
79
|
+
var vaultCollectFeesQuery = function (lastTimestamp) { return (0, graphql_request_1.gql)(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n query ($vaultAddress: String!, $createdAtTimestamp_gt: String!) {\n vaultCollectFees(\n first: 1000,\n where: {\n vault: $vaultAddress,\n createdAtTimestamp_gt: $createdAtTimestamp_gt,\n ", "\n },\n orderBy: createdAtTimestamp,\n orderDirection: asc\n ) {\n feeAmount0\n feeAmount1\n totalAmount0\n totalAmount1\n createdAtTimestamp\n vault\n sqrtPrice\n totalSupply\n }\n }\n"], ["\n query ($vaultAddress: String!, $createdAtTimestamp_gt: String!) {\n vaultCollectFees(\n first: 1000,\n where: {\n vault: $vaultAddress,\n createdAtTimestamp_gt: $createdAtTimestamp_gt,\n ", "\n },\n orderBy: createdAtTimestamp,\n orderDirection: asc\n ) {\n feeAmount0\n feeAmount1\n totalAmount0\n totalAmount1\n createdAtTimestamp\n vault\n sqrtPrice\n totalSupply\n }\n }\n"])), lastTimestamp ? "createdAtTimestamp_gt: \"".concat(lastTimestamp, "\"") : ''); };
|
43
80
|
exports.vaultCollectFeesQuery = vaultCollectFeesQuery;
|
44
|
-
var vaultDepositsQuery = function (lastTimestamp) { return (0, graphql_request_1.gql)(
|
81
|
+
var vaultDepositsQuery = function (lastTimestamp) { return (0, graphql_request_1.gql)(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n query ($vaultAddress: String!, $createdAtTimestamp_gt: String!) {\n vaultDeposits(\n first: 1000,\n where: {\n vault: $vaultAddress,\n createdAtTimestamp_gt: ", "\n },\n orderBy: createdAtTimestamp,\n orderDirection: asc\n ) {\n vault\n createdAtTimestamp\n totalAmount0\n totalAmount1\n totalAmount0BeforeEvent\n totalAmount1BeforeEvent\n sqrtPrice\n totalSupply\n }\n }\n"], ["\n query ($vaultAddress: String!, $createdAtTimestamp_gt: String!) {\n vaultDeposits(\n first: 1000,\n where: {\n vault: $vaultAddress,\n createdAtTimestamp_gt: ", "\n },\n orderBy: createdAtTimestamp,\n orderDirection: asc\n ) {\n vault\n createdAtTimestamp\n totalAmount0\n totalAmount1\n totalAmount0BeforeEvent\n totalAmount1BeforeEvent\n sqrtPrice\n totalSupply\n }\n }\n"])), lastTimestamp ? "\"".concat(lastTimestamp, "\"") : '$createdAtTimestamp_gt'); };
|
45
82
|
exports.vaultDepositsQuery = vaultDepositsQuery;
|
46
|
-
var vaultWithdrawsQuery = function (lastTimestamp) { return (0, graphql_request_1.gql)(
|
83
|
+
var vaultWithdrawsQuery = function (lastTimestamp) { return (0, graphql_request_1.gql)(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n query ($vaultAddress: String!, $createdAtTimestamp_gt: String!) {\n vaultWithdraws(\n first: 1000,\n where: {\n vault: $vaultAddress,\n createdAtTimestamp_gt: ", "\n },\n orderBy: createdAtTimestamp,\n orderDirection: asc\n ) {\n createdAtTimestamp\n totalAmount0\n totalAmount1\n totalAmount0BeforeEvent\n totalAmount1BeforeEvent\n vault\n sqrtPrice\n totalSupply\n }\n }\n"], ["\n query ($vaultAddress: String!, $createdAtTimestamp_gt: String!) {\n vaultWithdraws(\n first: 1000,\n where: {\n vault: $vaultAddress,\n createdAtTimestamp_gt: ", "\n },\n orderBy: createdAtTimestamp,\n orderDirection: asc\n ) {\n createdAtTimestamp\n totalAmount0\n totalAmount1\n totalAmount0BeforeEvent\n totalAmount1BeforeEvent\n vault\n sqrtPrice\n totalSupply\n }\n }\n"])), lastTimestamp ? "\"".concat(lastTimestamp, "\"") : '$createdAtTimestamp_gt'); };
|
47
84
|
exports.vaultWithdrawsQuery = vaultWithdrawsQuery;
|
48
|
-
var allEventsQuery = function (lastTimestamps) { return (0, graphql_request_1.gql)(
|
85
|
+
var allEventsQuery = function (lastTimestamps) { return (0, graphql_request_1.gql)(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n query ($vaultAddress: String!, $createdAtTimestamp_gt: String!) {\n vaultRebalances(\n first: 1000,\n where: {\n vault: $vaultAddress,\n createdAtTimestamp_gt: ", "\n },\n orderBy: createdAtTimestamp,\n orderDirection: asc\n ) {\n feeAmount0\n feeAmount1\n totalAmount0\n totalAmount1\n createdAtTimestamp\n vault\n sqrtPrice\n totalSupply\n },\n vaultCollectFees(\n first: 1000,\n where: {\n vault: $vaultAddress,\n createdAtTimestamp_gt: ", "\n },\n orderBy: createdAtTimestamp,\n orderDirection: asc\n ) {\n feeAmount0\n feeAmount1\n totalAmount0\n totalAmount1\n createdAtTimestamp\n vault\n sqrtPrice\n totalSupply\n },\n vaultDeposits(\n first: 1000,\n where: {\n vault: $vaultAddress,\n createdAtTimestamp_gt: ", "\n },\n orderBy: createdAtTimestamp,\n orderDirection: asc\n ) {\n vault\n createdAtTimestamp\n totalAmount0\n totalAmount1\n totalAmount0BeforeEvent\n totalAmount1BeforeEvent\n sqrtPrice\n totalSupply\n },\n vaultWithdraws(\n first: 1000,\n where: {\n vault: $vaultAddress,\n createdAtTimestamp_gt: ", "\n },\n orderBy: createdAtTimestamp,\n orderDirection: asc\n ) {\n createdAtTimestamp\n totalAmount0\n totalAmount1\n totalAmount0BeforeEvent\n totalAmount1BeforeEvent\n vault\n sqrtPrice\n totalSupply\n }\n }\n"], ["\n query ($vaultAddress: String!, $createdAtTimestamp_gt: String!) {\n vaultRebalances(\n first: 1000,\n where: {\n vault: $vaultAddress,\n createdAtTimestamp_gt: ", "\n },\n orderBy: createdAtTimestamp,\n orderDirection: asc\n ) {\n feeAmount0\n feeAmount1\n totalAmount0\n totalAmount1\n createdAtTimestamp\n vault\n sqrtPrice\n totalSupply\n },\n vaultCollectFees(\n first: 1000,\n where: {\n vault: $vaultAddress,\n createdAtTimestamp_gt: ", "\n },\n orderBy: createdAtTimestamp,\n orderDirection: asc\n ) {\n feeAmount0\n feeAmount1\n totalAmount0\n totalAmount1\n createdAtTimestamp\n vault\n sqrtPrice\n totalSupply\n },\n vaultDeposits(\n first: 1000,\n where: {\n vault: $vaultAddress,\n createdAtTimestamp_gt: ", "\n },\n orderBy: createdAtTimestamp,\n orderDirection: asc\n ) {\n vault\n createdAtTimestamp\n totalAmount0\n totalAmount1\n totalAmount0BeforeEvent\n totalAmount1BeforeEvent\n sqrtPrice\n totalSupply\n },\n vaultWithdraws(\n first: 1000,\n where: {\n vault: $vaultAddress,\n createdAtTimestamp_gt: ", "\n },\n orderBy: createdAtTimestamp,\n orderDirection: asc\n ) {\n createdAtTimestamp\n totalAmount0\n totalAmount1\n totalAmount0BeforeEvent\n totalAmount1BeforeEvent\n vault\n sqrtPrice\n totalSupply\n }\n }\n"])), lastTimestamps.rebalances ? "\"".concat(lastTimestamps.rebalances, "\"") : '$createdAtTimestamp_gt', lastTimestamps.collectFees ? "\"".concat(lastTimestamps.collectFees, "\"") : '$createdAtTimestamp_gt', lastTimestamps.deposits ? "\"".concat(lastTimestamps.deposits, "\"") : '$createdAtTimestamp_gt', lastTimestamps.withdraws ? "\"".concat(lastTimestamps.withdraws, "\"") : '$createdAtTimestamp_gt'); };
|
49
86
|
exports.allEventsQuery = allEventsQuery;
|
50
|
-
var allEventsNoCollectFeesQuery = function (lastTimestamps) { return (0, graphql_request_1.gql)(
|
87
|
+
var allEventsNoCollectFeesQuery = function (lastTimestamps) { return (0, graphql_request_1.gql)(templateObject_14 || (templateObject_14 = __makeTemplateObject(["\n query ($vaultAddress: String!, $createdAtTimestamp_gt: String!) {\n vaultRebalances(\n first: 1000,\n where: {\n vault: $vaultAddress,\n createdAtTimestamp_gt: ", "\n },\n orderBy: createdAtTimestamp,\n orderDirection: asc\n ) {\n feeAmount0\n feeAmount1\n totalAmount0\n totalAmount1\n createdAtTimestamp\n vault\n sqrtPrice\n totalSupply\n },\n vaultDeposits(\n first: 1000,\n where: {\n vault: $vaultAddress,\n createdAtTimestamp_gt: ", "\n },\n orderBy: createdAtTimestamp,\n orderDirection: asc\n ) {\n vault\n createdAtTimestamp\n totalAmount0\n totalAmount1\n totalAmount0BeforeEvent\n totalAmount1BeforeEvent\n sqrtPrice\n totalSupply\n },\n vaultWithdraws(\n first: 1000,\n where: {\n vault: $vaultAddress,\n createdAtTimestamp_gt: ", "\n },\n orderBy: createdAtTimestamp,\n orderDirection: asc\n ) {\n createdAtTimestamp\n totalAmount0\n totalAmount1\n totalAmount0BeforeEvent\n totalAmount1BeforeEvent\n vault\n sqrtPrice\n totalSupply\n }\n }\n"], ["\n query ($vaultAddress: String!, $createdAtTimestamp_gt: String!) {\n vaultRebalances(\n first: 1000,\n where: {\n vault: $vaultAddress,\n createdAtTimestamp_gt: ", "\n },\n orderBy: createdAtTimestamp,\n orderDirection: asc\n ) {\n feeAmount0\n feeAmount1\n totalAmount0\n totalAmount1\n createdAtTimestamp\n vault\n sqrtPrice\n totalSupply\n },\n vaultDeposits(\n first: 1000,\n where: {\n vault: $vaultAddress,\n createdAtTimestamp_gt: ", "\n },\n orderBy: createdAtTimestamp,\n orderDirection: asc\n ) {\n vault\n createdAtTimestamp\n totalAmount0\n totalAmount1\n totalAmount0BeforeEvent\n totalAmount1BeforeEvent\n sqrtPrice\n totalSupply\n },\n vaultWithdraws(\n first: 1000,\n where: {\n vault: $vaultAddress,\n createdAtTimestamp_gt: ", "\n },\n orderBy: createdAtTimestamp,\n orderDirection: asc\n ) {\n createdAtTimestamp\n totalAmount0\n totalAmount1\n totalAmount0BeforeEvent\n totalAmount1BeforeEvent\n vault\n sqrtPrice\n totalSupply\n }\n }\n"])), lastTimestamps.rebalances ? "\"".concat(lastTimestamps.rebalances, "\"") : '$createdAtTimestamp_gt', lastTimestamps.deposits ? "\"".concat(lastTimestamps.deposits, "\"") : '$createdAtTimestamp_gt', lastTimestamps.withdraws ? "\"".concat(lastTimestamps.withdraws, "\"") : '$createdAtTimestamp_gt'); };
|
51
88
|
exports.allEventsNoCollectFeesQuery = allEventsNoCollectFeesQuery;
|
52
|
-
function
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
}
|
57
|
-
return (0, graphql_request_1.gql)(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n query ($accountAddress: String!) {\n user(id: $accountAddress) {\n vaultShares {\n vault {\n id\n tokenA\n tokenB\n }\n vaultShareBalance\n }\n }\n }\n "], ["\n query ($accountAddress: String!) {\n user(id: $accountAddress) {\n vaultShares {\n vault {\n id\n tokenA\n tokenB\n }\n vaultShareBalance\n }\n }\n }\n "])));
|
89
|
+
function getUserBalancesQuery(chainId, dex) {
|
90
|
+
var version = (0, getGraphUrls_1.default)(chainId, dex).version;
|
91
|
+
// Check for Velodrome AMM version first
|
92
|
+
var isVelodrome = (0, isVelodrome_1.isVelodromeDex)(chainId, dex);
|
93
|
+
return (0, graphql_request_1.gql)(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n query ($accountAddress: String!) {\n user(id: $accountAddress) {\n vaultShares {\n vault {\n id\n ", "\n ", "\n ", "\n }\n vaultShareBalance\n ", "\n }\n }\n }\n "], ["\n query ($accountAddress: String!) {\n user(id: $accountAddress) {\n vaultShares {\n vault {\n id\n ", "\n ", "\n ", "\n }\n vaultShareBalance\n ", "\n }\n }\n }\n "])), version === 2 ? 'token0' : 'tokenA', version === 2 ? 'token1' : 'tokenB', isVelodrome ? 'farmingContract { id }' : '', isVelodrome ? 'stakedVaultShareBalance' : '');
|
58
94
|
}
|
59
|
-
exports.
|
95
|
+
exports.getUserBalancesQuery = getUserBalancesQuery;
|
60
96
|
exports.feeAprQuery = (0, graphql_request_1.gql)(templateObject_16 || (templateObject_16 = __makeTemplateObject(["\n query ($vaultAddress: String!) {\n ichiVault(id: $vaultAddress) {\n feeApr_1d\n feeApr_3d\n feeApr_7d\n feeApr_30d\n }\n }\n"], ["\n query ($vaultAddress: String!) {\n ichiVault(id: $vaultAddress) {\n feeApr_1d\n feeApr_3d\n feeApr_7d\n feeApr_30d\n }\n }\n"])));
|
61
|
-
|
97
|
+
exports.rewardInfoQuery = (0, graphql_request_1.gql)(templateObject_17 || (templateObject_17 = __makeTemplateObject(["\n query ($vaultAddress: String!) {\n ichiVault(id: $vaultAddress) {\n id\n rewardRatePerToken_1d\n rewardRatePerToken_3d\n farmingContract {\n id\n rewardToken\n }\n }\n }\n"], ["\n query ($vaultAddress: String!) {\n ichiVault(id: $vaultAddress) {\n id\n rewardRatePerToken_1d\n rewardRatePerToken_3d\n farmingContract {\n id\n rewardToken\n }\n }\n }\n"])));
|
98
|
+
exports.allRewardInfoQuery = (0, graphql_request_1.gql)(templateObject_18 || (templateObject_18 = __makeTemplateObject(["\n query {\n ichiVaults {\n id\n rewardRatePerToken_1d\n rewardRatePerToken_3d\n farmingContract {\n id\n rewardToken\n rewardTokenDecimals\n }\n }\n }\n"], ["\n query {\n ichiVaults {\n id\n rewardRatePerToken_1d\n rewardRatePerToken_3d\n farmingContract {\n id\n rewardToken\n rewardTokenDecimals\n }\n }\n }\n"])));
|
99
|
+
exports.allRewardVaults = (0, graphql_request_1.gql)(templateObject_19 || (templateObject_19 = __makeTemplateObject(["\n query {\n ichiVaults(where: { farmingContract_: { id_not: null } }) {\n id\n farmingContract {\n id\n rewardToken\n rewardTokenDecimals\n }\n }\n }\n"], ["\n query {\n ichiVaults(where: { farmingContract_: { id_not: null } }) {\n id\n farmingContract {\n id\n rewardToken\n rewardTokenDecimals\n }\n }\n }\n"])));
|
100
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16, templateObject_17, templateObject_18, templateObject_19;
|
62
101
|
//# sourceMappingURL=queries.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/graphql/queries.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/graphql/queries.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.cjs.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
/**
|
3
3
|
* @license
|
4
4
|
* author: ICHI DAO <core@ichi.org>
|
5
|
-
* ichi-vaults-sdk.js v0.0
|
5
|
+
* ichi-vaults-sdk.js v0.1.0
|
6
6
|
* Released under the MIT license.
|
7
7
|
*/
|
8
8
|
|
@@ -24,4 +24,7 @@ tslib_1.__exportStar(require("./functions/vaultTvl"), exports);
|
|
24
24
|
tslib_1.__exportStar(require("./functions/chains"), exports);
|
25
25
|
tslib_1.__exportStar(require("./functions/vaultPositions"), exports);
|
26
26
|
tslib_1.__exportStar(require("./functions/getFeeAprs"), exports);
|
27
|
+
tslib_1.__exportStar(require("./functions/rewardInfo"), exports);
|
28
|
+
tslib_1.__exportStar(require("./functions/userRewards"), exports);
|
29
|
+
tslib_1.__exportStar(require("./functions/claimRewards"), exports);
|
27
30
|
tslib_1.__exportStar(require("./types/index"), exports);
|
package/dist/src/index.d.ts
CHANGED
@@ -11,4 +11,7 @@ export * from './functions/vaultTvl';
|
|
11
11
|
export * from './functions/chains';
|
12
12
|
export * from './functions/vaultPositions';
|
13
13
|
export * from './functions/getFeeAprs';
|
14
|
+
export * from './functions/rewardInfo';
|
15
|
+
export * from './functions/userRewards';
|
16
|
+
export * from './functions/claimRewards';
|
14
17
|
export * from './types/index';
|
package/dist/src/index.esm.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
/**
|
3
3
|
* @license
|
4
4
|
* author: ICHI DAO <core@ichi.org>
|
5
|
-
* ichi-vaults-sdk.js v0.0
|
5
|
+
* ichi-vaults-sdk.js v0.1.0
|
6
6
|
* Released under the MIT license.
|
7
7
|
*/
|
8
8
|
|
@@ -22,4 +22,7 @@ tslib_1.__exportStar(require("./functions/vaultTvl"), exports);
|
|
22
22
|
tslib_1.__exportStar(require("./functions/chains"), exports);
|
23
23
|
tslib_1.__exportStar(require("./functions/vaultPositions"), exports);
|
24
24
|
tslib_1.__exportStar(require("./functions/getFeeAprs"), exports);
|
25
|
+
tslib_1.__exportStar(require("./functions/rewardInfo"), exports);
|
26
|
+
tslib_1.__exportStar(require("./functions/userRewards"), exports);
|
27
|
+
tslib_1.__exportStar(require("./functions/claimRewards"), exports);
|
25
28
|
tslib_1.__exportStar(require("./types/index"), exports);
|
package/dist/src/index.js
CHANGED
@@ -28,5 +28,8 @@ __exportStar(require("./functions/vaultTvl"), exports);
|
|
28
28
|
__exportStar(require("./functions/chains"), exports);
|
29
29
|
__exportStar(require("./functions/vaultPositions"), exports);
|
30
30
|
__exportStar(require("./functions/getFeeAprs"), exports);
|
31
|
+
__exportStar(require("./functions/rewardInfo"), exports);
|
32
|
+
__exportStar(require("./functions/userRewards"), exports);
|
33
|
+
__exportStar(require("./functions/claimRewards"), exports);
|
31
34
|
__exportStar(require("./types/index"), exports);
|
32
35
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA2C;AAC3C,4DAA0C;AAC1C,2DAAyC;AACzC,sDAAoC;AACpC,uDAAqC;AACrC,oDAAkC;AAClC,4DAA0C;AAC1C,2DAAyC;AACzC,2DAAyC;AACzC,2DAAyC;AACzC,uDAAqC;AACrC,qDAAmC;AACnC,6DAA2C;AAC3C,yDAAuC;AACvC,gDAA8B"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA2C;AAC3C,4DAA0C;AAC1C,2DAAyC;AACzC,sDAAoC;AACpC,uDAAqC;AACrC,oDAAkC;AAClC,4DAA0C;AAC1C,2DAAyC;AACzC,2DAAyC;AACzC,2DAAyC;AACzC,uDAAqC;AACrC,qDAAmC;AACnC,6DAA2C;AAC3C,yDAAuC;AACvC,yDAAuC;AACvC,0DAAwC;AACxC,2DAAyC;AACzC,gDAA8B"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { JsonRpcProvider } from '@ethersproject/providers';
|
2
2
|
import { SignerOrProvider } from '../types';
|
3
|
-
import { ERC20, IchiVault, DepositGuard, UniswapV3Pool, AlgebraPool, AlgebraIntegralPool, ClPool } from '../../abis/types';
|
3
|
+
import { ERC20, IchiVault, DepositGuard, UniswapV3Pool, AlgebraPool, AlgebraIntegralPool, ClPool, MultiFeeDistributer } from '../../abis/types';
|
4
4
|
export declare function getERC20Contract(address: string, signerOrProvider: SignerOrProvider): ERC20;
|
5
5
|
export declare function getDepositGuardContract(address: string, signerOrProvider: SignerOrProvider): DepositGuard;
|
6
6
|
export declare function getIchiVaultContract(address: string, signerOrProvider: SignerOrProvider): IchiVault;
|
@@ -8,3 +8,4 @@ export declare function getUniswapV3PoolContract(address: string, provider: Json
|
|
8
8
|
export declare function getAlgebraPoolContract(address: string, provider: JsonRpcProvider): AlgebraPool;
|
9
9
|
export declare function getAlgebraIntegralPoolContract(address: string, provider: JsonRpcProvider): AlgebraIntegralPool;
|
10
10
|
export declare function getClPoolContract(address: string, provider: JsonRpcProvider): ClPool;
|
11
|
+
export declare function getMultiFeeDistributorContract(address: string, signerOrProvider: SignerOrProvider): MultiFeeDistributer;
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { JsonRpcProvider } from '@ethersproject/providers';
|
2
|
+
import { ContractTransaction, Overrides } from 'ethers';
|
3
|
+
import { SupportedDex } from '../types';
|
4
|
+
/**
|
5
|
+
* Claims rewards from the farming contract associated with a vault
|
6
|
+
*
|
7
|
+
* @param accountAddress - The address of the account claiming rewards
|
8
|
+
* @param vaultAddress - The address of the vault
|
9
|
+
* @param jsonProvider - The JSON RPC provider
|
10
|
+
* @param dex - The DEX to use
|
11
|
+
* @param overrides - Optional transaction overrides
|
12
|
+
* @returns The transaction
|
13
|
+
*/
|
14
|
+
export declare function claimRewards(accountAddress: string, vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, overrides?: Overrides): Promise<ContractTransaction>;
|
@@ -0,0 +1,3 @@
|
|
1
|
+
import { RewardInfo, SupportedChainId, SupportedDex } from '../types';
|
2
|
+
export declare function getRewardInfo(chainId: SupportedChainId, dex: SupportedDex, vaultAddress: string): Promise<RewardInfo>;
|
3
|
+
export declare function getAllRewardInfo(chainId: SupportedChainId, dex: SupportedDex): Promise<RewardInfo[]>;
|
@@ -4,7 +4,7 @@ import { SupportedDex, UserAmounts, UserAmountsBN, UserAmountsInVault, UserAmoun
|
|
4
4
|
import { UserBalancesQueryData } from '../types/vaultQueryData';
|
5
5
|
export declare function getUserBalance(accountAddress: string, vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex): Promise<string>;
|
6
6
|
export declare function getUserBalance(accountAddress: string, vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, raw: true): Promise<BigNumber>;
|
7
|
-
export declare function sendUserBalancesQueryRequest(url: string, accountAddress: string, query: string): Promise<UserBalancesQueryData['user']>;
|
7
|
+
export declare function sendUserBalancesQueryRequest(url: string, accountAddress: string, query: string, vaultAddress?: string): Promise<UserBalancesQueryData['user']>;
|
8
8
|
export declare function getAllUserBalances(accountAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex): Promise<UserBalanceInVault[]>;
|
9
9
|
export declare function getAllUserBalances(accountAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, raw: true): Promise<UserBalanceInVaultBN[]>;
|
10
10
|
export declare function getUserAmounts(accountAddress: string, vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex): Promise<UserAmounts>;
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import { JsonRpcProvider } from '@ethersproject/providers';
|
2
|
+
import { BigNumber } from 'ethers';
|
3
|
+
import { SupportedDex, UserRewards, UserRewardsBN } from '../types';
|
4
|
+
export declare function getUserRewards(accountAddress: string, vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex): Promise<string>;
|
5
|
+
export declare function getUserRewards(accountAddress: string, vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, raw: true): Promise<BigNumber>;
|
6
|
+
export declare function getAllUserRewards(accountAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex): Promise<UserRewards[]>;
|
7
|
+
export declare function getAllUserRewards(accountAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, raw: true): Promise<UserRewardsBN[]>;
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { JsonRpcProvider } from '@ethersproject/providers';
|
2
|
-
import { SupportedDex, SupportedChainId, IchiVault } from '../types';
|
2
|
+
import { SupportedDex, SupportedChainId, IchiVault, VaultWithRewards } from '../types';
|
3
3
|
import { VaultsByPoolQueryData, VaultsByTokensQueryData } from '../types/vaultQueryData';
|
4
4
|
export declare function getIchiVaultInfo(chainId: SupportedChainId, dex: SupportedDex, vaultAddress: string, jsonProvider?: JsonRpcProvider): Promise<IchiVault>;
|
5
5
|
export declare function getVaultsByTokens(chainId: SupportedChainId, dex: SupportedDex, depositTokenAddress: string, pairedTokenAddress: string): Promise<VaultsByTokensQueryData['ichiVaults']>;
|
@@ -11,3 +11,4 @@ export declare function validateVaultData(vaultAddress: string, jsonProvider: Js
|
|
11
11
|
export declare function getChainByProvider(jsonProvider: JsonRpcProvider): Promise<{
|
12
12
|
chainId: SupportedChainId;
|
13
13
|
}>;
|
14
|
+
export declare function getAllRewardVaults(chainId: SupportedChainId, dex: SupportedDex): Promise<VaultWithRewards[]>;
|
@@ -1,5 +1,15 @@
|
|
1
|
+
import { SupportedChainId, SupportedDex } from '../types';
|
1
2
|
export declare function vaultQuery(includeHoldersCount: boolean, version?: number): string;
|
2
3
|
export declare function vaultQueryAlgebra(includeHoldersCount: boolean, version?: number): string;
|
4
|
+
export declare const vaultQueryVelodrome: string;
|
5
|
+
/**
|
6
|
+
* Returns the appropriate GraphQL query for vault information based on chain and DEX configuration
|
7
|
+
*
|
8
|
+
* @param chainId - The blockchain ID
|
9
|
+
* @param dex - The decentralized exchange
|
10
|
+
* @returns The appropriate GraphQL query string
|
11
|
+
*/
|
12
|
+
export declare function getVaultQuery(chainId: SupportedChainId, dex: SupportedDex): string;
|
3
13
|
export declare function vaultByTokensQuery(version?: number): string;
|
4
14
|
export declare const vaultByPoolQuery: string;
|
5
15
|
export declare const rebalancesQuery: (lastTimestamp: string) => string;
|
@@ -17,5 +27,8 @@ export declare const allEventsNoCollectFeesQuery: (lastTimestamps: {
|
|
17
27
|
deposits?: string;
|
18
28
|
withdraws?: string;
|
19
29
|
}) => string;
|
20
|
-
export declare function
|
30
|
+
export declare function getUserBalancesQuery(chainId: SupportedChainId, dex: SupportedDex): string;
|
21
31
|
export declare const feeAprQuery: string;
|
32
|
+
export declare const rewardInfoQuery: string;
|
33
|
+
export declare const allRewardInfoQuery: string;
|
34
|
+
export declare const allRewardVaults: string;
|
package/dist/src/src/index.d.ts
CHANGED
@@ -11,4 +11,7 @@ export * from './functions/vaultTvl';
|
|
11
11
|
export * from './functions/chains';
|
12
12
|
export * from './functions/vaultPositions';
|
13
13
|
export * from './functions/getFeeAprs';
|
14
|
+
export * from './functions/rewardInfo';
|
15
|
+
export * from './functions/userRewards';
|
16
|
+
export * from './functions/claimRewards';
|
14
17
|
export * from './types/index';
|
@@ -31,6 +31,7 @@ export declare enum SupportedChainId {
|
|
31
31
|
mainnet = 1,
|
32
32
|
mantle = 5000,
|
33
33
|
mode = 34443,
|
34
|
+
monad_testnet = 10143,
|
34
35
|
polygon = 137,
|
35
36
|
polygon_zkevm = 1101,
|
36
37
|
real = 111188,
|
@@ -49,6 +50,7 @@ export declare enum SupportedChainId {
|
|
49
50
|
export declare enum SupportedDex {
|
50
51
|
Agni = "Agni",
|
51
52
|
Ascent = "Ascent",
|
53
|
+
Atlantis = "Anlantis",
|
52
54
|
Blueprint = "Blueprint",
|
53
55
|
Cleo = "Cleo",
|
54
56
|
Crust = "Crust",
|
@@ -126,14 +128,27 @@ export interface IchiVault {
|
|
126
128
|
allowTokenB: boolean;
|
127
129
|
holdersCount?: string;
|
128
130
|
fee?: string;
|
131
|
+
farmingContract?: string;
|
132
|
+
rewardToken?: string;
|
133
|
+
rewardTokenDecimals?: number;
|
134
|
+
}
|
135
|
+
export interface VaultWithRewards {
|
136
|
+
id: string;
|
137
|
+
farmingContract: {
|
138
|
+
id: string;
|
139
|
+
rewardToken: string;
|
140
|
+
rewardTokenDecimals?: number;
|
141
|
+
};
|
129
142
|
}
|
130
143
|
export type VaultShares = {
|
131
144
|
vault: {
|
132
145
|
id: string;
|
133
146
|
tokenA: string;
|
134
147
|
tokenB: string;
|
148
|
+
farmingContract?: string;
|
135
149
|
};
|
136
150
|
vaultShareBalance: string;
|
151
|
+
stakedVaultShareBalance?: string;
|
137
152
|
};
|
138
153
|
export type UserBalances = {
|
139
154
|
vaultShares: VaultShares[];
|
@@ -197,10 +212,12 @@ export type PriceChange = {
|
|
197
212
|
export type UserBalanceInVault = {
|
198
213
|
vaultAddress: string;
|
199
214
|
shares: string;
|
215
|
+
stakedShares?: string;
|
200
216
|
};
|
201
217
|
export type UserBalanceInVaultBN = {
|
202
218
|
vaultAddress: string;
|
203
219
|
shares: BigNumber;
|
220
|
+
stakedShares?: BigNumber;
|
204
221
|
};
|
205
222
|
export type VaultMetrics = {
|
206
223
|
timeInterval: number;
|
@@ -209,3 +226,25 @@ export type VaultMetrics = {
|
|
209
226
|
avgDtr: number;
|
210
227
|
feeApr: number;
|
211
228
|
};
|
229
|
+
export interface RewardInfo {
|
230
|
+
id: string;
|
231
|
+
rewardRatePerToken_1d: string;
|
232
|
+
rewardRatePerToken_3d: string;
|
233
|
+
farmingContract: {
|
234
|
+
id: string;
|
235
|
+
rewardToken: string;
|
236
|
+
rewardTokenDecimals: number;
|
237
|
+
};
|
238
|
+
}
|
239
|
+
export type UserRewards = {
|
240
|
+
vaultAddress: string;
|
241
|
+
rewardToken: string;
|
242
|
+
rewardTokenDecimals: number;
|
243
|
+
rewardAmount: string;
|
244
|
+
};
|
245
|
+
export type UserRewardsBN = {
|
246
|
+
vaultAddress: string;
|
247
|
+
rewardToken: string;
|
248
|
+
rewardTokenDecimals: number;
|
249
|
+
rewardAmount: BigNumber;
|
250
|
+
};
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { IchiVault, Fees, VaultTransactionEvent, UserBalances, FeeAprData } from '..';
|
1
|
+
import { IchiVault, Fees, VaultTransactionEvent, UserBalances, FeeAprData, RewardInfo, VaultWithRewards } from '..';
|
2
2
|
export interface VaultQueryData {
|
3
3
|
ichiVault: IchiVault;
|
4
4
|
}
|
@@ -26,3 +26,12 @@ export interface UserBalancesQueryData {
|
|
26
26
|
export interface FeeAprQueryResponse {
|
27
27
|
ichiVault: FeeAprData | null;
|
28
28
|
}
|
29
|
+
export interface RewardInfoQueryResponse {
|
30
|
+
ichiVault: RewardInfo;
|
31
|
+
}
|
32
|
+
export interface AllRewardInfoQueryResponse {
|
33
|
+
ichiVaults: RewardInfo[];
|
34
|
+
}
|
35
|
+
export interface AllRewardVaultsQueryResponse {
|
36
|
+
ichiVaults: VaultWithRewards[];
|
37
|
+
}
|
@@ -17,10 +17,12 @@ export declare function multicall(calls: Call[], chainId: SupportedChainId, prov
|
|
17
17
|
export declare function encodeTotalAmountsCall(vaultAddress: string): Call;
|
18
18
|
export declare function encodeTotalSupplyCall(vaultAddress: string): Call;
|
19
19
|
export declare function encodeDecimalsCall(tokenAddress: string): Call;
|
20
|
+
export declare function encodeFarmingRewardsCall(farmingContractAddress: string, userAddress: string): Call;
|
20
21
|
export declare function decodeTotalAmountsResult(result: Result, vaultAddress: string): {
|
21
22
|
total0: BigNumber;
|
22
23
|
total1: BigNumber;
|
23
24
|
};
|
24
25
|
export declare function decodeTotalSupplyResult(result: Result, vaultAddress: string): BigNumber;
|
25
26
|
export declare function decodeDecimalsResult(result: Result, tokenAddress: string): number;
|
27
|
+
export declare function decodeFarmingRewardsResult(result: Result, farmingContractAddress: string): [string[], BigNumber[]];
|
26
28
|
export {};
|
@@ -31,6 +31,7 @@ export declare enum SupportedChainId {
|
|
31
31
|
mainnet = 1,
|
32
32
|
mantle = 5000,
|
33
33
|
mode = 34443,
|
34
|
+
monad_testnet = 10143,
|
34
35
|
polygon = 137,
|
35
36
|
polygon_zkevm = 1101,
|
36
37
|
real = 111188,
|
@@ -49,6 +50,7 @@ export declare enum SupportedChainId {
|
|
49
50
|
export declare enum SupportedDex {
|
50
51
|
Agni = "Agni",
|
51
52
|
Ascent = "Ascent",
|
53
|
+
Atlantis = "Anlantis",
|
52
54
|
Blueprint = "Blueprint",
|
53
55
|
Cleo = "Cleo",
|
54
56
|
Crust = "Crust",
|
@@ -126,14 +128,27 @@ export interface IchiVault {
|
|
126
128
|
allowTokenB: boolean;
|
127
129
|
holdersCount?: string;
|
128
130
|
fee?: string;
|
131
|
+
farmingContract?: string;
|
132
|
+
rewardToken?: string;
|
133
|
+
rewardTokenDecimals?: number;
|
134
|
+
}
|
135
|
+
export interface VaultWithRewards {
|
136
|
+
id: string;
|
137
|
+
farmingContract: {
|
138
|
+
id: string;
|
139
|
+
rewardToken: string;
|
140
|
+
rewardTokenDecimals?: number;
|
141
|
+
};
|
129
142
|
}
|
130
143
|
export type VaultShares = {
|
131
144
|
vault: {
|
132
145
|
id: string;
|
133
146
|
tokenA: string;
|
134
147
|
tokenB: string;
|
148
|
+
farmingContract?: string;
|
135
149
|
};
|
136
150
|
vaultShareBalance: string;
|
151
|
+
stakedVaultShareBalance?: string;
|
137
152
|
};
|
138
153
|
export type UserBalances = {
|
139
154
|
vaultShares: VaultShares[];
|
@@ -197,10 +212,12 @@ export type PriceChange = {
|
|
197
212
|
export type UserBalanceInVault = {
|
198
213
|
vaultAddress: string;
|
199
214
|
shares: string;
|
215
|
+
stakedShares?: string;
|
200
216
|
};
|
201
217
|
export type UserBalanceInVaultBN = {
|
202
218
|
vaultAddress: string;
|
203
219
|
shares: BigNumber;
|
220
|
+
stakedShares?: BigNumber;
|
204
221
|
};
|
205
222
|
export type VaultMetrics = {
|
206
223
|
timeInterval: number;
|
@@ -209,3 +226,25 @@ export type VaultMetrics = {
|
|
209
226
|
avgDtr: number;
|
210
227
|
feeApr: number;
|
211
228
|
};
|
229
|
+
export interface RewardInfo {
|
230
|
+
id: string;
|
231
|
+
rewardRatePerToken_1d: string;
|
232
|
+
rewardRatePerToken_3d: string;
|
233
|
+
farmingContract: {
|
234
|
+
id: string;
|
235
|
+
rewardToken: string;
|
236
|
+
rewardTokenDecimals: number;
|
237
|
+
};
|
238
|
+
}
|
239
|
+
export type UserRewards = {
|
240
|
+
vaultAddress: string;
|
241
|
+
rewardToken: string;
|
242
|
+
rewardTokenDecimals: number;
|
243
|
+
rewardAmount: string;
|
244
|
+
};
|
245
|
+
export type UserRewardsBN = {
|
246
|
+
vaultAddress: string;
|
247
|
+
rewardToken: string;
|
248
|
+
rewardTokenDecimals: number;
|
249
|
+
rewardAmount: BigNumber;
|
250
|
+
};
|
package/dist/src/types/index.js
CHANGED
@@ -31,6 +31,7 @@ var SupportedChainId;
|
|
31
31
|
SupportedChainId[SupportedChainId["mainnet"] = 1] = "mainnet";
|
32
32
|
SupportedChainId[SupportedChainId["mantle"] = 5000] = "mantle";
|
33
33
|
SupportedChainId[SupportedChainId["mode"] = 34443] = "mode";
|
34
|
+
SupportedChainId[SupportedChainId["monad_testnet"] = 10143] = "monad_testnet";
|
34
35
|
SupportedChainId[SupportedChainId["polygon"] = 137] = "polygon";
|
35
36
|
SupportedChainId[SupportedChainId["polygon_zkevm"] = 1101] = "polygon_zkevm";
|
36
37
|
SupportedChainId[SupportedChainId["real"] = 111188] = "real";
|
@@ -50,6 +51,7 @@ var SupportedDex;
|
|
50
51
|
(function (SupportedDex) {
|
51
52
|
SupportedDex["Agni"] = "Agni";
|
52
53
|
SupportedDex["Ascent"] = "Ascent";
|
54
|
+
SupportedDex["Atlantis"] = "Anlantis";
|
53
55
|
SupportedDex["Blueprint"] = "Blueprint";
|
54
56
|
SupportedDex["Cleo"] = "Cleo";
|
55
57
|
SupportedDex["Crust"] = "Crust";
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;AAQA,IAAY,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;AAQA,IAAY,gBA4CX;AA5CD,WAAY,gBAAgB;IAC1B,mEAAgB,CAAA;IAChB,iEAAe,CAAA;IACf,iFAAuB,CAAA;IACvB,0DAAW,CAAA;IACX,2EAAoB,CAAA;IACpB,qEAAiB,CAAA;IACjB,mFAAwB,CAAA;IACxB,6DAAa,CAAA;IACb,iGAAiC,CAAA;IACjC,sDAAQ,CAAA;IACR,2DAAY,CAAA;IACZ,wDAAU,CAAA;IACV,4DAAY,CAAA;IACZ,6DAAY,CAAA;IACZ,0DAAU,CAAA;IACV,yDAAU,CAAA;IACV,8DAAa,CAAA;IACb,4EAAoB,CAAA;IACpB,6DAAY,CAAA;IACZ,6EAAoB,CAAA;IACpB,iEAAc,CAAA;IACd,yDAAW,CAAA;IACX,0EAAoB,CAAA;IACpB,0DAAW,CAAA;IACX,6DAAa,CAAA;IACb,6DAAW,CAAA;IACX,8DAAa,CAAA;IACb,2DAAY,CAAA;IACZ,6EAAqB,CAAA;IACrB,+DAAa,CAAA;IACb,4EAAoB,CAAA;IACpB,4DAAa,CAAA;IACb,kEAAc,CAAA;IACd,gEAAe,CAAA;IACf,gFAAyB,CAAA;IACzB,2DAAW,CAAA;IACX,8DAAc,CAAA;IACd,0EAAoB,CAAA;IACpB,+DAAc,CAAA;IACd,+EAAqB,CAAA;IACrB,iEAAe,CAAA;IACf,qFAAwB,CAAA;IACxB,qEAAgB,CAAA;AAClB,CAAC,EA5CW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QA4C3B;AAED,IAAY,YA+CX;AA/CD,WAAY,YAAY;IACtB,6BAAa,CAAA;IACb,iCAAiB,CAAA;IACjB,qCAAqB,CAAA;IACrB,uCAAuB,CAAA;IACvB,6BAAa,CAAA;IACb,+BAAe,CAAA;IACf,uCAAuB,CAAA;IACvB,mDAAmC,CAAA;IACnC,+BAAe,CAAA;IACf,+BAAe,CAAA;IACf,iCAAiB,CAAA;IACjB,qCAAqB,CAAA;IACrB,+BAAe,CAAA;IACf,uCAAuB,CAAA;IACvB,2BAAW,CAAA;IACX,mCAAmB,CAAA;IACnB,iCAAiB,CAAA;IACjB,mCAAmB,CAAA;IACnB,+BAAe,CAAA;IACf,uCAAuB,CAAA;IACvB,6BAAa,CAAA;IACb,iCAAiB,CAAA;IACjB,2CAA2B,CAAA;IAC3B,+BAAe,CAAA;IACf,uCAAuB,CAAA;IACvB,iCAAiB,CAAA;IACjB,uCAAuB,CAAA;IACvB,+BAAe,CAAA;IACf,yCAAyB,CAAA;IACzB,qCAAqB,CAAA;IACrB,yCAAyB,CAAA;IACzB,yCAAyB,CAAA;IACzB,uCAAuB,CAAA;IACvB,+BAAe,CAAA;IACf,+BAAe,CAAA;IACf,2CAA2B,CAAA;IAC3B,mCAAmB,CAAA;IACnB,qCAAqB,CAAA;IACrB,yCAAyB,CAAA;IACzB,mCAAmB,CAAA;IACnB,wCAAwB,CAAA;IACxB,qCAAqB,CAAA;IACrB,uCAAuB,CAAA;IACvB,mCAAmB,CAAA;IACnB,mCAAmB,CAAA;IACnB,+BAAe,CAAA;AACjB,CAAC,EA/CW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QA+CvB;AAEY,QAAA,iBAAiB,GAAG,EAAE,CAAC"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { IchiVault, Fees, VaultTransactionEvent, UserBalances, FeeAprData } from '..';
|
1
|
+
import { IchiVault, Fees, VaultTransactionEvent, UserBalances, FeeAprData, RewardInfo, VaultWithRewards } from '..';
|
2
2
|
export interface VaultQueryData {
|
3
3
|
ichiVault: IchiVault;
|
4
4
|
}
|
@@ -26,3 +26,12 @@ export interface UserBalancesQueryData {
|
|
26
26
|
export interface FeeAprQueryResponse {
|
27
27
|
ichiVault: FeeAprData | null;
|
28
28
|
}
|
29
|
+
export interface RewardInfoQueryResponse {
|
30
|
+
ichiVault: RewardInfo;
|
31
|
+
}
|
32
|
+
export interface AllRewardInfoQueryResponse {
|
33
|
+
ichiVaults: RewardInfo[];
|
34
|
+
}
|
35
|
+
export interface AllRewardVaultsQueryResponse {
|
36
|
+
ichiVaults: VaultWithRewards[];
|
37
|
+
}
|