Skip to content

Reduce json input on API to the fields we store #2751

@manuelwedler

Description

@manuelwedler

While working on Vyper's storage_layout_overrides, I came across this problem of the API: We currently take the standard json input from the user and pass it directly to the compiler as it is. This means a currently unsupported field like interfaces of Vyper (#2750) is given to the compiler and leading to the expected compilation output. However, we don't store this field in the database and this makes it impossible to recompile the contract later from the data we have in the database.

To address this, I propose to reduce the user given json input to the fields we actually support when passing it to the compiler. This enforces a failed verification for unknown fields which modify compiler behavior but we don't store in the database. The reasoning is we cannot control when a compiler decides to add a new top level json input field that we have to add support for.

Metadata

Metadata

Labels

Type

No type
No fields configured for issues without a type.

Projects

Status
Sprint - Needs Review

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions