Releases: gnidan/abi-to-sol
v0.8.0
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 struct
s.). 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
Project updates
v0.7.1
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
- Properly support large JSON inputs (#107 by @gnidan and @SuperGNUS)
Dependency updates
- Bump decode-uri-component from 0.2.0 to 0.2.2 (#98 by @dependabot)
- Bump qs from 6.5.2 to 6.5.3 (#99 by @dependabot)
- Bump express from 4.17.1 to 4.18.2 (#100 by @dependabot)
- Bump json5 from 1.0.1 to 1.0.2 (#101 by @dependabot)
- Bump http-cache-semantics from 4.1.0 to 4.1.1 (#103 by @dependabot)
v0.7.0
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
Project updates
Dependency updates
- Bump @truffle/abi-utils to ^1.0.0 (#104) by @haltman-at)
v0.6.6
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
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
Dependency updates
-
Bump terser from 4.8.0 to 4.8.1 (#84 by @dependabot)
v0.6.4
v0.6.3
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
Dependency updates
- Bump parse-url from 6.0.0 to 6.0.2 (#75 by @dependabot)
v0.6.2
v0.6.1
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
Internal improvements
Dependency updates
- Bump eventsource from 1.1.0 to 1.1.1 (#66 by @dependabot)
v0.5.3
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
-
Bump follow-redirects from 1.14.1 to 1.14.7 (#50 by @dependabot)
-
Bump nanoid from 3.1.23 to 3.2.0 (#51 by @dependabot)
-
Bump node-fetch from 2.6.1 to 2.6.7 (#52 by @dependabot)
-
Bump trim-off-newlines from 1.0.1 to 1.0.3 (#53 by @dependabot)
-
Bump follow-redirects from 1.14.7 to 1.14.8 (#55 by @dependabot)
-
Bump url-parse from 1.5.3 to 1.5.10 (#57 by @dependabot)
-
Bump minimist from 1.2.5 to 1.2.6 (#58 by @dependabot)
-
Bump async from 2.6.3 to 2.6.4 (#59 by @dependabot)
-
Bump simple-get from 2.8.1 to 2.8.2 (#60 by @dependabot)