@stake-dao/reader 0.2.6 → 0.2.7
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/esm/abis/MulticallAngleVaults.json +83 -0
- package/dist/esm/bytecodes/index.js +1 -0
- package/dist/esm/bytecodes/index.js.map +1 -1
- package/dist/esm/bytecodes/strategies/batches/batchAngleStrats.js +24 -0
- package/dist/esm/bytecodes/strategies/batches/batchAngleStrats.js.map +1 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lockers/fetch/index.js +1 -2
- package/dist/esm/lockers/fetch/index.js.map +1 -1
- package/dist/esm/{strategies/utils/sdt.js → sdt.js} +37 -33
- package/dist/esm/sdt.js.map +1 -0
- package/dist/esm/strategies/angle/endpoints.js +3 -0
- package/dist/esm/strategies/angle/endpoints.js.map +1 -0
- package/dist/esm/strategies/angle/fetch.js +212 -0
- package/dist/esm/strategies/angle/fetch.js.map +1 -0
- package/dist/esm/strategies/curve/fetch/index.js +1 -1
- package/dist/esm/strategies/curve/fetch/index.js.map +1 -1
- package/dist/esm/strategies/pancakeswap/fetch/getPancakeV3Vaults.js +2 -1
- package/dist/esm/strategies/pancakeswap/fetch/getPancakeV3Vaults.js.map +1 -1
- package/dist/esm/strategies/utils/index.js +0 -1
- package/dist/esm/strategies/utils/index.js.map +1 -1
- package/dist/esm/strategies/yearn/fetch/index.js +7 -3
- package/dist/esm/strategies/yearn/fetch/index.js.map +1 -1
- package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/bytecodes/index.d.ts +1 -0
- package/dist/types/bytecodes/index.d.ts.map +1 -1
- package/dist/types/bytecodes/strategies/batches/batchAngleStrats.d.ts +4 -0
- package/dist/types/bytecodes/strategies/batches/batchAngleStrats.d.ts.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lockers/fetch/index.d.ts.map +1 -1
- package/dist/types/{strategies/utils/sdt.d.ts → sdt.d.ts} +4 -2
- package/dist/types/sdt.d.ts.map +1 -0
- package/dist/types/strategies/angle/endpoints.d.ts +3 -0
- package/dist/types/strategies/angle/endpoints.d.ts.map +1 -0
- package/dist/types/strategies/angle/fetch.d.ts +22 -0
- package/dist/types/strategies/angle/fetch.d.ts.map +1 -0
- package/dist/types/strategies/curve/fetch/index.d.ts +1 -1
- package/dist/types/strategies/curve/fetch/index.d.ts.map +1 -1
- package/dist/types/strategies/pancakeswap/fetch/getPancakeV3Vaults.d.ts.map +1 -1
- package/dist/types/strategies/utils/index.d.ts +0 -1
- package/dist/types/strategies/utils/index.d.ts.map +1 -1
- package/dist/types/strategies/yearn/fetch/index.d.ts +1 -1
- package/dist/types/strategies/yearn/fetch/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/bytecodes/index.ts +1 -0
- package/src/bytecodes/strategies/batches/batchAngleStrats.ts +26 -0
- package/src/index.ts +4 -0
- package/src/lockers/fetch/index.ts +1 -2
- package/src/{strategies/utils/sdt.ts → sdt.ts} +43 -38
- package/src/strategies/angle/endpoints.ts +2 -0
- package/src/strategies/angle/fetch.ts +252 -0
- package/src/strategies/curve/fetch/index.ts +1 -1
- package/src/strategies/pancakeswap/fetch/getPancakeV3Vaults.ts +2 -1
- package/src/strategies/utils/index.ts +0 -1
- package/src/strategies/yearn/fetch/index.ts +9 -3
- package/dist/esm/lockers/utils/getSdtInflationData.js +0 -38
- package/dist/esm/lockers/utils/getSdtInflationData.js.map +0 -1
- package/dist/esm/strategies/utils/sdt.js.map +0 -1
- package/dist/types/lockers/utils/getSdtInflationData.d.ts +0 -8
- package/dist/types/lockers/utils/getSdtInflationData.d.ts.map +0 -1
- package/dist/types/strategies/utils/sdt.d.ts.map +0 -1
- package/src/lockers/utils/getSdtInflationData.ts +0 -54
|
@@ -8,6 +8,7 @@ export { default as buildPancakeSwapErc20Strats } from './strategies/builds/buil
|
|
|
8
8
|
export { default as buildPancakeswapNotDeployedErc20Strats } from './strategies/builds/buildPancakeswapNotDeployedErc20Strats.js';
|
|
9
9
|
export { default as buildPendleStrats } from './strategies/builds/buildPendleStrats.js';
|
|
10
10
|
export { default as batchCurveStrats } from './strategies/batches/batchCurveStrats.js';
|
|
11
|
+
export { default as batchAngleStrats } from './strategies/batches/batchAngleStrats.js';
|
|
11
12
|
export { default as batchBalancerStrats } from './strategies/batches/batchBalancerStrats.js';
|
|
12
13
|
export { default as batchPendleStrats } from './strategies/batches/batchPendleStrats.js';
|
|
13
14
|
export { default as batchPancakeSwapStrats } from './strategies/batches/batchPancakeswapStrats.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bytecodes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAE1D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AACjF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AAE9E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AACrF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,4CAA4C,CAAA;AAC3F,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,+CAA+C,CAAA;AACjG,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,oDAAoD,CAAA;AAC3G,OAAO,EAAE,OAAO,IAAI,sCAAsC,EAAE,MAAM,+DAA+D,CAAA;AACjI,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AAEvF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,0CAA0C,CAAA;AACtF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AAC5F,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,2CAA2C,CAAA;AACxF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,gDAAgD,CAAA;AAClG,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,qDAAqD,CAAA;AAC5G,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,mDAAmD,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bytecodes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAE1D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AACjF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AAE9E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AACrF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,4CAA4C,CAAA;AAC3F,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,+CAA+C,CAAA;AACjG,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,oDAAoD,CAAA;AAC3G,OAAO,EAAE,OAAO,IAAI,sCAAsC,EAAE,MAAM,+DAA+D,CAAA;AACjI,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AAEvF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,0CAA0C,CAAA;AACtF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,0CAA0C,CAAA;AACtF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AAC5F,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,2CAA2C,CAAA;AACxF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,gDAAgD,CAAA;AAClG,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,qDAAqD,CAAA;AAC5G,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,mDAAmD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batchAngleStrats.d.ts","sourceRoot":"","sources":["../../../../../src/bytecodes/strategies/batches/batchAngleStrats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAEnD,QAAA,MAAM,gBAAgB,EAAE,aAqBvB,CAAA;AAED,eAAe,gBAAgB,CAAA"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { getPricesFromLlama, getPricesFromGeckoTerminal } from './prices.js';
|
|
2
|
+
export * from './sdt.js';
|
|
2
3
|
export { fetchSdt } from './sdt/sdt.js';
|
|
3
4
|
export { fetchLockers } from './lockers/fetch/index.js';
|
|
4
5
|
export * from './strategies/utils/index.js';
|
|
@@ -7,6 +8,7 @@ export { fetchCurve } from './strategies/curve/fetch/index.js';
|
|
|
7
8
|
export { getCurveApiData } from './strategies/curve/fetch/curveApiData/getCurveApiData.js';
|
|
8
9
|
export { getGaugesWeights } from './strategies/curve/fetch/curveApiData/getGaugesWeights.js';
|
|
9
10
|
export { getGaugesFromRegistry } from './strategies/curve/fetch/curveApiData/getGaugesFromRegistry.js';
|
|
11
|
+
export { fetchAngle } from './strategies/angle/fetch.js';
|
|
10
12
|
export { buildBalancerStrategies } from './strategies/balancer/build.js';
|
|
11
13
|
export { fetchBalancer } from './strategies/balancer/fetch.js';
|
|
12
14
|
export { buildYearnStrategies } from './strategies/yearn/build.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAC5E,cAAc,UAAU,CAAA;AAKxB,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAKvC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAKvD,cAAc,6BAA6B,CAAA;AAG3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAA;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAA;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAA;AAGtG,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAGxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAG9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAG9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AAC9E,OAAO,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAA;AAGxF,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yCAAyC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lockers/fetch/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lockers/fetch/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,iBAAiB,CAAA;AA4B5C,eAAO,MAAM,YAAY,aAAoB,GAAG,WAAW,MAAM,UAAU,KAAK,EAAE;;;;;;;;EAmXjF,CAAA"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import type { RewardsData, SdtApr } from '
|
|
1
|
+
import type { RewardsData, SdtApr } from './strategies/types.js';
|
|
2
2
|
export type SdtEmissionData = {
|
|
3
3
|
lockersSdtPerBlock: bigint;
|
|
4
4
|
lockersSdtPerSecond: bigint;
|
|
5
5
|
stratsSdtPerBlock: bigint;
|
|
6
6
|
stratsSdtPerSecond: bigint;
|
|
7
|
+
lockerGcTotalWeight: bigint;
|
|
8
|
+
stratGcTotalWeight: bigint;
|
|
7
9
|
};
|
|
8
10
|
export declare const calculateSDTRangeApr: (sdtRateInput: bigint, periodFinish: number, workingBalance: string, workingSupply: string, depositBalance: bigint, adjustedBalanceOf: string, votingEscrowTotalSupply: string, gaugeTotalSupply: string, sdtPrice: number, lpPrice: number) => {
|
|
9
11
|
sdtMinApr: number;
|
|
@@ -11,7 +13,7 @@ export declare const calculateSDTRangeApr: (sdtRateInput: bigint, periodFinish:
|
|
|
11
13
|
sdtBoost: number;
|
|
12
14
|
sdtUserApr: number;
|
|
13
15
|
};
|
|
14
|
-
export declare const getSdtInflationData: (provider: any
|
|
16
|
+
export declare const getSdtInflationData: (provider: any) => Promise<SdtEmissionData>;
|
|
15
17
|
export declare const computeSdtApr: (sdtEmissionData: SdtEmissionData, sdtRewards: RewardsData, userData: any, sdGauge: any, lpPriceInUsd: number) => SdtApr;
|
|
16
18
|
export declare const getSdtApr: (rewardsData: any, sdtEmissionData: SdtEmissionData, sdGauge: any, lpPriceInUsd: number, userData: any) => SdtApr;
|
|
17
19
|
//# sourceMappingURL=sdt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdt.d.ts","sourceRoot":"","sources":["../../src/sdt.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAIhE,MAAM,MAAM,eAAe,GAAG;IAC5B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,iBAAiB,EAAE,MAAM,CAAA;IACzB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,kBAAkB,EAAE,MAAM,CAAA;CAC3B,CAAA;AAiCD,eAAO,MAAM,oBAAoB,iBACjB,MAAM,gBACN,MAAM,kBACJ,MAAM,iBACP,MAAM,kBACL,MAAM,qBACH,MAAM,2BACA,MAAM,oBACb,MAAM,YACd,MAAM,WACP,MAAM;;;;;CA4DhB,CAAA;AAED,eAAO,MAAM,mBAAmB,aAAoB,GAAG,KAAG,OAAO,CAAC,eAAe,CA2ChF,CAAA;AAED,eAAO,MAAM,aAAa,oBACP,eAAe,cACpB,WAAW,YACb,GAAG,WACJ,GAAG,gBACE,MAAM,KACnB,MAsCF,CAAA;AAED,eAAO,MAAM,SAAS,gBACP,GAAG,mBACC,eAAe,WACvB,GAAG,gBACE,MAAM,YACV,GAAG,KACZ,MAgBF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../../../src/strategies/angle/endpoints.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,mCAAmC,CAAA;AAC7D,eAAO,MAAM,eAAe,sCAAsC,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type Price } from '../../prices.js';
|
|
2
|
+
interface TFetchAngle {
|
|
3
|
+
prices: Price[];
|
|
4
|
+
provider: any;
|
|
5
|
+
rpc: string;
|
|
6
|
+
chainId: number;
|
|
7
|
+
}
|
|
8
|
+
export declare const fetchAngle: ({ prices, provider, rpc, chainId }: TFetchAngle) => Promise<{
|
|
9
|
+
global: {
|
|
10
|
+
fees: {
|
|
11
|
+
veSdt: number;
|
|
12
|
+
perf: number;
|
|
13
|
+
accumulator: number;
|
|
14
|
+
claimer: number;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
deployed: any;
|
|
18
|
+
notDeployed: never[];
|
|
19
|
+
fetched: boolean;
|
|
20
|
+
}>;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=fetch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../src/strategies/angle/fetch.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,KAAK,EAAsB,MAAM,iBAAiB,CAAA;AAOhE,UAAU,WAAW;IACnB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,QAAQ,EAAE,GAAG,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,UAAU,uCAA8C,WAAW;;;;;;;;;;;;EAuO/E,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Price } from '../../../prices.js';
|
|
2
|
+
import { type SdtEmissionData } from '../../../sdt.js';
|
|
2
3
|
import type { StrategyData, ValidChainId, ValidExplorer } from '../../types.js';
|
|
3
|
-
import { type SdtEmissionData } from '../../utils/sdt.js';
|
|
4
4
|
import type { GaugesWeightsData } from './curveApiData/getGaugesWeights.js';
|
|
5
5
|
interface TFetchCurve {
|
|
6
6
|
prices: Price[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/curve/fetch/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/curve/fetch/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,KAAK,eAAe,EAAa,MAAM,iBAAiB,CAAA;AAEjE,OAAO,KAAK,EAIV,YAAY,EACZ,YAAY,EACZ,aAAa,EACd,MAAM,gBAAgB,CAAA;AASvB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAK3E,UAAU,WAAW;IACnB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,QAAQ,EAAE,GAAG,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,aAAa,CAAA;IACvB,OAAO,EAAE,YAAY,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,EAAE,eAAe,CAAA;IAChC,aAAa,EAAE,iBAAiB,CAAA;CACjC;AAED,eAAO,MAAM,UAAU,mHAUpB,WAAW,KAAG,OAAO,CAAC,YAAY,CAyPpC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPancakeV3Vaults.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/pancakeswap/fetch/getPancakeV3Vaults.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,KAAK,EAAe,MAAM,oBAAoB,CAAA;AAE5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAK3D,eAAO,MAAM,kBAAkB,QACxB,MAAM,WACF,MAAM,cACH,KAAK,EAAE,WACV,GAAG,cACA,GAAG;;;
|
|
1
|
+
{"version":3,"file":"getPancakeV3Vaults.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/pancakeswap/fetch/getPancakeV3Vaults.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,KAAK,EAAe,MAAM,oBAAoB,CAAA;AAE5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAK3D,eAAO,MAAM,kBAAkB,QACxB,MAAM,WACF,MAAM,cACH,KAAK,EAAE,WACV,GAAG,cACA,GAAG;;;EAuLhB,CAAA"}
|
|
@@ -5,5 +5,4 @@ export declare const bytes32ToString: (bytes32: `0x${string}`) => string;
|
|
|
5
5
|
export declare const concatBytecode: (contract: string, args: string) => string;
|
|
6
6
|
export * from './boost.js';
|
|
7
7
|
export * from './decodeEtherscanFactoryEvent.js';
|
|
8
|
-
export * from './sdt.js';
|
|
9
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/strategies/utils/index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI,QAAY,CAAA;AAC7B,eAAO,MAAM,GAAG,QAAY,CAAA;AAC5B,eAAO,MAAM,QAAQ,QAAkB,CAAA;AAEvC,eAAO,MAAM,eAAe,YAAa,KAAK,MAAM,EAAE,WASrD,CAAA;AAED,eAAO,MAAM,cAAc,aAAc,MAAM,QAAQ,MAAM,KAAG,MAAwC,CAAA;AAExG,cAAc,YAAY,CAAA;AAC1B,cAAc,kCAAkC,CAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/strategies/utils/index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI,QAAY,CAAA;AAC7B,eAAO,MAAM,GAAG,QAAY,CAAA;AAC5B,eAAO,MAAM,QAAQ,QAAkB,CAAA;AAEvC,eAAO,MAAM,eAAe,YAAa,KAAK,MAAM,EAAE,WASrD,CAAA;AAED,eAAO,MAAM,cAAc,aAAc,MAAM,QAAQ,MAAM,KAAG,MAAwC,CAAA;AAExG,cAAc,YAAY,CAAA;AAC1B,cAAc,kCAAkC,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Price } from '../../../prices.js';
|
|
2
|
+
import { type SdtEmissionData } from '../../../sdt.js';
|
|
2
3
|
import type { StrategyData, ValidChainId, ValidExplorer } from '../../types.js';
|
|
3
|
-
import { type SdtEmissionData } from '../../utils/index.js';
|
|
4
4
|
interface TFetchYearn {
|
|
5
5
|
prices: Price[];
|
|
6
6
|
provider: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/yearn/fetch/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/yearn/fetch/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,KAAK,eAAe,EAAa,MAAM,iBAAiB,CAAA;AACjE,OAAO,KAAK,EAAe,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAmC5F,UAAU,WAAW;IACnB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,QAAQ,EAAE,GAAG,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,aAAa,CAAA;IACvB,OAAO,EAAE,YAAY,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,EAAE,eAAe,CAAA;CACjC;AAED,eAAO,MAAM,UAAU,oGASpB,WAAW,KAAG,OAAO,CAAC,YAAY,CAmLpC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stake-dao/reader",
|
|
3
3
|
"description": "",
|
|
4
|
-
"version": "0.2.
|
|
4
|
+
"version": "0.2.7",
|
|
5
5
|
"license": "AGPL-3.0-only",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"graphql-request": "^6.0.0",
|
|
36
36
|
"lodash-es": "^4.17.21",
|
|
37
37
|
"viem": "^2.9.31",
|
|
38
|
-
"@stake-dao/constants": "0.2.
|
|
38
|
+
"@stake-dao/constants": "0.2.1"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@types/lodash-es": "^4.17.12"
|
package/src/bytecodes/index.ts
CHANGED
|
@@ -11,6 +11,7 @@ export { default as buildPancakeswapNotDeployedErc20Strats } from './strategies/
|
|
|
11
11
|
export { default as buildPendleStrats } from './strategies/builds/buildPendleStrats.js'
|
|
12
12
|
|
|
13
13
|
export { default as batchCurveStrats } from './strategies/batches/batchCurveStrats.js'
|
|
14
|
+
export { default as batchAngleStrats } from './strategies/batches/batchAngleStrats.js'
|
|
14
15
|
export { default as batchBalancerStrats } from './strategies/batches/batchBalancerStrats.js'
|
|
15
16
|
export { default as batchPendleStrats } from './strategies/batches/batchPendleStrats.js'
|
|
16
17
|
export { default as batchPancakeSwapStrats } from './strategies/batches/batchPancakeswapStrats.js'
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { BatchMetaData } from '../../types.js'
|
|
2
|
+
|
|
3
|
+
const batchAngleStrats: BatchMetaData = {
|
|
4
|
+
bytecode: {
|
|
5
|
+
1: '0x608060405234801561001057600080fd5b506040516112ad3803806112ad83398181016040528101906100329190610c31565b60008151905060008167ffffffffffffffff81111561005457610053610a85565b5b60405190808252806020026020018201604052801561008d57816020015b61007a6108f7565b8152602001906001900390816100725790505b509050600084905060005b838110156108c75760008582815181106100b5576100b4610c8d565b5b60200260200101519050600081600001519050600082604001519050826020015173ffffffffffffffffffffffffffffffffffffffff166370a0823184600001516040518263ffffffff1660e01b81526004016101129190610ccb565b602060405180830381865afa15801561012f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101539190610d1c565b86858151811061016657610165610c8d565b5b602002602001015160000181815250508173ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e59190610d1c565b8685815181106101f8576101f7610c8d565b5b602002602001015160200181815250508173ffffffffffffffffffffffffffffffffffffffff1663f8ce31646040518163ffffffff1660e01b8152600401602060405180830381865afa158015610253573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102779190610d1c565b86858151811061028a57610289610c8d565b5b602002602001015160400181815250508173ffffffffffffffffffffffffffffffffffffffff1663422ede426040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103099190610d1c565b86858151811061031c5761031b610c8d565b5b602002602001015160600181815250508473ffffffffffffffffffffffffffffffffffffffff16636207d86684604001516040518263ffffffff1660e01b81526004016103699190610ccb565b602060405180830381865afa158015610386573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103aa9190610d1c565b8685815181106103bd576103bc610c8d565b5b60200260200101516101600181815250508473ffffffffffffffffffffffffffffffffffffffff16634e791a3a84604001516040518263ffffffff1660e01b815260040161040b9190610ccb565b602060405180830381865afa158015610428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044c9190610d1c565b86858151811061045f5761045e610c8d565b5b60200260200101516101800181815250508473ffffffffffffffffffffffffffffffffffffffff16636977ff926040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104df9190610d1c565b8685815181106104f2576104f1610c8d565b5b60200260200101516101a00181815250508073ffffffffffffffffffffffffffffffffffffffff166317e280896040518163ffffffff1660e01b8152600401602060405180830381865afa15801561054e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105729190610d1c565b86858151811061058557610584610c8d565b5b60200260200101516101c00181815250508073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106059190610d1c565b86858151811061061857610617610c8d565b5b60200260200101516101e001818152505060008173ffffffffffffffffffffffffffffffffffffffff1663963c94b96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069a9190610d1c565b90508067ffffffffffffffff8111156106b6576106b5610a85565b5b6040519080825280602002602001820160405280156106ef57816020015b6106dc61097b565b8152602001906001900390816106d45790505b5087868151811061070357610702610c8d565b5b6020026020010151610200018190525060005b818110156108af5760008373ffffffffffffffffffffffffffffffffffffffff166354c49fe9836040518263ffffffff1660e01b81526004016107599190610d58565b602060405180830381865afa158015610776573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079a9190610d73565b90508373ffffffffffffffffffffffffffffffffffffffff166348e9c65e826040518263ffffffff1660e01b81526004016107d59190610ccb565b60c060405180830381865afa1580156107f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108169190610e40565b89888151811061082957610828610c8d565b5b60200260200101516102000151838151811061084857610847610c8d565b5b602002602001015160000181905250600089888151811061086c5761086b610c8d565b5b60200260200101516102000151838151811061088b5761088a610c8d565b5b602002602001015160200181815250505080806108a790610e9c565b915050610716565b505050505080806108bf90610e9c565b915050610098565b506000826040516020016108db919061128a565b6040516020818303038152906040529050602081018059038082f35b60405180610220016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001606081525090565b604051806040016040528061098e61099b565b8152602001600081525090565b6040518060c00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815260200160008152602001600081525090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610a3c82610a11565b9050919050565b610a4c81610a31565b8114610a5757600080fd5b50565b600081519050610a6981610a43565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610abd82610a74565b810181811067ffffffffffffffff82111715610adc57610adb610a85565b5b80604052505050565b6000610aef6109fd565b9050610afb8282610ab4565b919050565b600067ffffffffffffffff821115610b1b57610b1a610a85565b5b602082029050602081019050919050565b600080fd5b600080fd5b600060608284031215610b4c57610b4b610b31565b5b610b566060610ae5565b90506000610b6684828501610a5a565b6000830152506020610b7a84828501610a5a565b6020830152506040610b8e84828501610a5a565b60408301525092915050565b6000610bad610ba884610b00565b610ae5565b90508083825260208201905060608402830185811115610bd057610bcf610b2c565b5b835b81811015610bf95780610be58882610b36565b845260208401935050606081019050610bd2565b5050509392505050565b600082601f830112610c1857610c17610a6f565b5b8151610c28848260208601610b9a565b91505092915050565b60008060408385031215610c4857610c47610a07565b5b6000610c5685828601610a5a565b925050602083015167ffffffffffffffff811115610c7757610c76610a0c565b5b610c8385828601610c03565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b610cc581610a31565b82525050565b6000602082019050610ce06000830184610cbc565b92915050565b6000819050919050565b610cf981610ce6565b8114610d0457600080fd5b50565b600081519050610d1681610cf0565b92915050565b600060208284031215610d3257610d31610a07565b5b6000610d4084828501610d07565b91505092915050565b610d5281610ce6565b82525050565b6000602082019050610d6d6000830184610d49565b92915050565b600060208284031215610d8957610d88610a07565b5b6000610d9784828501610a5a565b91505092915050565b600060c08284031215610db657610db5610b31565b5b610dc060c0610ae5565b90506000610dd084828501610a5a565b6000830152506020610de484828501610a5a565b6020830152506040610df884828501610d07565b6040830152506060610e0c84828501610d07565b6060830152506080610e2084828501610d07565b60808301525060a0610e3484828501610d07565b60a08301525092915050565b600060c08284031215610e5657610e55610a07565b5b6000610e6484828501610da0565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610ea782610ce6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610ed957610ed8610e6d565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b610f1981610ce6565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b610f5481610a31565b82525050565b60c082016000820151610f706000850182610f4b565b506020820151610f836020850182610f4b565b506040820151610f966040850182610f10565b506060820151610fa96060850182610f10565b506080820151610fbc6080850182610f10565b5060a0820151610fcf60a0850182610f10565b50505050565b60e082016000820151610feb6000850182610f5a565b506020820151610ffe60c0850182610f10565b50505050565b60006110108383610fd5565b60e08301905092915050565b6000602082019050919050565b600061103482610f1f565b61103e8185610f2a565b935061104983610f3b565b8060005b8381101561107a5781516110618882611004565b975061106c8361101c565b92505060018101905061104d565b5085935050505092915050565b6000610220830160008301516110a06000860182610f10565b5060208301516110b36020860182610f10565b5060408301516110c66040860182610f10565b5060608301516110d96060860182610f10565b5060808301516110ec6080860182610f10565b5060a08301516110ff60a0860182610f10565b5060c083015161111260c0860182610f10565b5060e083015161112560e0860182610f10565b5061010083015161113a610100860182610f10565b5061012083015161114f610120860182610f10565b50610140830151611164610140860182610f10565b50610160830151611179610160860182610f10565b5061018083015161118e610180860182610f10565b506101a08301516111a36101a0860182610f10565b506101c08301516111b86101c0860182610f10565b506101e08301516111cd6101e0860182610f10565b506102008301518482036102008601526111e78282611029565b9150508091505092915050565b60006112008383611087565b905092915050565b6000602082019050919050565b600061122082610ee4565b61122a8185610eef565b93508360208202850161123c85610f00565b8060005b85811015611278578484038952815161125985826111f4565b945061126483611208565b925060208a01995050600181019050611240565b50829750879550505050505092915050565b600060208201905081810360008301526112a48184611215565b90509291505056fe',
|
|
6
|
+
},
|
|
7
|
+
inputType: {
|
|
8
|
+
1: [
|
|
9
|
+
'address gaugeController, AngleStategyInfo[] inputs',
|
|
10
|
+
'struct AngleStategyInfo { address vault; address token; address sdtLiquidityGauge; }',
|
|
11
|
+
],
|
|
12
|
+
},
|
|
13
|
+
outputTypeHr: {
|
|
14
|
+
1: [
|
|
15
|
+
'AngleStratsData[] stratsData',
|
|
16
|
+
'struct AngleStratsData { uint256 vaultHoldings; uint256 totalSupply; uint256 accumulatedFees; uint256 keeperFee; uint256 veSDTFee; uint256 perfFee; uint256 accumulatorFee; uint256 claimerFee; uint256 strategyHoldings; uint256 workingBalance; uint256 workingSupplyStaked; uint256 gaugeRelativeWeight; uint256 gaugeWeight; uint256 totalGaugeWeights; uint256 sdWorkingSupply; uint256 sdGaugeTotalSupply; RewardsWithClaimable[] rewardsData; }',
|
|
17
|
+
'struct RewardsWithClaimable { RewardData rewardData; uint256 claimablePendingRewards; }',
|
|
18
|
+
'struct RewardData { address token; address distributor; uint256 period_finish; uint256 rate; uint256 last_update; uint256 integral; }',
|
|
19
|
+
],
|
|
20
|
+
},
|
|
21
|
+
outputType: {
|
|
22
|
+
1: [],
|
|
23
|
+
},
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export default batchAngleStrats
|
package/src/index.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
/// --- GLOBAL
|
|
3
3
|
///////////////////////////////////////////////////////////////
|
|
4
4
|
export { getPricesFromLlama, getPricesFromGeckoTerminal } from './prices.js'
|
|
5
|
+
export * from './sdt.js'
|
|
5
6
|
|
|
6
7
|
////////////////////////////////////////////////////////////////
|
|
7
8
|
/// --- SDT
|
|
@@ -25,6 +26,9 @@ export { getCurveApiData } from './strategies/curve/fetch/curveApiData/getCurveA
|
|
|
25
26
|
export { getGaugesWeights } from './strategies/curve/fetch/curveApiData/getGaugesWeights.js'
|
|
26
27
|
export { getGaugesFromRegistry } from './strategies/curve/fetch/curveApiData/getGaugesFromRegistry.js'
|
|
27
28
|
|
|
29
|
+
// Angle
|
|
30
|
+
export { fetchAngle } from './strategies/angle/fetch.js'
|
|
31
|
+
|
|
28
32
|
// Balancer
|
|
29
33
|
export { buildBalancerStrategies } from './strategies/balancer/build.js'
|
|
30
34
|
export { fetchBalancer } from './strategies/balancer/fetch.js'
|
|
@@ -3,7 +3,7 @@ import { mainnet } from 'viem/chains'
|
|
|
3
3
|
|
|
4
4
|
import { ONE_YEAR, lockers, tokenWithId } from '@stake-dao/constants'
|
|
5
5
|
import { delegationWithId } from '@stake-dao/constants'
|
|
6
|
-
import { OneEther, Zero } from '../../index.js'
|
|
6
|
+
import { OneEther, Zero, getSdtInflationData } from '../../index.js'
|
|
7
7
|
import { type Price } from '../../prices.js'
|
|
8
8
|
import { type Call, multicall } from '../../utils.js'
|
|
9
9
|
import { lockedAmountCallSideChain } from '../utils/index.js'
|
|
@@ -17,7 +17,6 @@ import callsForLockers from '../utils/callsForLockers/index.js'
|
|
|
17
17
|
import getBribesRewardsData from '../utils/getBribesRewardsData.js'
|
|
18
18
|
import getFees from '../utils/getFees.js'
|
|
19
19
|
import getHttpCalls from '../utils/getHttpCalls.js'
|
|
20
|
-
import getSdtInflationData from '../utils/getSdtInflationData.js'
|
|
21
20
|
import substractFees from '../utils/substractFees.js'
|
|
22
21
|
|
|
23
22
|
const callsForRewards = (gauge: string, rewards: any[]) =>
|
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
import { ONE_WEEK, ONE_YEAR, contracts
|
|
1
|
+
import { ONE_WEEK, ONE_YEAR, contracts } from '@stake-dao/constants'
|
|
2
2
|
import { LOCKERS_MASTERCHEF_PID } from '@stake-dao/constants'
|
|
3
3
|
import { STRATEGIES_MASTERCHEF_PID } from '@stake-dao/constants'
|
|
4
4
|
import { ETH_SECONDS_PER_BLOCK } from '@stake-dao/constants'
|
|
5
5
|
import { formatUnits, parseAbi, parseEther, parseUnits } from 'viem'
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
8
|
-
import {
|
|
6
|
+
import type { RewardsData, SdtApr } from './strategies/types.js'
|
|
7
|
+
import { OneEther, Zero } from './strategies/utils/index.js'
|
|
8
|
+
import { multicall } from './utils.js'
|
|
9
9
|
|
|
10
10
|
export type SdtEmissionData = {
|
|
11
11
|
lockersSdtPerBlock: bigint
|
|
12
12
|
lockersSdtPerSecond: bigint
|
|
13
13
|
stratsSdtPerBlock: bigint
|
|
14
14
|
stratsSdtPerSecond: bigint
|
|
15
|
+
lockerGcTotalWeight: bigint
|
|
16
|
+
stratGcTotalWeight: bigint
|
|
15
17
|
}
|
|
16
18
|
|
|
17
19
|
const simulateUserWorkingBalance = (
|
|
@@ -117,46 +119,49 @@ export const calculateSDTRangeApr = (
|
|
|
117
119
|
}
|
|
118
120
|
}
|
|
119
121
|
|
|
120
|
-
export const getSdtInflationData = async (provider: any
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
[
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
],
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
122
|
+
export const getSdtInflationData = async (provider: any): Promise<SdtEmissionData> => {
|
|
123
|
+
const rawSdtEmissionData = await multicall(
|
|
124
|
+
provider,
|
|
125
|
+
[
|
|
126
|
+
{ address: contracts.sdtMasterchef![1]!, name: 'sdtPerBlock' },
|
|
127
|
+
{ address: contracts.sdtMasterchef![1]!, name: 'totalAllocPoint' },
|
|
128
|
+
{ address: contracts.sdtMasterchef![1]!, name: 'poolInfo', params: [LOCKERS_MASTERCHEF_PID] },
|
|
129
|
+
{ address: contracts.sdtMasterchef![1]!, name: 'poolInfo', params: [STRATEGIES_MASTERCHEF_PID] },
|
|
130
|
+
{ address: contracts.liquidLockersGaugeController![1]!, name: 'get_total_weight' },
|
|
131
|
+
{ address: contracts.sdGaugeController![1]!, name: 'get_total_weight' },
|
|
132
|
+
],
|
|
133
|
+
parseAbi([
|
|
134
|
+
'function sdtPerBlock() external view returns (uint256)',
|
|
135
|
+
'function totalAllocPoint() external view returns (uint256)',
|
|
136
|
+
'function poolInfo(uint256) external view returns (address,uint256,uint256)',
|
|
137
|
+
'function get_total_weight() external view returns (uint256)',
|
|
138
|
+
]),
|
|
139
|
+
)
|
|
136
140
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
+
const sdtPerBlock = rawSdtEmissionData[0].result
|
|
142
|
+
const totalAllocPoint = rawSdtEmissionData[1].result
|
|
143
|
+
const lockerPoolInfo = rawSdtEmissionData[2].result
|
|
144
|
+
const stratPoolInfo = rawSdtEmissionData[3].result
|
|
145
|
+
const lockerGcTotalWeight = rawSdtEmissionData[4].result
|
|
146
|
+
const stratGcTotalWeight = rawSdtEmissionData[5].result
|
|
141
147
|
|
|
142
|
-
|
|
143
|
-
|
|
148
|
+
const lockersAllocPoint = lockerPoolInfo[1] as bigint
|
|
149
|
+
const stratsAllocPoint = stratPoolInfo[1] as bigint
|
|
144
150
|
|
|
145
|
-
|
|
146
|
-
|
|
151
|
+
const lockersSdtPerBlock = (lockersAllocPoint * sdtPerBlock) / totalAllocPoint
|
|
152
|
+
const lockersSdtPerSecond = BigInt(lockersSdtPerBlock) / BigInt(ETH_SECONDS_PER_BLOCK)
|
|
147
153
|
|
|
148
|
-
|
|
149
|
-
|
|
154
|
+
const stratsSdtPerBlock = (stratsAllocPoint * sdtPerBlock) / totalAllocPoint
|
|
155
|
+
const stratsSdtPerSecond = BigInt(stratsSdtPerBlock) / BigInt(ETH_SECONDS_PER_BLOCK)
|
|
150
156
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
+
return {
|
|
158
|
+
lockersSdtPerBlock,
|
|
159
|
+
lockersSdtPerSecond,
|
|
160
|
+
stratsSdtPerBlock,
|
|
161
|
+
stratsSdtPerSecond,
|
|
162
|
+
lockerGcTotalWeight,
|
|
163
|
+
stratGcTotalWeight,
|
|
157
164
|
}
|
|
158
|
-
|
|
159
|
-
return undefined
|
|
160
165
|
}
|
|
161
166
|
|
|
162
167
|
export const computeSdtApr = (
|