* Move to ethers 6 and use hardhat ignition for deployments
* Update prettier to the last version
* Remove comment
* Remove npx call in package.json
* Remove useless comment
* Add localhost configuration for hardhat ignition
* Use contract initial balance instead of const value
* Update dependencies and use extract mining to a script in order to use hardhat ignition deploy command
* Fix deployment modules for local env
* Remove unused function
* Export contract deployment custom error assert into a function
* Refactoring
* Remove old deployments folder
* Add process names when running concurrently
* Remove conditional allowBlocksWithSameTimestamp, set true everytime
* Update dependencies
* Update Vault tests for ignition
* Update token description
* Add vault ignition module
* Remove old .tool-versions
* Fix formatting
* Remove deployments folder and add README for previous files references
* Put back the comment related to hardhat automine
* Set hardhat gas limit to auto and restore manual mining for Vault tests
* Apply prettier formatting and bug test with ignition syntax
* Add deployments artifacts
* Fix build-info ignore
* Use HARDHAT_NETWORK env variable to deploy marketplace contract
* Add guard to check that configs has tags
* Add testnet deployment addresses
* Add TOKEN_ADDRESS to reuse the token contract deployed
* Fix token deployment with contractAt
* Remove localhost deployment artifacts
* Add section in README for deployments
* Ignore localhost deployments in git
* Set mine script for localhost deployment only and add deploy reset command
* Remove previous deployment scripts
* Fix typo in documentation
* Add log when reusing token address
* Update testnet artifact reference
* Remove HARDHAT_NETWORK and update documentation
* fix md format
* Npm audit fix
* Update dependencies
* Remove default deployer
* Update commit for last testnet artifacts
* Remove deployments files from linea and testnet and update the last commit hashes to those artifacts
- use the `allowBlocksWithSameTimestamp` hardhat option
- remove block time gymnastics from marketplace tests
- fix erroneous implementation of requestEnd() which
surfaced because of the the improved tests
* Remove the mapping _probabilities
* Fix the slot propability calculation test by filling slot only instead of requiring proofs
* Remove custom errorr Proofs_InvalidProbability not used anymore
Proofs should be required from the moment a slot is filled,
not from the moment a request is submitted.
This reverts commit f224cb8eda74a166f0bb3020032026a8dec26466.
Rationale: in practice, a ProofId was always a slot id, and
an EndId was always a request id. Now that the definitons
of SlotId and RequestId are separated from the Marketplace,
we can import and use them.
1. Remove proof extension as it is not needed. Host are required to provide proofs from the moment they fill a slot, for the duration specified by the contract. This means that the ending of their requirements will be staggered at the end, as they were at the start, but this is more predicable for determining the cost of a request.
2. The proof end time was modified so that if the request state is not accepting proofs, it takes the min of the slot proof end time, the request end time, or block.timestamp - 1, which ensures that it returns a time in the past. If the slot is accepting proofs, it returns the slot end time.
3. Modify marketplace tests so that `waitUntilFinished` advances time to the proof ending of the last slot filled.
1. Replace all instances of `now()` with `await currentTime()` to get a more accurate representation of time from the block timestamp. Update examples.js to be async.
2. Move `RequestState` to `marketplace.js`
3. Delete `TestStorage` as `slashAmount` function no longer needed.
Allow proof ending to be extending once a contract is started, so that all filled slots share an ending time that is equal to the contract end time. Added tests.
Add a mapping for proof id to endId so that proof expectations can be extended for all proofs that share a given endId.
Add function modifiers that require the request state to allow proofs, with accompanying tests.
General clean up of each function’s request state context, with accompanying tests.
General clean up of all tests, including state change “wait” functions and normalising the time advancement functions.