@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.
Files changed (79) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/_cjs/actions/core/getUserBalances.js +63 -32
  3. package/_cjs/actions/core/getUserBalances.js.map +1 -1
  4. package/_cjs/actions/core/markets/common.js +1 -7
  5. package/_cjs/actions/core/markets/common.js.map +1 -1
  6. package/_cjs/actions/governance/getStakingInfo.js +1 -7
  7. package/_cjs/actions/governance/getStakingInfo.js.map +1 -1
  8. package/_cjs/actions/governance/getUserStakingInfo.js +1 -7
  9. package/_cjs/actions/governance/getUserStakingInfo.js.map +1 -1
  10. package/_cjs/actions/governance/getWellPrice.js +51 -1
  11. package/_cjs/actions/governance/getWellPrice.js.map +1 -1
  12. package/_cjs/actions/governance/proposals/common.js +34 -10
  13. package/_cjs/actions/governance/proposals/common.js.map +1 -1
  14. package/_cjs/actions/governance/proposals/getProposals.js +5 -4
  15. package/_cjs/actions/governance/proposals/getProposals.js.map +1 -1
  16. package/_cjs/actions/morpho/markets/common.js +29 -2
  17. package/_cjs/actions/morpho/markets/common.js.map +1 -1
  18. package/_cjs/actions/morpho/user-rewards/common.js +1 -7
  19. package/_cjs/actions/morpho/user-rewards/common.js.map +1 -1
  20. package/_cjs/actions/morpho/vaults/common.js +104 -87
  21. package/_cjs/actions/morpho/vaults/common.js.map +1 -1
  22. package/_cjs/actions/morpho/vaults/lunarIndexerTransform.js +31 -3
  23. package/_cjs/actions/morpho/vaults/lunarIndexerTransform.js.map +1 -1
  24. package/_cjs/environments/types/config.js.map +1 -1
  25. package/_cjs/errors/version.js +1 -1
  26. package/_esm/actions/core/getUserBalances.js +72 -35
  27. package/_esm/actions/core/getUserBalances.js.map +1 -1
  28. package/_esm/actions/core/markets/common.js +2 -8
  29. package/_esm/actions/core/markets/common.js.map +1 -1
  30. package/_esm/actions/governance/getStakingInfo.js +2 -8
  31. package/_esm/actions/governance/getStakingInfo.js.map +1 -1
  32. package/_esm/actions/governance/getUserStakingInfo.js +2 -8
  33. package/_esm/actions/governance/getUserStakingInfo.js.map +1 -1
  34. package/_esm/actions/governance/getWellPrice.js +67 -7
  35. package/_esm/actions/governance/getWellPrice.js.map +1 -1
  36. package/_esm/actions/governance/proposals/common.js +37 -10
  37. package/_esm/actions/governance/proposals/common.js.map +1 -1
  38. package/_esm/actions/governance/proposals/getProposals.js +7 -5
  39. package/_esm/actions/governance/proposals/getProposals.js.map +1 -1
  40. package/_esm/actions/morpho/markets/common.js +34 -2
  41. package/_esm/actions/morpho/markets/common.js.map +1 -1
  42. package/_esm/actions/morpho/user-rewards/common.js +2 -8
  43. package/_esm/actions/morpho/user-rewards/common.js.map +1 -1
  44. package/_esm/actions/morpho/vaults/common.js +110 -91
  45. package/_esm/actions/morpho/vaults/common.js.map +1 -1
  46. package/_esm/actions/morpho/vaults/lunarIndexerTransform.js +36 -4
  47. package/_esm/actions/morpho/vaults/lunarIndexerTransform.js.map +1 -1
  48. package/_esm/environments/types/config.js.map +1 -1
  49. package/_esm/errors/version.js +1 -1
  50. package/_types/actions/core/getUserBalances.d.ts.map +1 -1
  51. package/_types/actions/core/markets/common.d.ts.map +1 -1
  52. package/_types/actions/governance/getStakingInfo.d.ts.map +1 -1
  53. package/_types/actions/governance/getUserStakingInfo.d.ts.map +1 -1
  54. package/_types/actions/governance/getWellPrice.d.ts +9 -1
  55. package/_types/actions/governance/getWellPrice.d.ts.map +1 -1
  56. package/_types/actions/governance/proposals/common.d.ts.map +1 -1
  57. package/_types/actions/governance/proposals/getProposals.d.ts +10 -1
  58. package/_types/actions/governance/proposals/getProposals.d.ts.map +1 -1
  59. package/_types/actions/morpho/markets/common.d.ts.map +1 -1
  60. package/_types/actions/morpho/user-rewards/common.d.ts.map +1 -1
  61. package/_types/actions/morpho/vaults/common.d.ts.map +1 -1
  62. package/_types/actions/morpho/vaults/lunarIndexerTransform.d.ts.map +1 -1
  63. package/_types/environments/types/config.d.ts +11 -1
  64. package/_types/environments/types/config.d.ts.map +1 -1
  65. package/_types/errors/version.d.ts +1 -1
  66. package/actions/core/getUserBalances.ts +98 -51
  67. package/actions/core/markets/common.ts +5 -8
  68. package/actions/governance/getStakingInfo.ts +2 -9
  69. package/actions/governance/getUserStakingInfo.ts +2 -8
  70. package/actions/governance/getWellPrice.ts +99 -7
  71. package/actions/governance/proposals/common.ts +44 -16
  72. package/actions/governance/proposals/getProposals.ts +22 -5
  73. package/actions/morpho/markets/common.ts +37 -2
  74. package/actions/morpho/user-rewards/common.ts +2 -8
  75. package/actions/morpho/vaults/common.ts +161 -127
  76. package/actions/morpho/vaults/lunarIndexerTransform.ts +41 -6
  77. package/environments/types/config.ts +11 -1
  78. package/errors/version.ts +1 -1
  79. 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
