Skip to content

feat(EDSL): narrow integer and fixed-bytes types (uint8–uint248, intN, bytes1–bytes31) #2086

Description

@Th0rgal

Child of #1724. #1 convergent gap across all three parity maps (docs/parity/): ~45 Lido hits, 22 ERC-4337 hits, ~15 Morpho hits.

Goal

First-class sub-256-bit value types in verity_contract: uintN for N in 8..248 (notably uint128, uint120, uint112, uint96, uint64, uint48, uint32, uint16), signed intN, and bytes1bytes31 (notably bytes4, bytes8, bytes16, bytes20).

Required semantics:

Concrete unblocks

  • ERC-4337: DepositInfo struct, all uint192 nonce math, addStake(uint32), unpackLow128, _getValidationData (uint48 windows)
  • Lido: legacy struct compat variants, module state narrow ints
  • Morpho: uint128 market accounting fields

Done when

  • Types compile through Layer 2/3 with differential tests vs solc
  • Parity map rows flip ❌→✅/🚧 and docs/parity/ is updated in the same PR

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1: core languageBlocks writing common contractsblocks:erc4337Blocks ERC-4337 EntryPoint parity/verificationblocks:lidoBlocks Lido StakingRouter parity/verificationblocks:morphoBlocks Morpho Blue parity/verificationenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions