Solidity contracts for the XRT migration claim, built with Foundry.
Agreement.sol lets holders listed in the migration snapshot choose what happens to
their balance. Eligibility is proven with a Merkle proof against a snapshot root fixed
at deployment, and each address can act exactly once:
| Call | Effect |
|---|---|
agree(proof, amount) |
Holder accepts the migration and receives their amount plus a 20% bonus |
disagree(proof, amount) |
Holder declines; the amount goes to the payback address (the Robonomics DAO multisig) |
transferOwned is a rescue function for tokens sent to the contract by mistake, callable
only by the payback address.
Related: the snapshot and address lookup tool lives in XRT-snapshot-Feb26-exploit, and the XCM bridge UI in xrt-token-bridge.
Apache-2.0 — see LICENSE.
$ forge build$ forge test$ forge fmt$ forge snapshot$ anvil$ forge script script/Deploy.s.sol --rpc-url <your_rpc_url> --private-key <your_private_key>$ cast <subcommand>$ forge --help
$ anvil --help
$ cast --help