# Storage Proofs Contracts
The Storage Proof Contract allows token-holders to prove their balance of an ERC-20 token, thereby enabling the On-Chain Census mechanism.
# Using the Contract
The instance of the ERC20 Token Storage contract is resolved from results.vocdoni.eth
on the ENS registry.
# Contract structs
struct ERC20Token {
uint256 balanceMappingPosition;
bool registered;
}
mapping(address => ERC20Token) public tokens;
address[] public tokenAddresses;
uint32 public tokenCount = 0;
# Methods
registerToken
Validates and registers the parameters of the given token contract, if not already present.
# Getters
isRegistered
Determines whether the given token address has been registeredgetBalanceMappingPosition
Retrieves the offset where the balance mapping is located. Used to generate the storage proofs from the client side.