* 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
* changes reward => pricePerByte
* collateral => collateralPerByte
* updates tests
* introduces AskHelpers to compute price and collateral per slot
* adds public view function returning currentCollateral for the slot
* updates names for price and collateral
* uses pricePerSlotPerSecond in maxPriceHelper
* adds collateralPerSlot helper
* makes sure that the intended use of the <<currentCollateral>> view function is demonstrated in tests
* formatting
* fix comment
* mints more tokens so that it can be used with contracts tests in nim-codex
* Renaming <<collateral>> and <<reward>> to <<collateralPerByte>> and <<pricePerBytePerSecond>> respectively (merged in the meantime to the master)
* feat(slot-reservations): Allow slots to be reserved
Closes#175.
Allows reservation of slots, without an implementation of the expanding window.
- Add a function called `reserveSlot(address, SlotId)`, that allows three unique addresses per slot to be reserved, that returns bool if successful.
- Use `mapping(SlotId => EnumerableSet.AddressSet)`
- Return false if the address could not be added to the set (if `EnumerableSet.add` returns false)
- Add `canReserveSlot(address, SlotId)`
- Return `true` if set of reservations is less than 3 and the set doesn't already contain the address
- Return `true` otherwise (for now, later add in logic for checking the address is inside the expanding window)
- Call `canReserveSlot` from `reserveSlot` as a `require` or invariant
- Add `SlotReservations` configuration struct to the network-level config, with `maxReservations`
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.