• Application deadline: 2 weeks
    E

    Integrations Engineer (Web3)

    ENS Labs FULL_TIMENA

    Job description
    ENS Labs, the development team behind the Ethereum Name Service protocol, is seeking a Web3-focused Integrations Engineer to advance ENS adoption across wallets, SDKs, dApps, L2 networks, developer libraries, and other crypto infrastructure. This role combines hands-on engineering work with external collaboration, contributing code directly to open-source projects that integrate...
  • Application deadline: 2 weeks
    Job description
    Zama, an open-source cryptography company advancing Fully Homomorphic Encryption solutions for blockchain, is hiring a Developer Experience Engineer to support the adoption of its main product, fhevm. This role focuses on designing and maintaining developer-facing tools that help blockchain engineers integrate Zama’s encryption-based functionality into applications using tools like Solidity...
  • Application deadline: 2 weeks
    Z

    Solidity Engineer, Gateway

    Zama FULL_TIMENA

    Job description
    Zama, an open-source cryptography company focused on Fully Homomorphic Encryption for blockchain, is hiring a Solidity Engineer for the Gateway team, which supports the core execution flow of the Zama Confidential Blockchain Protocol. The position involves building smart contract infrastructure to support rollup operations and trust controls such as DAO...
  • 0
    Replies
  • Difficulty - Medium
    Total Plays - 5
    Allowed Time - 10 sec
    Best time - 10 sec

    What does RETURNDATASIZE prevent?

    Tip: Click "Play" to reveal options and start playing.
    #A
    #B
    #C
    #D
    Explanation:
    RETURNDATASIZE ensures the caller knows exactly how many bytes were returned. It prevents incorrect assumptions and truncation bugs during low-level calls.
  • #A
    #B
    #C
    #D
    Explanation:
    If the implementation contract is self-destructed, proxies break permanently or redirect unexpectedly. This creates bricked contracts and undefined behavior
  • #A
    #B
    #C
    #D
    Explanation:
    Silent reverts hide failure reasons, making debugging and validation difficult. They also open the door for inconsistent execution paths
  • Difficulty - Medium
    Total Plays - 5
    Allowed Time - 10 sec
    Best time - 10 sec

    Why are multi-step writes risky?

    Tip: Click "Play" to reveal options and start playing.
    #A
    #B
    #C
    #D
    Explanation:
    Multi-step operations can leave the contract in a partially updated state if execution halts. Attackers exploit these interim states to bypass checks.
  • #A
    #B
    #C
    #D
    Explanation:
    EXTCODESIZE checks if the target has code deployed. It helps detect contracts vs EOAs in validation logic
  • #A
    #B
    #C
    #D
    Explanation:
    REVERT allows returning structured revert data back to the caller, which improves debugging and interface guarantees. INVALID terminates execution with no return payload. This distinction is crucial for protocols relying on bubble-up error messaging.
  • #A
    #B
    #C
    #D
    Explanation:
    Calldata avoids copying user inputs into memory, significantly reducing gas usage for large payloads. Router contracts receive untrusted inputs, so avoiding memory expansion is both cheaper and safer. This is why AMMs and DEX routers heavily rely on calldata
  • #A
    #B
    #C
    #D
    Explanation:
    State shadowing happens when a derived contract redeclares a state variable with the same name as a parent. This creates storage misalignment and unexpected slot overwrites. Auditors treat this as a major upgradeability and correctness risk.
  • #A
    #B
    #C
    #D
    Explanation:
    PUSH0 provides a zero literal without consuming calldata or memory. This reduces bytecode size and simplifies stack management. It's extremely helpful in tight loops and assembly-heavy contracts.
  • #A
    #B
    #C
    #D
    Explanation:
    Memory follows a quadratic cost function, meaning costs rise rapidly as the memory footprint grows. Careless array allocations can suddenly inflate execution cost. This is a frequent root cause of gas blowups in audits.
  • #A
    #B
    #C
    #D
    Explanation:
    String comparison requires hashing or byte-by-byte checks, both of which are expensive in the EVM model. It also introduces risk when mixed with packed encodings. Developers instead rely on enums or hashed IDs.
Home Channels Search Login Register