@moonwell-fi/moonwell-sdk 0.13.1 → 0.15.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 +16 -0
- package/_cjs/actions/core/getUserBalances.js +10 -9
- package/_cjs/actions/core/getUserBalances.js.map +1 -1
- package/_cjs/actions/governance/getDelegates.js.map +1 -1
- package/_cjs/actions/governance/getUserVoteReceipt.js +39 -25
- package/_cjs/actions/governance/getUserVoteReceipt.js.map +1 -1
- package/_cjs/actions/governance/getUserVotingPowers.js +14 -4
- package/_cjs/actions/governance/getUserVotingPowers.js.map +1 -1
- package/_cjs/actions/governance/governor-api-client.js +70 -33
- package/_cjs/actions/governance/governor-api-client.js.map +1 -1
- package/_cjs/actions/governance/proposals/common.js +29 -1
- package/_cjs/actions/governance/proposals/common.js.map +1 -1
- package/_cjs/actions/governance/proposals/getProposal.js +24 -17
- package/_cjs/actions/governance/proposals/getProposal.js.map +1 -1
- package/_cjs/actions/governance/proposals/getProposals.js +27 -9
- package/_cjs/actions/governance/proposals/getProposals.js.map +1 -1
- package/_cjs/environments/definitions/ethereum/contracts.js +2 -0
- package/_cjs/environments/definitions/ethereum/contracts.js.map +1 -1
- package/_cjs/errors/version.js +1 -1
- package/_esm/actions/core/getUserBalances.js +14 -9
- package/_esm/actions/core/getUserBalances.js.map +1 -1
- package/_esm/actions/governance/getDelegates.js +3 -2
- package/_esm/actions/governance/getDelegates.js.map +1 -1
- package/_esm/actions/governance/getUserVoteReceipt.js +48 -26
- package/_esm/actions/governance/getUserVoteReceipt.js.map +1 -1
- package/_esm/actions/governance/getUserVotingPowers.js +17 -4
- package/_esm/actions/governance/getUserVotingPowers.js.map +1 -1
- package/_esm/actions/governance/governor-api-client.js +87 -35
- package/_esm/actions/governance/governor-api-client.js.map +1 -1
- package/_esm/actions/governance/proposals/common.js +44 -1
- package/_esm/actions/governance/proposals/common.js.map +1 -1
- package/_esm/actions/governance/proposals/getProposal.js +36 -23
- package/_esm/actions/governance/proposals/getProposal.js.map +1 -1
- package/_esm/actions/governance/proposals/getProposals.js +44 -10
- package/_esm/actions/governance/proposals/getProposals.js.map +1 -1
- package/_esm/environments/definitions/ethereum/contracts.js +2 -1
- package/_esm/environments/definitions/ethereum/contracts.js.map +1 -1
- package/_esm/errors/version.js +1 -1
- package/_types/actions/core/getUserBalances.d.ts.map +1 -1
- package/_types/actions/governance/getDelegates.d.ts.map +1 -1
- package/_types/actions/governance/getUserVoteReceipt.d.ts +16 -0
- package/_types/actions/governance/getUserVoteReceipt.d.ts.map +1 -1
- package/_types/actions/governance/getUserVotingPowers.d.ts.map +1 -1
- package/_types/actions/governance/governor-api-client.d.ts +37 -12
- package/_types/actions/governance/governor-api-client.d.ts.map +1 -1
- package/_types/actions/governance/proposals/common.d.ts +14 -1
- package/_types/actions/governance/proposals/common.d.ts.map +1 -1
- package/_types/actions/governance/proposals/getProposal.d.ts +6 -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 +4 -0
- package/_types/client/createMoonwellClient.d.ts.map +1 -1
- package/_types/environments/definitions/ethereum/contracts.d.ts +2 -0
- package/_types/environments/definitions/ethereum/contracts.d.ts.map +1 -1
- package/_types/environments/index.d.ts +2 -0
- package/_types/environments/index.d.ts.map +1 -1
- package/_types/errors/version.d.ts +1 -1
- package/actions/core/getUserBalances.ts +20 -15
- package/actions/governance/getDelegates.ts +3 -2
- package/actions/governance/getUserVoteReceipt.ts +71 -31
- package/actions/governance/getUserVotingPowers.ts +20 -4
- package/actions/governance/governor-api-client.ts +136 -62
- package/actions/governance/proposals/common.ts +51 -1
- package/actions/governance/proposals/getProposal.ts +46 -26
- package/actions/governance/proposals/getProposals.ts +48 -14
- package/environments/definitions/ethereum/contracts.ts +2 -1
- package/errors/version.ts +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @moonwell-fi/moonwell-sdk
|
|
2
2
|
|
|
3
|
+
## 0.15.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#280](https://github.com/moonwell-fi/moonwell-sdk/pull/280) [`c1468926c17754c111f2f0ba876c88b055e68895`](https://github.com/moonwell-fi/moonwell-sdk/commit/c1468926c17754c111f2f0ba876c88b055e68895) Thanks [@bprofiro](https://github.com/bprofiro)! - Enable staking on Ethereum mainnet — wire the newly deployed staking views contract (`0xF5f2ae75d762B7e2B42D53f48018436f52Ce5401`) and stkWELL so `getStakingInfo`, `getUserStakingInfo`, and `getStakingSnapshots` return Ethereum entries alongside Base / Optimism / Moonbeam. The Eth views contract is staking-only and does not expose `getUserVotingPower`, so `getUserVotingPowers` skips Ethereum with a one-time console warning.
|
|
8
|
+
|
|
9
|
+
## 0.14.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- [#281](https://github.com/moonwell-fi/moonwell-sdk/pull/281) [`e74cce56e72d6cefc992dfb33d81e8c96a97dab6`](https://github.com/moonwell-fi/moonwell-sdk/commit/e74cce56e72d6cefc992dfb33d81e8c96a97dab6) Thanks [@bprofiro](https://github.com/bprofiro)! - Support the new multigov-ethereum governance indexer. `getProposals` now fetches and merges proposals from both chainId=1 (Ethereum multigov) and chainId=1284 (Moonbeam historical) under the Moonbeam network. `getProposal` and `getUserVoteReceipt` accept an optional `chainId` argument to disambiguate, falling back to trying both chains when omitted.
|
|
14
|
+
|
|
15
|
+
Internally, every governor-indexer HTTP call now sends a required `chainId` query parameter on the list endpoint and uses chain-prefixed proposal IDs (e.g. `1-0000000007`) on the detail/votes/vote-receipt routes, matching the new indexer contract.
|
|
16
|
+
|
|
17
|
+
Caveat: Ethereum (chainId=1) proposals returned by `getProposals` currently come back with `quorum = 0n` and a `state` value derived from API events rather than read on-chain, because the Ethereum environment doesn't yet have the multichainGovernor contract wired up. Consumers should treat `quorum.value === 0n` for these proposals as "unknown" rather than as a literal zero quorum until a follow-up release wires the contract.
|
|
18
|
+
|
|
3
19
|
## 0.13.1
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
|
@@ -46,22 +46,23 @@ const getTokenBalance = async (environment, userAddress, tokenAddress) => {
|
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
48
|
async function getTokenBalancesFromEnvironment(environment, userAddress) {
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
if (environment.contracts.views) {
|
|
50
|
+
try {
|
|
51
51
|
const tokenBalancesFromView = await environment.contracts.views.read.getTokensBalances([
|
|
52
52
|
Object.values(environment.config.tokens).map((token) => token.address),
|
|
53
53
|
userAddress,
|
|
54
54
|
]);
|
|
55
55
|
return [...tokenBalancesFromView];
|
|
56
56
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
return [];
|
|
57
|
+
catch (error) {
|
|
58
|
+
environment.onError?.(error, {
|
|
59
|
+
source: "user-balances-views-fallback",
|
|
60
|
+
chainId: environment.chainId,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
64
63
|
}
|
|
64
|
+
const tokenBalancesSettled = await Promise.allSettled(Object.values(environment.config.tokens).map((token) => getTokenBalance(environment, userAddress, token.address)));
|
|
65
|
+
return tokenBalancesSettled.flatMap((s) => s.status === "fulfilled" ? s.value : []);
|
|
65
66
|
}
|
|
66
67
|
async function getUserBalances(client, args) {
|
|
67
68
|
const { userAddress } = args;
|
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDelegates.js","sourceRoot":"","sources":["../../../actions/governance/getDelegates.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,
|
|
1
|
+
{"version":3,"file":"getDelegates.js","sourceRoot":"","sources":["../../../actions/governance/getDelegates.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,37 +4,51 @@ exports.getUserVoteReceipt = getUserVoteReceipt;
|
|
|
4
4
|
const index_js_1 = require("../../common/index.js");
|
|
5
5
|
const governor_api_client_js_1 = require("./governor-api-client.js");
|
|
6
6
|
async function getUserVoteReceipt(client, args) {
|
|
7
|
-
const { proposalId, userAddress } = args;
|
|
7
|
+
const { proposalId, userAddress, chainId } = args;
|
|
8
8
|
const environment = (0, index_js_1.getEnvironmentFromArgs)(client, args);
|
|
9
9
|
if (!environment) {
|
|
10
10
|
return [];
|
|
11
11
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
option: 0,
|
|
22
|
-
votes: new index_js_1.Amount(0, 18),
|
|
23
|
-
},
|
|
24
|
-
];
|
|
12
|
+
const tryChains = chainId ? [chainId] : governor_api_client_js_1.SUPPORTED_GOVERNOR_CHAIN_IDS;
|
|
13
|
+
const collected = [];
|
|
14
|
+
let anyChainAcknowledged = false;
|
|
15
|
+
const notFoundChainIds = [];
|
|
16
|
+
for (const cid of tryChains) {
|
|
17
|
+
try {
|
|
18
|
+
const apiVoteReceipts = await (0, governor_api_client_js_1.fetchUserVoteReceipt)(environment, cid, proposalId, userAddress);
|
|
19
|
+
anyChainAcknowledged = true;
|
|
20
|
+
collected.push(...apiVoteReceipts);
|
|
25
21
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
22
|
+
catch (error) {
|
|
23
|
+
if ((0, governor_api_client_js_1.isNotFoundError)(error)) {
|
|
24
|
+
notFoundChainIds.push(cid);
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
throw error;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
if (!anyChainAcknowledged) {
|
|
31
|
+
throw new governor_api_client_js_1.GovernorNotFoundError(notFoundChainIds[0] ?? 0, proposalId);
|
|
34
32
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
33
|
+
if (collected.length === 0) {
|
|
34
|
+
return [
|
|
35
|
+
{
|
|
36
|
+
chainId: environment.chainId,
|
|
37
|
+
proposalId,
|
|
38
|
+
account: userAddress,
|
|
39
|
+
voted: false,
|
|
40
|
+
option: 0,
|
|
41
|
+
votes: new index_js_1.Amount(0, 18),
|
|
42
|
+
},
|
|
43
|
+
];
|
|
38
44
|
}
|
|
45
|
+
return collected.map((apiReceipt) => ({
|
|
46
|
+
chainId: apiReceipt.chainId,
|
|
47
|
+
proposalId,
|
|
48
|
+
account: userAddress,
|
|
49
|
+
voted: true,
|
|
50
|
+
option: apiReceipt.voteValue,
|
|
51
|
+
votes: new index_js_1.Amount(BigInt(apiReceipt.votes), 18),
|
|
52
|
+
}));
|
|
39
53
|
}
|
|
40
54
|
//# sourceMappingURL=getUserVoteReceipt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getUserVoteReceipt.js","sourceRoot":"","sources":["../../../actions/governance/getUserVoteReceipt.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"getUserVoteReceipt.js","sourceRoot":"","sources":["../../../actions/governance/getUserVoteReceipt.ts"],"names":[],"mappings":";;AA2CA,gDAgEC;AAzGD,oDAAuE;AAGvE,qEAMkC;AAgC3B,KAAK,UAAU,kBAAkB,CAItC,MAAsB,EACtB,IAAyD;IAEzD,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAElD,MAAM,WAAW,GAAG,IAAA,iCAAsB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,qDAA4B,CAAC;IAErE,MAAM,SAAS,GAAqB,EAAE,CAAC;IACvC,IAAI,oBAAoB,GAAG,KAAK,CAAC;IACjC,MAAM,gBAAgB,GAAa,EAAE,CAAC;IAEtC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,MAAM,IAAA,6CAAoB,EAChD,WAAW,EACX,GAAG,EACH,UAAU,EACV,WAAW,CACZ,CAAC;YACF,oBAAoB,GAAG,IAAI,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,IAAA,wCAAe,EAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC3B,SAAS;YACX,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,MAAM,IAAI,8CAAqB,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO;YACL;gBACE,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,UAAU;gBACV,OAAO,EAAE,WAAW;gBACpB,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,CAAC;gBACT,KAAK,EAAE,IAAI,iBAAM,CAAC,CAAC,EAAE,EAAE,CAAC;aACzB;SACF,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACpC,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,UAAU;QACV,OAAO,EAAE,WAAW;QACpB,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,UAAU,CAAC,SAAS;QAC5B,KAAK,EAAE,IAAI,iBAAM,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;KAChD,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getUserVotingPowers = getUserVotingPowers;
|
|
4
4
|
const viem_1 = require("viem");
|
|
5
|
+
const chains_1 = require("viem/chains");
|
|
5
6
|
const index_js_1 = require("../../common/index.js");
|
|
6
|
-
const
|
|
7
|
+
const warnedSkippedEnvs = new Set();
|
|
8
|
+
const STAKING_ONLY_VIEWS_CHAIN_IDS = new Set([chains_1.mainnet.id]);
|
|
7
9
|
async function getUserVotingPowers(client, args) {
|
|
8
10
|
const { governanceToken, userAddress, blockNumber, snapshotTimestamp } = args;
|
|
9
11
|
const environments = (0, index_js_1.getEnvironmentsFromArgs)(client, args);
|
|
@@ -13,13 +15,21 @@ async function getUserVotingPowers(client, args) {
|
|
|
13
15
|
}
|
|
14
16
|
const views = env.contracts.views;
|
|
15
17
|
if (views === undefined) {
|
|
16
|
-
const key = `${env.chainId}:${governanceToken}`;
|
|
17
|
-
if (!
|
|
18
|
-
|
|
18
|
+
const key = `${env.chainId}:${governanceToken}:no-views`;
|
|
19
|
+
if (!warnedSkippedEnvs.has(key)) {
|
|
20
|
+
warnedSkippedEnvs.add(key);
|
|
19
21
|
console.warn(`[moonwell-sdk] getUserVotingPowers: skipping chainId=${env.chainId} for governanceToken=${governanceToken} — environment holds the token but has no views contract.`);
|
|
20
22
|
}
|
|
21
23
|
return [];
|
|
22
24
|
}
|
|
25
|
+
if (STAKING_ONLY_VIEWS_CHAIN_IDS.has(env.chainId)) {
|
|
26
|
+
const key = `${env.chainId}:${governanceToken}:staking-only`;
|
|
27
|
+
if (!warnedSkippedEnvs.has(key)) {
|
|
28
|
+
warnedSkippedEnvs.add(key);
|
|
29
|
+
console.warn(`[moonwell-sdk] getUserVotingPowers: skipping chainId=${env.chainId} for governanceToken=${governanceToken} — views contract is staking-only and does not expose getUserVotingPower.`);
|
|
30
|
+
}
|
|
31
|
+
return [];
|
|
32
|
+
}
|
|
23
33
|
return [{ env, views }];
|
|
24
34
|
});
|
|
25
35
|
const perChainBlockNumbers = snapshotTimestamp !== undefined
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getUserVotingPowers.js","sourceRoot":"","sources":["../../../actions/governance/getUserVotingPowers.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"getUserVotingPowers.js","sourceRoot":"","sources":["../../../actions/governance/getUserVotingPowers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.isNotFoundError = exports.GovernorNotFoundError = exports.buildProposalKey = exports.SUPPORTED_GOVERNOR_CHAIN_IDS = void 0;
|
|
3
7
|
exports.fetchProposals = fetchProposals;
|
|
4
8
|
exports.fetchAllProposals = fetchAllProposals;
|
|
5
9
|
exports.fetchProposal = fetchProposal;
|
|
@@ -15,19 +19,64 @@ exports.fetchAllVoterProposals = fetchAllVoterProposals;
|
|
|
15
19
|
exports.fetchVoterVotes = fetchVoterVotes;
|
|
16
20
|
exports.fetchAllVoterVotes = fetchAllVoterVotes;
|
|
17
21
|
exports.fetchUserVoteReceipt = fetchUserVoteReceipt;
|
|
22
|
+
const axios_1 = __importDefault(require("axios"));
|
|
18
23
|
const axiosWithRetry_js_1 = require("../axiosWithRetry.js");
|
|
19
24
|
const getGovernorApiUrl = (environment) => {
|
|
20
25
|
return environment.governanceIndexerUrl;
|
|
21
26
|
};
|
|
27
|
+
exports.SUPPORTED_GOVERNOR_CHAIN_IDS = [1, 1284];
|
|
28
|
+
const buildProposalKey = (chainId, proposalId) => `${chainId}-${String(proposalId).padStart(10, "0")}`;
|
|
29
|
+
exports.buildProposalKey = buildProposalKey;
|
|
30
|
+
class GovernorNotFoundError extends Error {
|
|
31
|
+
constructor(chainId, proposalId) {
|
|
32
|
+
super(`Governor resource not found for chainId=${chainId}, proposalId=${proposalId}`);
|
|
33
|
+
Object.defineProperty(this, "chainId", {
|
|
34
|
+
enumerable: true,
|
|
35
|
+
configurable: true,
|
|
36
|
+
writable: true,
|
|
37
|
+
value: void 0
|
|
38
|
+
});
|
|
39
|
+
Object.defineProperty(this, "proposalId", {
|
|
40
|
+
enumerable: true,
|
|
41
|
+
configurable: true,
|
|
42
|
+
writable: true,
|
|
43
|
+
value: void 0
|
|
44
|
+
});
|
|
45
|
+
this.name = "GovernorNotFoundError";
|
|
46
|
+
this.chainId = chainId;
|
|
47
|
+
this.proposalId = proposalId;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.GovernorNotFoundError = GovernorNotFoundError;
|
|
51
|
+
const isNotFoundError = (error) => {
|
|
52
|
+
if (error instanceof GovernorNotFoundError)
|
|
53
|
+
return true;
|
|
54
|
+
return axios_1.default.isAxiosError(error) && error.response?.status === 404;
|
|
55
|
+
};
|
|
56
|
+
exports.isNotFoundError = isNotFoundError;
|
|
57
|
+
async function fetchProposalScoped(url, chainId, proposalId, resourceLabel) {
|
|
58
|
+
try {
|
|
59
|
+
const response = await (0, axiosWithRetry_js_1.getWithRetry)(url);
|
|
60
|
+
if (response.status !== 200 || !response.data) {
|
|
61
|
+
throw new Error(`Failed to fetch ${resourceLabel}: ${response.statusText}`);
|
|
62
|
+
}
|
|
63
|
+
return response.data;
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
if (axios_1.default.isAxiosError(error) && error.response?.status === 404) {
|
|
67
|
+
throw new GovernorNotFoundError(chainId, proposalId);
|
|
68
|
+
}
|
|
69
|
+
throw error;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
22
72
|
async function fetchProposals(environment, options) {
|
|
23
73
|
const baseUrl = getGovernorApiUrl(environment);
|
|
24
74
|
const params = new URLSearchParams();
|
|
25
|
-
|
|
75
|
+
params.append("chainId", options.chainId.toString());
|
|
76
|
+
if (options.limit)
|
|
26
77
|
params.append("limit", options.limit.toString());
|
|
27
|
-
if (options
|
|
78
|
+
if (options.cursor)
|
|
28
79
|
params.append("cursor", options.cursor);
|
|
29
|
-
if (options?.chainId)
|
|
30
|
-
params.append("chainId", options.chainId.toString());
|
|
31
80
|
const response = await (0, axiosWithRetry_js_1.getWithRetry)(`${baseUrl}/api/v1/governor/proposals?${params.toString()}`);
|
|
32
81
|
if (response.status !== 200 || !response.data) {
|
|
33
82
|
throw new Error(`Failed to fetch proposals: ${response.statusText}`);
|
|
@@ -39,41 +88,35 @@ async function fetchAllProposals(environment, options) {
|
|
|
39
88
|
let cursor = undefined;
|
|
40
89
|
do {
|
|
41
90
|
const response = await fetchProposals(environment, {
|
|
91
|
+
chainId: options.chainId,
|
|
42
92
|
limit: 1000,
|
|
43
93
|
...(cursor && { cursor }),
|
|
44
|
-
...(options?.chainId && { chainId: options.chainId }),
|
|
45
94
|
});
|
|
46
95
|
allProposals.push(...response.results);
|
|
47
96
|
cursor = response.nextCursor;
|
|
48
97
|
} while (cursor);
|
|
49
98
|
return allProposals;
|
|
50
99
|
}
|
|
51
|
-
async function fetchProposal(environment, proposalId) {
|
|
100
|
+
async function fetchProposal(environment, chainId, proposalId) {
|
|
52
101
|
const baseUrl = getGovernorApiUrl(environment);
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
throw new Error(`Failed to fetch proposal: ${response.statusText}`);
|
|
56
|
-
}
|
|
57
|
-
return response.data;
|
|
102
|
+
const key = (0, exports.buildProposalKey)(chainId, proposalId);
|
|
103
|
+
return fetchProposalScoped(`${baseUrl}/api/v1/governor/proposals/${key}`, chainId, proposalId, "proposal");
|
|
58
104
|
}
|
|
59
|
-
async function fetchProposalVotes(environment, proposalId, options) {
|
|
105
|
+
async function fetchProposalVotes(environment, chainId, proposalId, options) {
|
|
60
106
|
const baseUrl = getGovernorApiUrl(environment);
|
|
107
|
+
const key = (0, exports.buildProposalKey)(chainId, proposalId);
|
|
61
108
|
const params = new URLSearchParams();
|
|
62
109
|
if (options?.limit)
|
|
63
110
|
params.append("limit", options.limit.toString());
|
|
64
111
|
if (options?.cursor)
|
|
65
112
|
params.append("cursor", options.cursor);
|
|
66
|
-
|
|
67
|
-
if (response.status !== 200 || !response.data) {
|
|
68
|
-
throw new Error(`Failed to fetch proposal votes: ${response.statusText}`);
|
|
69
|
-
}
|
|
70
|
-
return response.data;
|
|
113
|
+
return fetchProposalScoped(`${baseUrl}/api/v1/governor/proposals/${key}/votes?${params.toString()}`, chainId, proposalId, "proposal votes");
|
|
71
114
|
}
|
|
72
|
-
async function fetchAllProposalVotes(environment, proposalId) {
|
|
115
|
+
async function fetchAllProposalVotes(environment, chainId, proposalId) {
|
|
73
116
|
const allVotes = [];
|
|
74
117
|
let cursor = undefined;
|
|
75
118
|
do {
|
|
76
|
-
const response = await fetchProposalVotes(environment, proposalId, {
|
|
119
|
+
const response = await fetchProposalVotes(environment, chainId, proposalId, {
|
|
77
120
|
limit: 1000,
|
|
78
121
|
...(cursor && { cursor }),
|
|
79
122
|
});
|
|
@@ -82,24 +125,21 @@ async function fetchAllProposalVotes(environment, proposalId) {
|
|
|
82
125
|
} while (cursor);
|
|
83
126
|
return allVotes;
|
|
84
127
|
}
|
|
85
|
-
async function fetchProposalStateChanges(environment, proposalId, options) {
|
|
128
|
+
async function fetchProposalStateChanges(environment, chainId, proposalId, options) {
|
|
86
129
|
const baseUrl = getGovernorApiUrl(environment);
|
|
130
|
+
const key = (0, exports.buildProposalKey)(chainId, proposalId);
|
|
87
131
|
const params = new URLSearchParams();
|
|
88
132
|
if (options?.limit)
|
|
89
133
|
params.append("limit", options.limit.toString());
|
|
90
134
|
if (options?.cursor)
|
|
91
135
|
params.append("cursor", options.cursor);
|
|
92
|
-
|
|
93
|
-
if (response.status !== 200 || !response.data) {
|
|
94
|
-
throw new Error(`Failed to fetch proposal state changes: ${response.statusText}`);
|
|
95
|
-
}
|
|
96
|
-
return response.data;
|
|
136
|
+
return fetchProposalScoped(`${baseUrl}/api/v1/governor/proposals/${key}/state-changes?${params.toString()}`, chainId, proposalId, "proposal state changes");
|
|
97
137
|
}
|
|
98
|
-
async function fetchAllProposalStateChanges(environment, proposalId) {
|
|
138
|
+
async function fetchAllProposalStateChanges(environment, chainId, proposalId) {
|
|
99
139
|
const allStateChanges = [];
|
|
100
140
|
let cursor = undefined;
|
|
101
141
|
do {
|
|
102
|
-
const response = await fetchProposalStateChanges(environment, proposalId, {
|
|
142
|
+
const response = await fetchProposalStateChanges(environment, chainId, proposalId, {
|
|
103
143
|
limit: 1000,
|
|
104
144
|
...(cursor && { cursor }),
|
|
105
145
|
});
|
|
@@ -211,12 +251,9 @@ async function fetchAllVoterVotes(environment, address) {
|
|
|
211
251
|
} while (cursor);
|
|
212
252
|
return allVotes;
|
|
213
253
|
}
|
|
214
|
-
async function fetchUserVoteReceipt(environment, proposalId, voterAddress) {
|
|
254
|
+
async function fetchUserVoteReceipt(environment, chainId, proposalId, voterAddress) {
|
|
215
255
|
const baseUrl = getGovernorApiUrl(environment);
|
|
216
|
-
const
|
|
217
|
-
|
|
218
|
-
throw new Error(`Failed to fetch user vote receipt: ${response.statusText}`);
|
|
219
|
-
}
|
|
220
|
-
return response.data;
|
|
256
|
+
const key = (0, exports.buildProposalKey)(chainId, proposalId);
|
|
257
|
+
return fetchProposalScoped(`${baseUrl}/api/v1/governor/proposals/${key}/vote/${voterAddress}`, chainId, proposalId, "user vote receipt");
|
|
221
258
|
}
|
|
222
259
|
//# sourceMappingURL=governor-api-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"governor-api-client.js","sourceRoot":"","sources":["../../../actions/governance/governor-api-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"governor-api-client.js","sourceRoot":"","sources":["../../../actions/governance/governor-api-client.ts"],"names":[],"mappings":";;;;;;AA6KA,wCAoBC;AAKD,8CAmBC;AAKD,sCAaC;AAKD,gDAmBC;AAKD,sDAwBC;AAKD,8DAmBC;AAKD,oEAwBC;AAKD,kCA+BC;AAKD,wCAiBC;AAKD,gCAmBC;AAKD,kDAoBC;AAKD,wDAkBC;AAKD,0CAoBC;AAKD,gDAkBC;AAMD,oDAcC;AA3hBD,kDAA0B;AAE1B,4DAAoD;AAMpD,MAAM,iBAAiB,GAAG,CAAC,WAAwB,EAAU,EAAE;IAC7D,OAAO,WAAW,CAAC,oBAAoB,CAAC;AAC1C,CAAC,CAAC;AAMW,QAAA,4BAA4B,GAAG,CAAC,CAAC,EAAE,IAAI,CAAU,CAAC;AAMxD,MAAM,gBAAgB,GAAG,CAC9B,OAAe,EACf,UAA2B,EACnB,EAAE,CAAC,GAAG,OAAO,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;AAHrD,QAAA,gBAAgB,oBAGqC;AAOlE,MAAa,qBAAsB,SAAQ,KAAK;IAG9C,YAAY,OAAe,EAAE,UAA2B;QACtD,KAAK,CACH,2CAA2C,OAAO,gBAAgB,UAAU,EAAE,CAC/E,CAAC;QALY;;;;;WAAgB;QAChB;;;;;WAA4B;QAK1C,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAXD,sDAWC;AAEM,MAAM,eAAe,GAAG,CAAC,KAAc,EAAW,EAAE;IACzD,IAAI,KAAK,YAAY,qBAAqB;QAAE,OAAO,IAAI,CAAC;IACxD,OAAO,eAAK,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,CAAC;AACrE,CAAC,CAAC;AAHW,QAAA,eAAe,mBAG1B;AAQF,KAAK,UAAU,mBAAmB,CAChC,GAAW,EACX,OAAe,EACf,UAA2B,EAC3B,aAAqB;IAErB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAA,gCAAY,EAAI,GAAG,CAAC,CAAC;QAC5C,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CACb,mBAAmB,aAAa,KAAK,QAAQ,CAAC,UAAU,EAAE,CAC3D,CAAC;QACJ,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,eAAK,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;YAChE,MAAM,IAAI,qBAAqB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAiGM,KAAK,UAAU,cAAc,CAClC,WAAwB,EACxB,OAA8B;IAE9B,MAAM,OAAO,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IAErC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrD,IAAI,OAAO,CAAC,KAAK;QAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpE,IAAI,OAAO,CAAC,MAAM;QAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAE5D,MAAM,QAAQ,GAAG,MAAM,IAAA,gCAAY,EACjC,GAAG,OAAO,8BAA8B,MAAM,CAAC,QAAQ,EAAE,EAAE,CAC5D,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC;AAKM,KAAK,UAAU,iBAAiB,CACrC,WAAwB,EACxB,OAA4B;IAE5B,MAAM,YAAY,GAAkB,EAAE,CAAC;IACvC,IAAI,MAAM,GAAuB,SAAS,CAAC;IAE3C,GAAG,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,EAAE;YACjD,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,KAAK,EAAE,IAAI;YACX,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC;SAC1B,CAAC,CAAC;QAEH,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC;IAC/B,CAAC,QAAQ,MAAM,EAAE;IAEjB,OAAO,YAAY,CAAC;AACtB,CAAC;AAKM,KAAK,UAAU,aAAa,CACjC,WAAwB,EACxB,OAAe,EACf,UAA2B;IAE3B,MAAM,OAAO,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,IAAA,wBAAgB,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAClD,OAAO,mBAAmB,CACxB,GAAG,OAAO,8BAA8B,GAAG,EAAE,EAC7C,OAAO,EACP,UAAU,EACV,UAAU,CACX,CAAC;AACJ,CAAC;AAKM,KAAK,UAAU,kBAAkB,CACtC,WAAwB,EACxB,OAAe,EACf,UAA2B,EAC3B,OAA2B;IAE3B,MAAM,OAAO,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,IAAA,wBAAgB,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IAErC,IAAI,OAAO,EAAE,KAAK;QAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrE,IAAI,OAAO,EAAE,MAAM;QAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAE7D,OAAO,mBAAmB,CACxB,GAAG,OAAO,8BAA8B,GAAG,UAAU,MAAM,CAAC,QAAQ,EAAE,EAAE,EACxE,OAAO,EACP,UAAU,EACV,gBAAgB,CACjB,CAAC;AACJ,CAAC;AAKM,KAAK,UAAU,qBAAqB,CACzC,WAAwB,EACxB,OAAe,EACf,UAA2B;IAE3B,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,IAAI,MAAM,GAAuB,SAAS,CAAC;IAE3C,GAAG,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CACvC,WAAW,EACX,OAAO,EACP,UAAU,EACV;YACE,KAAK,EAAE,IAAI;YACX,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC;SAC1B,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC;IAC/B,CAAC,QAAQ,MAAM,EAAE;IAEjB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAKM,KAAK,UAAU,yBAAyB,CAC7C,WAAwB,EACxB,OAAe,EACf,UAA2B,EAC3B,OAA2B;IAE3B,MAAM,OAAO,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,IAAA,wBAAgB,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IAErC,IAAI,OAAO,EAAE,KAAK;QAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrE,IAAI,OAAO,EAAE,MAAM;QAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAE7D,OAAO,mBAAmB,CACxB,GAAG,OAAO,8BAA8B,GAAG,kBAAkB,MAAM,CAAC,QAAQ,EAAE,EAAE,EAChF,OAAO,EACP,UAAU,EACV,wBAAwB,CACzB,CAAC;AACJ,CAAC;AAKM,KAAK,UAAU,4BAA4B,CAChD,WAAwB,EACxB,OAAe,EACf,UAA2B;IAE3B,MAAM,eAAe,GAA6B,EAAE,CAAC;IACrD,IAAI,MAAM,GAAuB,SAAS,CAAC;IAE3C,GAAG,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAC9C,WAAW,EACX,OAAO,EACP,UAAU,EACV;YACE,KAAK,EAAE,IAAI;YACX,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC;SAC1B,CACF,CAAC;QAEF,eAAe,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC;IAC/B,CAAC,QAAQ,MAAM,EAAE;IAEjB,OAAO,eAAe,CAAC;AACzB,CAAC;AAKM,KAAK,UAAU,WAAW,CAC/B,WAAwB,EACxB,OAA2B;IAE3B,MAAM,OAAO,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IAErC,IAAI,OAAO,EAAE,KAAK;QAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrE,IAAI,OAAO,EAAE,MAAM;QAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAE7D,MAAM,QAAQ,GAAG,GAAG,OAAO,2BAA2B,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;IAE1E,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAA,gCAAY,EAA8B,QAAQ,CAAC,CAAC;QAE3E,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE;YAClD,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ;YACR,KAAK,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK;SAC/B,CAAC,CAAC;QACH,MAAM,IAAI,KAAK,CACb,0DAA0D,OAAO,sDAAsD,KAAK,CAAC,OAAO,EAAE,CACvI,CAAC;IACJ,CAAC;AACH,CAAC;AAKM,KAAK,UAAU,cAAc,CAClC,WAAwB;IAExB,MAAM,SAAS,GAAe,EAAE,CAAC;IACjC,IAAI,MAAM,GAAuB,SAAS,CAAC;IAE3C,GAAG,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE;YAC9C,KAAK,EAAE,GAAG;YACV,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC;SAC1B,CAAC,CAAC;QAEH,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC;IAC/B,CAAC,QAAQ,MAAM,EAAE;IAEjB,OAAO,SAAS,CAAC;AACnB,CAAC;AAKM,KAAK,UAAU,UAAU,CAC9B,WAAwB,EACxB,OAAe;IAEf,MAAM,OAAO,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAE/C,MAAM,QAAQ,GAAG,MAAM,IAAA,gCAAY,EACjC,GAAG,OAAO,2BAA2B,OAAO,EAAE,CAC/C,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC;AAKM,KAAK,UAAU,mBAAmB,CACvC,WAAwB,EACxB,OAAe,EACf,OAA2B;IAE3B,MAAM,OAAO,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IAErC,IAAI,OAAO,EAAE,KAAK;QAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrE,IAAI,OAAO,EAAE,MAAM;QAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAE7D,MAAM,QAAQ,GAAG,GAAG,OAAO,2BAA2B,OAAO,cAAc,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;IAE/F,MAAM,QAAQ,GAAG,MAAM,IAAA,gCAAY,EAAiC,QAAQ,CAAC,CAAC;IAE9E,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC;AAKM,KAAK,UAAU,sBAAsB,CAC1C,WAAwB,EACxB,OAAe;IAEf,MAAM,YAAY,GAAkB,EAAE,CAAC;IACvC,IAAI,MAAM,GAAuB,SAAS,CAAC;IAE3C,GAAG,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,OAAO,EAAE;YAC/D,KAAK,EAAE,IAAI;YACX,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC;SAC1B,CAAC,CAAC;QAEH,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC;IAC/B,CAAC,QAAQ,MAAM,EAAE;IAEjB,OAAO,YAAY,CAAC;AACtB,CAAC;AAKM,KAAK,UAAU,eAAe,CACnC,WAAwB,EACxB,OAAe,EACf,OAA2B;IAE3B,MAAM,OAAO,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IAErC,IAAI,OAAO,EAAE,KAAK;QAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrE,IAAI,OAAO,EAAE,MAAM;QAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAE7D,MAAM,QAAQ,GAAG,GAAG,OAAO,2BAA2B,OAAO,UAAU,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;IAE3F,MAAM,QAAQ,GAAG,MAAM,IAAA,gCAAY,EAA6B,QAAQ,CAAC,CAAC;IAE1E,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,gCAAgC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC;AAKM,KAAK,UAAU,kBAAkB,CACtC,WAAwB,EACxB,OAAe;IAEf,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,IAAI,MAAM,GAAuB,SAAS,CAAC;IAE3C,GAAG,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,WAAW,EAAE,OAAO,EAAE;YAC3D,KAAK,EAAE,IAAI;YACX,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC;SAC1B,CAAC,CAAC;QAEH,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC;IAC/B,CAAC,QAAQ,MAAM,EAAE;IAEjB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAMM,KAAK,UAAU,oBAAoB,CACxC,WAAwB,EACxB,OAAe,EACf,UAA2B,EAC3B,YAAoB;IAEpB,MAAM,OAAO,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,IAAA,wBAAgB,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAClD,OAAO,mBAAmB,CACxB,GAAG,OAAO,8BAA8B,GAAG,SAAS,YAAY,EAAE,EAClE,OAAO,EACP,UAAU,EACV,mBAAmB,CACpB,CAAC;AACJ,CAAC"}
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getExtendedProposalData = exports.appendProposalExtendedData = exports.getCrossChainProposalData = exports.getProposalData = exports.getProposalsOnChainData = exports.formatApiProposalData = exports.isMultichainAware = exports.isMultichainProposal = exports.extractProposalSubtitle = exports.WORMHOLE_CONTRACT = void 0;
|
|
6
|
+
exports.getExtendedProposalData = exports.appendProposalExtendedData = exports.getCrossChainProposalData = exports.getProposalData = exports.getProposalsOnChainData = exports.formatApiProposalData = exports.deriveProposalStateFromApi = exports.isMultichainAware = exports.isMultichainProposal = exports.extractProposalSubtitle = exports.WORMHOLE_CONTRACT = void 0;
|
|
7
7
|
const axios_1 = __importDefault(require("axios"));
|
|
8
8
|
const last_js_1 = __importDefault(require("lodash/last.js"));
|
|
9
9
|
const chains_1 = require("viem/chains");
|
|
@@ -59,6 +59,20 @@ exports.isMultichainProposal = isMultichainProposal;
|
|
|
59
59
|
const isMultichainAware = (proposal, legacyArtemisMaxId) => (0, exports.isMultichainProposal)(proposal.targets) ||
|
|
60
60
|
(legacyArtemisMaxId > 0 && proposal.proposalId > legacyArtemisMaxId);
|
|
61
61
|
exports.isMultichainAware = isMultichainAware;
|
|
62
|
+
const deriveProposalStateFromApi = (formatted, apiProposal, now) => {
|
|
63
|
+
if (formatted.executed)
|
|
64
|
+
return proposal_js_1.ProposalState.Executed;
|
|
65
|
+
if (formatted.canceled)
|
|
66
|
+
return proposal_js_1.ProposalState.Canceled;
|
|
67
|
+
const hasQueued = apiProposal.stateChanges?.some((sc) => sc.state === "QUEUED");
|
|
68
|
+
if (hasQueued)
|
|
69
|
+
return proposal_js_1.ProposalState.Queued;
|
|
70
|
+
if (now >= apiProposal.votingStartTime && now <= apiProposal.votingEndTime) {
|
|
71
|
+
return proposal_js_1.ProposalState.Active;
|
|
72
|
+
}
|
|
73
|
+
return proposal_js_1.ProposalState.Pending;
|
|
74
|
+
};
|
|
75
|
+
exports.deriveProposalStateFromApi = deriveProposalStateFromApi;
|
|
62
76
|
const formatApiProposalData = (apiProposal) => {
|
|
63
77
|
const forVotesNum = Number(apiProposal.forVotes);
|
|
64
78
|
const againstVotesNum = Number(apiProposal.againstVotes);
|
|
@@ -131,7 +145,18 @@ const getProposalsOnChainData = async (apiProposals, governanceEnvironment) => {
|
|
|
131
145
|
}
|
|
132
146
|
}
|
|
133
147
|
const legacyArtemisMaxId = await getLegacyArtemisMaxId(governanceEnvironment);
|
|
148
|
+
const nowSeconds = Math.floor(Date.now() / 1000);
|
|
134
149
|
const onChainDataList = await Promise.all(apiProposals.map(async (p) => {
|
|
150
|
+
if (p.chainId !== governanceEnvironment.chainId) {
|
|
151
|
+
const formatted = (0, exports.formatApiProposalData)(p);
|
|
152
|
+
return {
|
|
153
|
+
state: (0, exports.deriveProposalStateFromApi)(formatted, p, nowSeconds),
|
|
154
|
+
proposalData: null,
|
|
155
|
+
eta: 0,
|
|
156
|
+
votesCollected: false,
|
|
157
|
+
quorum: 0n,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
135
160
|
const isMultichain = (0, exports.isMultichainAware)(p, legacyArtemisMaxId);
|
|
136
161
|
const governorContract = isMultichain
|
|
137
162
|
? governanceEnvironment.contracts.multichainGovernor
|
|
@@ -165,6 +190,9 @@ const getProposalsOnChainData = async (apiProposals, governanceEnvironment) => {
|
|
|
165
190
|
return { state, proposalData, eta, votesCollected: false, quorum };
|
|
166
191
|
}));
|
|
167
192
|
const votesCollectedList = await Promise.all(apiProposals.map(async (apiProposal) => {
|
|
193
|
+
if (apiProposal.chainId !== governanceEnvironment.chainId) {
|
|
194
|
+
return false;
|
|
195
|
+
}
|
|
168
196
|
const isMultichain = (0, exports.isMultichainAware)(apiProposal, legacyArtemisMaxId);
|
|
169
197
|
if (!isMultichain ||
|
|
170
198
|
!governanceEnvironment.contracts.multichainGovernor) {
|