1. Home
  2. /
  3. Vyper
  4. /
  5. Whitelist Access

Whitelist Access - Vyper Typing CST Test

Loading…

Whitelist Access — Vyper Code

A contract that allows only whitelisted addresses to perform an action.

owner: public(address)
whitelist: public(HashMap[address, bool])

@external
def __init__():
	self.owner = msg.sender

@external
def add_user(user: address):
	assert msg.sender == self.owner
	self.whitelist[user] = True

@external
def restricted_action():
	assert self.whitelist[msg.sender] == True

Vyper Language Guide

Vyper is a security-focused, Python-like smart contract programming language for the Ethereum Virtual Machine (EVM). It emphasizes simplicity, readability, and auditability-making it ideal for high-assurance smart contracts.

Primary Use Cases

  • ▸High-assurance smart contracts
  • ▸DeFi protocols and vaults
  • ▸Governance and treasury contracts
  • ▸Security-audited financial logic
  • ▸Minimalistic EVM dApps

Notable Features

  • ▸Python-like syntax
  • ▸Strong typing and safety checks
  • ▸No modifiers -> predictable flow
  • ▸No inheritance -> reduced complexity
  • ▸Built-in overflow/underflow protection

Origin & Creator

Vyper was created by the Ethereum Foundation with contributions from Vitalik Buterin and the research team. It emerged around 2017 as a safer alternative to Solidity.

Industrial Note

Vyper is heavily used in high-stakes DeFi protocols, DAO governance, staking pools, and security-critical Ethereum contracts where simplicity and predictability matter more than feature richness.

More Vyper Typing Exercises

Simple Counter ContractOwner-Only StorageSimple Bank (Deposit + Withdraw)ERC20-Like Token (Minimal)Timestamp LockerSimple VotingEvent LoggerImmutable ConfigSimple Multiplier

Practice Other Languages

CReactPythonC++RustTypeScriptKotlinPHPJavaC#RubyMqlCqlN1qlCypher