Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FIP-0076: Merge integration/direct-onboarding into master #1486

Merged
merged 32 commits into from
Jan 23, 2024

Conversation

anorth
Copy link
Member

@anorth anorth commented Dec 19, 2023

See https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0076.md

This code was originally reviewed when landing on integration/direct-onboarding in these PRs. For any blocking changes (or sufficient non-blocking ones), I'll make a new PR against that base to resolve them.

Reviewers: in addition to checking over the code please point to or suggest additional testing we can do following the merge.

Note this code also contains the following FIP amendments:

Closes #1342.

Copy link
Member

@Stebalien Stebalien left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First pass of a code review.

actors/market/src/deal.rs Show resolved Hide resolved
actors/market/src/types.rs Show resolved Hide resolved
actors/miner/src/commd.rs Outdated Show resolved Hide resolved
actors/miner/src/state.rs Show resolved Hide resolved
actors/miner/src/state.rs Show resolved Hide resolved
Comment on lines +685 to +687
if let Some(existing_deal_ids) = existing_deal_ids {
// The filter below is a linear scan of deals_to_remove.
// This is expected to be a small list, often a singleton, so is usually
// pretty fast.
// Loading into a HashSet could be an improvement for large collections of deals
// in a single sector being removed at one time.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Won't this always be all the deals in the sector? Given that:

  1. Cron is paying for it.
  2. An SP can create a sector with a lot of deals (thousands?).

This makes be a bit uncomfortable.

If we don't expect missing deals, we can sort then filter:

                    deals_to_remove.sort();
                    let deals_to_remove = deals_to_remove.iter().peekable();
                    let new_deals = existing_deal_ids // assume sorted?
                        .deals
                        .iter()
                        .filter(|deal_id| deals_to_remove.next_if_eq(deal_id).is_none())
                        .cloned()
                        .collect();

(we can skip missing deals, it's just slightly less clean).

Copy link
Member Author

@anorth anorth Jan 15, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Won't this always be all the deals in the sector?

Only if they all expire at around the same epoch.

Also there is a policy limit of 256 deals / sector, at least in the current precommit-based and non-DDO flow. You've inadvertently pointed to an interesting item that there is not a policy limit on the number of piece manifests activated with an individual sector in the new flow. This is relevant to concurrent discussion about removing artificial policy limits that could be better limited by gas.

With FIP-0074 cron will no longer pay for this (for new deals). The deal client will specify the deals to settle, which becomes deals_to_remove. We need to non-trivially rebase that code on FIP-0076 after landing this, but I expect the issue to become pretty minor.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only if they all expire at around the same epoch.

It's more a matter of it being under the control of the miner (who can self-deal here).

Also there is a policy limit of 256 deals / sector

Ok, that makes me feel a lot better (although 256^2 is still a fair amount).

With FIP-0074 cron will no longer pay for this (for new deals). The deal client will specify the deals to settle, which becomes deals_to_remove. We need to non-trivially rebase that code on FIP-0076 after landing this, but I expect the issue to become pretty minor.

Ah, is that slated for this upgrade? If so, I have no more concerns here.

actors/market/src/lib.rs Outdated Show resolved Hide resolved
actors/market/src/lib.rs Outdated Show resolved Hide resolved
actors/market/src/lib.rs Outdated Show resolved Hide resolved
actors/market/src/lib.rs Outdated Show resolved Hide resolved
Copy link
Member

@Stebalien Stebalien left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another chunk (lots of nits you can ignore, some you probably shouldn't).

actors/market/src/state.rs Outdated Show resolved Hide resolved
actors/market/src/lib.rs Outdated Show resolved Hide resolved
actors/market/src/lib.rs Outdated Show resolved Hide resolved
actors/market/src/lib.rs Outdated Show resolved Hide resolved
actors/market/src/lib.rs Outdated Show resolved Hide resolved
actors/market/src/lib.rs Outdated Show resolved Hide resolved
actors/market/src/lib.rs Outdated Show resolved Hide resolved
actors/market/src/lib.rs Outdated Show resolved Hide resolved
anorth added a commit that referenced this pull request Jan 15, 2024
@anorth
Copy link
Member Author

anorth commented Jan 15, 2024

Thanks for the review. I think the only significant item I haven't addressed in #1499 is #1486 (comment) . I propose that we leave it as-is until after rebasing and landing #1483 on top of this. Then it will be merely a question of efficiency of large batches, which we should probably improve but isn't critical. (I would say it must handle missing deals, so can't directly use the code you suggested).

anorth added a commit that referenced this pull request Jan 15, 2024
anorth added a commit that referenced this pull request Jan 16, 2024
Response to review on #1486
@anorth
Copy link
Member Author

anorth commented Jan 16, 2024

I've merged the changes from #1499 into here and will mark the associated comments as resolved.

)?;
// Drop invalid inputs.
let update_sector_infos: Vec<UpdateAndSectorInfo> =
batch_return.successes(&update_sector_infos).iter().map(|x| (*x).clone()).collect();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
batch_return.successes(&update_sector_infos).iter().map(|x| (*x).clone()).collect();
batch_return.successes(&update_sector_infos).into_iter().cloned().collect();

Comment on lines 904 to 905
let data_activation_inputs: Vec<DealsActivationInput> =
update_sector_infos.iter().map(|x| x.into()).collect();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

note: we do import the itertools crate, so you can write this as:

Suggested change
let data_activation_inputs: Vec<DealsActivationInput> =
update_sector_infos.iter().map(|x| x.into()).collect();
let data_activation_inputs: Vec<DealsActivationInput> =
update_sector_infos.iter().map_into().collect();

(but that is relying on an external crate, so up to you)

actors/miner/src/types.rs Show resolved Hide resolved
runtime/src/runtime/policy.rs Show resolved Hide resolved
actors/miner/src/types.rs Show resolved Hide resolved
actors/miner/src/notifications.rs Show resolved Hide resolved
actors/miner/src/notifications.rs Outdated Show resolved Hide resolved
new_deals.deals.extend(existing_deal_ids.deals.iter());
}
new_deals.deals.sort();
new_deals.deals.dedup();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SGTM. Just wanted to make sure this was intentional.

actors/market/src/lib.rs Outdated Show resolved Hide resolved
Comment on lines +685 to +687
if let Some(existing_deal_ids) = existing_deal_ids {
// The filter below is a linear scan of deals_to_remove.
// This is expected to be a small list, often a singleton, so is usually
// pretty fast.
// Loading into a HashSet could be an improvement for large collections of deals
// in a single sector being removed at one time.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only if they all expire at around the same epoch.

It's more a matter of it being under the control of the miner (who can self-deal here).

Also there is a policy limit of 256 deals / sector

Ok, that makes me feel a lot better (although 256^2 is still a fair amount).

With FIP-0074 cron will no longer pay for this (for new deals). The deal client will specify the deals to settle, which becomes deals_to_remove. We need to non-trivially rebase that code on FIP-0076 after landing this, but I expect the issue to become pretty minor.

Ah, is that slated for this upgrade? If so, I have no more concerns here.

Copy link
Member

@Stebalien Stebalien left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably my last comments.

Comment on lines 1010 to 1011
sector_infos.push(sectors.must_get(update.sector)?);
let sector_type = sector_infos.last().unwrap().seal_proof;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
sector_infos.push(sectors.must_get(update.sector)?);
let sector_type = sector_infos.last().unwrap().seal_proof;
let sector = sectors.must_get(update.sector)?
let sector_type = sector.seal_proof;
sector_infos.push(sector);

Comment on lines 1160 to 1167
let mut notifications: Vec<ActivationNotifications> = vec![];
for (update, sector_info) in successful_manifests {
notifications.push(ActivationNotifications {
sector_number: update.sector,
sector_expiration: sector_info.expiration,
pieces: &update.pieces,
});
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit:

Suggested change
let mut notifications: Vec<ActivationNotifications> = vec![];
for (update, sector_info) in successful_manifests {
notifications.push(ActivationNotifications {
sector_number: update.sector,
sector_expiration: sector_info.expiration,
pieces: &update.pieces,
});
}
let notifications: Vec<ActivationNotifications> = successful_manifests
.into_iter()
.map(|(update, sector_info)| ActivationNotifications {
sector_number: update.sector,
sector_expiration: sector_info.expiration,
pieces: &update.pieces,
})
.collect();

(for simple cases, not really critical I guess).

Comment on lines 1482 to 1495
if let Some(compact_commd) = &precommit.unsealed_cid {
if let Some(commd) = compact_commd.0 {
if !is_unsealed_sector(&commd) {
return Err(actor_error!(
illegal_argument,
"unsealed CID had wrong prefix"
));
}
}
} else {
return Err(actor_error!(
illegal_argument,
"unspecified CompactCommD not allowed past nv21, need explicit None value for CC or CommD"
));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

            match &precommit.unsealed_cid {
                Some(Some(compact_commd)) if !is_unsealed_sector(&commd) => {
                    return Err(actor_error!(illegal_argument, "unsealed CID had wrong prefix"));
                }
                None => return Err(actor_error!(
                                illegal_argument,
                                "unspecified CompactCommD not allowed past nv21, need explicit None value for CC or CommD")),
                _ => {},
            }

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(slightly easier to read, IMO)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

but won't work because there's a tuple struct in the middle, maybe this?

            match precommit.unsealed_cid.as_ref().and_then(|c| c.0.as_ref()) {
                Some(compact_commd) if !is_unsealed_sector(&compact_commd) => {

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah. It can also be written as:

            match &precommit.unsealed_cid {
                Some(CompactCommD(Some(commd))) if !is_unsealed_sector(commd) => {
                    return Err(actor_error!(illegal_argument, "unsealed CID had wrong prefix"));
                }
                None => return Err(actor_error!(
                                illegal_argument,
                                "unspecified CompactCommD not allowed past nv21, need explicit None value for CC or CommD")),
                _ => {},
            }

if commd.0 != *computed_cid {
return Err(actor_error!(illegal_argument, "computed {:?} and passed {:?} CommDs not equal",
computed_cid, commd));
let declared_commd = precommit.unsealed_cid.unwrap();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will this not be an issue during a migration period? Can there not be "null" pre-commits on-chain right now?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is checked as a precondition earlier in this method (the code block that your previous comment is attached to). But thanks - you've pointed out that we can remove this Option now. I'll do it in a follow-up.

Comment on lines 3932 to 3933
&[update.sector_info.clone()],
&[new_sector_info.clone()],
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perf nit:

Suggested change
&[update.sector_info.clone()],
&[new_sector_info.clone()],
std::slice::from_ref(&update.sector_info),
std::slice::from_ref(&new_sector_info),

(you can transform a reference into a size-one slice with no copying)

ZenGround0 and others added 22 commits January 23, 2024 09:51
* Simplify input to activate_sectors_deals
* Remove old PRU2 and parameter types
* Reuse PRU2 name for DDO PRU fka PRU 3

---------

Co-authored-by: zenground0 <[email protected]>
* Tests and fixes for ProveReplicaUpdates2

* Helper function
Tests that CommD computed from pieces must match that declared at precommit. Tests that updating an empty replica to be empty is permitted (later, when we allow updates to non-empty replicas, it won't be a no-op).
Response to review on #1486
This just avoids some awkward unwraps.
@anorth anorth force-pushed the integration/direct-onboarding branch from 9b48125 to db65674 Compare January 22, 2024 20:51
anorth added a commit that referenced this pull request Jan 22, 2024
@anorth
Copy link
Member Author

anorth commented Jan 23, 2024

#1508 has landed with final review responses.

@anorth anorth merged commit eb12dcf into master Jan 23, 2024
14 checks passed
anorth added a commit that referenced this pull request Jan 23, 2024
Response to review on #1486
aarshkshah1992 added a commit that referenced this pull request Jan 31, 2024
commit f0a0631
Author: Aarsh Shah <[email protected]>
Date:   Wed Jan 31 11:57:31 2024 +0400

    emit event during settling payments

commit a35b1cc
Merge: 1722310 859c731
Author: Aarsh Shah <[email protected]>
Date:   Tue Jan 30 09:47:20 2024 +0400

    Merge remote-tracking branch 'origin/master' into feat/ddo-actor-events

commit 1722310
Author: Aarsh Shah <[email protected]>
Date:   Mon Jan 29 14:04:27 2024 +0400

    Apply suggestions from code review

    Co-authored-by: Rod Vagg <[email protected]>

commit b149550
Merge: 803f420 d0b8d9c
Author: Aarsh Shah <[email protected]>
Date:   Mon Jan 29 14:00:12 2024 +0400

    Merge remote-tracking branch 'origin/integration/manual-settlement' into feat/ddo-actor-events

commit d0b8d9c
Author: Alex Su <[email protected]>
Date:   Mon Oct 16 09:09:28 2023 +1100

    Use ExitCode::USR_NOT_FOUND for missing state in GetDealActivation (#1441)

    * hide deals that are asynchronously termianted in get_deal_activation

    * add test for EX_DEAL_EXPIRED behaviour

commit c6227a2
Author: Alex Su <[email protected]>
Date:   Mon Oct 9 13:00:46 2023 +1100

    Additional tests for synchronous termination and SettleDealPayments (#1423)

    * rename some tests and comments to no longer reference slashed_epoch which will never be observable

    * port cron tick tests for deal termination

    * move deal termination tests

    * modify generate and publish deal to return proposal inline

    * fix bug when settling payments between between publish and activation

    * deal termination edge cases

    * pr review

commit 21baa60
Author: Alex Su <[email protected]>
Date:   Fri Sep 8 12:29:14 2023 +1000

    Explicit deal settlement in built-in market (#1377)

commit 803f420
Author: Aarsh Shah <[email protected]>
Date:   Tue Jan 23 18:21:17 2024 +0400

    changes

commit 78ec9f6
Merge: c90fafe e671d69
Author: Aarsh Shah <[email protected]>
Date:   Tue Jan 23 18:21:02 2024 +0400

    Merge remote-tracking branch 'origin/integration/direct-onboarding' into feat/ddo-actor-events

commit e671d69
Author: Alex North <[email protected]>
Date:   Tue Jan 23 14:07:21 2024 +1300

    More review response for #1486. (#1508)

commit db65674
Author: Steven Allen <[email protected]>
Date:   Wed Jan 17 10:56:30 2024 -0800

    Cleanup batch return merge logic (#1503)

    This just avoids some awkward unwraps.

commit 84b0c00
Author: Alex North <[email protected]>
Date:   Wed Jan 17 09:05:16 2024 +1300

    Response to review on #1486 (#1499)

    Response to review on #1486

commit 049b9c7
Author: Steven Allen <[email protected]>
Date:   Mon Jan 15 12:48:17 2024 -0800

    chore: remove unnecessary clone of piece payload (#1494)

commit 9334a87
Author: Alex North <[email protected]>
Date:   Tue Jan 9 07:04:12 2024 +1300

    Add aggregate proof type parameter to ProveCommitSectors3 (#1489)

commit 4126ccb
Author: Alex North <[email protected]>
Date:   Fri Dec 22 07:17:28 2023 +1100

    Add missing vm_test annotations. (#1488)

commit 3ad21ac
Author: Alex North <[email protected]>
Date:   Tue Dec 19 11:49:23 2023 +1100

    Rename PCS2/PRU2 to PCS3/PRU3 (#1485)

commit 53cb47e
Author: Alex North <[email protected]>
Date:   Tue Dec 19 11:08:21 2023 +1100

    Transparent serialization for ProveReplicaUpdates2Return (#1484)

commit 5cdfc2f
Author: Alex North <[email protected]>
Date:   Tue Oct 31 13:49:37 2023 +1100

    Integration test for prove_replica_updates2 (#1453)

commit 0f8c593
Author: Alex North <[email protected]>
Date:   Tue Oct 31 12:52:33 2023 +1100

    Integration test for prove_commit_sectors2 (#1450)

commit 5cecdf6
Author: Alex North <[email protected]>
Date:   Tue Oct 31 11:52:06 2023 +1100

    Add GetDealSector exported API method to market actor (#1443)

commit 21c01a9
Author: Alex North <[email protected]>
Date:   Tue Oct 17 05:20:35 2023 +1100

    More tests for direct data onboarding (#1440)

    Tests that CommD computed from pieces must match that declared at precommit. Tests that updating an empty replica to be empty is permitted (later, when we allow updates to non-empty replicas, it won't be a no-op).

commit 47e1cf1
Author: Alex North <[email protected]>
Date:   Mon Oct 16 07:18:28 2023 +1100

    Tests for prove_commit_sectors2 (#1437)

commit a108360
Author: Alex North <[email protected]>
Date:   Thu Sep 28 03:11:22 2023 +1000

    Tests for ProveCommitSectors2 for cases that abort entirely (#1414)

commit ff66f79
Author: Alex North <[email protected]>
Date:   Sat Sep 23 05:05:35 2023 +1000

    Check state invariants in direct onboarding tests (#1416)

commit 3354d8a
Author: Alex North <[email protected]>
Date:   Sat Sep 16 04:23:58 2023 +1000

    Tests and fixes for ProveReplicaUpdates2 (#1411)

    * Tests and fixes for ProveReplicaUpdates2

    * Helper function

commit 869af32
Author: Alex North <[email protected]>
Date:   Mon Sep 11 10:17:48 2023 +1000

    Move prove_commit2 tests to separate file from pru tests (#1410)

commit 24b5cd6
Author: Alex North <[email protected]>
Date:   Fri Sep 8 10:19:52 2023 +1000

    PRU2 tests that abort the whole method (#1407)

commit ff472f2
Author: ZenGround0 <[email protected]>
Date:   Thu Sep 7 19:04:58 2023 -0400

    Prove commit 2 simple tests (#1408)

commit a861f02
Author: Shrenuj Bansal <[email protected]>
Date:   Wed Sep 6 21:47:36 2023 -0400

    Return error if success count for proof validation or data activations is 0 (#1406)

commit 0457d86
Author: Alex North <[email protected]>
Date:   Wed Sep 6 08:26:36 2023 +1000

    Remove allocation id from market deal state. Clean up and improve state checks. (#1403)

commit e0083f4
Author: ZenGround0 <[email protected]>
Date:   Mon Sep 4 20:48:54 2023 -0400

    Deprecate Deal IDs (#1402)

    Co-authored-by: zenground0 <[email protected]>

commit d78586f
Author: ZenGround0 <[email protected]>
Date:   Mon Sep 4 14:44:41 2023 -0400

    Deprecate unused Prove Replica update 2 (#1401)

    * Simplify input to activate_sectors_deals
    * Remove old PRU2 and parameter types
    * Reuse PRU2 name for DDO PRU fka PRU 3

    ---------

    Co-authored-by: zenground0 <[email protected]>

commit c1aa98f
Author: Alex North <[email protected]>
Date:   Mon Sep 4 11:09:24 2023 +1000

    Basic unit tests for ProveReplicaUpdate3 (#1394)

commit 5de9cae
Author: Alex North <[email protected]>
Date:   Fri Sep 1 08:24:52 2023 +1000

    Compute batch returns for direct onboarding methods (#1393)

commit 06f282a
Author: Alex North <[email protected]>
Date:   Thu Aug 31 05:10:48 2023 +1000

    Send SectorContentChanged from new onboarding methods (#1386)

    Send SectorContentChanged from new onboarding methods. Simplify return values to make notifications fire and forget.

commit 6a2a089
Author: Alex North <[email protected]>
Date:   Thu Aug 31 03:43:37 2023 +1000

    Miner notifies market of termination only of sectors with non-zero data (#1387)

    Co-authored-by: ZenGround0 <[email protected]>

commit ba9b579
Author: Alex North <[email protected]>
Date:   Wed Aug 30 20:07:45 2023 +1000

    Implement new ProveReplicaUpdates3 for direct data onboarding. (#1385)

commit 9c681c7
Author: Alex North <[email protected]>
Date:   Tue Aug 29 08:38:39 2023 +1000

    Implements new ProveCommit batch+aggregate for direct onboarding (#1380)

    Co-authored-by: zenground0 <[email protected]>

commit c5fd304
Author: Alex North <[email protected]>
Date:   Tue Aug 15 13:35:08 2023 +1000

    Implements SectorContentChanged method in built-in market actor (#1353)

commit e55498d
Author: Alex North <[email protected]>
Date:   Wed Aug 9 08:40:52 2023 +1000

    Remove deprecated precommit methods (#1357)

    - PreCommitSector and PreCommitBatch deprecated
    - PreCommitBatchV2 now requires specifying (compact) CommD
    - Move all testing to use PreCommitBatchV2

    Co-authored-by: ZenGround0 <[email protected]>
    Co-authored-by: zenground0 <[email protected]>

commit 181305e
Author: Alex North <[email protected]>
Date:   Fri Aug 4 04:33:49 2023 +1000

    Implement sector->deal mapping in built-in market actor (#1347)

commit c90fafe
Author: Aarsh Shah <[email protected]>
Date:   Thu Jan 18 20:06:10 2024 +0400

    changes as per steb's review

commit 7e0abca
Author: Alex North <[email protected]>
Date:   Fri Jan 12 11:24:13 2024 +1300

    Simply deal activation return and intermediate data flow

commit 6e3b5ca
Author: Aarsh Shah <[email protected]>
Date:   Thu Jan 11 21:41:05 2024 +0400

    finish review

commit 4d20e04
Author: Aarsh Shah <[email protected]>
Date:   Thu Jan 11 18:28:23 2024 +0400

    tests pass

commit 733a98f
Author: Aarsh Shah <[email protected]>
Date:   Wed Jan 10 17:51:41 2024 +0400

    fix itests

commit aef0fdd
Author: Aarsh Shah <[email protected]>
Date:   Wed Jan 10 17:21:41 2024 +0400

    batch activate deals should return piece info

commit 4a1ecdf
Author: Aarsh Shah <[email protected]>
Date:   Tue Jan 9 19:59:35 2024 +0400

    rustfmt

commit f92222d
Author: Aarsh Shah <[email protected]>
Date:   Tue Jan 9 19:53:59 2024 +0400

    itests green

commit 6f8be0d
Merge: 693338f aa0a168
Author: Aarsh Shah <[email protected]>
Date:   Tue Jan 9 17:28:53 2024 +0400

    Merge remote-tracking branch 'origin/integration/direct-onboarding' into feat/ddo-actor-events

commit 693338f
Author: Aarsh Shah <[email protected]>
Date:   Tue Jan 9 17:25:36 2024 +0400

    itests almost there

commit aa0a168
Author: Alex North <[email protected]>
Date:   Tue Jan 9 07:04:12 2024 +1300

    Add aggregate proof type parameter to ProveCommitSectors3 (#1489)

commit 9e19d32
Author: Aarsh Shah <[email protected]>
Date:   Mon Jan 8 19:32:09 2024 +0400

    itests partially complete

commit 0485317
Author: Aarsh Shah <[email protected]>
Date:   Mon Jan 8 17:09:44 2024 +0400

    itests work 1

commit 2ce92e6
Author: Aarsh Shah <[email protected]>
Date:   Mon Jan 8 14:29:03 2024 +0400

    miner actor events

commit 9a22c67
Author: Aarsh Shah <[email protected]>
Date:   Wed Jan 3 12:48:36 2024 +0400

    miner actor events

commit 6e5d70c
Author: Aarsh Shah <[email protected]>
Date:   Tue Jan 2 13:15:42 2024 +0400

    market actor events

commit f522274
Author: Aarsh Shah <[email protected]>
Date:   Tue Jan 2 10:02:11 2024 +0400

    verifreg events and itest harness

commit 1d85ec5
Author: Alex North <[email protected]>
Date:   Fri Dec 22 07:17:28 2023 +1100

    Add missing vm_test annotations. (#1488)

commit 0d103fe
Author: Alex North <[email protected]>
Date:   Tue Dec 19 11:49:23 2023 +1100

    Rename PCS2/PRU2 to PCS3/PRU3 (#1485)

commit e01a799
Author: Alex North <[email protected]>
Date:   Tue Dec 19 11:08:21 2023 +1100

    Transparent serialization for ProveReplicaUpdates2Return (#1484)

commit 13931e0
Author: Alex North <[email protected]>
Date:   Tue Oct 31 13:49:37 2023 +1100

    Integration test for prove_replica_updates2 (#1453)

commit 39b488b
Author: Alex North <[email protected]>
Date:   Tue Oct 31 12:52:33 2023 +1100

    Integration test for prove_commit_sectors2 (#1450)

commit 04f3843
Author: Alex North <[email protected]>
Date:   Tue Oct 31 11:52:06 2023 +1100

    Add GetDealSector exported API method to market actor (#1443)

commit e48433c
Author: Alex North <[email protected]>
Date:   Tue Oct 17 05:20:35 2023 +1100

    More tests for direct data onboarding (#1440)

    Tests that CommD computed from pieces must match that declared at precommit. Tests that updating an empty replica to be empty is permitted (later, when we allow updates to non-empty replicas, it won't be a no-op).

commit 7dfdfc2
Author: Alex North <[email protected]>
Date:   Mon Oct 16 07:18:28 2023 +1100

    Tests for prove_commit_sectors2 (#1437)

commit df2711e
Author: Alex North <[email protected]>
Date:   Thu Sep 28 03:11:22 2023 +1000

    Tests for ProveCommitSectors2 for cases that abort entirely (#1414)

commit 3f3a6c4
Author: Alex North <[email protected]>
Date:   Sat Sep 23 05:05:35 2023 +1000

    Check state invariants in direct onboarding tests (#1416)

commit c9fdbaa
Author: Alex North <[email protected]>
Date:   Sat Sep 16 04:23:58 2023 +1000

    Tests and fixes for ProveReplicaUpdates2 (#1411)

    * Tests and fixes for ProveReplicaUpdates2

    * Helper function

commit 6ef0eb2
Author: Alex North <[email protected]>
Date:   Mon Sep 11 10:17:48 2023 +1000

    Move prove_commit2 tests to separate file from pru tests (#1410)

commit 5f28bc2
Author: Alex North <[email protected]>
Date:   Fri Sep 8 10:19:52 2023 +1000

    PRU2 tests that abort the whole method (#1407)

commit 415bc7a
Author: ZenGround0 <[email protected]>
Date:   Thu Sep 7 19:04:58 2023 -0400

    Prove commit 2 simple tests (#1408)

commit d3e7256
Author: Shrenuj Bansal <[email protected]>
Date:   Wed Sep 6 21:47:36 2023 -0400

    Return error if success count for proof validation or data activations is 0 (#1406)

commit aaca941
Author: Alex North <[email protected]>
Date:   Wed Sep 6 08:26:36 2023 +1000

    Remove allocation id from market deal state. Clean up and improve state checks. (#1403)

commit 2724624
Author: ZenGround0 <[email protected]>
Date:   Mon Sep 4 20:48:54 2023 -0400

    Deprecate Deal IDs (#1402)

    Co-authored-by: zenground0 <[email protected]>

commit fbbdaf8
Author: ZenGround0 <[email protected]>
Date:   Mon Sep 4 14:44:41 2023 -0400

    Deprecate unused Prove Replica update 2 (#1401)

    * Simplify input to activate_sectors_deals
    * Remove old PRU2 and parameter types
    * Reuse PRU2 name for DDO PRU fka PRU 3

    ---------

    Co-authored-by: zenground0 <[email protected]>

commit 4b9042b
Author: Alex North <[email protected]>
Date:   Mon Sep 4 11:09:24 2023 +1000

    Basic unit tests for ProveReplicaUpdate3 (#1394)

commit 3a293df
Author: Alex North <[email protected]>
Date:   Fri Sep 1 08:24:52 2023 +1000

    Compute batch returns for direct onboarding methods (#1393)

commit 351a15a
Author: Alex North <[email protected]>
Date:   Thu Aug 31 05:10:48 2023 +1000

    Send SectorContentChanged from new onboarding methods (#1386)

    Send SectorContentChanged from new onboarding methods. Simplify return values to make notifications fire and forget.

commit 35efa32
Author: Alex North <[email protected]>
Date:   Thu Aug 31 03:43:37 2023 +1000

    Miner notifies market of termination only of sectors with non-zero data (#1387)

    Co-authored-by: ZenGround0 <[email protected]>

commit 8dd2c12
Author: Alex North <[email protected]>
Date:   Wed Aug 30 20:07:45 2023 +1000

    Implement new ProveReplicaUpdates3 for direct data onboarding. (#1385)

commit 079ebbc
Author: Alex North <[email protected]>
Date:   Tue Aug 29 08:38:39 2023 +1000

    Implements new ProveCommit batch+aggregate for direct onboarding (#1380)

    Co-authored-by: zenground0 <[email protected]>

commit 047c3ec
Author: Alex North <[email protected]>
Date:   Tue Aug 15 13:35:08 2023 +1000

    Implements SectorContentChanged method in built-in market actor (#1353)

commit 3e14b94
Author: Alex North <[email protected]>
Date:   Wed Aug 9 08:40:52 2023 +1000

    Remove deprecated precommit methods (#1357)

    - PreCommitSector and PreCommitBatch deprecated
    - PreCommitBatchV2 now requires specifying (compact) CommD
    - Move all testing to use PreCommitBatchV2

    Co-authored-by: ZenGround0 <[email protected]>
    Co-authored-by: zenground0 <[email protected]>

commit dd3b68e
Author: Alex North <[email protected]>
Date:   Fri Aug 4 04:33:49 2023 +1000

    Implement sector->deal mapping in built-in market actor (#1347)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: ☑️ Done (Archive)
Status: Done
Development

Successfully merging this pull request may close these issues.

Implement FIP-0076 Direct data onboarding
6 participants