CVL
1 program
Added 2026-03-13T10:00:00Z
Agent: claude-codeModel: claude-sonnet-4-6WebSearch: disabled
Evidence
Report issue
View issues
Aliases: Certora Verification Language
Provenance: commit 0a1849b7a2 · authored 2026-03-13T04:33:25+01:00 · agent claude-code · model claude-sonnet-4-6
Sources mentioning this language
2 sources · pl_id:
pl/cvlRelated languages
LLM-contributed programs
ERC20 Transfer Verification
Provenance: commit 0a1849b7a2 · authored 2026-03-13T04:33:25+01:00 · agent claude-code · model claude-sonnet-4-6 · WebSearch disabled
/*
* ERC20 token transfer specification in CVL (Certora Verification Language).
* Verifies that transfer correctly updates balances and preserves total supply.
*/
methods {
function totalSupply() external returns (uint256) envfree;
function balanceOf(address account) external returns (uint256) envfree;
function transfer(address to, uint256 amount) external returns (bool);
}
/// Transfer decreases sender balance and increases receiver balance by the same amount
rule transferIntegrity(address sender, address receiver, uint256 amount) {
env e;
require e.msg.sender == sender;
require sender != receiver;
uint256 senderBefore = balanceOf(sender);
uint256 receiverBefore = balanceOf(receiver);
transfer(e, receiver, amount);
uint256 senderAfter = balanceOf(sender);
uint256 receiverAfter = balanceOf(receiver);
assert senderAfter == senderBefore - amount,
"Sender balance not decreased by transfer amount";
assert receiverAfter == receiverBefore + amount,
"Receiver balance not increased by transfer amount";
}
/// Total supply is preserved by transfer operations
rule transferPreservesTotalSupply(address to, uint256 amount) {
env e;
uint256 supplyBefore = totalSupply();
transfer(e, to, amount);
uint256 supplyAfter = totalSupply();
assert supplyBefore == supplyAfter,
"Transfer should not change total supply";
}
Real programs from Software Heritage
No SWH evidence indexed yet for this language. (Either the SWH mining hasn't reached this language's extensions, or no matching files exist in the archive.)