@moonwell-fi/moonwell-sdk 0.24.0 → 0.25.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/CHANGELOG.md +18 -0
- package/_cjs/actions/core/getUserBalances.js +63 -32
- package/_cjs/actions/core/getUserBalances.js.map +1 -1
- package/_cjs/actions/core/markets/common.js +1 -7
- package/_cjs/actions/core/markets/common.js.map +1 -1
- package/_cjs/actions/governance/getStakingInfo.js +1 -7
- package/_cjs/actions/governance/getStakingInfo.js.map +1 -1
- package/_cjs/actions/governance/getUserStakingInfo.js +1 -7
- package/_cjs/actions/governance/getUserStakingInfo.js.map +1 -1
- package/_cjs/actions/governance/getWellPrice.js +51 -1
- package/_cjs/actions/governance/getWellPrice.js.map +1 -1
- package/_cjs/actions/governance/proposals/common.js +34 -10
- package/_cjs/actions/governance/proposals/common.js.map +1 -1
- package/_cjs/actions/governance/proposals/getProposals.js +5 -4
- package/_cjs/actions/governance/proposals/getProposals.js.map +1 -1
- package/_cjs/actions/morpho/markets/common.js +29 -2
- package/_cjs/actions/morpho/markets/common.js.map +1 -1
- package/_cjs/actions/morpho/user-rewards/common.js +1 -7
- package/_cjs/actions/morpho/user-rewards/common.js.map +1 -1
- package/_cjs/actions/morpho/vaults/common.js +104 -87
- package/_cjs/actions/morpho/vaults/common.js.map +1 -1
- package/_cjs/actions/morpho/vaults/lunarIndexerTransform.js +31 -3
- package/_cjs/actions/morpho/vaults/lunarIndexerTransform.js.map +1 -1
- package/_cjs/environments/types/config.js.map +1 -1
- package/_cjs/errors/version.js +1 -1
- package/_esm/actions/core/getUserBalances.js +72 -35
- package/_esm/actions/core/getUserBalances.js.map +1 -1
- package/_esm/actions/core/markets/common.js +2 -8
- package/_esm/actions/core/markets/common.js.map +1 -1
- package/_esm/actions/governance/getStakingInfo.js +2 -8
- package/_esm/actions/governance/getStakingInfo.js.map +1 -1
- package/_esm/actions/governance/getUserStakingInfo.js +2 -8
- package/_esm/actions/governance/getUserStakingInfo.js.map +1 -1
- package/_esm/actions/governance/getWellPrice.js +67 -7
- package/_esm/actions/governance/getWellPrice.js.map +1 -1
- package/_esm/actions/governance/proposals/common.js +37 -10
- package/_esm/actions/governance/proposals/common.js.map +1 -1
- package/_esm/actions/governance/proposals/getProposals.js +7 -5
- package/_esm/actions/governance/proposals/getProposals.js.map +1 -1
- package/_esm/actions/morpho/markets/common.js +34 -2
- package/_esm/actions/morpho/markets/common.js.map +1 -1
- package/_esm/actions/morpho/user-rewards/common.js +2 -8
- package/_esm/actions/morpho/user-rewards/common.js.map +1 -1
- package/_esm/actions/morpho/vaults/common.js +110 -91
- package/_esm/actions/morpho/vaults/common.js.map +1 -1
- package/_esm/actions/morpho/vaults/lunarIndexerTransform.js +36 -4
- package/_esm/actions/morpho/vaults/lunarIndexerTransform.js.map +1 -1
- package/_esm/environments/types/config.js.map +1 -1
- package/_esm/errors/version.js +1 -1
- package/_types/actions/core/getUserBalances.d.ts.map +1 -1
- package/_types/actions/core/markets/common.d.ts.map +1 -1
- package/_types/actions/governance/getStakingInfo.d.ts.map +1 -1
- package/_types/actions/governance/getUserStakingInfo.d.ts.map +1 -1
- package/_types/actions/governance/getWellPrice.d.ts +9 -1
- package/_types/actions/governance/getWellPrice.d.ts.map +1 -1
- package/_types/actions/governance/proposals/common.d.ts.map +1 -1
- package/_types/actions/governance/proposals/getProposals.d.ts +10 -1
- package/_types/actions/governance/proposals/getProposals.d.ts.map +1 -1
- package/_types/actions/morpho/markets/common.d.ts.map +1 -1
- package/_types/actions/morpho/user-rewards/common.d.ts.map +1 -1
- package/_types/actions/morpho/vaults/common.d.ts.map +1 -1
- package/_types/actions/morpho/vaults/lunarIndexerTransform.d.ts.map +1 -1
- package/_types/environments/types/config.d.ts +11 -1
- package/_types/environments/types/config.d.ts.map +1 -1
- package/_types/errors/version.d.ts +1 -1
- package/actions/core/getUserBalances.ts +98 -51
- package/actions/core/markets/common.ts +5 -8
- package/actions/governance/getStakingInfo.ts +2 -9
- package/actions/governance/getUserStakingInfo.ts +2 -8
- package/actions/governance/getWellPrice.ts +99 -7
- package/actions/governance/proposals/common.ts +44 -16
- package/actions/governance/proposals/getProposals.ts +22 -5
- package/actions/morpho/markets/common.ts +37 -2
- package/actions/morpho/user-rewards/common.ts +2 -8
- package/actions/morpho/vaults/common.ts +161 -127
- package/actions/morpho/vaults/lunarIndexerTransform.ts +41 -6
- package/environments/types/config.ts +11 -1
- package/errors/version.ts +1 -1
- package/package.json +1 -1
|
@@ -23,7 +23,15 @@ export declare function getWellPriceFromBaseOracle(baseEnvironment?: Environment
|
|
|
23
23
|
* env's own views.getGovernanceTokenPrice() — Moonriver has its own MFAM
|
|
24
24
|
* oracle and isn't priced from Base.
|
|
25
25
|
*
|
|
26
|
-
*
|
|
26
|
+
* Concurrent calls for the same price source share one in-flight read, and a
|
|
27
|
+
* successful price is reused for a few seconds. Rejects if the read fails.
|
|
27
28
|
*/
|
|
28
29
|
export declare function getGovernanceTokenPriceFor(environment: Environment, baseEnvironment?: Environment): Promise<bigint>;
|
|
30
|
+
/**
|
|
31
|
+
* Same shared read as `getGovernanceTokenPriceFor`, but resolves to 0n on
|
|
32
|
+
* failure. A failed shared read is reported once per `onError` callback,
|
|
33
|
+
* however many callers using that callback were waiting on it; `items` lists
|
|
34
|
+
* the requesting chainIds.
|
|
35
|
+
*/
|
|
36
|
+
export declare function getGovernanceTokenPriceOrZero(environment: Environment, baseEnvironment?: Environment): Promise<bigint>;
|
|
29
37
|
//# sourceMappingURL=getWellPrice.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getWellPrice.d.ts","sourceRoot":"","sources":["../../../actions/governance/getWellPrice.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAEjB,MAAM,6BAA6B,CAAC;AAErC;;;;;;;;;;;;;GAaG;AACH,wBAAsB,0BAA0B,CAC9C,eAAe,CAAC,EAAE,WAAW,GAC5B,OAAO,CAAC,MAAM,CAAC,CAoBjB;
|
|
1
|
+
{"version":3,"file":"getWellPrice.d.ts","sourceRoot":"","sources":["../../../actions/governance/getWellPrice.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAEjB,MAAM,6BAA6B,CAAC;AAErC;;;;;;;;;;;;;GAaG;AACH,wBAAsB,0BAA0B,CAC9C,eAAe,CAAC,EAAE,WAAW,GAC5B,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAmED;;;;;;;;;;;GAWG;AACH,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,WAAW,EACxB,eAAe,CAAC,EAAE,WAAW,GAC5B,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED;;;;;GAKG;AACH,wBAAsB,6BAA6B,CACjD,WAAW,EAAE,WAAW,EACxB,eAAe,CAAC,EAAE,WAAW,GAC5B,OAAO,CAAC,MAAM,CAAC,CAoBjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../actions/governance/proposals/common.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../actions/governance/proposals/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,16 @@ import type { MoonwellClient } from "../../../client/createMoonwellClient.js";
|
|
|
2
2
|
import type { OptionalNetworkParameterType } from "../../../common/types.js";
|
|
3
3
|
import type { Chain } from "../../../environments/index.js";
|
|
4
4
|
import type { Proposal } from "../../../types/proposal.js";
|
|
5
|
-
export type GetProposalsParameters<environments, network extends Chain | undefined> = OptionalNetworkParameterType<environments, network
|
|
5
|
+
export type GetProposalsParameters<environments, network extends Chain | undefined> = OptionalNetworkParameterType<environments, network> & {
|
|
6
|
+
/**
|
|
7
|
+
* Governance chains to fetch proposals from: 1 (Ethereum, active),
|
|
8
|
+
* 1284 (Moonbeam archive) and/or 1285 (Moonriver archive). Defaults to all
|
|
9
|
+
* of them. The archives hold almost all of the payload (~6.6MB of ~7MB), so
|
|
10
|
+
* views that only show recent proposals can pass `[1]` and load the archives
|
|
11
|
+
* separately when needed. Unsupported chainIds are ignored.
|
|
12
|
+
*/
|
|
13
|
+
proposalChainIds?: readonly number[];
|
|
14
|
+
};
|
|
6
15
|
export type GetProposalsReturnType = Promise<Proposal[]>;
|
|
7
16
|
export declare function getProposals<environments, Network extends Chain | undefined>(client: MoonwellClient, args?: GetProposalsParameters<environments, Network>): GetProposalsReturnType;
|
|
8
17
|
//# sourceMappingURL=getProposals.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getProposals.d.ts","sourceRoot":"","sources":["../../../../actions/governance/proposals/getProposals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAE9E,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,KAAK,EAAE,KAAK,EAAe,MAAM,gCAAgC,CAAC;AAEzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAc3D,MAAM,MAAM,sBAAsB,CAChC,YAAY,EACZ,OAAO,SAAS,KAAK,GAAG,SAAS,IAC/B,4BAA4B,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"getProposals.d.ts","sourceRoot":"","sources":["../../../../actions/governance/proposals/getProposals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAE9E,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,KAAK,EAAE,KAAK,EAAe,MAAM,gCAAgC,CAAC;AAEzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAc3D,MAAM,MAAM,sBAAsB,CAChC,YAAY,EACZ,OAAO,SAAS,KAAK,GAAG,SAAS,IAC/B,4BAA4B,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG;IACxD;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;AAEzD,wBAAsB,YAAY,CAChC,YAAY,EACZ,OAAO,SAAS,KAAK,GAAG,SAAS,EAEjC,MAAM,EAAE,cAAc,EACtB,IAAI,CAAC,EAAE,sBAAsB,CAAC,YAAY,EAAE,OAAO,CAAC,GACnD,sBAAsB,CA4BxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../actions/morpho/markets/common.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EACV,YAAY,EACZ,2BAA2B,EAE5B,MAAM,gCAAgC,CAAC;AAUxC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,eAAe,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CACzD;AAED,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CAC9C;
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../actions/morpho/markets/common.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EACV,YAAY,EACZ,2BAA2B,EAE5B,MAAM,gCAAgC,CAAC;AAUxC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,eAAe,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CACzD;AAED,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CAC9C;AAkHD,wBAAsB,6BAA6B,CACjD,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACzD,OAAO,CAAC,4BAA4B,CAAC,CA0CvC;AAED,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,4BAA4B,EAClC,aAAa,EAAE,MAAM,EAAE,EACvB,eAAe,EAAE,GAAG,CAClB,MAAM,EACN;IACE,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,eAAe,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CACxD,CACF,EACD,OAAO,EAAE,MAAM,GACd,2BAA2B,EAAE,CAmJ/B;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IACjD,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC/B,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,sBAAsB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9C,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAY1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../actions/morpho/user-rewards/common.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,WAAW,EAGjB,MAAM,gCAAgC,CAAC;AAKxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAGzF;;;;;;;GAOG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEb,MAAM,EAAE;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAChC,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;CAWF;AAED,wBAAsB,wBAAwB,CAAC,MAAM,EAAE;IACrD,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;IACvB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAsF9B;AAED,wBAAsB,+BAA+B,CAAC,MAAM,EAAE;IAC5D,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;CACxB,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../actions/morpho/user-rewards/common.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,WAAW,EAGjB,MAAM,gCAAgC,CAAC;AAKxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAGzF;;;;;;;GAOG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEb,MAAM,EAAE;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAChC,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;CAWF;AAED,wBAAsB,wBAAwB,CAAC,MAAM,EAAE;IACrD,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;IACvB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAsF9B;AAED,wBAAsB,+BAA+B,CAAC,MAAM,EAAE;IAC5D,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;CACxB,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAsGrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../actions/morpho/vaults/common.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,WAAW,EAEjB,MAAM,gCAAgC,CAAC;AAKxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EACV,WAAW,EAEZ,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../actions/morpho/vaults/common.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,WAAW,EAEjB,MAAM,gCAAgC,CAAC;AAKxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EACV,WAAW,EAEZ,MAAM,+BAA+B,CAAC;AA8cvC,wBAAsB,mBAAmB,CAAC,MAAM,EAAE;IAChD,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAazB;AAs3BD,KAAK,4BAA4B,GAAG;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,WAAW,CAAC;IACxB,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB,CAAC;AAEF,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,WAAW,EAAE,EACrB,uBAAuB,CAAC,EAAE,OAAO,GAChC,OAAO,CAAC,4BAA4B,EAAE,CAAC,CAmMzC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lunarIndexerTransform.d.ts","sourceRoot":"","sources":["../../../../actions/morpho/vaults/lunarIndexerTransform.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,gCAAgC,CAAC;AAC/E,OAAO,KAAK,EACV,WAAW,EAEX,mBAAmB,EACpB,MAAM,+BAA+B,CAAC;AAEvC;;;GAGG;AAEH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,CAAC,EAAE,iBAAiB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AA6GF;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,iBAAiB,EAC/B,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,GACvC,WAAW,
|
|
1
|
+
{"version":3,"file":"lunarIndexerTransform.d.ts","sourceRoot":"","sources":["../../../../actions/morpho/vaults/lunarIndexerTransform.ts"],"names":[],"mappings":"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"}
|
|
@@ -153,11 +153,21 @@ export type MorphoMarketsConfig<markets, tokens> = {} extends markets ? {} : {
|
|
|
153
153
|
export type ContractsConfig<contracts, tokens> = {} extends contracts ? {} : {
|
|
154
154
|
[name in keyof ContractConfig<tokens>]?: ContractConfig<tokens>[name];
|
|
155
155
|
};
|
|
156
|
-
/**
|
|
156
|
+
/**
|
|
157
|
+
* Context passed to `onError` callbacks. `token` is set for per-token read failures.
|
|
158
|
+
*
|
|
159
|
+
* Batched reads report once per operation rather than once per item: `error`
|
|
160
|
+
* is the first failure, `failedCount`/`totalCount` size the batch and `items`
|
|
161
|
+
* identifies what failed (proposalIds, token/vault addresses, chainIds...).
|
|
162
|
+
*/
|
|
157
163
|
export type OnErrorContext = {
|
|
158
164
|
source: string;
|
|
159
165
|
chainId: number;
|
|
160
166
|
token?: Address;
|
|
167
|
+
operation?: string;
|
|
168
|
+
failedCount?: number;
|
|
169
|
+
totalCount?: number;
|
|
170
|
+
items?: string[];
|
|
161
171
|
};
|
|
162
172
|
export type CustomConfig<custom> = {} extends custom ? {} : {
|
|
163
173
|
[name in keyof CustomConfigType]?: CustomConfigType[name];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../environments/types/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../environments/types/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "0.
|
|
1
|
+
export declare const version = "0.25.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -30,49 +30,74 @@ export type GetUserBalancesReturnType = Promise<UserBalance[]>;
|
|
|
30
30
|
* empty" and disabled the confirm button for 59 users (Sentry
|
|
31
31
|
* MOONWELL-FRONTEND-195). Callers settle these with `Promise.allSettled` and
|
|
32
32
|
* omit the rejected tokens, so a consumer that finds no entry knows the balance
|
|
33
|
-
* is UNKNOWN rather than zero.
|
|
34
|
-
* (source `user-balances-token-read`)
|
|
35
|
-
* degraded read.
|
|
33
|
+
* is UNKNOWN rather than zero. Failures are routed to `environment.onError`
|
|
34
|
+
* (source `user-balances-token-read`) once per chain by `getUserBalances`, so
|
|
35
|
+
* Sentry-wired consumers can see the degraded read.
|
|
36
36
|
*/
|
|
37
37
|
const getTokenBalance = async (
|
|
38
38
|
environment: Environment,
|
|
39
39
|
userAddress: Address,
|
|
40
40
|
tokenAddress: Address,
|
|
41
41
|
): Promise<{ amount: bigint; token: `0x${string}` }> => {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
address: userAddress,
|
|
46
|
-
});
|
|
47
|
-
return { amount: BigInt(balance), token: tokenAddress };
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
const erc20Abi = parseAbi([
|
|
51
|
-
"function balanceOf(address owner) view returns (uint256)",
|
|
52
|
-
]);
|
|
53
|
-
|
|
54
|
-
const erc20Contract = getContract({
|
|
55
|
-
address: tokenAddress,
|
|
56
|
-
abi: erc20Abi,
|
|
57
|
-
client: environment.publicClient,
|
|
42
|
+
if (tokenAddress === zeroAddress) {
|
|
43
|
+
const balance = await environment.publicClient.getBalance({
|
|
44
|
+
address: userAddress,
|
|
58
45
|
});
|
|
59
|
-
|
|
60
|
-
const balance = await erc20Contract.read.balanceOf([userAddress]);
|
|
61
46
|
return { amount: BigInt(balance), token: tokenAddress };
|
|
62
|
-
} catch (error) {
|
|
63
|
-
environment.onError?.(error, {
|
|
64
|
-
source: "user-balances-token-read",
|
|
65
|
-
chainId: environment.chainId,
|
|
66
|
-
token: tokenAddress,
|
|
67
|
-
});
|
|
68
|
-
throw error;
|
|
69
47
|
}
|
|
48
|
+
|
|
49
|
+
const erc20Abi = parseAbi([
|
|
50
|
+
"function balanceOf(address owner) view returns (uint256)",
|
|
51
|
+
]);
|
|
52
|
+
|
|
53
|
+
const erc20Contract = getContract({
|
|
54
|
+
address: tokenAddress,
|
|
55
|
+
abi: erc20Abi,
|
|
56
|
+
client: environment.publicClient,
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
const balance = await erc20Contract.read.balanceOf([userAddress]);
|
|
60
|
+
return { amount: BigInt(balance), token: tokenAddress };
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
type TokenBalanceReads = {
|
|
64
|
+
balances: { amount: bigint; token: `0x${string}` }[];
|
|
65
|
+
failures: { token: Address; error: unknown }[];
|
|
66
|
+
total: number;
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Reads each token balance, keeping failures instead of reporting them one by
|
|
71
|
+
* one: viem batches these reads into one multicall, so a single failed request
|
|
72
|
+
* rejects every token on the chain.
|
|
73
|
+
*/
|
|
74
|
+
const readTokenBalances = async (
|
|
75
|
+
environment: Environment,
|
|
76
|
+
userAddress: Address,
|
|
77
|
+
tokenAddresses: Address[],
|
|
78
|
+
): Promise<TokenBalanceReads> => {
|
|
79
|
+
const results = await Promise.all(
|
|
80
|
+
tokenAddresses.map(async (token) => {
|
|
81
|
+
try {
|
|
82
|
+
return {
|
|
83
|
+
balance: await getTokenBalance(environment, userAddress, token),
|
|
84
|
+
};
|
|
85
|
+
} catch (error) {
|
|
86
|
+
return { failure: { token, error } };
|
|
87
|
+
}
|
|
88
|
+
}),
|
|
89
|
+
);
|
|
90
|
+
return {
|
|
91
|
+
balances: results.flatMap((r) => (r.balance ? [r.balance] : [])),
|
|
92
|
+
failures: results.flatMap((r) => (r.failure ? [r.failure] : [])),
|
|
93
|
+
total: tokenAddresses.length,
|
|
94
|
+
};
|
|
70
95
|
};
|
|
71
96
|
|
|
72
97
|
async function getTokenBalancesFromEnvironment(
|
|
73
98
|
environment: Environment,
|
|
74
99
|
userAddress: Address,
|
|
75
|
-
): Promise<
|
|
100
|
+
): Promise<TokenBalanceReads> {
|
|
76
101
|
// Try the views multicall first (single RPC for N tokens). Some chains ship a
|
|
77
102
|
// staking-only views contract (Ethereum's at the time of writing) that doesn't
|
|
78
103
|
// implement getTokensBalances and reverts on the call — in that case fall
|
|
@@ -87,7 +112,7 @@ async function getTokenBalancesFromEnvironment(
|
|
|
87
112
|
userAddress,
|
|
88
113
|
]);
|
|
89
114
|
|
|
90
|
-
return [...tokenBalancesFromView];
|
|
115
|
+
return { balances: [...tokenBalancesFromView], failures: [], total: 0 };
|
|
91
116
|
} catch (error) {
|
|
92
117
|
environment.onError?.(error, {
|
|
93
118
|
source: "user-balances-views-fallback",
|
|
@@ -96,14 +121,10 @@ async function getTokenBalancesFromEnvironment(
|
|
|
96
121
|
}
|
|
97
122
|
}
|
|
98
123
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
),
|
|
103
|
-
);
|
|
104
|
-
|
|
105
|
-
return tokenBalancesSettled.flatMap((s) =>
|
|
106
|
-
s.status === "fulfilled" ? s.value : [],
|
|
124
|
+
return readTokenBalances(
|
|
125
|
+
environment,
|
|
126
|
+
userAddress,
|
|
127
|
+
Object.values(environment.config.tokens).map((token) => token.address),
|
|
107
128
|
);
|
|
108
129
|
}
|
|
109
130
|
|
|
@@ -124,32 +145,58 @@ export async function getUserBalances<
|
|
|
124
145
|
),
|
|
125
146
|
);
|
|
126
147
|
|
|
127
|
-
const
|
|
128
|
-
|
|
148
|
+
const environmentsTokenReads = environmentsTokensBalancesSettled.map((s) =>
|
|
149
|
+
s.status === "fulfilled"
|
|
150
|
+
? s.value
|
|
151
|
+
: { balances: [], failures: [], total: 0 },
|
|
129
152
|
);
|
|
153
|
+
const environmentsTokensBalances = environmentsTokenReads.map((r) => [
|
|
154
|
+
...r.balances,
|
|
155
|
+
]);
|
|
130
156
|
|
|
131
157
|
// Fetch morpho staking balances
|
|
132
158
|
await Promise.all(
|
|
133
159
|
environments.map(async (env, index) => {
|
|
134
160
|
if (!env.config.vaults) return;
|
|
135
161
|
|
|
136
|
-
const
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
);
|
|
143
|
-
|
|
144
|
-
const vaultBalances = vaultBalancesSettled.flatMap((s) =>
|
|
145
|
-
s.status === "fulfilled" ? s.value : [],
|
|
162
|
+
const vaultReads = await readTokenBalances(
|
|
163
|
+
env,
|
|
164
|
+
userAddress,
|
|
165
|
+
Object.values(env.config.vaults).flatMap((vault) =>
|
|
166
|
+
vault.multiReward ? [vault.multiReward] : [],
|
|
167
|
+
),
|
|
146
168
|
);
|
|
147
169
|
|
|
148
170
|
const envBalances = environmentsTokensBalances[index] || [];
|
|
149
|
-
environmentsTokensBalances[index] = [
|
|
171
|
+
environmentsTokensBalances[index] = [
|
|
172
|
+
...envBalances,
|
|
173
|
+
...vaultReads.balances,
|
|
174
|
+
];
|
|
175
|
+
|
|
176
|
+
const tokenReads = environmentsTokenReads[index];
|
|
177
|
+
if (tokenReads) {
|
|
178
|
+
tokenReads.failures.push(...vaultReads.failures);
|
|
179
|
+
tokenReads.total += vaultReads.total;
|
|
180
|
+
}
|
|
150
181
|
}),
|
|
151
182
|
);
|
|
152
183
|
|
|
184
|
+
// One report per chain for every token read that failed.
|
|
185
|
+
environments.forEach((env, index) => {
|
|
186
|
+
const reads = environmentsTokenReads[index];
|
|
187
|
+
const [firstFailure] = reads?.failures ?? [];
|
|
188
|
+
if (!reads || !firstFailure) return;
|
|
189
|
+
env.onError?.(firstFailure.error, {
|
|
190
|
+
source: "user-balances-token-read",
|
|
191
|
+
chainId: env.chainId,
|
|
192
|
+
...(reads.failures.length === 1 && { token: firstFailure.token }),
|
|
193
|
+
operation: "token-balance-read",
|
|
194
|
+
failedCount: reads.failures.length,
|
|
195
|
+
totalCount: reads.total,
|
|
196
|
+
items: reads.failures.map((f) => f.token),
|
|
197
|
+
});
|
|
198
|
+
});
|
|
199
|
+
|
|
153
200
|
const result = environments.flatMap((env, index) => {
|
|
154
201
|
const balances = environmentsTokensBalances[index] || [];
|
|
155
202
|
|
|
@@ -17,7 +17,10 @@ import {
|
|
|
17
17
|
findTokenByAddress,
|
|
18
18
|
} from "../../../environments/utils/index.js";
|
|
19
19
|
import type { Market } from "../../../types/market.js";
|
|
20
|
-
import {
|
|
20
|
+
import {
|
|
21
|
+
getGovernanceTokenPriceFor,
|
|
22
|
+
getGovernanceTokenPriceOrZero,
|
|
23
|
+
} from "../../governance/getWellPrice.js";
|
|
21
24
|
|
|
22
25
|
export const getMarketsData = async (environment: Environment) => {
|
|
23
26
|
// Moonriver (chainId 1285) should always use on-chain data
|
|
@@ -530,13 +533,7 @@ async function fetchMarketsFromLunar(
|
|
|
530
533
|
|
|
531
534
|
const [nativeTokenPriceRaw, governanceTokenPriceRaw] = await Promise.all([
|
|
532
535
|
homeEnvironment.contracts.views?.read.getNativeTokenPrice(),
|
|
533
|
-
|
|
534
|
-
environment.onError?.(err, {
|
|
535
|
-
source: "governance-token-price",
|
|
536
|
-
chainId: environment.chainId,
|
|
537
|
-
});
|
|
538
|
-
return 0n;
|
|
539
|
-
}),
|
|
536
|
+
getGovernanceTokenPriceOrZero(environment),
|
|
540
537
|
]);
|
|
541
538
|
|
|
542
539
|
if (nativeTokenPriceRaw === undefined) {
|
|
@@ -10,7 +10,7 @@ import type { NetworkParameterType } from "../../common/types.js";
|
|
|
10
10
|
import type { Chain, Environment } from "../../environments/index.js";
|
|
11
11
|
import type { StakingInfo } from "../../types/staking.js";
|
|
12
12
|
import { getMerklStakingApr } from "./common.js";
|
|
13
|
-
import {
|
|
13
|
+
import { getGovernanceTokenPriceOrZero } from "./getWellPrice.js";
|
|
14
14
|
|
|
15
15
|
export type GetStakingInfoParameters<
|
|
16
16
|
environments,
|
|
@@ -150,7 +150,7 @@ export async function getStakingInfo<
|
|
|
150
150
|
blockNumber: BigInt(34149943),
|
|
151
151
|
})
|
|
152
152
|
: Promise.resolve(undefined),
|
|
153
|
-
|
|
153
|
+
getGovernanceTokenPriceOrZero(environment, baseEnvironment),
|
|
154
154
|
]);
|
|
155
155
|
|
|
156
156
|
const viewsStaking =
|
|
@@ -181,13 +181,6 @@ export async function getStakingInfo<
|
|
|
181
181
|
|
|
182
182
|
const price = priceResult.status === "fulfilled" ? priceResult.value : 0n;
|
|
183
183
|
|
|
184
|
-
if (priceResult.status === "rejected") {
|
|
185
|
-
environment.onError?.(priceResult.reason, {
|
|
186
|
-
source: "governance-token-price",
|
|
187
|
-
chainId: environment.chainId,
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
|
|
191
184
|
return { stakingInfo, historicalStaking, price };
|
|
192
185
|
}),
|
|
193
186
|
);
|
|
@@ -6,7 +6,7 @@ import type { OptionalNetworkParameterType } from "../../common/types.js";
|
|
|
6
6
|
import type { Environment } from "../../environments/index.js";
|
|
7
7
|
import type { UserStakingInfo } from "../../types/staking.js";
|
|
8
8
|
import { getMerklCampaignIds, getMerklRewardsData } from "./common.js";
|
|
9
|
-
import {
|
|
9
|
+
import { getGovernanceTokenPriceOrZero } from "./getWellPrice.js";
|
|
10
10
|
|
|
11
11
|
export type GetUserStakingInfoParameters<
|
|
12
12
|
environments,
|
|
@@ -150,7 +150,7 @@ export async function getUserStakingInfo<
|
|
|
150
150
|
environment.contracts.views?.read.getUserStakingInfo([userAddress]),
|
|
151
151
|
environment.contracts.governanceToken?.read.balanceOf([userAddress]),
|
|
152
152
|
environment.contracts.views?.read.getStakingInfo(),
|
|
153
|
-
|
|
153
|
+
getGovernanceTokenPriceOrZero(environment, baseEnvironment),
|
|
154
154
|
]);
|
|
155
155
|
|
|
156
156
|
const [userStakingR, balanceR, stakingScheduleR, priceR] = settled;
|
|
@@ -175,12 +175,6 @@ export async function getUserStakingInfo<
|
|
|
175
175
|
: 0n;
|
|
176
176
|
|
|
177
177
|
const price = priceR.status === "fulfilled" ? priceR.value : 0n;
|
|
178
|
-
if (priceR.status === "rejected") {
|
|
179
|
-
environment.onError?.(priceR.reason, {
|
|
180
|
-
source: "governance-token-price",
|
|
181
|
-
chainId: environment.chainId,
|
|
182
|
-
});
|
|
183
|
-
}
|
|
184
178
|
|
|
185
179
|
return { userStaking, schedule, tokenBalance, price };
|
|
186
180
|
}),
|
|
@@ -41,6 +41,71 @@ export async function getWellPriceFromBaseOracle(
|
|
|
41
41
|
return await oracle.read.getUnderlyingPrice([mWELL]);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
async function readGovernanceTokenPrice(
|
|
45
|
+
environment: Environment,
|
|
46
|
+
baseEnvironment?: Environment,
|
|
47
|
+
): Promise<bigint> {
|
|
48
|
+
if (environment.custom?.governance?.token === "WELL") {
|
|
49
|
+
return getWellPriceFromBaseOracle(baseEnvironment);
|
|
50
|
+
}
|
|
51
|
+
// Non-WELL (e.g. Moonriver / MFAM): the env itself is the governance "home".
|
|
52
|
+
const views = environment.contracts.views;
|
|
53
|
+
if (!views) return 0n;
|
|
54
|
+
return (await views.read.getGovernanceTokenPrice()) ?? 0n;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const GOVERNANCE_TOKEN_PRICE_TTL_MS = 10_000;
|
|
58
|
+
|
|
59
|
+
type OnErrorCallback = NonNullable<Environment["onError"]>;
|
|
60
|
+
|
|
61
|
+
type GovernanceTokenPriceEntry = {
|
|
62
|
+
promise: Promise<bigint>;
|
|
63
|
+
expiresAt: number;
|
|
64
|
+
requestingChainIds: Set<number>;
|
|
65
|
+
/** Callbacks already told about this read's failure. */
|
|
66
|
+
reportedTo: Set<OnErrorCallback>;
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
// Keyed by the environment the price is read through (the Base env for every
|
|
70
|
+
// WELL chain), so markets, vaults, rewards and staking reads issued together
|
|
71
|
+
// share one request, while clients with their own RPCs never share results.
|
|
72
|
+
const governanceTokenPriceCache = new WeakMap<
|
|
73
|
+
Environment,
|
|
74
|
+
GovernanceTokenPriceEntry
|
|
75
|
+
>();
|
|
76
|
+
|
|
77
|
+
function getSharedGovernanceTokenPrice(
|
|
78
|
+
environment: Environment,
|
|
79
|
+
baseEnvironment?: Environment,
|
|
80
|
+
): { sourceChainId: number; entry: GovernanceTokenPriceEntry } {
|
|
81
|
+
const sourceEnvironment: Environment =
|
|
82
|
+
environment.custom?.governance?.token === "WELL"
|
|
83
|
+
? (baseEnvironment ?? publicEnvironments.base)
|
|
84
|
+
: environment;
|
|
85
|
+
const sourceChainId = sourceEnvironment.chainId;
|
|
86
|
+
|
|
87
|
+
const cached = governanceTokenPriceCache.get(sourceEnvironment);
|
|
88
|
+
if (cached && Date.now() < cached.expiresAt) {
|
|
89
|
+
cached.requestingChainIds.add(environment.chainId);
|
|
90
|
+
return { sourceChainId, entry: cached };
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
const entry: GovernanceTokenPriceEntry = {
|
|
94
|
+
promise: readGovernanceTokenPrice(environment, baseEnvironment),
|
|
95
|
+
expiresAt: Date.now() + GOVERNANCE_TOKEN_PRICE_TTL_MS,
|
|
96
|
+
requestingChainIds: new Set([environment.chainId]),
|
|
97
|
+
reportedTo: new Set(),
|
|
98
|
+
};
|
|
99
|
+
governanceTokenPriceCache.set(sourceEnvironment, entry);
|
|
100
|
+
// Failures are never cached: evict so the next call reads again.
|
|
101
|
+
entry.promise.catch(() => {
|
|
102
|
+
if (governanceTokenPriceCache.get(sourceEnvironment) === entry) {
|
|
103
|
+
governanceTokenPriceCache.delete(sourceEnvironment);
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
return { sourceChainId, entry };
|
|
107
|
+
}
|
|
108
|
+
|
|
44
109
|
/**
|
|
45
110
|
* Returns the governance-token-in-USD price for an environment.
|
|
46
111
|
*
|
|
@@ -50,17 +115,44 @@ export async function getWellPriceFromBaseOracle(
|
|
|
50
115
|
* env's own views.getGovernanceTokenPrice() — Moonriver has its own MFAM
|
|
51
116
|
* oracle and isn't priced from Base.
|
|
52
117
|
*
|
|
53
|
-
*
|
|
118
|
+
* Concurrent calls for the same price source share one in-flight read, and a
|
|
119
|
+
* successful price is reused for a few seconds. Rejects if the read fails.
|
|
54
120
|
*/
|
|
55
121
|
export async function getGovernanceTokenPriceFor(
|
|
56
122
|
environment: Environment,
|
|
57
123
|
baseEnvironment?: Environment,
|
|
58
124
|
): Promise<bigint> {
|
|
59
|
-
|
|
60
|
-
|
|
125
|
+
return getSharedGovernanceTokenPrice(environment, baseEnvironment).entry
|
|
126
|
+
.promise;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Same shared read as `getGovernanceTokenPriceFor`, but resolves to 0n on
|
|
131
|
+
* failure. A failed shared read is reported once per `onError` callback,
|
|
132
|
+
* however many callers using that callback were waiting on it; `items` lists
|
|
133
|
+
* the requesting chainIds.
|
|
134
|
+
*/
|
|
135
|
+
export async function getGovernanceTokenPriceOrZero(
|
|
136
|
+
environment: Environment,
|
|
137
|
+
baseEnvironment?: Environment,
|
|
138
|
+
): Promise<bigint> {
|
|
139
|
+
const { sourceChainId, entry } = getSharedGovernanceTokenPrice(
|
|
140
|
+
environment,
|
|
141
|
+
baseEnvironment,
|
|
142
|
+
);
|
|
143
|
+
try {
|
|
144
|
+
return await entry.promise;
|
|
145
|
+
} catch (error) {
|
|
146
|
+
const onError = environment.onError;
|
|
147
|
+
if (onError && !entry.reportedTo.has(onError)) {
|
|
148
|
+
entry.reportedTo.add(onError);
|
|
149
|
+
environment.onError?.(error, {
|
|
150
|
+
source: "governance-token-price",
|
|
151
|
+
chainId: sourceChainId,
|
|
152
|
+
operation: "governance-token-price-read",
|
|
153
|
+
items: [...entry.requestingChainIds].map(String),
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
return 0n;
|
|
61
157
|
}
|
|
62
|
-
// Non-WELL (e.g. Moonriver / MFAM): the env itself is the governance "home".
|
|
63
|
-
const views = environment.contracts.views;
|
|
64
|
-
if (!views) return 0n;
|
|
65
|
-
return (await views.read.getGovernanceTokenPrice()) ?? 0n;
|
|
66
158
|
}
|