Skip to content

v1.5.16

Latest

Choose a tag to compare

@github-actions github-actions released this 31 May 16:15
4e0a27e
  • Add __codesize(RUNTIME): resolves at compile time to the byte length of the runtime section
    (MAIN body + appended runtime tables). Usable in both MAIN and CONSTRUCTOR (directly or via a
    derived #define constant). The self-referential MAIN-side case converges via iterative MAIN
    codegen, bounded by EIP-170 (at most PUSH2). Enables Solidity-style immutables that the
    runtime reads at compile-time literal offsets, with no runtime codesize arithmetic. Not
    allowed inside code tables (would create a circular sizing dependency). RUNTIME is reserved
    as a macro name.
  • hnc --bin-runtime (-r) now errors when the contract's CONSTRUCTOR returns its own bytecode,
    instead of silently emitting MAIN, which would not match the deployed runtime. Constructors
    that only initialize state (no RETURN) are unaffected.
  • Update dependencies.