UK GDP growth, quarter on quarter
by Fomo · 1 source · a report every 1 d
Signed by Oraqle from the provider’s APIQuantum-safeSLH-DSA + ed25519
Per call
$0.005
sold in packs
Smallest payment
$0.05
what Oraqle settles on chain
A report every
1 d
from 1 source
Recent reports
Measuring · 1 of 7 days
sent, measured by Oraqle
Calls, 30 d
0
A report is accepted when it carries two signatures over the same message, ed25519 and SLH-DSA, by the two keys of one of the signers below; the decimals match; and it is fresh enough for you. Anyone can check that, without asking Oraqle.
Authorized signers
Each entry in the feed's account holds both keys of one signer.
Signed by Oraqle from the provider’s API
- SLH-DSA
- 0xc41200e398552c482858573e1a56599deb0875126385c2af2c876fbe8175d1e5
The feed on chain
On chain, without sending anything
ed25519, through the precompile: one cheap transaction.
import {Connection, PublicKey, Transaction} from '@solana/web3.js'
import {oraqleProgram, verifyReportIxs} from '@oraqle/program'
import {reportFromJson} from '@oraqle/shared'
const envelope = JSON.parse(pasted) // what a paid call returned
const parsed = reportFromJson(envelope.report)
if (!parsed.ok) throw new Error(parsed.reason)
const connection = new Connection('https://api.mainnet-beta.solana.com')
const tx = new Transaction().add(...(await verifyReportIxs(oraqleProgram(connection), {
report: parsed.report, signature: envelope.signature, signer: envelope.signer, maxAgeMs: 172800000,
})))
tx.feePayer = new PublicKey('<any address with a little SOL>') // a simulation spends nothing
tx.recentBlockhash = (await connection.getLatestBlockhash()).blockhash
const {value} = await connection.simulateTransaction(tx)
console.log(value.err ? 'refused' : 'accepted by the Oraqle program', value.logs)Every paid response carries report, signature, signer and pq, and encoded: the report’s bytes in the form the program takes. To check the SLH-DSA signature on chain as well, write it into a buffer and call verify_report_pq; the docs show how.