Price Attestdraft
Draft hook: posts a Solana-observed price attestation to an EVM consumer. Registered as a draft; not callable.
oracle.price-attest.v0v0.1.0Ethereumby Demo author: oracle-lab
Executions · 7d0
Success rate—
Median latency—
Calling apps0
Interface
ATTEST_PRICE
n/a (draft)Post a signed price.
Inputs
| feed | string | Feed ID. |
| price | int64 | Price × 1e8. |
Outputs
| round | uint80 | Consumer round. |
example payload
{
"feed": "SOL/USD",
"price": "18342000000"
}Usage
@wormhook/sdkoracle-attest_price.ts
import { WormHookClient } from "@wormhook/sdk";
const client = new WormHookClient({ network: "devnet", appId: YOUR_APP_ID });
const call = await client.prepareCall({
hookId: "oracle.price-attest.v0",
action: "ATTEST_PRICE",
payload: {
"feed": "SOL/USD",
"price": "18342000000"
},
ttl: 900,
});
const execution = await client.simulate(call);
const receipt = await execution.waitForReceipt();Registration
- hook id
- oracle.price-attest.v0
- version
- 0.1.0
- destination
- Ethereum
- permissions
- Owner only
- spend cap
- none (no value moved)
- author
- Demo author: oracle-lab0x3db626…73fc
Routes
- Solana→Ethereumdisabled
- Wormhole 1 → 2 · receipt returns on the same route
Adapter
- kind
- Custom
- contract
- AttestAdapter0xec12e9…1099
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/oracle-lab (demo)
- commit
- —
- audit
- not audited
Risk notes
- Draft. Not callable.
Versions
- 0.1.0current2026-10-01Draft.
Execution history
latest 10No executions yet.
Draft hooks can't be called.