Source:Documentation Index
Fetch the complete documentation index at: https://docs.signalium.site/llms.txt
Use this file to discover all available pages before exploring further.
packages/contracts/src/resolvers/AIResolver.sol
Decouples the market from the judge worker. Markets see a single trusted resolver address; the resolver gates which TEE provider keys can finalize a verdict.
Storage
submitResolution(market, outcome, attestationHash, proof)
proof is abi.encode(uint256 deadline, bytes32 nonce, bytes signature). The resolver:
- Decodes the proof.
- Rejects past
deadlineor usednonce. - Builds the digest
keccak256(abi.encode(DOMAIN_TAG, chainId, address(this), market, outcome, attestationHash, nonce)). ecrecoveragainst the EIP-191 prefixed hash to recover the signer.- Rejects unknown signers.
- Marks the nonce used, emits
ResolutionSubmitted, and forwardsIPredictionMarket(market).resolve(outcome, attestationHash).
Why a domain tag
WithoutDOMAIN_TAG, a verdict signed for one Signalium deployment could be replayed against another (e.g., a hypothetical future v2 contract). The tag binds every signature to this specific resolver version.
