Vote Relayactive
Casts a vote on an EVM governor on behalf of a Solana-side realm. Demo custom hook.
dao.vote-relay.v1v1.0.0Arbitrumby Demo author: realm-relay
Executions · 7d6
Success rate100.0%
Median latency22.6s
Calling apps1
Interface
CAST_VOTE
15–25s to receiptCast an aggregated vote.
Inputs
| governor | address | Governor contract. |
| proposalId | uint256 | Proposal. |
| support | 0 | 1 | 2 | Against / For / Abstain. |
| weight | uint256 | Aggregated realm weight. |
Outputs
| voteTx | bytes32 | Governor vote tx. |
example payload
{
"governor": "0x8b1f4e2a6c9d0e3b7a5f1c8d2e6b9a4c7f0d3e1b",
"proposalId": "1042",
"support": 1,
"weight": "128400"
}Usage
@wormhook/sdkdao-cast_vote.ts
import { WormHookClient } from "@wormhook/sdk";
const client = new WormHookClient({ network: "devnet", appId: YOUR_APP_ID });
const call = await client.prepareCall({
hookId: "dao.vote-relay.v1",
action: "CAST_VOTE",
payload: {
"governor": "0x8b1f4e2a6c9d0e3b7a5f1c8d2e6b9a4c7f0d3e1b",
"proposalId": "1042",
"support": 1,
"weight": "128400"
},
ttl: 900,
});
const execution = await client.simulate(call);
const receipt = await execution.waitForReceipt();Registration
- hook id
- dao.vote-relay.v1
- version
- 1.0.0
- destination
- Arbitrum
- permissions
- Allowlist
- spend cap
- none (no value moved)
- author
- Demo author: realm-relay0xb0b09d…38ef
Routes
- Solana→Arbitrumenabled
- Wormhole 1 → 23 · receipt returns on the same route
Adapter
- kind
- Custom
- contract
- GovernorAdapter0x7b161e…4767
IWormHookAdapter.solconceptual
// Conceptual: final interface is defined in phase 2 (CORE_TECH_PLAN.md §Adapters)
interface IWormHookAdapter {
function execute(
bytes32 callId,
bytes calldata payload
) external returns (bytes memory output);
}Source & audit
- repository
- github.com/example/realm-relay (demo)
- commit
- 3a0be44
- audit
- not audited
Risk notes
- Third-party hook. Not audited.
Versions
- 1.0.0current2026-09-01Initial registration.
Allowlisted apps
Execution history
latest 10| Status | Call ID | Hook | Route | Created | Latency | Receipt |
|---|---|---|---|---|---|---|
| Success | 0x32687a…d0e0#17402 | dao.vote-relay.v1CAST_VOTE | SOL→ARB | 7h ago | 22.6s | ✓ returned |
| Success | 0x4717f9…041f#17407 | dao.vote-relay.v1CAST_VOTE | SOL→ARB | 33h ago | 22.6s | ✓ returned |
| Success | 0x1b6595…20f9#17408 | dao.vote-relay.v1CAST_VOTE | SOL→ARB | 34h ago | 23.7s | ✓ returned |
| Success | 0x8985fc…e2ad#17410 | dao.vote-relay.v1CAST_VOTE | SOL→ARB | 2d ago | 24.1s | ✓ returned |
| Success | 0x269100…0fe1#17405 | dao.vote-relay.v1CAST_VOTE | SOL→ARB | 3d ago | 21.5s | ✓ returned |
| Success | 0x0343f3…78ae#17409 | dao.vote-relay.v1CAST_VOTE | SOL→ARB | 6d ago | 22.3s | ✓ returned |
- Success7h agodao.vote-relay.v1SOL→ARB0x32687ad0…eed0e0 · #1740222.6s
- Success33h agodao.vote-relay.v1SOL→ARB0x4717f9a6…3d041f · #1740722.6s
- Success34h agodao.vote-relay.v1SOL→ARB0x1b659549…5c20f9 · #1740823.7s
- Success2d agodao.vote-relay.v1SOL→ARB0x8985fcf1…41e2ad · #1741024.1s
- Success3d agodao.vote-relay.v1SOL→ARB0x26910001…570fe1 · #1740521.5s
- Success6d agodao.vote-relay.v1SOL→ARB0x0343f312…5178ae · #1740922.3s