[x] removing feeds from hosting (not avail, then cancel plan and make new one)
[ ] removing also all open schedulers for this role/plan
end plan triggers => time, budget, traffic, price => how do we end this (in JS or chain?)
regions in the form: geohashes
DAY 2
duplicate plans (what to do if same sponsor published exactly same plan?)
DAY 3
[x] Scheduler: instead of one time challenge, chain should trigger regular challenges
DAY 4
remove feed and plan from unhosted
DAY 5
[ ] if CONTRACT doesn't run through (replace additional contract with...)
[x] triggered in hostingStarts fn => check if 3 hosters
[ ] notify failed hoster that they're out (to avoid zombie hosters), repeat the contract with same hosters that are successfully hosting + additional new one + select 1 encoder per 1 additional hoster (role of other encoders can be fulfilled by activeHosters, which send encoded to the attestor to compare with new encoded data for new hoster)
if provider unregisters, we don't assign them new jobs & we make challenges figure out they dropped for their active jobs
needed STATUSES
hoster => which active contracts they have
[x] certain contract => how many hosters active
DAY NEXT
[ ] tryContract only when plan.from (not immediately)
when newPlan is published schedule it in x blocks (based on plan.from)
don't immediately add plan to DB.unhostedPlans => add it only once it's ready to be hosted
[ ] challenges should happen only when data is supposed to be hosted (Plan start and Plan until time)
DAY NEXT
add hosterID to performanceChallenge
rewrite perfomance challenge logic to fetch directly from the hoster
DAY 1
DAY 2
DAY 3
DAY 4
DAY 5
[ ] if CONTRACT doesn't run through (replace additional contract with...)
if provider unregisters, we don't assign them new jobs & we make challenges figure out they dropped for their active jobs
needed STATUSES
DAY NEXT
DAY NEXT