nim-codex/codex
Eric Mastro 92dc770fa2
[marketplace] check randomly assigned slot index is not already filled
When a storage request is handled by the sales module, a slot index was randomly assigned and then the slot was filled.

Now, the random slot index is checked that its state is `SlotState.Free` before continuing with the download process.

An additional sales agent state was added, preparing, that handles this step of assigning a random slot index. All state machine setup, such as retrieving the request and subscribing to events that were previously in the `SaleDownloading` state have been moved to `SalePreparing`. If all indices of the request have been filled, the state is changed to `SaleIgnored`.

# Conflicts:
#	codex/sales.nim
#	codex/sales/states/downloading.nim
#	codex/sales/states/filling.nim
#	tests/contracts/testInteractions.nim
2023-05-08 10:38:58 +10:00
..
blockexchange Enable stylecheck (#353) 2023-03-10 08:02:54 +01:00
contracts feat: contract address management (#405) 2023-05-03 09:24:25 +02:00
erasure Enable stylecheck (#353) 2023-03-10 08:02:54 +01:00
manifest Enable stylecheck (#353) 2023-03-10 08:02:54 +01:00
node [marketplace] Add Reservations Module (#340) 2023-04-04 17:05:16 +10:00
purchasing feat: collateral per slot (#390) 2023-04-14 11:04:17 +02:00
rest feat: collateral per slot (#390) 2023-04-14 11:04:17 +02:00
sales [marketplace] check randomly assigned slot index is not already filled 2023-05-08 10:38:58 +10:00
storageproofs Validator (#387) 2023-04-19 15:06:00 +02:00
stores adding some clarification comments (#391) 2023-04-10 14:45:10 -06:00
streams Block download (#304) 2022-11-15 09:46:21 -06:00
utils Validator (#387) 2023-04-19 15:06:00 +02:00
blockexchange.nim Change every dagger to codex (#102) 2022-05-19 13:56:03 -06:00
blocktype.nim Enable stylecheck (#353) 2023-03-10 08:02:54 +01:00
chunker.nim Block download (#304) 2022-11-15 09:46:21 -06:00
clock.nim Validator (#387) 2023-04-19 15:06:00 +02:00
codex.nim feat: contract address management (#405) 2023-05-03 09:24:25 +02:00
conf.nim feat: contract address management (#405) 2023-05-03 09:24:25 +02:00
contracts.nim feat: contract address management (#405) 2023-05-03 09:24:25 +02:00
discovery.nim Enable stylecheck (#353) 2023-03-10 08:02:54 +01:00
erasure.nim Change every dagger to codex (#102) 2022-05-19 13:56:03 -06:00
errors.nim Change every dagger to codex (#102) 2022-05-19 13:56:03 -06:00
formats.nim Remove protobuf serialization (#289) 2022-10-27 07:41:34 -06:00
manifest.nim Change every dagger to codex (#102) 2022-05-19 13:56:03 -06:00
market.nim Validator (#387) 2023-04-19 15:06:00 +02:00
namespaces.nim Repo limits (#319) 2022-12-02 18:00:55 -06:00
node.nim [node] fix: stop validator (#401) 2023-05-01 16:23:26 +02:00
periods.nim Validator (#387) 2023-04-19 15:06:00 +02:00
proving.nim Validator (#387) 2023-04-19 15:06:00 +02:00
purchasing.nim Load purchase state from chain (#283) 2022-11-08 08:10:17 +01:00
rng.nim [marketplace] check randomly assigned slot index is not already filled 2023-05-08 10:38:58 +10:00
sales.nim [marketplace] check randomly assigned slot index is not already filled 2023-05-08 10:38:58 +10:00
storageproofs.nim Validator (#387) 2023-04-19 15:06:00 +02:00
stores.nim Blockstore maintenance (#347) 2023-03-08 16:04:54 +01:00
streams.nim adding AsyncStreamWrapper (#110) 2022-06-14 09:19:35 -06:00
systemclock.nim Blockstore maintenance (#347) 2023-03-08 16:04:54 +01:00
utils.nim Download files without padding (#218) 2022-08-24 15:15:59 +03:00
validation.nim Validator (#387) 2023-04-19 15:06:00 +02:00