Skip to main content Svelte Highlight v7.21.1

Vyper language preview

1. Token contract

decorators, types, and events
horizon-dark
# @version 0.3.10

balances: public(HashMap[address, uint256])

event Transfer:
    sender: indexed(address)
    receiver: indexed(address)
    amount: uint256

@external
def transfer(to: address, amount: uint256) -> bool:
    assert self.balances[msg.sender] >= amount, "insufficient balance"
    self.balances[msg.sender] -= amount
    self.balances[to] += amount
    log Transfer(msg.sender, to, amount)
    return True
atom-one-dark
# @version 0.3.10

balances: public(HashMap[address, uint256])

event Transfer:
    sender: indexed(address)
    receiver: indexed(address)
    amount: uint256

@external
def transfer(to: address, amount: uint256) -> bool:
    assert self.balances[msg.sender] >= amount, "insufficient balance"
    self.balances[msg.sender] -= amount
    self.balances[to] += amount
    log Transfer(msg.sender, to, amount)
    return True
github-dark
# @version 0.3.10

balances: public(HashMap[address, uint256])

event Transfer:
    sender: indexed(address)
    receiver: indexed(address)
    amount: uint256

@external
def transfer(to: address, amount: uint256) -> bool:
    assert self.balances[msg.sender] >= amount, "insufficient balance"
    self.balances[msg.sender] -= amount
    self.balances[to] += amount
    log Transfer(msg.sender, to, amount)
    return True
dracula
# @version 0.3.10

balances: public(HashMap[address, uint256])

event Transfer:
    sender: indexed(address)
    receiver: indexed(address)
    amount: uint256

@external
def transfer(to: address, amount: uint256) -> bool:
    assert self.balances[msg.sender] >= amount, "insufficient balance"
    self.balances[msg.sender] -= amount
    self.balances[to] += amount
    log Transfer(msg.sender, to, amount)
    return True
nord
# @version 0.3.10

balances: public(HashMap[address, uint256])

event Transfer:
    sender: indexed(address)
    receiver: indexed(address)
    amount: uint256

@external
def transfer(to: address, amount: uint256) -> bool:
    assert self.balances[msg.sender] >= amount, "insufficient balance"
    self.balances[msg.sender] -= amount
    self.balances[to] += amount
    log Transfer(msg.sender, to, amount)
    return True
github
# @version 0.3.10

balances: public(HashMap[address, uint256])

event Transfer:
    sender: indexed(address)
    receiver: indexed(address)
    amount: uint256

@external
def transfer(to: address, amount: uint256) -> bool:
    assert self.balances[msg.sender] >= amount, "insufficient balance"
    self.balances[msg.sender] -= amount
    self.balances[to] += amount
    log Transfer(msg.sender, to, amount)
    return True

2. View functions

constants, immutables, and internal helpers
horizon-dark
MAX_SUPPLY: constant(uint256) = 1_000_000
owner: immutable(address)

@deploy
def __init__():
    owner = msg.sender

@view
@external
def is_owner(account: address) -> bool:
    return account == owner
atom-one-dark
MAX_SUPPLY: constant(uint256) = 1_000_000
owner: immutable(address)

@deploy
def __init__():
    owner = msg.sender

@view
@external
def is_owner(account: address) -> bool:
    return account == owner
github-dark
MAX_SUPPLY: constant(uint256) = 1_000_000
owner: immutable(address)

@deploy
def __init__():
    owner = msg.sender

@view
@external
def is_owner(account: address) -> bool:
    return account == owner
dracula
MAX_SUPPLY: constant(uint256) = 1_000_000
owner: immutable(address)

@deploy
def __init__():
    owner = msg.sender

@view
@external
def is_owner(account: address) -> bool:
    return account == owner
nord
MAX_SUPPLY: constant(uint256) = 1_000_000
owner: immutable(address)

@deploy
def __init__():
    owner = msg.sender

@view
@external
def is_owner(account: address) -> bool:
    return account == owner
github
MAX_SUPPLY: constant(uint256) = 1_000_000
owner: immutable(address)

@deploy
def __init__():
    owner = msg.sender

@view
@external
def is_owner(account: address) -> bool:
    return account == owner

3. Byte strings

b"..." literal prefix
horizon-dark
SELECTOR: constant(bytes4) = b"\x01\x02\x03\x04"

@external
@pure
def matches(sig: bytes4) -> bool:
    return sig == SELECTOR
atom-one-dark
SELECTOR: constant(bytes4) = b"\x01\x02\x03\x04"

@external
@pure
def matches(sig: bytes4) -> bool:
    return sig == SELECTOR
github-dark
SELECTOR: constant(bytes4) = b"\x01\x02\x03\x04"

@external
@pure
def matches(sig: bytes4) -> bool:
    return sig == SELECTOR
dracula
SELECTOR: constant(bytes4) = b"\x01\x02\x03\x04"

@external
@pure
def matches(sig: bytes4) -> bool:
    return sig == SELECTOR
nord
SELECTOR: constant(bytes4) = b"\x01\x02\x03\x04"

@external
@pure
def matches(sig: bytes4) -> bool:
    return sig == SELECTOR
github
SELECTOR: constant(bytes4) = b"\x01\x02\x03\x04"

@external
@pure
def matches(sig: bytes4) -> bool:
    return sig == SELECTOR