@moonwell-fi/moonwell-sdk 0.21.0 → 0.23.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 +51 -0
- package/README.md +9 -3
- package/_cjs/actions/beam/common.js +1 -2
- package/_cjs/actions/beam/common.js.map +1 -1
- package/_cjs/actions/core/getUserBalances.js +11 -24
- package/_cjs/actions/core/getUserBalances.js.map +1 -1
- package/_cjs/actions/core/markets/common.js +146 -96
- package/_cjs/actions/core/markets/common.js.map +1 -1
- package/_cjs/actions/governance/getDelegates.js +2 -7
- package/_cjs/actions/governance/getDelegates.js.map +1 -1
- package/_cjs/actions/governance/getGovernanceTokenInfo.js +7 -12
- package/_cjs/actions/governance/getGovernanceTokenInfo.js.map +1 -1
- package/_cjs/actions/governance/getUserVoteReceipt.js +5 -4
- package/_cjs/actions/governance/getUserVoteReceipt.js.map +1 -1
- package/_cjs/actions/governance/governor-api-client.js.map +1 -1
- package/_cjs/actions/governance/proposals/common.js +73 -6
- package/_cjs/actions/governance/proposals/common.js.map +1 -1
- package/_cjs/actions/governance/proposals/getProposal.js +6 -73
- package/_cjs/actions/governance/proposals/getProposal.js.map +1 -1
- package/_cjs/actions/governance/proposals/getProposals.js +12 -92
- package/_cjs/actions/governance/proposals/getProposals.js.map +1 -1
- package/_cjs/client/createMoonwellClient.js +17 -15
- package/_cjs/client/createMoonwellClient.js.map +1 -1
- package/_cjs/common/index.js +4 -4
- package/_cjs/common/index.js.map +1 -1
- package/_cjs/environments/definitions/governance.js +1 -8
- package/_cjs/environments/definitions/governance.js.map +1 -1
- package/_cjs/environments/index.js +28 -42
- package/_cjs/environments/index.js.map +1 -1
- package/_cjs/environments/types/config.js.map +1 -1
- package/_cjs/errors/version.js +1 -1
- package/_esm/actions/beam/common.js +3 -2
- package/_esm/actions/beam/common.js.map +1 -1
- package/_esm/actions/core/getUserBalances.js +23 -24
- package/_esm/actions/core/getUserBalances.js.map +1 -1
- package/_esm/actions/core/markets/common.js +192 -104
- package/_esm/actions/core/markets/common.js.map +1 -1
- package/_esm/actions/governance/getDelegates.js +8 -8
- package/_esm/actions/governance/getDelegates.js.map +1 -1
- package/_esm/actions/governance/getGovernanceTokenInfo.js +20 -13
- package/_esm/actions/governance/getGovernanceTokenInfo.js.map +1 -1
- package/_esm/actions/governance/getUserVoteReceipt.js +16 -5
- package/_esm/actions/governance/getUserVoteReceipt.js.map +1 -1
- package/_esm/actions/governance/governor-api-client.js +14 -5
- package/_esm/actions/governance/governor-api-client.js.map +1 -1
- package/_esm/actions/governance/proposals/common.js +122 -10
- package/_esm/actions/governance/proposals/common.js.map +1 -1
- package/_esm/actions/governance/proposals/getProposal.js +16 -93
- package/_esm/actions/governance/proposals/getProposal.js.map +1 -1
- package/_esm/actions/governance/proposals/getProposals.js +37 -132
- package/_esm/actions/governance/proposals/getProposals.js.map +1 -1
- package/_esm/client/createMoonwellClient.js +24 -16
- package/_esm/client/createMoonwellClient.js.map +1 -1
- package/_esm/common/index.js +15 -4
- package/_esm/common/index.js.map +1 -1
- package/_esm/environments/definitions/governance.js +5 -9
- package/_esm/environments/definitions/governance.js.map +1 -1
- package/_esm/environments/index.js +2 -14
- package/_esm/environments/index.js.map +1 -1
- package/_esm/environments/types/config.js.map +1 -1
- package/_esm/errors/version.js +1 -1
- package/_types/actions/beam/common.d.ts +1 -1
- package/_types/actions/beam/common.d.ts.map +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/getGovernanceTokenInfo.d.ts.map +1 -1
- package/_types/actions/governance/getUserVoteReceipt.d.ts.map +1 -1
- package/_types/actions/governance/governor-api-client.d.ts +14 -5
- package/_types/actions/governance/governor-api-client.d.ts.map +1 -1
- package/_types/actions/governance/proposals/common.d.ts +41 -6
- package/_types/actions/governance/proposals/common.d.ts.map +1 -1
- package/_types/actions/governance/proposals/getProposal.d.ts +1 -1
- package/_types/actions/governance/proposals/getProposal.d.ts.map +1 -1
- package/_types/actions/governance/proposals/getProposals.d.ts +1 -1
- package/_types/actions/governance/proposals/getProposals.d.ts.map +1 -1
- package/_types/client/createMoonwellClient.d.ts +10 -843
- package/_types/client/createMoonwellClient.d.ts.map +1 -1
- package/_types/common/index.d.ts +11 -0
- package/_types/common/index.d.ts.map +1 -1
- package/_types/environments/definitions/governance.d.ts +0 -7
- package/_types/environments/definitions/governance.d.ts.map +1 -1
- package/_types/environments/index.d.ts +7 -518
- package/_types/environments/index.d.ts.map +1 -1
- package/_types/environments/types/config.d.ts +22 -8
- package/_types/environments/types/config.d.ts.map +1 -1
- package/_types/errors/version.d.ts +1 -1
- package/actions/beam/common.ts +4 -9
- package/actions/core/getUserBalances.ts +25 -31
- package/actions/core/markets/common.ts +307 -166
- package/actions/governance/getDelegates.ts +8 -8
- package/actions/governance/getGovernanceTokenInfo.ts +23 -15
- package/actions/governance/getUserVoteReceipt.ts +19 -5
- package/actions/governance/governor-api-client.ts +14 -5
- package/actions/governance/proposals/common.ts +143 -10
- package/actions/governance/proposals/getProposal.ts +29 -112
- package/actions/governance/proposals/getProposals.ts +52 -153
- package/client/createMoonwellClient.ts +34 -44
- package/common/index.ts +17 -6
- package/environments/definitions/governance.ts +5 -9
- package/environments/index.ts +34 -71
- package/environments/types/config.ts +24 -8
- package/errors/version.ts +1 -1
- package/package.json +1 -1
- package/_cjs/environments/definitions/moonbeam/contracts.js +0 -22
- package/_cjs/environments/definitions/moonbeam/contracts.js.map +0 -1
- package/_cjs/environments/definitions/moonbeam/core-markets.js +0 -65
- package/_cjs/environments/definitions/moonbeam/core-markets.js.map +0 -1
- package/_cjs/environments/definitions/moonbeam/custom.js +0 -24
- package/_cjs/environments/definitions/moonbeam/custom.js.map +0 -1
- package/_cjs/environments/definitions/moonbeam/environment.js +0 -38
- package/_cjs/environments/definitions/moonbeam/environment.js.map +0 -1
- package/_cjs/environments/definitions/moonbeam/tokens.js +0 -176
- package/_cjs/environments/definitions/moonbeam/tokens.js.map +0 -1
- package/_cjs/environments/definitions/moonriver/contracts.js +0 -19
- package/_cjs/environments/definitions/moonriver/contracts.js.map +0 -1
- package/_cjs/environments/definitions/moonriver/core-markets.js +0 -46
- package/_cjs/environments/definitions/moonriver/core-markets.js.map +0 -1
- package/_cjs/environments/definitions/moonriver/custom.js +0 -12
- package/_cjs/environments/definitions/moonriver/custom.js.map +0 -1
- package/_cjs/environments/definitions/moonriver/environment.js +0 -36
- package/_cjs/environments/definitions/moonriver/environment.js.map +0 -1
- package/_cjs/environments/definitions/moonriver/tokens.js +0 -110
- package/_cjs/environments/definitions/moonriver/tokens.js.map +0 -1
- package/_esm/environments/definitions/moonbeam/contracts.js +0 -19
- package/_esm/environments/definitions/moonbeam/contracts.js.map +0 -1
- package/_esm/environments/definitions/moonbeam/core-markets.js +0 -62
- package/_esm/environments/definitions/moonbeam/core-markets.js.map +0 -1
- package/_esm/environments/definitions/moonbeam/custom.js +0 -21
- package/_esm/environments/definitions/moonbeam/custom.js.map +0 -1
- package/_esm/environments/definitions/moonbeam/environment.js +0 -32
- package/_esm/environments/definitions/moonbeam/environment.js.map +0 -1
- package/_esm/environments/definitions/moonbeam/tokens.js +0 -173
- package/_esm/environments/definitions/moonbeam/tokens.js.map +0 -1
- package/_esm/environments/definitions/moonriver/contracts.js +0 -16
- package/_esm/environments/definitions/moonriver/contracts.js.map +0 -1
- package/_esm/environments/definitions/moonriver/core-markets.js +0 -43
- package/_esm/environments/definitions/moonriver/core-markets.js.map +0 -1
- package/_esm/environments/definitions/moonriver/custom.js +0 -9
- package/_esm/environments/definitions/moonriver/custom.js.map +0 -1
- package/_esm/environments/definitions/moonriver/environment.js +0 -31
- package/_esm/environments/definitions/moonriver/environment.js.map +0 -1
- package/_esm/environments/definitions/moonriver/tokens.js +0 -107
- package/_esm/environments/definitions/moonriver/tokens.js.map +0 -1
- package/_types/environments/definitions/moonbeam/contracts.d.ts +0 -14
- package/_types/environments/definitions/moonbeam/contracts.d.ts.map +0 -1
- package/_types/environments/definitions/moonbeam/core-markets.d.ts +0 -57
- package/_types/environments/definitions/moonbeam/core-markets.d.ts.map +0 -1
- package/_types/environments/definitions/moonbeam/custom.d.ts +0 -25
- package/_types/environments/definitions/moonbeam/custom.d.ts.map +0 -1
- package/_types/environments/definitions/moonbeam/environment.d.ts +0 -265
- package/_types/environments/definitions/moonbeam/environment.d.ts.map +0 -1
- package/_types/environments/definitions/moonbeam/tokens.d.ts +0 -171
- package/_types/environments/definitions/moonbeam/tokens.d.ts.map +0 -1
- package/_types/environments/definitions/moonriver/contracts.d.ts +0 -11
- package/_types/environments/definitions/moonriver/contracts.d.ts.map +0 -1
- package/_types/environments/definitions/moonriver/core-markets.d.ts +0 -38
- package/_types/environments/definitions/moonriver/core-markets.d.ts.map +0 -1
- package/_types/environments/definitions/moonriver/custom.d.ts +0 -8
- package/_types/environments/definitions/moonriver/custom.d.ts.map +0 -1
- package/_types/environments/definitions/moonriver/environment.d.ts +0 -159
- package/_types/environments/definitions/moonriver/environment.d.ts.map +0 -1
- package/_types/environments/definitions/moonriver/tokens.d.ts +0 -105
- package/_types/environments/definitions/moonriver/tokens.d.ts.map +0 -1
- package/environments/definitions/moonbeam/contracts.ts +0 -19
- package/environments/definitions/moonbeam/core-markets.ts +0 -62
- package/environments/definitions/moonbeam/custom.ts +0 -21
- package/environments/definitions/moonbeam/environment.ts +0 -39
- package/environments/definitions/moonbeam/tokens.ts +0 -173
- package/environments/definitions/moonriver/contracts.ts +0 -16
- package/environments/definitions/moonriver/core-markets.ts +0 -43
- package/environments/definitions/moonriver/custom.ts +0 -9
- package/environments/definitions/moonriver/environment.ts +0 -38
- package/environments/definitions/moonriver/tokens.ts +0 -107
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,56 @@
|
|
|
1
1
|
# @moonwell-fi/moonwell-sdk
|
|
2
2
|
|
|
3
|
+
## 0.23.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#327](https://github.com/moonwell-fi/moonwell-sdk/pull/327) [`b57b7eb0d882d7d1357a0a8ae39d9d82714f5fd4`](https://github.com/moonwell-fi/moonwell-sdk/commit/b57b7eb0d882d7d1357a0a8ae39d9d82714f5fd4) Thanks [@bprofiro](https://github.com/bprofiro)! - `getUserBalances` no longer reports a failed balance read as a zero balance (MOO-832). Previously an RPC failure on a single `balanceOf` / `getBalance` call resolved to `{ amount: 0n }`, so consumers received a "successful" response in which a funded wallet read as empty — the Moonwell frontend gates repay-all on that figure, and one transient RPC hiccup during a refetch left the confirm button disabled for 59 users (Sentry MOONWELL-FRONTEND-195).
|
|
8
|
+
|
|
9
|
+
A token whose read fails is now **omitted** from the result — an absent entry means the balance is unknown, a `0n` entry means the wallet is genuinely empty — and the failure is routed to `environment.onError` with `source: "user-balances-token-read"` (plus `chainId` and `token`). Per-chain and views-multicall fallback behavior is unchanged. Consumers that index the result by token should treat a missing entry as "could not be determined" rather than as zero.
|
|
10
|
+
|
|
11
|
+
The `onError` context shape is now exported as `OnErrorContext` from the environments module and shared by `createEnvironmentConfig`, `Environment`, and the client-level `createMoonwellClient` callback, so `context.token` is typed at every level a consumer can attach the callback.
|
|
12
|
+
|
|
13
|
+
## 0.22.0
|
|
14
|
+
|
|
15
|
+
### Minor Changes
|
|
16
|
+
|
|
17
|
+
- [#324](https://github.com/moonwell-fi/moonwell-sdk/pull/324) [`2cf9ba8d0474330ff88826e89a5847ad4f84b0d0`](https://github.com/moonwell-fi/moonwell-sdk/commit/2cf9ba8d0474330ff88826e89a5847ad4f84b0d0) Thanks [@bprofiro](https://github.com/bprofiro)! - **Breaking:** remove the sunset Moonbeam and Moonriver chains (MOO-551). Both chains are halted and their RPC endpoints are being decommissioned, so nothing on-chain can be read for them any more.
|
|
18
|
+
|
|
19
|
+
Governance history is preserved. `getProposals`, `getProposal` and `getUserVoteReceipt` now source every governance chain — Ethereum (1), Moonbeam (1284) and Moonriver (1285) — from the governance indexer via whichever environment is registered, preferring the Ethereum multigov hub. Previously these actions required a Moonbeam or Moonriver environment and returned `[]` / `undefined` without one, so removing the chains would otherwise have emptied the entire proposal surface.
|
|
20
|
+
|
|
21
|
+
On `getProposal` and `getUserVoteReceipt`, `chainId` now names only the chain the proposal lives on — it no longer selects the environment to read through. For `getUserVoteReceipt` this is what keeps archive receipts readable: a `chainId: 1284` lookup previously resolved no environment post-sunset and returned `[]`, a third shape alongside the didn't-vote stub and `GovernorNotFoundError`, so every vote on a historical MIP would have read as "didn't vote". Its didn't-vote stub reports the requested `chainId` when one is given, and the indexer source's chain otherwise.
|
|
22
|
+
|
|
23
|
+
Sunset-chain proposals lose only their on-chain half: they surface with indexer-derived state, votes, timestamps and state changes, but no `quorum` (reported as 0), no `eta`, and no `multichain` field unless their targets identify them as bridged. Their state is derived from indexer events, which now includes the `Succeeded` / `Defeated` outcome once voting has closed with no terminal event — previously those proposals fell through to `Pending`. Because quorum needs an RPC and reports 0 for these chains, a for-majority that missed quorum reads as `Succeeded`.
|
|
24
|
+
|
|
25
|
+
Removed from the public API:
|
|
26
|
+
|
|
27
|
+
- `moonbeam` / `moonriver` chain exports, and `MoonbeamEnvironment` / `MoonriverEnvironment` types
|
|
28
|
+
- `publicEnvironments.moonbeam` / `.moonriver`; `createEnvironment({ chain: moonbeam })` now throws
|
|
29
|
+
- `networks.moonbeam` / `networks.moonriver` on `createMoonwellClient` — `SupportedChains` and `SupportedChainsIds` narrow accordingly
|
|
30
|
+
- `GovernanceTokensConfig.MFAM`, narrowing `GovernanceToken` from `"WELL" | "MFAM"` to `"WELL"`; `WELL.chainIds` no longer lists 1284
|
|
31
|
+
|
|
32
|
+
Behavior changes on surviving chains:
|
|
33
|
+
|
|
34
|
+
- `getGovernanceTokenInfo` reads WELL total supply from the Ethereum hub instead of Moonbeam, so the reported figure is the hub's xWELL supply rather than Moonbeam's historical total
|
|
35
|
+
- `getDelegates` and `getUserVotingPowers` no longer include Moonbeam, so voting-power totals exclude any WELL that remained there
|
|
36
|
+
- Base and Optimism previously resolved their `homeEnvironment` to Moonbeam and priced native-token reward incentives from Moonbeam's views contract; each chain now resolves to itself
|
|
37
|
+
|
|
38
|
+
Runtime guards for consumers who reach the removed surface without TypeScript:
|
|
39
|
+
|
|
40
|
+
- `createMoonwellClient` throws `Unsupported network "<key>"` for any network key it doesn't recognise. Unrecognised keys previously fell through to Polygon, so `networks: { moonbeam: ... }` silently built a Polygon environment filed under `moonbeam` and wired with Polygon contract addresses
|
|
41
|
+
- `getGovernanceTokenInfo` throws when `governanceToken` is anything other than `"WELL"`, rather than returning WELL's supply for a `"MFAM"` request
|
|
42
|
+
- Actions that take `chainId` / `network` now return an empty result when the selector matches no registered environment, instead of throwing a `TypeError`. `getProposals({ chainId: 1284 })` is the case this PR makes reachable
|
|
43
|
+
|
|
44
|
+
### Patch Changes
|
|
45
|
+
|
|
46
|
+
- [#324](https://github.com/moonwell-fi/moonwell-sdk/pull/324) [`743d03c228e6daa7c34e97fe777c097e27f5e273`](https://github.com/moonwell-fi/moonwell-sdk/commit/743d03c228e6daa7c34e97fe777c097e27f5e273) Thanks [@bprofiro](https://github.com/bprofiro)! - Skip malformed Lunar indexer market records instead of rejecting the whole chain's market list. A record with missing numeric fields produced `NaN`, which `BigInt()` rejects with a RangeError that previously took down every market on the chain (observed chain-wide on the sunset Moonbeam deployment). Valid records are now kept; when every record is malformed, `getMarketsData` reports one aggregate error and falls back to on-chain reads.
|
|
47
|
+
|
|
48
|
+
Every numeric field is validated on the way in, not just the ones that reach `BigInt()`. `totalSupplyUsd`, `priceUsd`, the caps, `collateralFactor` and the APYs went through a plain `Number()`, so a dropped field used to land in the returned `Market` as `NaN` and silently poison any aggregate built from it — a single bad record turned a chain's summed TVL into `NaN` with no error raised anywhere. Those records are now skipped and reported like any other malformed record, and the error names the offending field.
|
|
49
|
+
|
|
50
|
+
A malformed _incentive_ costs only its own reward entry — the market is still returned with its remaining rewards — rather than discarding the whole record, so a rewards-only indexer incident degrades APRs instead of emptying the chain.
|
|
51
|
+
|
|
52
|
+
Skipped records and skipped incentives are reported through `onError` with the `markets-malformed-records` and `markets-malformed-incentives` sources. A partial incident returns successfully, so without this it left no trace beyond a console warning.
|
|
53
|
+
|
|
3
54
|
## 0.21.0
|
|
4
55
|
|
|
5
56
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
|
|
41
41
|
- Up-to-date repository of Moonwell deployed contracts
|
|
42
42
|
- First-class APIs for interacting with [Moonwell Smart Contracts](https://github.com/moonwell-fi/moonwell-contracts-v2)
|
|
43
|
-
- Support for multiple networks: Base, Optimism,
|
|
43
|
+
- Support for multiple networks: Base, Optimism, Ethereum, Arbitrum, Avalanche, and Polygon
|
|
44
44
|
- Comprehensive market data retrieval
|
|
45
45
|
- User position and reward tracking
|
|
46
46
|
- Governance functionality
|
|
@@ -80,8 +80,14 @@ For detailed documentation and API reference, visit our [SDK Documentation](http
|
|
|
80
80
|
|
|
81
81
|
- Base
|
|
82
82
|
- Optimism
|
|
83
|
-
-
|
|
84
|
-
-
|
|
83
|
+
- Ethereum
|
|
84
|
+
- Arbitrum
|
|
85
|
+
- Avalanche
|
|
86
|
+
- Polygon
|
|
87
|
+
|
|
88
|
+
Moonbeam and Moonriver were removed after the chains were sunset. Their
|
|
89
|
+
governance proposals remain readable through `getProposals` / `getProposal`,
|
|
90
|
+
served from the governance indexer.
|
|
85
91
|
|
|
86
92
|
## Key Features
|
|
87
93
|
|
|
@@ -11,7 +11,6 @@ const index_js_1 = require("../../common/index.js");
|
|
|
11
11
|
const marketTokenAbi_js_1 = __importDefault(require("../../environments/abis/marketTokenAbi.js"));
|
|
12
12
|
const morphoBlueAbi_js_1 = __importDefault(require("../../environments/abis/morphoBlueAbi.js"));
|
|
13
13
|
const morphoVaultAbi_js_1 = __importDefault(require("../../environments/abis/morphoVaultAbi.js"));
|
|
14
|
-
const index_js_2 = require("../../environments/index.js");
|
|
15
14
|
const ACROSS_ABI = (0, viem_1.parseAbi)([
|
|
16
15
|
"function deposit(bytes32 depositor, bytes32 recipient, bytes32 inputToken, bytes32 outputToken, uint256 inputAmount, uint256 outputAmount, uint256 destinationChainId, bytes32 exclusiveRelayer, uint32 quoteTimestamp, uint32 fillDeadline, uint32 exclusivityParameter, bytes message)",
|
|
17
16
|
"function depositV3(address depositor,address recipient,address inputToken,address outputToken,uint256 inputAmount,uint256 outputAmount,uint256 destinationChainId,address exclusiveRelayer,uint32 quoteTimestamp,uint32 fillDeadline,uint32 exclusivityParameter,bytes message)",
|
|
@@ -92,7 +91,7 @@ const findVaultToken = (environments, chainId, underlyingTokenAddress) => {
|
|
|
92
91
|
return undefined;
|
|
93
92
|
};
|
|
94
93
|
async function getQuote(client, args) {
|
|
95
|
-
const envs = (0, index_js_1.getEnvironmentsFromArgs)(client, undefined, false)
|
|
94
|
+
const envs = (0, index_js_1.getEnvironmentsFromArgs)(client, undefined, false);
|
|
96
95
|
const chains = Object.values(envs).map((env) => env.chain);
|
|
97
96
|
const transports = chains.map((chain) => (0, viem_1.http)(chain.rpcUrls.default.http[0]));
|
|
98
97
|
const smartAccount = await (0, abstractjs_1.toMultichainNexusAccount)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../actions/beam/common.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../actions/beam/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,18 +7,10 @@ const index_js_2 = require("../../environments/utils/index.js");
|
|
|
7
7
|
const getTokenBalance = async (environment, userAddress, tokenAddress) => {
|
|
8
8
|
try {
|
|
9
9
|
if (tokenAddress === viem_1.zeroAddress) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
.getBalance({
|
|
13
|
-
address: userAddress,
|
|
14
|
-
})
|
|
15
|
-
.then((balance) => {
|
|
16
|
-
resolve({ amount: BigInt(balance), token: tokenAddress });
|
|
17
|
-
})
|
|
18
|
-
.catch(() => {
|
|
19
|
-
resolve({ amount: 0n, token: tokenAddress });
|
|
20
|
-
});
|
|
10
|
+
const balance = await environment.publicClient.getBalance({
|
|
11
|
+
address: userAddress,
|
|
21
12
|
});
|
|
13
|
+
return { amount: BigInt(balance), token: tokenAddress };
|
|
22
14
|
}
|
|
23
15
|
const erc20Abi = (0, viem_1.parseAbi)([
|
|
24
16
|
"function balanceOf(address owner) view returns (uint256)",
|
|
@@ -28,21 +20,16 @@ const getTokenBalance = async (environment, userAddress, tokenAddress) => {
|
|
|
28
20
|
abi: erc20Abi,
|
|
29
21
|
client: environment.publicClient,
|
|
30
22
|
});
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
.balanceOf([userAddress])
|
|
34
|
-
.then((balance) => {
|
|
35
|
-
resolve({ amount: BigInt(balance), token: tokenAddress });
|
|
36
|
-
})
|
|
37
|
-
.catch(() => {
|
|
38
|
-
resolve({ amount: 0n, token: tokenAddress });
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
return result;
|
|
23
|
+
const balance = await erc20Contract.read.balanceOf([userAddress]);
|
|
24
|
+
return { amount: BigInt(balance), token: tokenAddress };
|
|
42
25
|
}
|
|
43
26
|
catch (error) {
|
|
44
|
-
|
|
45
|
-
|
|
27
|
+
environment.onError?.(error, {
|
|
28
|
+
source: "user-balances-token-read",
|
|
29
|
+
chainId: environment.chainId,
|
|
30
|
+
token: tokenAddress,
|
|
31
|
+
});
|
|
32
|
+
throw error;
|
|
46
33
|
}
|
|
47
34
|
};
|
|
48
35
|
async function getTokenBalancesFromEnvironment(environment, userAddress) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getUserBalances.js","sourceRoot":"","sources":["../../../actions/core/getUserBalances.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"getUserBalances.js","sourceRoot":"","sources":["../../../actions/core/getUserBalances.ts"],"names":[],"mappings":"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"}
|
|
@@ -313,6 +313,13 @@ async function getMarketsFromMTokenFallback(environment, seizePaused, transferPa
|
|
|
313
313
|
}
|
|
314
314
|
return markets;
|
|
315
315
|
}
|
|
316
|
+
const toLunarNumber = (value, field) => {
|
|
317
|
+
const parsed = Number(value);
|
|
318
|
+
if (Number.isNaN(parsed)) {
|
|
319
|
+
throw new Error(`Lunar field "${field}" is not a number (received ${JSON.stringify(value)})`);
|
|
320
|
+
}
|
|
321
|
+
return parsed;
|
|
322
|
+
};
|
|
316
323
|
async function fetchMarketsFromLunar(environment) {
|
|
317
324
|
if (!environment.lunarIndexerUrl) {
|
|
318
325
|
throw new Error("Lunar Indexer URL not configured");
|
|
@@ -348,111 +355,154 @@ async function fetchMarketsFromLunar(environment) {
|
|
|
348
355
|
nativeTokenPrice = new index_js_1.Amount(nativeTokenPriceRaw, 18);
|
|
349
356
|
}
|
|
350
357
|
const markets = [];
|
|
358
|
+
let malformedCount = 0;
|
|
359
|
+
let malformedIncentiveCount = 0;
|
|
351
360
|
for (const lunarMarket of lunarMarkets) {
|
|
352
361
|
const marketFound = (0, index_js_3.findMarketByAddress)(environment, lunarMarket.address);
|
|
353
362
|
if (!marketFound) {
|
|
354
363
|
continue;
|
|
355
364
|
}
|
|
356
365
|
const { marketConfig, marketToken, underlyingToken, marketKey } = marketFound;
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
366
|
+
try {
|
|
367
|
+
const totalSupply = new index_js_1.Amount(BigInt(Math.floor(toLunarNumber(lunarMarket.totalSupply, "totalSupply") *
|
|
368
|
+
10 ** underlyingToken.decimals)), underlyingToken.decimals);
|
|
369
|
+
const totalBorrows = new index_js_1.Amount(BigInt(Math.floor(toLunarNumber(lunarMarket.totalBorrows, "totalBorrows") *
|
|
370
|
+
10 ** underlyingToken.decimals)), underlyingToken.decimals);
|
|
371
|
+
const totalReserves = new index_js_1.Amount(BigInt(Math.floor(toLunarNumber(lunarMarket.totalReserves, "totalReserves") *
|
|
372
|
+
10 ** underlyingToken.decimals)), underlyingToken.decimals);
|
|
373
|
+
const cash = new index_js_1.Amount(BigInt(Math.floor(toLunarNumber(lunarMarket.cash, "cash") *
|
|
374
|
+
10 ** underlyingToken.decimals)), underlyingToken.decimals);
|
|
375
|
+
const badDebt = new index_js_1.Amount(BigInt(Math.floor(toLunarNumber(lunarMarket.badDebt, "badDebt") *
|
|
376
|
+
10 ** underlyingToken.decimals)), underlyingToken.decimals);
|
|
377
|
+
const supplyCaps = new index_js_1.Amount(BigInt(Math.floor(toLunarNumber(lunarMarket.supplyCap, "supplyCap") *
|
|
378
|
+
10 ** underlyingToken.decimals)), underlyingToken.decimals);
|
|
379
|
+
const borrowCaps = new index_js_1.Amount(BigInt(Math.floor(toLunarNumber(lunarMarket.borrowCap, "borrowCap") *
|
|
380
|
+
10 ** underlyingToken.decimals)), underlyingToken.decimals);
|
|
381
|
+
const reserveFactor = new index_js_1.Amount(BigInt(lunarMarket.reserveFactor), 18)
|
|
382
|
+
.value;
|
|
383
|
+
const market = {
|
|
384
|
+
marketKey,
|
|
385
|
+
chainId: environment.chainId,
|
|
386
|
+
seizePaused: lunarMarket.seizePaused,
|
|
387
|
+
transferPaused: lunarMarket.transferPaused,
|
|
388
|
+
mintPaused: lunarMarket.mintPaused,
|
|
389
|
+
borrowPaused: lunarMarket.borrowPaused,
|
|
390
|
+
deprecated: marketConfig.deprecated === true,
|
|
391
|
+
borrowCaps,
|
|
392
|
+
borrowCapsUsd: toLunarNumber(lunarMarket.borrowCap, "borrowCap") *
|
|
393
|
+
toLunarNumber(lunarMarket.priceUsd, "priceUsd"),
|
|
394
|
+
cash,
|
|
395
|
+
collateralFactor: toLunarNumber(lunarMarket.collateralFactor, "collateralFactor"),
|
|
396
|
+
exchangeRate: toLunarNumber(lunarMarket.exchangeRate, "exchangeRate"),
|
|
397
|
+
marketToken,
|
|
398
|
+
reserveFactor,
|
|
399
|
+
supplyCaps,
|
|
400
|
+
supplyCapsUsd: toLunarNumber(lunarMarket.supplyCap, "supplyCap") *
|
|
401
|
+
toLunarNumber(lunarMarket.priceUsd, "priceUsd"),
|
|
402
|
+
badDebt,
|
|
403
|
+
badDebtUsd: toLunarNumber(lunarMarket.badDebtUsd, "badDebtUsd"),
|
|
404
|
+
totalBorrows,
|
|
405
|
+
totalBorrowsUsd: toLunarNumber(lunarMarket.totalBorrowsUsd, "totalBorrowsUsd"),
|
|
406
|
+
totalReserves,
|
|
407
|
+
totalReservesUsd: toLunarNumber(lunarMarket.totalReservesUsd, "totalReservesUsd"),
|
|
408
|
+
totalSupply,
|
|
409
|
+
totalSupplyUsd: toLunarNumber(lunarMarket.totalSupplyUsd, "totalSupplyUsd"),
|
|
410
|
+
underlyingPrice: toLunarNumber(lunarMarket.priceUsd, "priceUsd"),
|
|
411
|
+
underlyingToken,
|
|
412
|
+
baseBorrowApy: toLunarNumber(lunarMarket.baseBorrowApy, "baseBorrowApy"),
|
|
413
|
+
baseSupplyApy: toLunarNumber(lunarMarket.baseSupplyApy, "baseSupplyApy"),
|
|
414
|
+
totalBorrowApr: 0,
|
|
415
|
+
totalSupplyApr: 0,
|
|
416
|
+
rewards: [],
|
|
417
|
+
};
|
|
418
|
+
for (const incentive of lunarMarket.incentives) {
|
|
419
|
+
try {
|
|
420
|
+
const token = (0, index_js_3.findTokenByAddress)(environment, incentive.token);
|
|
421
|
+
if (!token) {
|
|
422
|
+
continue;
|
|
423
|
+
}
|
|
424
|
+
let supplyApr;
|
|
425
|
+
let borrowApr;
|
|
426
|
+
const isBorrowPlaceholder = BigInt(incentive.borrowIncentivesPerSec) === 1n;
|
|
427
|
+
if (incentive.priceUsd !== null &&
|
|
428
|
+
incentive.supplyApr !== null &&
|
|
429
|
+
incentive.borrowApr !== null) {
|
|
430
|
+
supplyApr = toLunarNumber(incentive.supplyApr, "incentive.supplyApr");
|
|
431
|
+
borrowApr = isBorrowPlaceholder
|
|
432
|
+
? 0
|
|
433
|
+
: -toLunarNumber(incentive.borrowApr, "incentive.borrowApr");
|
|
434
|
+
}
|
|
435
|
+
else {
|
|
436
|
+
const isGovernanceToken = token.symbol === environment.custom?.governance?.token;
|
|
437
|
+
const isNativeToken = token.address === viem_1.zeroAddress;
|
|
438
|
+
const price = isNativeToken
|
|
439
|
+
? nativeTokenPrice?.value
|
|
440
|
+
: isGovernanceToken
|
|
441
|
+
? governanceTokenPrice?.value
|
|
442
|
+
: undefined;
|
|
443
|
+
if (!price) {
|
|
444
|
+
continue;
|
|
445
|
+
}
|
|
446
|
+
const borrowIncentivesPerSec = isBorrowPlaceholder
|
|
447
|
+
? 0n
|
|
448
|
+
: BigInt(incentive.borrowIncentivesPerSec);
|
|
449
|
+
const supplyIncentivesPerSec = BigInt(incentive.supplyIncentivesPerSec);
|
|
450
|
+
const supplyRewardsPerDayUsd = (0, index_js_1.perDay)(new index_js_1.Amount(supplyIncentivesPerSec, token.decimals).value) *
|
|
451
|
+
price;
|
|
452
|
+
const borrowRewardsPerDayUsd = (0, index_js_1.perDay)(new index_js_1.Amount(borrowIncentivesPerSec, token.decimals).value) *
|
|
453
|
+
price;
|
|
454
|
+
supplyApr =
|
|
455
|
+
toLunarNumber(lunarMarket.totalSupplyUsd, "totalSupplyUsd") === 0
|
|
456
|
+
? 0
|
|
457
|
+
: (supplyRewardsPerDayUsd /
|
|
458
|
+
toLunarNumber(lunarMarket.totalSupplyUsd, "totalSupplyUsd")) *
|
|
459
|
+
index_js_1.DAYS_PER_YEAR *
|
|
460
|
+
100;
|
|
461
|
+
borrowApr =
|
|
462
|
+
toLunarNumber(lunarMarket.totalBorrowsUsd, "totalBorrowsUsd") ===
|
|
463
|
+
0
|
|
464
|
+
? 0
|
|
465
|
+
: (borrowRewardsPerDayUsd /
|
|
466
|
+
toLunarNumber(lunarMarket.totalBorrowsUsd, "totalBorrowsUsd")) *
|
|
467
|
+
index_js_1.DAYS_PER_YEAR *
|
|
468
|
+
100 *
|
|
469
|
+
-1;
|
|
470
|
+
}
|
|
471
|
+
market.rewards.push({
|
|
472
|
+
liquidStakingApr: 0,
|
|
473
|
+
borrowApr,
|
|
474
|
+
supplyApr,
|
|
475
|
+
token,
|
|
476
|
+
});
|
|
477
|
+
}
|
|
478
|
+
catch (error) {
|
|
479
|
+
malformedIncentiveCount++;
|
|
480
|
+
console.warn(`[fetchMarketsFromLunar] Skipping malformed incentive ${incentive.token} on market ${lunarMarket.address} (chain ${environment.chainId}):`, error);
|
|
423
481
|
}
|
|
424
|
-
const borrowIncentivesPerSec = isBorrowPlaceholder
|
|
425
|
-
? 0n
|
|
426
|
-
: BigInt(incentive.borrowIncentivesPerSec);
|
|
427
|
-
const supplyIncentivesPerSec = BigInt(incentive.supplyIncentivesPerSec);
|
|
428
|
-
const supplyRewardsPerDayUsd = (0, index_js_1.perDay)(new index_js_1.Amount(supplyIncentivesPerSec, token.decimals).value) *
|
|
429
|
-
price;
|
|
430
|
-
const borrowRewardsPerDayUsd = (0, index_js_1.perDay)(new index_js_1.Amount(borrowIncentivesPerSec, token.decimals).value) *
|
|
431
|
-
price;
|
|
432
|
-
supplyApr =
|
|
433
|
-
Number(lunarMarket.totalSupplyUsd) === 0
|
|
434
|
-
? 0
|
|
435
|
-
: (supplyRewardsPerDayUsd / Number(lunarMarket.totalSupplyUsd)) *
|
|
436
|
-
index_js_1.DAYS_PER_YEAR *
|
|
437
|
-
100;
|
|
438
|
-
borrowApr =
|
|
439
|
-
Number(lunarMarket.totalBorrowsUsd) === 0
|
|
440
|
-
? 0
|
|
441
|
-
: (borrowRewardsPerDayUsd / Number(lunarMarket.totalBorrowsUsd)) *
|
|
442
|
-
index_js_1.DAYS_PER_YEAR *
|
|
443
|
-
100 *
|
|
444
|
-
-1;
|
|
445
482
|
}
|
|
446
|
-
market.rewards.
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
supplyApr,
|
|
450
|
-
token,
|
|
451
|
-
});
|
|
483
|
+
market.totalSupplyApr = market.rewards.reduce((prev, curr) => prev + curr.supplyApr, market.baseSupplyApy);
|
|
484
|
+
market.totalBorrowApr = market.rewards.reduce((prev, curr) => prev + curr.borrowApr, market.baseBorrowApy);
|
|
485
|
+
markets.push(market);
|
|
452
486
|
}
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
487
|
+
catch (error) {
|
|
488
|
+
malformedCount++;
|
|
489
|
+
console.warn(`[fetchMarketsFromLunar] Skipping malformed market ${lunarMarket.address} on chain ${environment.chainId}:`, error);
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
if (malformedCount > 0 && markets.length === 0) {
|
|
493
|
+
throw new Error(`Lunar Indexer returned only malformed market records for chain ${environment.chainId} (${malformedCount} skipped)`);
|
|
494
|
+
}
|
|
495
|
+
if (malformedCount > 0) {
|
|
496
|
+
environment.onError?.(new Error(`Lunar Indexer returned ${malformedCount} malformed market record(s) for chain ${environment.chainId}; those markets were skipped (${markets.length} returned)`), {
|
|
497
|
+
source: "markets-malformed-records",
|
|
498
|
+
chainId: environment.chainId,
|
|
499
|
+
});
|
|
500
|
+
}
|
|
501
|
+
if (malformedIncentiveCount > 0) {
|
|
502
|
+
environment.onError?.(new Error(`Lunar Indexer returned ${malformedIncentiveCount} malformed incentive record(s) for chain ${environment.chainId}; those rewards were skipped`), {
|
|
503
|
+
source: "markets-malformed-incentives",
|
|
504
|
+
chainId: environment.chainId,
|
|
505
|
+
});
|
|
456
506
|
}
|
|
457
507
|
return markets;
|
|
458
508
|
}
|