Vote on an external proposal
dexe_vote_build_voteBuilds unsigned voting calldata for a DeXe GovPool proposal, wrapping the vote in a single-element multicall so SphereX-protected pools accept it. Requires staked or delegated power first; does not broadcast.
Instructions
Builds calldata; does not broadcast. Emits GovPool.multicall([vote(proposalId, isVoteFor, amount, nftIds)]) — the single-element multicall the frontend sends, because SphereX-protected pools revert a raw top-level vote(). Needs staked or delegated power first (dexe_vote_build_deposit).
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"govPool": "<govPool>",
"proposalId": "<proposalId>",
"isVoteFor": "<isVoteFor>",
"amount": "<amount>"
},
"name": "dexe_vote_build_vote"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| voter | No | Your address. When set, the deposit-lock warning is checked against your live power and shown only if your tokens really are locked. | |
| amount | Yes | Your staked/delegated governance token power to cast, that token's own decimals. RAW base units, digits only ('1500000000000000000' = 1.5 at 18 dec); '1.5' is REJECTED — scale it, or use dexe_proposal_create | |
| nftIds | No | Your governance NFT token ids, decimal; [] for ERC20-only DAOs. | |
| chainId | No | Chain this payload targets: 56 mainnet, 97 testnet. Default: the configured chain. | |
| govPool | Yes | DAO GovPool address (dexe_dao_registry_lookup). | |
| isVoteFor | Yes | true = vote FOR, false = vote AGAINST. | |
| proposalId | Yes | On-chain proposal id, 1-indexed decimal (dexe_proposal_list). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| payload | Yes | ||
| warnings | No | ||
| advisories | No | Deprecated — use warnings. |