Skip to content
Merged
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
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,17 @@ The sections do not signal obligations; the prefixes do.

## Unreleased

### Changed

- The description of the resize forms (`~sized<N>`, `~wordsized`) said that
their left-side padding and truncation match how Solidity resizes both
`bytesN` and `uintN`. That holds only for `uintN`. Solidity pads and
truncates `bytesN` on the right. The description now says so ([#402]).
- Schemas: **ethdebug/format/pointer/expression**
- Producers: no change needed. The resize forms work as before. To pad a
`bytesN` value on the right, concatenate it with zero bytes (`~concat`).
- Consumers: no change needed. The evaluation rules did not change.

## 0.1.0-draft.2 — 2026-10-07

### Changed
Expand Down Expand Up @@ -720,3 +731,4 @@ First published version of the specification.
[#318]: https://github.com/ethdebug/format/pull/318
[#323]: https://github.com/ethdebug/format/pull/323
[#325]: https://github.com/ethdebug/format/pull/325
[#402]: https://github.com/ethdebug/format/pull/402
5 changes: 3 additions & 2 deletions schemas/pointer/expression.schema.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -310,8 +310,9 @@ $defs:
as `<expression>` but with a number of bytes removed from the left
(most significant) side until the bytes width equals `<N>`.

(These cases match the behavior that Solidity uses for resizing its
`bytesN`/`uintN` types.)
(These cases match how Solidity converts between `uintN` types.
Solidity converts between `bytesN` types the other way: it pads and
truncates on the right.)
type: object
oneOf:
- title: Resize to literal number of bytes
Expand Down
Loading