core icon indicating copy to clipboard operation
core copied to clipboard

[Feature] Support sol outputting to a file

Open kayabaNerve opened this issue 1 year ago • 3 comments

Component

sol! macro

Describe the feature you would like

As ethers-contract allowed, alloy-contract should allow outputting the generated code to a file to allow manual inspection.

This allows anyone curious about how their specific contract had code generated (exact function API/type signatures) trivially inspect it, and can make the sol macro functionality a one-time dependency (to output to code once) or solely a build-time dependency.

Additional context

No response

kayabaNerve avatar Apr 14 '24 02:04 kayabaNerve

You can inspect any generated code with cargo-expand.

I might still add it for the build script use case though.

DaniPopes avatar Apr 14 '24 11:04 DaniPopes

AFAICT, this would be... 'trivially' resolved if SolMacroExpander were made public (enable functionally calling it, like one can with Abigen). I'm unsure I want to make a PR with that amount of an API commitment though. Happy to hear opinions/suggestions.

EDIT: SolMacroExpander would have to be moved to a new crate/into the sol-macro-input crate, unless the file exporting was part of the macro (and not functional like with Abigen) :/ I did get a PoC of what I'd like though.

kayabaNerve avatar Apr 15 '24 02:04 kayabaNerve

after #626 this should be pretty straightforward. cc @yash-atreya

prestwich avatar May 28 '24 13:05 prestwich