nim-codex/codex
Eric 4c51dca299
feat(slot-reservations): Add SaleSlotReserving state (#917)
* convert EthersError to MarketError

* change `canReserveSlot` and `reserveSlot` parameters

Parameters for `canReserveSlot` and `reserveSlot` were changed from `SlotId` to `RequestId` and `UInt256 slotIndex`.

* Add SaleSlotReserving

Adds a new state, SaleSlotReserving, that attempts to reserve a slot before downloading.
If the slot cannot be reserved, the state moves to SaleIgnored.
On error, the state moves to SaleErrored.

SaleIgnored is also updated to pass in `reprocessSlot` and `returnBytes`, controlling the behaviour in the Sales module after the slot is ignored. This is because previously it was assumed that SaleIgnored was only reached when there was no Availability. This is no longer the case, since SaleIgnored can now be reached when a slot cannot be reserved.

* Update SalePreparing

Specify `reprocessSlot` and `returnBytes` when moving to `SaleIgnored` from `SalePreparing`.

Update tests to include test for a raised CatchableError.

* Fix unit test

* Modify `canReserveSlot` and `reverseSlot` params after rebase

* Update MockMarket with new `canReserveSlot` and `reserveSlot` params

* fix after rebase

also bump codex-contracts-eth to master
2024-10-04 06:16:11 +00:00
..
blockexchange Update advertising (#862) 2024-08-26 13:18:59 +00:00
contracts feat(slot-reservations): Add SaleSlotReserving state (#917) 2024-10-04 06:16:11 +00:00
erasure Bandaid for failing erasure coding (#855) 2024-07-03 14:44:00 +00:00
manifest Chronos v4 Update (v3 Compat Mode) (#814) 2024-07-18 21:04:33 +00:00
merkletree Block deletion with ref count & repostore refactor (#631) 2024-06-20 22:46:06 +00:00
purchasing feat: expiry specified with number of seconds (#793) 2024-05-06 17:35:46 +02:00
rest API tweaks for OpenAPI, errors and endpoints (#886) 2024-09-24 08:37:08 +00:00
sales feat(slot-reservations): Add SaleSlotReserving state (#917) 2024-10-04 06:16:11 +00:00
slots Rework circuit downloader (#882) 2024-09-23 14:37:17 +00:00
stores Update advertising (#862) 2024-08-26 13:18:59 +00:00
streams Fix StoreStream so it doesn't return parity bytes (#838) 2024-06-21 11:09:59 +00:00
utils Rework AsyncIter (#811) 2024-06-10 22:47:29 +00:00
blockexchange.nim Change every dagger to codex (#102) 2022-05-19 13:56:03 -06:00
blocktype.nim Chronos v4 Update (v3 Compat Mode) (#814) 2024-07-18 21:04:33 +00:00
chunker.nim Cleanup integration tests (#757) 2024-05-23 15:29:30 +00:00
clock.nim Revert "remove call to `waitFor` from clock.now and make it async (#691)" (#707) 2024-02-16 22:12:16 +00:00
codex.nim Validator - support partitioning of the slot id space (#890) 2024-10-02 22:00:40 +00:00
codextypes.nim wire in circom backend (#698) 2024-02-09 21:40:30 +00:00
conf.nim Validator - support partitioning of the slot id space (#890) 2024-10-02 22:00:40 +00:00
contracts.nim feat: contract address management (#405) 2023-05-03 09:24:25 +02:00
discovery.nim Update logging for download (#799) 2024-05-16 10:06:12 -07:00
erasure.nim Improving proc/func formatting consistency (#454) 2023-06-22 08:11:18 -07:00
errors.nim Build slots (#668) 2024-01-11 08:45:23 -08:00
indexingstrategy.nim Fix verifiable manifest initialization (#839) 2024-06-21 22:50:56 +00:00
logutils.nim refactor: use serde for json de/serialization instead of utils/json (#704) 2024-03-19 03:25:13 +00:00
manifest.nim Update multicodecs (#665) 2023-12-22 13:04:01 +01:00
market.nim feat(slot-reservations): Support reserving slots (#907) 2024-10-04 03:21:51 +00:00
merkletree.nim Build slots (#668) 2024-01-11 08:45:23 -08:00
namespaces.nim Blockexchange uses merkle root and index to fetch blocks (#566) 2023-11-14 13:02:17 +01:00
node.nim Update advertising (#862) 2024-08-26 13:18:59 +00:00
periods.nim Validator (#387) 2023-04-19 15:06:00 +02:00
purchasing.nim feat: expiry specified with number of seconds (#793) 2024-05-06 17:35:46 +02:00
rng.nim track latest nim-libp2p's master branch (#248) 2022-11-02 11:40:28 -06:00
sales.nim API tweaks for OpenAPI, errors and endpoints (#886) 2024-09-24 08:37:08 +00:00
slots.nim wire in circom backend (#698) 2024-02-09 21:40:30 +00:00
stores.nim Rework merkle tree (#654) 2023-12-21 06:41:43 +00:00
streams.nim adding AsyncStreamWrapper (#110) 2022-06-14 09:19:35 -06:00
systemclock.nim Revert "remove call to `waitFor` from clock.now and make it async (#691)" (#707) 2024-02-16 22:12:16 +00:00
units.nim Block deletion with ref count & repostore refactor (#631) 2024-06-20 22:46:06 +00:00
utils.nim Fixes active cancellation for pending want requests (#714) 2024-02-22 14:54:45 +00:00
validation.nim Validator - support partitioning of the slot id space (#890) 2024-10-02 22:00:40 +00:00
validationconfig.nim Validator - support partitioning of the slot id space (#890) 2024-10-02 22:00:40 +00:00