Yashotantra Academy logo
← Vyper theorytheory 0/50 · 0%
level 1
Curious · 0 XP
streak
0d
perfect
0
badges
0

100 XP to Apprentice

Types · medium

26. Type conversions with convert()

Explicit, checked conversions between types.

1 min read3 questionsup to 50 XPtopic 26/50

Read in another language

AI translates the explanation and quiz text while preserving code and answer scoring.

Vyper never converts types implicitly. `convert(value, TargetType)` performs a checked conversion, reverting if the value can't be represented in the target type (e.g. converting a negative `int256` to `uint256`).

@external
@pure
def to_uint(x: int128) -> uint256:
    assert x >= 0, "negative value"
    return convert(x, uint256)

@external
@pure
def to_bytes(x: uint256) -> bytes32:
    return convert(x, bytes32)

Because conversions are checked, they double as a lightweight assertion — a failed `convert()` is a clear signal something upstream produced an unexpected value.

How to study this topic

  1. 1. Read the explanation once end to end, skipping the code.
  2. 2. Re-read the code snippets and say out loud what each line does.
  3. 3. Answer the quiz without scrolling back — that is the real check.
  4. 4. Read every explanation, even for the answers you got right.

Scoring

  • · Up to 30 XP from quiz accuracy.
  • · +15 XP for a perfect first attempt.
  • · +5 XP while a 3-day streak is running.
  • · 75% or higher marks the topic complete.

Check your understanding

  1. 1. How do you convert between types in Vyper?

  2. 2. What happens converting a negative int128 to uint256 without checks?

  3. 3. Why is a failed convert() actually useful?

Badges

First light
Pass your first topic
Sharp shooter
3 perfect first-try quizzes
On a roll
Study 3 days in a row
Week warrior
Study 7 days in a row
Grinder
Earn 500 XP
Deep diver
Earn 1500 XP