Skip to content

Handle Solidity ABI encoded constructor dispatch #2518

Open
@davidsemakula

Description

@davidsemakula

Overview

Solidity allows at most one constructor, doesn't have "on-chain" constructors and so doesn't have "constructor selectors"

Design

  • Only allow one constructor when the ABI is "sol"
  • Either only one constructor or require one of the constructors to be marked as the default when ABI is "all"
  • Update ink! dispatch codegen to
    • Treat all constructor call data as args when ABI is "sol"
    • Fallback to treating all constructor call data as args when ABI is "all" and no selector is matched
  • Update CreateBuilder and ExecutionInput to allow execution input with no selector and re-introduce a dedicated ink_env::build_create_solidity function

Metadata

Metadata

Assignees

No one assigned

    Labels

    B-designDesigning a new component, interface or functionality.

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions