Skip to content

4.0Access & security

Contracts

Three contracts on Robinhood Chain. None has an owner, a fee or an upgrade path. Addresses appear here once deployed.

Addresses

ContractAddress
KiboraLatticeBook0xf3a84cf49f5c753b41bd9e6c414a98d306a8a1e4
KiboraWardForge0x3af8b0955eb904a591ecad868e8657d0f5107c7a
KiboraWardone per user, opened by the forge

KiboraLatticeBook

  • publish(uint8 suite, bytes key): stores your key for a suite after checking its exact FIPS length; emits KeyPublished(account, suite, version, keyHash, key).
  • revoke(uint8 suite): removes it; emits KeyRevoked.
  • keyOf(account, suite), keyHashOf, suitesOf, versionOf, activeKeys, publishCount: reads.
  • Suites: 1-3 ML-KEM-512/768/1024, 4-6 ML-DSA-44/65/87, 7-8 SLH-DSA-SHA2-128f/s.

KiboraWardForge and KiboraWard

  • forge.open(guardian, haven, delay): opens a ward with you as keeper; delay between 1 hour and 30 days; the three roles must differ. Emits WardOpened.
  • ward.queue(asset, to, amount): keeper only; asset 0x0 is ETH. Emits ExitQueued with readyAt.
  • ward.execute(id): keeper only, after readyAt, unless cancelled or voided.
  • ward.cancel(id): keeper or guardian.
  • ward.evacuate(asset): keeper or guardian; sends the whole balance to the haven and voids every earlier queued transfer.

Verifying a deployment

The open-source repository includes a script that compares deployed code byte for byte with this build, checks the creation transactions and decodes a ward's fixed roles:

shell
npm run verify-deployment -- --book <address> --book-tx <hash> --forge <address> --forge-tx <hash>
npm run verify-deployment -- --forge <address> --forge-tx <hash> --ward <address> \
  --keeper <a> --guardian <a> --haven <a> --delay <seconds>