Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Choose/create an artifacts format #4

Closed
alcuadrado opened this issue May 28, 2018 · 5 comments
Closed

Choose/create an artifacts format #4

alcuadrado opened this issue May 28, 2018 · 5 comments

Comments

@alcuadrado
Copy link
Member

We are currently generating a slightly modified subset of Truffle's artifacts. This is implemented this was because we are Truffle Contracts, but we will remove it asap.

We should choose another artifacts format if there's a good one, or design our own.

This issue is specially important, and we want to have as much feedback as possible.

At the very least artifacts should allow linking, deploying and using already-deployed contracts. But we may also want to provide some extra functionality.

@jdkanani
Copy link

jdkanani commented Jun 19, 2018

Would be great if buidler could include deployedByteCode, sourceMap, deployedSourceMap, sources and id (to map back to sources) :)

Is there any reason or benefit for not using truffle's artifact format?

@alcuadrado
Copy link
Member Author

Truffle's artifact format is both incomplete and bloated. It doesn't include linkReferences, which makes linking libraries unnecessarily tricky, and it includes many things that are not used.

I'm not sure if the artifact is the right place to store information about deployments. I haven't came up with a clear alternative, but I think something better could be done.

I'd love to include source maps, but I need to play with tools that uses them first, to figure out what is the right way of doing it. Can you point me to any tool with source maps support?

@federicobond
Copy link
Contributor

evmlab has some source map support. I'm not a fan of including deployment info either. I think that requires a separate format.

@jdkanani
Copy link

jdkanani commented Jun 19, 2018

My mistake. I don't want deployment details in artifacts, but runtimeBytecode and runtimeSourceMap, I think truffle calls it deployedBytecode.

@alcuadrado sol-trace also uses source-map to trace revert opcode.

@shrugs
Copy link

shrugs commented Jul 29, 2018

I like the separation between deployment info and other artifact information. zos-cli places deployment info in the root of the project in another .json file, which I prefer. I'd like to be able to completely nuke my artifacts directory and re-instantiate it by compiling without losing any information.

nebojsa94 added a commit to Tenderly/buidler that referenced this issue Feb 4, 2020
[buidler-core] Console library generator refactor.
alcuadrado pushed a commit that referenced this issue Jun 2, 2020
fvictorio pushed a commit that referenced this issue Dec 10, 2020
* Make hardhat_reset work with interval mining

* Add a test that checks if interval mining works after hardhat_reset

* Add a "tests using sinon" describe

* Remove waitForAssert

* Fix import source

* Change tickAsync time

* Move pending txs check to another test

* Duplicate the test for forked provider

* Remove redundant lines in a test

Co-authored-by: Michał Sieczkowski <michal@ethworks.io>
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 19, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants