truthlinked-oracle 0.1.2

Deterministic HTTP oracle primitives for the TruthLinked post-quantum blockchain.
Documentation

truthlinked-oracle

Deterministic HTTP oracle logic for TruthLinked.

This crate implements the commit-reveal oracle flow and related data structures. It is extracted from the node so oracle behavior is shared across validators, execution code, and protocol tooling.

What's inside

  • Oracle request, commit, reveal, and result types
  • Commit-reveal tallying and finalization logic
  • URL governance checks and visibility handling
  • Response canonicalization for raw, canonical JSON, and USD price feeds
  • Validator fetch helper (validator_fetch_and_commit)

What's not inside

  • Consensus networking
  • RPC server handlers
  • Storage backends
  • Live execution of Axiom cells

Usage

[dependencies]
truthlinked-oracle = "0.1.0"

Example

use truthlinked_governance::UrlResponseFormat;
use truthlinked_oracle::http_oracle::{
    request_id, validator_fetch_and_commit, OracleRequest,
};

async fn example() {
    let format = UrlResponseFormat::Raw;
    let schema_id = None;
    let req = OracleRequest {
        request_id: request_id("https://example.com", "GET", b"", format, schema_id),
        url: "https://example.com".to_string(),
        method: "GET".to_string(),
        body: vec![],
        response_format: format,
        schema_id,
        requested_at: 100,
        expires_at: 200,
        requesting_cell: [0u8; 32],
    };

    let commits = validator_fetch_and_commit(&[req], b"validator-pubkey", 120).await;
    let _ = commits.len();
}

Design goals

  • Keep external data out of deterministic execution paths
  • Require validators to commit before revealing oracle responses
  • Canonicalize accepted results before they become cell-readable state
  • Keep oracle request identity stable across validators

License

Licensed under the MIT License.