Open alcuadrado opened 1 month ago
Interesting timing. I was just wishing for this. Here's my use case in case you care about user stories:
I am deploying a fairly large set of contracts and data in a test environment with automining. There are 622 transactions in my deploy.
Some of my contracts rely on blockchain timing; automining increments the clock a little, and my local hardhat node ends up 10 minutes or so ahead of wall time. This causes terrible problems during testing, so I'd like to be able to set the time on the chain manually after we're all done with our deploy.
Hi @vessenes , I don't think the problem you're describing is impacted by this issue actually. I'd look through the Hardhat Network docs and see if anything there might help you. Specifically, either evm_increasetime
or evm_setnextblocktimestamp
I think might help you.
Describe the feature
Problem
In some situations, a user needs to express that a
Future
should only be executed after anIgnitionModule
has been executed.We have already covered this for one case, where the
Future
depends on aContractFuture
exported by theIgnitionModule
, as theFuture
implicitly depends on the entireIgnitionModule
(what we jokingly call The Malaga rule).There are cases where no
ContractFuture
is exported from theIgnitionModule,
and you still need to be able to express this. Right now, this leads to a workaround where aContractFuture
is unnecessarily defined and exported, as shown by The Graph's module definitions.Solution
We could have an explicit way to express "after module".
A possible syntax could be something like:
This could be quickly done by adding all the futures as dependencies of
foo
, but it is probably worth making it a first-class citizen to be able to properly communicate and display it in thevisualize
task.For future reference
I already validated this with the team at The Graph here.
Search terms
modules