Radiant Burns

Illumination Writers

Construct direct or permit-based calls to IlluminationRegistry.

Direct Illuminate

import { buildIlluminateTx } from '@influence-protocol/sdk';

const tx = buildIlluminateTx({
  registry: process.env.ILLUMINATION_REGISTRY!,
  attestationUid: '0xabc...',
  radiantAmount: 1n * 10n ** 17n,
});

Permit Flow

Use buildPermitTypedData to generate the EIP-2612 payload, then sign via the user wallet. Relayer submits the signed permit through buildIlluminateWithPermitTx.

const typedData = buildPermitTypedData({
  name: 'Radiant',
  chainId: 8453, // Base Mainnet (use 84532 for Base Sepolia)
  verifyingContract: process.env.RADIANT_TOKEN!,
  owner: fanWallet,
  spender: process.env.ILLUMINATION_REGISTRY!,
  value: radiantAmount,
  nonce,
  deadline,
});

AI agents: ensure deadline is in the future and that value equals the Radiant burn amount.

Batch Permit

buildBatchIlluminateWithPermitTx verifies totals on-chain; provide both arrays and the signature covering totalAmount.

Agent Notes

  • Validate Radiant amounts against MIN_RADIANT_AMOUNT (1e15) and MAX_RADIANT_AMOUNT (1000e18).
  • Always fetch the attestation record from RelationalResolver before distributing Radiant.
  • Permit signatures are single-use; handle nonce increments carefully.

Machine-readable workflow: /agents/workflows/illuminate_attestation