- * Returns 0n if the lookup fails.
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;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,WAAW,EACxB,eAAe,CAAC,EAAE,WAAW,GAC5B,OAAO,CAAC,MAAM,CAAC,CAQjB"}
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":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAGL,KAAK,QAAQ,EACb,aAAa,EACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,eAAO,MAAM,iBAAiB,+CAA+C,CAAC;AAY9E;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAAI,OAAO,MAAM,KAAG,MAoDvD,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,GAAI,UAAU,MAAM,EAAE,KAAG,OAEnD,CAAC;AAER;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,SAAS,MAAM,KAAG,OAGvD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,0BAA0B,GACrC,UAAU;IAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EACrE,qBAAqB,MAAM,EAC3B,+BAA4B,KAC3B,OAM0C,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC5B,UAAU;IAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EACpD,oBAAoB,MAAM,KACzB,OAEmE,CAAC;AAEvE,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,KAAK,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,0BAA0B,GACrC,WAAW,oBAAoB,EAC/B,aAAa,WAAW,EACxB,KAAK,MAAM,KACV,aAgBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,aAAa,WAAW,KACvB,oBAkDF,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,GAAG,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AA0CF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,GAClC,SAAS,MAAM,KACd,WAAW,GAAG,SAGd,CAAC;AAEJ;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,4BAA4B,GACvC,cAAc,WAAW,EAAE,KAC1B,WAAW,GAAG,SACsD,CAAC;AAExE,eAAO,MAAM,qBAAqB,GAChC,cAAc,WAAW,EAAE,EAC3B,uBAAuB,WAAW,KACjC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA6B7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAClC,cAAc,WAAW,EAAE,EAC3B,uBAAuB,WAAW,EAClC,UAAU;IAAE,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,KACpD,OAAO,CAAC,mBAAmB,EAAE,CAuO/B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,GACnC,aAAa,WAAW,EACxB,aAAa,mBAAmB,EAChC,uBAAuB,WAAW,KACjC,QA4EF,CAAC"}
@@ -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;AAExD,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,CAyBxB"}
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;AAiGD,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,CAwBvC;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
+ {"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,CA4GrC"}
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;AAsavC,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;AA43BD,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
+ {"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":"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"}
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
- /** Context passed to `onError` callbacks. `token` is set for per-token read failures. */
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.24.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. The failure is routed to `environment.onError`
34
- * (source `user-balances-token-read`) so Sentry-wired consumers can see the
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
- try {
43
- if (tokenAddress === zeroAddress) {
44
- const balance = await environment.publicClient.getBalance({
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<{ amount: bigint; token: `0x${string}` }[]> {
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
- const tokenBalancesSettled = await Promise.allSettled(
100
- Object.values(environment.config.tokens).map((token) =>
101
- getTokenBalance(environment, userAddress, token.address),
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 environmentsTokensBalances = environmentsTokensBalancesSettled.map(
128
- (s) => (s.status === "fulfilled" ? [...s.value] : []),
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 vaultBalancesSettled = await Promise.allSettled(
137
- Object.values(env.config.vaults)
138
- .filter((vault) => vault.multiReward)
139
- .map((vault) =>
140
- getTokenBalance(env, userAddress, vault.multiReward!),
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] = [...envBalances, ...vaultBalances];
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 { getGovernanceTokenPriceFor } from "../../governance/getWellPrice.js";
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
- getGovernanceTokenPriceFor(environment).catch((err) => {
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 { getGovernanceTokenPriceFor } from "./getWellPrice.js";
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
- getGovernanceTokenPriceFor(environment, baseEnvironment),
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 { getGovernanceTokenPriceFor } from "./getWellPrice.js";
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
- getGovernanceTokenPriceFor(environment, baseEnvironment),
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
- * Returns 0n if the lookup fails.
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
- if (environment.custom?.governance?.token === "WELL") {
60
- return getWellPriceFromBaseOracle(baseEnvironment);
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
  }