Skip to content

Latest commit

 

History

History
919 lines (669 loc) · 44.7 KB

CHANGELOG.md

File metadata and controls

919 lines (669 loc) · 44.7 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.7.4 - 2024-05-14

Bug Fixes

Miscellaneous Tasks

  • Release 0.7.3
  • Fix dyn abi
  • Release 0.7.3

0.7.3 - 2024-05-14

Documentation

  • Update alloy-core homepage link

Features

Miscellaneous Tasks

  • Release 0.7.3
  • Fix tests (#624)
  • Unused cfgs

Refactor

  • Move expand from sol-macro to its own crate (#626)

0.7.2 - 2024-05-02

Documentation

  • Unhide and mention sol! wrappers (#615)

Miscellaneous Tasks

  • Release 0.7.2
  • [general] Add basic CI workflow for Windows (#613)

Other

  • Add derive[Clone] to SolEvent creation (#616)

0.7.1 - 2024-04-23

Bug Fixes

  • Use deploy in sol expansion (#606)

Documentation

  • Update README crate links to use URLs (#603)
  • sol-macro Add some more disclaimers (#595)

Features

Miscellaneous Tasks

  • Release 0.7.1
  • FixedBytes instead of array
  • Add a automatically_derived (#597)
  • Update tests and clippy

0.7.0 - 2024-03-30

Bug Fixes

Documentation

  • Do not accept grammar prs (#575)
  • sol-macro Add a note about sol(rpc) in Contracts paragraph (#556)

Features

  • Rlp encoding for logs with generic event data (#553)
  • sol-macro Add event filters to contracts (#563)
  • json-abi Add configuration for JsonAbi::to_sol (#558)
  • Add LogData::split (#559)
  • Add network generic to sol-macro (#557)

Miscellaneous Tasks

  • Release 0.7.0
  • No-default-features k256 (#576)
  • Remove dead code (#571)

Other

  • Small helpers for alloy serde PR (#582)
  • Use latest stable
  • Prestwich/dyn sol error (#551)

Performance

Refactor

  • Break SolInput to its own crate (#578)
  • Change identical resolve traits to Specifier (#550)

Styling

  • Rearranged type param order so that the Network param is the last (#587)
  • Make Bytes map to Bytes in SolType (#545)

0.6.4 - 2024-02-29

Bug Fixes

  • dyn-abi Correctly parse empty lists of bytes (#548)
  • dyn-abi Enable DynSolType.coerce_json to convert array of numbers to bytes (#541)

Dependencies

  • [deps] Update winnow to 0.6 (#533)

Documentation

Features

  • Add TxKind (#542)
  • [core] Re-export uint! (#537)
  • Derive Allocative on FixedBytes (#531)

Miscellaneous Tasks

  • Release 0.6.4
  • primitives Improve from_slice functions (#546)
  • Allow unknown lints (#543)
  • [core] Add comments to cfg(doc) (#538)
  • Remove unused imports (#534)

Other

  • Add concurrency (#540)

Testing

  • Add another ABI encode test (#547)
  • Add some more coerce error message tests (#535)
  • Bless tests (#530)

0.6.3 - 2024-02-15

Bug Fixes

  • json-abi Accept nameless Params (#526)
  • dyn-abi Abi-encode-packed always pads arrays (#519)
  • Properly test ABI packed encoding (#517)
  • Signature bincode serialization (#509)
  • Don't validate when decoding revert reason (#511)

Dependencies

  • [deps] Update some dependencies (#522)
  • [deps] Bump winnow (#518)
  • Recursion mitigations (#495)

Documentation

  • Update alloy_core::sol reference to real sol (#529)
  • Mention alloy-core meta crate in README.md overview (#523)

Features

  • primitives Add some more implementations to Bytes (#528)
  • sol-macro Provide a way to override import paths for dependencies (#527)
  • Add alloy-core prelude crate (#521)
  • sol-types Constify type name formatting (#520)
  • sol-macro Add #[sol(rpc)] to generate type-safe provider contract calls (#510)
  • sol-macro Expand state variable getters in contracts (#514)
  • Make some allocations fallible in ABI decoding (#513)

Miscellaneous Tasks

  • Release 0.6.3
  • Fix winnow deprecation warnings (#507)
  • sol-macro Tweak inline attributes in generated code (#505)

Other

  • Update actions/checkout to v4 (#512)

Performance

  • sol-macro Use a lookup table when generating SolInterface::abi_decode_raw (#508)
  • sol-macro Use binary_search in SolInterface::valid_selector (#506)

Testing

  • Bless tests (#524)
  • Remove unused test (#504)

0.6.2 - 2024-01-25

Bug Fixes

  • [signature] Construct Signature bytes using v+27 when we do not have an EIP155 v (#503)

Miscellaneous Tasks

  • Release 0.6.2

0.6.1 - 2024-01-25

Bug Fixes

  • Deserialize missing state mutability as non payable (#488)

Documentation

  • Remove stray list element (#500)
  • Fixes (#498)

Features

Miscellaneous Tasks

  • Release 0.6.1
  • Add SECURITY.md (#494)
  • primitives Pass B256 by reference in Signature methods (#487)
  • Include path in error (#486)
  • Improve unlinked bytecode deserde error (#484)

Testing

  • Don't print constructors for Solc tests (#501)
  • Parity roundtripping (#497)

0.6.0 - 2024-01-10

Bug Fixes

Dependencies

  • [deps] Relax k256 requirement (#481)
  • [deps] Bump const-hex requirement (#479)

Documentation

  • Update docs on parity (#477)

Features

Miscellaneous Tasks

  • Release 0.6.0
  • Bless tests (#478)
  • Clippy uninlined_format_args, use_self (#475)
  • Touch up UDVT expansion (#473)
  • Move define_udt! decl macro to sol! proc macro (#471)
  • Release 0.5.4

Refactor

  • Log implementation (#465)

0.5.4 - 2023-12-27

Features

Miscellaneous Tasks

  • Clean up address checksum implementation (#464)
  • Clippy (#463)
  • sol-types Make PanicKind non_exhaustive (#458)

Performance

  • Add optional support for keccak-asm (#466)

Styling

  • Add ToSql and FromSql to Signed and FixedBytes (#447)

0.5.3 - 2023-12-16

Bug Fixes

  • sol-types Un-break decode revert (#457)
  • Ingest domain when instantiating TypedData (#453)
  • Don't decode ZSTs (#454)
  • primitives Return correct fixed length in ssz::Encode (#451)

Features

  • Address from pubkey (#455)
  • Add RevertReason enum (#450)
  • primitives Update Bytes formatting, add UpperHex (#446)

Miscellaneous Tasks

  • Release 0.5.3
  • Bless tests (#456)

0.5.2 - 2023-12-01

Bug Fixes

Miscellaneous Tasks

  • Release 0.5.2

Testing

  • Add some regression tests (#443)

0.5.1 - 2023-11-30

Bug Fixes

  • Fix public leak (#437)

Miscellaneous Tasks

  • Release 0.5.1

Other

  • Re-enable MSRV all features check (#439)

0.5.0 - 2023-11-23

Bug Fixes

Features

Miscellaneous Tasks

  • Release 0.5.0
  • Update git-cliff config
  • Restructure tests (#421)
  • Rename TokenType GAT and trait to Token (#417)
  • Remove dead code (#416)
  • Update .git-blame-ignore-revs
  • Use winnow separated instead of separated0 (#403)
  • Clean up ABI, EIP-712, docs (#373)
  • sol-macro Move generated docs below input attrs (#363)
  • sol-types Remove impls for isize/usize (#362)

Other

  • SSZ implementation for alloy primitives (#407)
  • Enable rand feature for re-exported ruint crate (#385)
  • Cargo build instead of check (#368)

Styling

  • Update rustfmt config (#406)

Testing

  • Check version before running Solc (#428)
  • Add errors abi test (#390)

0.4.2 - 2023-10-09

Bug Fixes

Miscellaneous Tasks

  • Release 0.4.2

0.4.1 - 2023-10-09

Bug Fixes

Documentation

  • Add scope to changelog commits (#328)
  • Fix changelog link (#323)

Features

Miscellaneous Tasks

  • Release 0.4.1
  • sol-types Rewrite encodable impl generics (#332)
  • Add count to all_the_tuples! macro (#331)
  • Enable ruint std feature (#326)
  • Fix typos (#325)
  • dyn-abi Make resolve module private (#324)

Other

  • Run miri in ci (#327)

Testing

0.4.0 - 2023-09-29

Bug Fixes

Dependencies

  • Bump all deps (#273)
  • Fix MSRV CI and dev deps (#267)

Documentation

  • Add automated CHANGELOG.md (#322)
  • Improve ResolveSolType documentation (#296)
  • Document dollar sign in idents (#288)
  • Add note regarding ruint::uint macro (#265)
  • Update fixed bytes docs (#255)
  • Data types typo (#248)

Features

Miscellaneous Tasks

  • Release 0.4.0
  • Prefix ABI encode and decode functions with abi_ (#311)
  • Don't pass debug feature to winnow (#317)
  • Touch up #314 (#315)
  • Simpler ENCODED_SIZE for SolType tuples (#312)
  • Unhide clippy config file (#305)
  • Sync crate level attributes (#303)
  • Assert_eq! on Ok instead of unwrapping where possible (#297)
  • Use hex! macro from primitives re-export (#299)
  • Add missing #[automatically_derived] (#294)
  • Do not implement SolType for SolStruct generically (#275)
  • Rename coding functions (#274)
  • Re-export ::bytes (#278)
  • Update CODEOWNERS (#270)

Other

  • Cache on failure (#306)
  • Hash_message (#304)
  • Pin anstyle to 1.65 compat (#266)
  • Typo (#249)

Performance

  • Optimize identifier parsing (#295)
  • Use slice::Iter where possible (#256)

Refactor

  • Rewrite type parser with winnow (#292)
  • Simplify Eip712Domain::encode_data (#277)

Styling

  • Format code snippets in docs (#313)
  • Move decode_revert_reason to alloy and add tests (#308)
  • Support yul ast (#268)
  • Some clippy lints (#251)

Testing

0.3.2 - 2023-08-23

Bug Fixes

Features

  • Implement abi2sol (#228)
  • primitives More FixedBytes<N> <-> [u8; N] conversions (#239)
  • Add support for function input/output encoding/decoding (#227)
  • syn-solidity Add statements and expressions (#199)
  • dyn-abi Add match functions to value and doc aliases (#234)
  • Function type (#224)
  • dyn-abi Allow T: Into<Cow<str>> in eip712_domain! (#222)
  • sol-macro Expand getter functions for public state variables (#218)

Miscellaneous Tasks

Performance

  • Optimize some stuff (#231)
  • Refactor TypeSpecifier parsing (#230)

Styling

  • Port ethabi json tests (#232)

0.3.1 - 2023-07-30

Dependencies

  • Bump ruint to 1.10.1 + alloc (#213)

Documentation

  • Update no-std not in readme (#215)
  • Add ambiguity details to Encodable rustdoc (#211)
  • json-abi Add README.md (#209)
  • Update README.md (#208)

Features

  • Support ethabi Contract methods (#195)

Miscellaneous Tasks

  • Release 0.3.1 (#216)

0.3.0 - 2023-07-26

Bug Fixes

  • Correct encodeType expansion for nested structs (#203)
  • Remove unused method body on solstruct (#200)
  • Remove unwrap in decode_populate (#172)
  • sol-types Empty data decode (#159)
  • Doc in dyn-abi (#155)
  • [alloy-primitives] Fix broken documentation link (#152)

Documentation

  • Add licensing note to README.md (#186)
  • Add parser to readme (#183)
  • [rlp] Move example to README.md (#177)
  • Request that PR contributors allow maintainer edits (#148)

Features

  • Bytes handles numeric arrays and bytearrays in deser (#202)
  • [dyb-abi] Impl ResolveSolType for Rc (#189)
  • Native keccak feature flag (#185)
  • sol-macro #[sol] attributes and JSON ABI support (#173)
  • Solidity type parser (#181)
  • [rlp] Improve implementations (#182)
  • dyn-abi Add arbitrary impls and proptests (#175)
  • dyn-abi Cfg CustomStruct for eip712, rm CustomValue (#178)
  • dyn-abi Clean up and improve performance (#174)
  • DynSolType::decode_params (#166)
  • json-abi Add more impls (#164)
  • primitives Add some impls (#162)
  • SolEnum and SolInterface (#153)
  • primitives Fixed bytes macros (#156)

Miscellaneous Tasks

  • Release 0.3.0 (#207)
  • Wrap Bytes methods which return Self (#206)
  • Add release.toml (#205)
  • Replace ruint2 with ruint (#192)
  • Clippy (#196)
  • Remove remaining refs to rlp (#190)
  • Move rlp crates to a separate repo (#187)
  • dyn-abi Gate eip712 behind a feature (#176)
  • Warn on all rustdoc lints (#154)
  • Clean ups (#150)
  • Add smaller image for favicon (#142)
  • Move macro doctests to separate folder (#140)

Other

  • Cache wasm job (#197)
  • Significant dyn-abi fixes :) (#168)
  • Refactoring dyn-abi to performance parity with ethabi (#144)
  • Kuly14/cleanup (#151)
  • Explain alloy vs ethers-rs intention (#146)

Refactor

  • Rename domain macro and add docs (#147)
  • Rename Sol*::Tuple to Parameters/Arguments (#145)
  • Do not generate SolCall for return values (#134)

Testing

  • Run UI tests only on nightly (#194)

0.2.0 - 2023-06-23

Bug Fixes

  • Remove to_rust from most traits (#133)
  • Fmt (#130)
  • Links in readme (#128)
  • (u)int tokenization (#123)
  • Add repr(C) to json-abi items (#100)
  • Make detokenize infallible (#86)
  • Extra-traits in syn-solidity (#65)
  • Rlp impls (#56)
  • Hex breaking change (#50)
  • Type check int for dirty high bytes (#47)
  • Sol macro parsing and expansion (#21)
  • Add alloc features in no_std (#18)
  • Bump resolver to 2 to disable proptest in wasm
  • Doc warnings and clippy
  • Cargo t
  • Desc in primitives cargo.toml
  • Handle nested arrays
  • Correct signed int handling in encodePacked
  • Correct int handling in encodePacked
  • Add missing type_check to decoding
  • Std in abi lol
  • No_std in abi

Dependencies

  • Bump ruint to have alloy-rlp
  • Add missing deny.toml (#23)
  • Add Address w/ checksum support to primitives (#19)
  • Use workspace.{package,dependencies} (#17)
  • Bump uint
  • Bump uint to support wasm
  • Bump uint main
  • Generic signed int implementation (#3)

Documentation

  • Rlp-derive README.md (#70)
  • Contributing doc (#49)
  • Note on no_std support (#44)
  • Note that encode_list is preferred
  • Main lib README (#34)
  • Brief doc on the type system (#26)
  • Improve abi encoding doc examples
  • Encode_packed_to in doctest
  • Remove extra tab in docstring
  • Add implementer's guide to SolType
  • Big lib front page :)

Features

  • Unify json-abi params impls (#136)
  • Add Encodable trait (#121)
  • Finish high-level Solidity parser (#119)
  • Improve SolType tuples (#115)
  • Make TokenType::is_dynamic a constant (#114)
  • More FixedBytes impls (#111)
  • Compute encoded size statically where possible (#105)
  • Json-abi event selector (#104)
  • Solidity events support (#83)
  • Issue and PR templates #33 (#93)
  • sol! contracts (#77)
  • Abi-json crate (#78)
  • Syn-solidity visitors (#68)
  • Abi benchmarks (#57)
  • Move Solidity syn AST to syn-solidity (#63)
  • Support function overloading in sol! (#53)
  • Primitive utils and improvements (#52)
  • Add PanicKind enum (#54)
  • sol-type-parser Parse and expand custom errors and functions (#24)
  • Standard solidity revert & panic (#28)
  • Use const-hex instead of hex (#25)
  • Improve macros (#7)
  • Encode_eip712
  • Sol proc_macro for UDTs
  • User-defined solidity type
  • Domain macro
  • Update sol type parser to simplify access
  • Borrow for primitive bits types
  • Eip712 scaffolding
  • Borrow abstraction for tokenization and encoding
  • Serde for signed integer
  • Dyn sol type for all I sizes
  • Add uint as submodule (#1)
  • Add uint crate to repository
  • Feature structs in sol parser
  • Untested encodePacked
  • Sol proc macro
  • More expressive errors in ABI
  • Encoder rewrite
  • Abi, primitives, rlp

Miscellaneous Tasks

  • Add logo to all crates, add @gakonst to CODEOWNERS (#138)
  • Add .gitattributes (#135)
  • Typos (#132)
  • Typo fix (#131)
  • Typo fix (#129)
  • Clean up features (#116)
  • Add CODEOWNERS, update deny.toml and ci.yml (#117)
  • S/ruint/ruint2 until remco is back
  • Feature-gate getrandom, document in README.md (#71)
  • Rename to Alloy (#69)
  • Enable feature(doc_cfg, doc_auto_cfg) (#67)
  • Remove syn "full" feature (#66)
  • Rename crates (#45)
  • Pre-release mega cleanup (#35)
  • Use crates.io uint, move crates to crates/* (#31)
  • Update error type (#22)
  • Readme build commands
  • Add another todo for @gakonst
  • More todo in readme, remove cargo.toml comment
  • Update readme todos
  • Remove dbgs
  • Unused imports in test
  • Docstrings and tests
  • Missing RLP docs

Other

  • Release 0.2.0 (#139)
  • Revert "test: bless tests after updating to syn 2.0.19 (#79)" (#80)
  • Add WASM job (#76)
  • Fix dep job, add feature-checks job (#64)
  • Fix rustdoc job, docs (#46)
  • Prestwich/crate readmes (#41)
  • Prestwich/ingest encode type (#15)
  • Add initial Continuous Integration Workflows using GitHub® Actions™ (#8)
  • Dynamic EIP-712 (#6)
  • Prestwich/int-edge-cases (#4)
  • Implement ABI for I256 (#5)
  • Prestwich/dyn enc (#2)
  • Simplify encode_params docs
  • Delete type aliases
  • Remove primitive-types dep, add from for B512
  • Naming in readme
  • Standardize on mod std_support
  • のこりなくちるぞめでたき桜花ありて世の中はてのうければ

Performance

  • Improve rlp, update Address methods (#118)

Refactor

  • Lifetimes for token types (#120)
  • Sol-macro expansion (#113)
  • Change is_dynamic to a const DYNAMIC (#99)
  • Implement SolType for {Ui,I}nt<N> and FixedBytes<N> with const-generics (#92)
  • sol! AST and macro expansion (#61)
  • Remerge SolType and SolDataType (#30)
  • Clean up abi crate structure
  • Split dyn-abi into a separate crate
  • Udt doesn't need phantomdata
  • Simplify types somewhat
  • Modularize signed int implementation
  • Remove unused error variant
  • Delete remainder of serde feature
  • Trim error type
  • Abi standardize on encode+single+params

Styling

  • Add fmt commit to .git-blame-ignore-revs (#43)
  • Add rustfmt.toml (#42)
  • Sol Type re-factoring (#20)

Testing

  • Add more json abi tests (#89)
  • Bless tests after updating to syn 2.0.19 (#79)
  • Change should_panic to catch_unwind
  • Test U1 sub
  • Add custom sol structs to tests and docs
  • Clean up some type check and add a couple new ones