Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 17 additions & 2 deletions schemas/pointer/region.schema.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,52 +9,67 @@ properties:
location:
$ref: "#/$defs/Location"

required:
- location

allOf:
- if:
required:
- location
properties:
location:
const: stack

then:
$ref: "schema:ethdebug/format/pointer/region/stack"

- if:
required:
- location
properties:
location:
const: memory

then:
$ref: "schema:ethdebug/format/pointer/region/memory"

- if:
required:
- location
properties:
location:
const: storage
then:
$ref: "schema:ethdebug/format/pointer/region/storage"

- if:
required:
- location
properties:
location:
const: calldata
then:
$ref: "schema:ethdebug/format/pointer/region/calldata"

- if:
required:
- location
properties:
location:
const: returndata
then:
$ref: "schema:ethdebug/format/pointer/region/returndata"

- if:
required:
- location
properties:
location:
const: transient
then:
$ref: "schema:ethdebug/format/pointer/region/transient"

- if:
required:
- location
properties:
location:
const: code
Expand Down
1 change: 1 addition & 0 deletions schemas/program/context/name.schema.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ type: object
properties:
name:
type: string
minLength: 1
required:
- name

Expand Down
12 changes: 10 additions & 2 deletions schemas/type/complex/function.schema.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,10 @@ properties:
definition:
$ref: "schema:ethdebug/format/type/definition"

required:
- kind
- contains

oneOf:
- type: object
title: External function type
Expand All @@ -86,7 +90,9 @@ oneOf:
title: Contract type wrapper
properties:
type:
$ref: "schema:ethdebug/format/type/elementary/contract"
oneOf:
- $ref: "schema:ethdebug/format/type/elementary/contract"
- $ref: "schema:ethdebug/format/type/reference"
required:
- external

Expand Down Expand Up @@ -161,4 +167,6 @@ $defs:
type: object
properties:
type:
$ref: "schema:ethdebug/format/type/complex/tuple"
oneOf:
- $ref: "schema:ethdebug/format/type/complex/tuple"
- $ref: "schema:ethdebug/format/type/reference"
4 changes: 4 additions & 0 deletions schemas/type/elementary.schema.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ type: object
properties:
kind:
$ref: "#/$defs/Kind"
contains:
not:
description: "Elementary types **must not** specify a `contains` field
(to make it easier to discriminate elementary vs. complex)"
required:
- kind

Expand Down
4 changes: 4 additions & 0 deletions schemas/type/elementary/contract.schema.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ properties:
type: boolean
description: If this field is omitted, this type represents an address whose
payability is not known.
library:
type: boolean
interface:
type: boolean
definition:
$ref: "schema:ethdebug/format/type/definition"

Expand Down
Loading