Skip to content

Releases: gnidan/abi-to-sol

v0.8.0

08 Jun 01:50
9a4e0b4
Compare
Choose a tag to compare

abi-to-sol v0.8.0

This release adds support for user-defined value types, introduced in Solidity v0.8.8. If you supply an ABI JSON that uses UDVTs in its external interface, abi-to-sol will now output a type MyUdvt is uint256 (e.g.) statement and use that name in the ABI functions/events that use it (provided that your desired solc range is at least ^0.8.8).

Cautionary notes / please give me a heads up if there are problems!

This release is quite large in terms of internal changes. Originally, I built abi-to-sol to keep track only of the struct types that a given ABI uses, so the internals were pretty naive. Since UDVTs can now possibly appear as part of a contract's ABI, it's become worthwhile to redo how abi-to-sol keeps track of everything that needs a declaration. (Notice how the "BunchaStructs" example in the abi-to-sol web UI shows how diffrent type declarations get grouped into their pre-defined namespaces.)

Looking ahead towards addressing #41, I really want abi-to-sol to be able to accept multiple ABIs for multiple contracts in the same project (e.g., specify the various ABIs you need for Uniswap v3, all at once), since doing those one-at-a-time today means you'll be deleting a lot of duplicative structs.). The work in this release to support UDVTs should hopefully pave the way for this new behavior, which seems like a good v1.0.0 target.

In the meantime, I'd appreciate any testing you all could provide! I tried to be quite thorough in checking for software regressions, but it's possible I missed something with a change this large. Please do open an issue at the first sign of trouble!

Release changes

New features

  • Rearchitect declaration internals to support UDVTs (#114 by @gnidan)

Project updates

v0.7.1

26 May 08:22
1336b70
Compare
Choose a tag to compare

abi-to-sol v0.7.1

This release fixes a breakage where abi-to-sol did not properly handle large JSON inputs. Thanks @gsscoder for reporting this and @SuperGNUS for figuring it out!

Release changes

Bug fixes

Dependency updates

v0.7.0

20 May 02:06
6f5996b
Compare
Choose a tag to compare

abi-to-sol v0.7.0

This release adds a new feature to allow abi-to-sol to generate embeddable output -- that is to say, output that can be appended to an existing Solidity file; no pragma, no license identifier, etc. You can specify this with the command-line option --embedded (or -E); when used as a library, it's specified by the option { mode: "embedded" }, as opposed to the default { mode: "normal" }.

Release changes

New features

  • Allow producing embeddable output, e.g. no pragma (#91 by @gnidan)

Project updates

Dependency updates

v0.6.6

25 Aug 04:53
4469a18
Compare
Choose a tag to compare

abi-to-sol v0.6.6

Just a few dependency updates and import statement cleanup. Thank you @benjamincburns and @cds-amal for doing the legwork on #92!

Release changes

Internal improvements

Dependency updates

  • Bump @truffle/abi-utils to ^0.3.0, drop dependency @truffle/codec (#92 by @benjamincburns)

v0.6.5

05 Aug 01:07
3e528de
Compare
Choose a tag to compare

abi-to-sol v0.6.5

This release is mostly dependency updates, plus a minor change to requirements: abi-to-sol no longer recommends usage via npx without being installed first. (See #67 for why)

Release changes

Project updates

  • Update README to remove npx support (#83 by @gnidan)

Dependency updates

v0.6.4

17 Jul 06:03
7b726ef
Compare
Choose a tag to compare

abi-to-sol v0.6.4

This is just a dependency update to bring prettier and prettier-plugin-solidity to latest.

Release changes

Dependency updates

  • Upgrade prettier-plugin-solidity and prettier to latest (#80 by @gnidan)

v0.6.3

17 Jul 03:59
4809554
Compare
Choose a tag to compare

abi-to-sol v0.6.3

This release fixes a bug where abi-to-sol wasn't producing syntactically-valid output for Solidity function type parameters. This has now been fixed!

Note: for best results, please ensure the input ABI JSON includes the non-spec internalType field. For details on this, please see issue #76, specifically the comment about handling when this field is missing.

Thanks to @esaulpaugh for identifying this problem!

Release changes

Bug fixes

  • Produce valid syntax for function type params (#77 by @gnidan)

Dependency updates

v0.6.2

05 Jul 18:19
54f691c
Compare
Choose a tag to compare

abi-to-sol v0.6.2

Just a quick dependency update; thanks @cds-amal for contributing!

Release changes

Dependency updates

  • Bump @truffle/codec from ^0.11.24 to ^0.13.2 (#72 by @cds-amal)

v0.6.1

21 Jun 21:18
edf88a3
Compare
Choose a tag to compare

abi-to-sol v0.6.1

This "new feature" release adds two CLI flags:

  • --no-source (or -S) omits the source ABI JSON listing at the end of output
  • --no-attribution (or -A) omits the "autogenerated by abi-to-sol" notice at the top of output

Thanks for the suggestion, @jorijnsmit!

In addition, this release marks the switch in Node.js's maintenance lifecycle: this package now supports Node.js >=14 <19. (Node.js v12 has been dropped, and Node.js v18 has been added.)

Release changes

New features

  • Add --no-attribution and --no-source flags (#69 by @gnidan)

Internal improvements

  • Update to Node.js LTS (#63 by @gnidan)

  • Update copyright notice (#64 by @gnidan)

  • Add version feature knowledge for user-defined value types (#65 by @gnidan)

Dependency updates

v0.5.3

30 Apr 16:59
5e31b7d
Compare
Choose a tag to compare

abi-to-sol v0.5.3

Just some dependency updates (mostly dependabot, but also a @truffle/codec dependency that was causing security warnings)

Release changes

Dependency updates