Skip to main content

Aliases, hooks and oracle reports

Readable aliases​

The native alias registry at 0x1020 represents names as ERC-721 tokens. The owner controls the destination; transferring a token moves its destination to the new owner and clears its token approval. Resolve the current destination when preparing a payment instead of caching an old address indefinitely.

The development profile accepts 3–32 lowercase ASCII letters/digits/hyphens with additional hyphen rules. Registration costs one JOLT paid to SAFU and does not expire; those are development parameters. A zero resolution means no usable destination. Network naming policy and wallet support need release configuration.

Contract pre-call hooks​

At 0x1021, a deployed contract can configure its own bounded, read-only policy hook. Before a CALL into that contract, the host asks the configured hook whether it may proceed. Only that contract's own code can set or clear its hook; a caller cannot install a policy for someone else's application.

Hooks enforce their coded allowlist or rule. They do not automatically establish real-world identity or legal compliance. Constructor-time configuration, gas constraints and unsupported call shapes follow the native development profile; check the deployed service ABI before integration.

Authenticated oracle observations​

The current service at 0x1004 accepts positive uint256 observations from one configured secp256k1 publisher per feed. Up to 64 feeds can be initialized, with meaning/units and maximum age fixed by configuration. Reports bind chain, feed, sequence, timestamp and value; sequence must increase and future/stale observations are rejected.

Install the cpp-node Solidity SDK, then read through its typed oracle helper:

// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.37;

import {OracleReports} from "@joltzu/solidity-sdk/contracts/OracleReports.sol";

contract ObservationReader {
function latest(bytes32 feed) external view returns (
bool exists, uint64 sequence, uint64 observedAt, uint256 value
) {
return OracleReports.getObservation(feed);
}
}

An initialized feed with no report returns exists = false; unknown feeds and stale reports revert. For publishing, OracleReports.submitObservation(feed, sequence, observedAt, value, signature) requires the configured publisher's signature over the deployed node's exact signing schema. Compute that digest with OracleReports.observationDigest(chainId, feed, sequence, observedAt, value). The digest now includes a format byte, so signatures made under the earlier digest no longer verify. Relaying does not grant publishing authority.

A signature authenticates the publisher; it does not prove the observation true, independently sourced or decentralized. Consumers must apply freshness and conservative risk rules. Multi-source aggregation and dispute handling remain planned features; the current service authenticates observations from its configured publisher. The World's Pyth prediction market is a separate oracle integration on its configured chain.

For funded vesting, farms, SAFU and retention, see stake and funded services, tokenomics and state proofs.