Alexander Wade
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
      • Invitee
      • No invitee
    • Publish Note

      Publish Note

      Everyone on the web can find and read all notes of this public team.
      Once published, notes can be searched and viewed by anyone online.
      See published notes
      Please check the box to agree to the Community Guidelines.
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Versions and GitHub Sync Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
Invitee
No invitee
Publish Note

Publish Note

Everyone on the web can find and read all notes of this public team.
Once published, notes can be searched and viewed by anyone online.
See published notes
Please check the box to agree to the Community Guidelines.
Engagement control
Commenting
Permission
Disabled Forbidden Owners Signed-in users Everyone
Enable
Permission
  • Forbidden
  • Owners
  • Signed-in users
  • Everyone
Suggest edit
Permission
Disabled Forbidden Owners Signed-in users Everyone
Enable
Permission
  • Forbidden
  • Owners
  • Signed-in users
Emoji Reply
Enable
Import from Dropbox Google Drive Gist Clipboard
   owned this note    owned this note      
Published Linked with GitHub
2
Subscribed
  • Any changes
    Be notified of any changes
  • Mention me
    Be notified of mention me
  • Unsubscribe
Subscribe
# `specs-actors` Master Tracking :::info Final update on Sept. 11, 2020. No further changes will be made. ::: This document tracks: * Open items that need attention from specs-actors devs: [[Open Items]](#Open-Items-Needs-Action) * Current schedule and objectives [[Schedule]](#Schedule) * Ongoing initiatives to understand and document specs-actors behavior: [[Documentation]](#Documentation) * Ongoing initiative to come up with scenario tests: [[Scenario Testing]](#Scenario-Testing) * Items that have been addressed and no longer require attention from specs-actors devs: [[Addressed]](#Addressed-No-Action-Required) ## Contents [TOC] ## Open Items (Needs Action) This section lists any open issues we're tracking. Issues are sorted into sub-sections following specs-actors priority label conventions (P1 / P2 / P3). * Issues that have not been given a label are listed under [Uncategorized](#Uncategorized) * Issues that have an associated open PR are listed under [Items with open PRs](#Items-with-open-PRs) * Once PRs have been merged, they're removed from this section and tracked in [Addressed](#Addressed-No-Action-Required) * Discussion-based issues are tracked in [Discussions](#Discussions) * Proposals for scenario tests are tracked in [Scenario Testing](#Scenario-Testing) For all sub-sections, issues are appended in order of ascending issue number. ### Uncategorized :::info These issues have not been categorized. ::: * Reward: Check miner code CID * Issue: [specs-actors/#1090](https://github.com/filecoin-project/specs-actors/issues/1090) * Market.PublishStorageDeals griefing vector * Issue: [specs-actors/#1144](https://github.com/filecoin-project/specs-actors/issues/1144) ### P1 :::danger Required for network launch ::: Empty! ### P2 :::warning Beneficial for network launch ::: * ConfirmSectorProofsValid: batch VerifyDealsOnSectorProveCommit * ~~Issue: [specs-actors/#904](https://github.com/filecoin-project/specs-actors/issues/904)~~ * Issue: [specs-actors/#474](https://github.com/filecoin-project/specs-actors/issues/474) * Simplify cron queue handling in power and market actors * Issue: [specs-actors/#751](https://github.com/filecoin-project/specs-actors/issues/751) * Power.OnEpochTickEnd: preempt Miner queries to Power and Reward * Issue: [specs-actors/#799](https://github.com/filecoin-project/specs-actors/issues/799) * Miner.Constructor: Additional input validation * Issue: [specs-actors/#807](https://github.com/filecoin-project/specs-actors/issues/807) * Miner: Drop precommits from prove commit set if power/pledge/reward values aren't sane * Issue: [specs-actors/#913](https://github.com/filecoin-project/specs-actors/issues/913) * Miner: ExtendSectorExpiration doesn't correctly check AddressedPartitionsMax * Issue: [specs-actors/#931](https://github.com/filecoin-project/specs-actors/issues/931) * Where applicable, enforce uniqueness when handling slices * Issue: [specs-actors/#979](https://github.com/filecoin-project/specs-actors/issues/979) * Miner/Market: Clean up deal weight calculation during precommit * Issue: [specs-actors/#981](https://github.com/filecoin-project/specs-actors/issues/981) * Miner: Cleanup accounting methods * Issue: [specs-actors/#1006](https://github.com/filecoin-project/specs-actors/issues/1006) * Miner: VerifyPledgeRequirementsAndRepayDebts should return balance available after paying debt * Issue: [specs-actors/#1020](https://github.com/filecoin-project/specs-actors/issues/1020) * Add log messages for significant events * Issue: [specs-actors/#1060](https://github.com/filecoin-project/specs-actors/issues/1060) * Miner: Check Partition invariants * Issue: [specs-actors/#1068](https://github.com/filecoin-project/specs-actors/issues/1068) * Miner: Check Deadline invariants * Issue: [specs-actors/#1070](https://github.com/filecoin-project/specs-actors/issues/1070) ### P3 :::success Not urgent or important ::: * StorageMarket: Refund clients remaining balance since sector became faulty on termination * ~~Issue: [specs-actors/#694](https://github.com/filecoin-project/specs-actors/issues/694)~~ * Issue: [specs-actors/#667](https://github.com/filecoin-project/specs-actors/issues/667) * Reward: Initialize `penalty` directly with the min value * Issue: [specs-actors/#696](https://github.com/filecoin-project/specs-actors/issues/696) * Recommendation: Standardize power/market cron method names * Issue: [specs-actors/#721](https://github.com/filecoin-project/specs-actors/issues/721) * PaymentChannel.Collect: Switch to "pull" payment pattern rather than "push" payments * Issue: [specs-actors/#732](https://github.com/filecoin-project/specs-actors/issues/732) * Miner: Simplify sector number allocation during precommit * Issue: [specs-actors/#905](https://github.com/filecoin-project/specs-actors/issues/905) * Power.CreateMiner does not allow caller to initialize Miner's ControlAddresses * Issue: [specs-actors/#980](https://github.com/filecoin-project/specs-actors/issues/980) * Miner: Unlock vested funds in SubmitWindowedPoSt * Issue: [specs-actors/#1002](https://github.com/filecoin-project/specs-actors/issues/1002) ### Discussions * Miner: NewDeadlineInfo may calculate negative Challenge and FaultCutoff epochs during first ~70 epochs * Issue: [specs-actors/#805](https://github.com/filecoin-project/specs-actors/issues/805) ### Items with open PRs Items are added in order of ascending PR number. :::info Have not reviewed the following PRs ::: Empty! --- :::warning Changes requested for the following PRs ::: * [[specs-actors/#1129](https://github.com/filecoin-project/specs-actors/pull/1129)] **prevent faults from double subtracting cc upgrade power** * Miner: Declaring a replaced CC sector faulty can result in a sector existing in an expiration queue twice * Issue: [specs--actors/#1100](https://github.com/filecoin-project/specs-actors/issues/1100) --- :::success I've reviewed these PRs, and they look ready to merge! ::: * [[specs-actors/#1140](https://github.com/filecoin-project/specs-actors/pull/1140)] **Add assertion that expiration set is valid** * Miner: Check ExpirationSet invariants * Issue: [specs-actors/#1064](https://github.com/filecoin-project/specs-actors/issues/1064) ### Scenario Testing Scenario tests are being tracked in this document: https://hackmd.io/@-HV50kYcRqOjl_7du8m1AA/rk9_hCMfv :::warning Currently, there are unimplemented tests: ::: * Miner Alice adds and proves a CC sector ### Other tests During review, I came up with a few final tests that should be implemented (some may already exist). Here they are, somewhat categorized: #### Unproven sectors * Declare an Unproven sector faulty, then recover it * Terminate an unproven sector #### Expirations / Fault max age * Declare a fault for a sector with on-time expiry < fault max age, then attempt to extend its expiration * Declare a recovering sector (with rescheduled expiry < fault max age) faulty * Miss a PoSt for a sector with on-time expiry < fault max age * Submit a PoSt that "skips" a sector with on-time expiry < fault max age * Terminate a faulty sector with on-time expiry < fault max age * Submit a PoSt for a sector expiring in CurrEpoch, then extend its expiry in the same epoch * The same as above, but "extend" its expiry to the same epoch (`ExtendSectorExpiration` allows 0-epoch extensions) * Expiries are processed by `handleProvingDeadline`, so they may exist un-processed for up to 1 day after their on-time expiration before being picked up by cron. Tests for these sectors: * Declare it faulty * Submit a PoSt for it * Terminate it * Extend its expiry #### Misc * Declare a recovering sector faulty * "Skip" a sector during PoSt, but terminate it before cron picks it up ## Schedule This section outlines the current schedule and objectives for the assessment phase. ### Phase 1 (pre-testnet) | **Date** | **Primary Objective(s)** | **Secondary Objective(s)** | |--------------|-----------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------| | July 6 - 10 | Work on actor documentation || | July 13 - 17 | Finish specs for all actors | - Keep specs up-to-date with master<br>- Rough draft high-level documentation. Focus on roles/permissions/responsibilities. | | July 20 - 24 | In-depth review of the more complicated actors (market, power, miner) | - Compile findings / recommendations. Help prioritize fixes/improvements.<br>- Continue maintaining/improving documentation | | July 27 - 31 | Diligence Hiatus - Daniel/Alex are out of office. | - N/A | ### Phase 2 (pre-mainnet) | **Date** | **Primary Objective(s)** | **Secondary Objective(s)** | |--------------|-----------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | Aug 3 - 7 | 1. Catch up on last week's progress.<br> 2. Plan and prepare for rest of Phase 2 | - Review commits made since July 24<br> - Update specs where applicable<br> - Begin thinking about final report deliverable<br> - Further work on Miner docs | | Aug 10 - 14 | 1. Assess state of testing<br> 2. In-depth review: Miner/Power/Market | Continue work on docs/specs | | Aug 17 - 21 | In-depth review: Miner/Power/Market | Continue work on docs/specs | | Aug 24 - 28 | In-depth review: Miner/Power/Market | Continue work on docs/specs | | Aug 31 - Sept 4 | In-depth review: Miner/Power/Market | Continue work on docs/specs | | Sept 7 - Sept 11 | Complete final report; deliver by EOD Sept 11 | N/A | ### Limitations I'm going to use this section to keep track of things I don't think I will have time to review in as much detail as I'd prefer. This section will only speak to things that are technically within scope (as defined [here](https://hackmd.io/U5Njlx83TL6f1Mykv58HmQ)). * Unit tests * Efficacy of current unit tests (do tests actually test the things they purport to) * Coverage of current unit tests * Miner * Deadline assignment * Epoch quantization * CompactPartitions ## Documentation Up-to-date with commit: [c9027ee](https://github.com/filecoin-project/specs-actors/commit/c9027ee0393a0b76c3185f99f61a506f09e1a5cf) ### Singletons | **Actor** | **Status** | **Link** | |------------------|-------------|------------------------------------------| | Init | Complete | https://hackmd.io/G3eaXOcWSxKLQkhvoQZYFg | | Reward | WIP | https://hackmd.io/VMNxxYtGTw6V_jYr-WzE_g | | Cron | Complete | https://hackmd.io/NbFUvwUnTaOa9e0dtcouiA | | StoragePower | Complete | https://hackmd.io/BYSfLi9qTfCBj_gb6mLFSA | | StorageMarket | Complete | https://hackmd.io/v3GZbV9GTt2AIO2li44Tzw | | VerifiedRegistry | Complete |https://hackmd.io/pO-gQ5jPTEKHXlZAzXC2YQ | ### Instanced | **Actor** | **Status** | **Link** | |----------------|------------|------------------------------------------| | Account | Complete | https://hackmd.io/puigQDo1TFCEPmFrWnGdfQ | | Multisig | Complete | https://hackmd.io/uemzVhqjSde1bNv91rtl3g | | PaymentChannel | Complete | https://hackmd.io/kKambNsDT8aoeruLlsh0BA | | Miner | WIP | https://hackmd.io/As6TBI7HRqmDyFRgaWROFg | ## Addressed (No Action Required) :::success These items have been taken care of. No further action is needed. ::: ### Addressed via PR * [[specs-actors/#588](https://github.com/filecoin-project/specs-actors/pull/588)] **Multisig: Resolve address before comparing** * Multisig: Comparison between different `Address` types. * Issue: [specs-actors/#587](https://github.com/filecoin-project/specs-actors/issues/587) * [[specs-actors/#620](https://github.com/filecoin-project/specs-actors/pull/620)] **Market: Persist updates to state in CronTick** * StorageMarket: Deal `States` update not persisted in `CronTick` * Issue: [specs-actors/#606](https://github.com/filecoin-project/specs-actors/issues/606) * [[specs-actors/#639](https://github.com/filecoin-project/specs-actors/pull/639)] **Market: Use ReadOnly transaction for ComputeDataCommitment** * StorageMarket: `ComputeDataCommitment` should use `ReadOnly`, rather than `Transaction` * Issue: [specs-actors/#607](https://github.com/filecoin-project/specs-actors/issues/607) * [[specs-actors/#644](https://github.com/filecoin-project/specs-actors/pull/644)] **Market: Should delete pending deals in CronTick and delete them ONLY once** * StorageMarket: CronTick doesn't persist Proposal deletion from `st.PendingProposals` * Issue: [specs-actors/#643](https://github.com/filecoin-project/specs-actors/issues/643) * [[specs-actors/#646](https://github.com/filecoin-project/specs-actors/pull/646)] **Payment Channel: Sign data should include channel address** * PaymentChannel: vouchers can be replayed across channels * Issue: [specs-actors/#612](https://github.com/filecoin-project/specs-actors/issues/612) * [[specs-actors/#647](https://github.com/filecoin-project/specs-actors/pull/647)] **Market: Load Proposals AMT only once** * StorageMarket: `CronTick` loads identical AMT for each processed deal * Issue: [specs-actors/#609](https://github.com/filecoin-project/specs-actors/issues/609) * StorageMarket: `ComputeDataCommitment` loads identical AMT for each passed-in DealID * Issue: [specs-actors/#608](https://github.com/filecoin-project/specs-actors/issues/608) * [[specs-actors/#684](https://github.com/filecoin-project/specs-actors/pull/684)] **Market: More tests and fixes** * StorageMarket: delete pending deals on init timeout * [[specs-actors/#714](https://github.com/filecoin-project/specs-actors/pull/714)] **Assert that payments are non-negative** * PaymentChannel.UpdateChannelState: Require that signed vouchers have a non-negative "amount" * Issue: [specs-actors/#731](https://github.com/filecoin-project/specs-actors/issues/731) * [[specs-actors/#718](https://github.com/filecoin-project/specs-actors/pull/718)] **Market: Caller for withdraw must be the recipient** * StorageMarket: market withdraw allows anyone to trigger withdrawals * Issue: [specs-actors/#602](https://github.com/filecoin-project/specs-actors/issues/602) * [[specs-actors/#758](https://github.com/filecoin-project/specs-actors/pull/758)] **VerifReg: Audit Fixes** * Verifreg: Disallow `RootKey` from assuming other roles * Issue: [specs-actors/#722](https://github.com/filecoin-project/specs-actors/issues/722) * Verifreg.AddVerifier: `params.Allowance` should be greater than or equal to `MinVerifiedDealSize` * Issue: [specs-actors/#724](https://github.com/filecoin-project/specs-actors/issues/724) * Verifreg.AddVerifiedClient: Existing Verifiers should not be allowed to become VerifiedClients * Issue: [specs-actors/#725](https://github.com/filecoin-project/specs-actors/issues/725) * Verifreg.AddVerifiedClient: Misleading parameter "MinVerifiedDealSize" * Issue: [specs-actors/#726](https://github.com/filecoin-project/specs-actors/issues/726) * Verifreg.UseBytes: Consider never deleting a VerifiedClient entry * Issue: [specs-actors/#728](https://github.com/filecoin-project/specs-actors/issues/728) * [[specs-actors/#760](https://github.com/filecoin-project/specs-actors/pull/760)] **Market: Audit fixes** * StorageMarket.PublishStorageDeals: Check that deals' provider has Miner CodeCID before query * Issue: [specs-actors/#754](https://github.com/filecoin-project/specs-actors/issues/754) * StorageMarket.PublishStorageDeals: Validate each deal's PieceSize * Issue: [specs-actors/#755](https://github.com/filecoin-project/specs-actors/issues/755) * [[specs-actors/#775](https://github.com/filecoin-project/specs-actors/pull/775)] **Market: Audit fixes** * Market State.dealGetPaymentRemaining: Bad assertion allows for panic * Issue: [specs-actors/#765](https://github.com/filecoin-project/specs-actors/issues/765) * Market.CronTick: Branching statements imply potential abort * Issue: [specs-actors/#766](https://github.com/filecoin-project/specs-actors/issues/766) * Market.CronTick: Remove `RequireSuccess` for interaction with Verifreg and BurntFundsActor * Issue: [specs-actors/#767](https://github.com/filecoin-project/specs-actors/issues/767) * Market.AddBalance creates balance table entries when provided 0 value * Issue: [specs-actors/#771](https://github.com/filecoin-project/specs-actors/issues/771) * [[specs-actors/#778](https://github.com/filecoin-project/specs-actors/pull/778)] **Payment: Audit and fixes** * PaymentChannel: reject equal-nonce voucher submissions * Issue: [specs-actors/#660](https://github.com/filecoin-project/specs-actors/issues/660) * [[specs-actors/#789](https://github.com/filecoin-project/specs-actors/pull/789)] **Fix deadline index check** * Miner: Incorrect bounds on SubmitWindowedPoSt `params.Deadline` * Issue: [specs-actors/#753](https://github.com/filecoin-project/specs-actors/issues/753) * [[specs-actors/#790](https://github.com/filecoin-project/specs-actors/pull/790)] **Payment: Remove actor for collect** * PaymentChannel.Collect: Clarify whether `Collect` implies the channel should be terminated * Issue: [specs-actors/#733](https://github.com/filecoin-project/specs-actors/issues/733) * [[specs-actors/#791](https://github.com/filecoin-project/specs-actors/pull/791)] **StoragePower: OnConsensusFault incorrectly zeroes out miner power** * StoragePower: OnConsensusFault incorrectly zeroes out miner power * Issue: [specs-actors/#692](https://github.com/filecoin-project/specs-actors/issues/692) * [[specs-actors/#808](https://github.com/filecoin-project/specs-actors/pull/808)] **Feat/ip no vest** * Miner: Duplicate invocations of `notifyPledgeChanged` in `processEarlyTerminations` * Issue: [specs-actors/#752](https://github.com/filecoin-project/specs-actors/issues/752) * [[specs-actors/#820](https://github.com/filecoin-project/specs-actors/pull/820)] **Allow up to the max sector number in precommit** * Miner.PreCommitSector: Conflicting MaxSectorNumber checks * Issue: [specs-actors/#798](https://github.com/filecoin-project/specs-actors/issues/798) * [[specs-actors/#830](https://github.com/filecoin-project/specs-actors/pull/830)] **Fix: StoragePower: Incorrect assignment to Cid fields during construction** * StoragePower: incorrect assignment to Cid fields during construction * Issue: [specs-actors/#653](https://github.com/filecoin-project/specs-actors/issues/653) * [[specs-actors/#862](https://github.com/filecoin-project/specs-actors/pull/862)] **AwardBlockReward validates params, better tests** * Reward: Check if AwardBlockReward `param.Penalty` is greater or equal to zero * Issue: [specs-actors/#697](https://github.com/filecoin-project/specs-actors/issues/697) * [[specs-actors/#890](https://github.com/filecoin-project/specs-actors/pull/890)] **Reward Actor: Do not abort on sending funds to the miner** * Reward.AwardBlockReward: Miner may be able to cause abort during block processing * Issue: [specs-actors/#797](https://github.com/filecoin-project/specs-actors/issues/797) * [[specs-actors/#902](https://github.com/filecoin-project/specs-actors/pull/902)] **Handle a pending key change that has been replaced** * Miner.ChangeWorkerAddress: Handle a pending change already exists * Issue: [specs-actors/#802](https://github.com/filecoin-project/specs-actors/issues/802) * [[specs-actors/#912](https://github.com/filecoin-project/specs-actors/pull/912)] **Multisig: State should ONLY have ID address -> create accounts if they do NOT exist** * Multisig, verifreg, paych actors create accounts that don't already exist * Issue: [specs-actors/#730](https://github.com/filecoin-project/specs-actors/issues/730) * [[specs-actors/#919](https://github.com/filecoin-project/specs-actors/pull/919)] **avoid prove commit aborts when sector lifetime <= 0** * Miner: Sector activation at ProveCommit may allow proving expired/expiring sectors, leading to panic during cron tick * Issue: [specs-actors/#795](https://github.com/filecoin-project/specs-actors/issues/795) * [[specs-actors/#924](https://github.com/filecoin-project/specs-actors/pull/924)] **Small cleanups** * Deadline: Avoid modifying ExpirationsEpochs if there are no rescheduled partitions * Issue: [specs-actors/#916](https://github.com/filecoin-project/specs-actors/issues/916) * Miner: Reconcile differences in pledgeDelta arithmetics * Issue: [specs-actors/#917](https://github.com/filecoin-project/specs-actors/issues/917) * [[specs-actors/#939](https://github.com/filecoin-project/specs-actors/pull/939)] **VerifReg: Resolve Verifier and Client Addresses** * Verified Registry needs to resolve addresses * ~~Issue: [specs-actors/#729](https://github.com/filecoin-project/specs-actors/issues/729)~~ * Issue: [specs-actors/#566](https://github.com/filecoin-project/specs-actors/issues/556) * Multisig, verifreg, paych actors create accounts that don't already exist * Issue: [specs-actors/#730](https://github.com/filecoin-project/specs-actors/issues/730) * [[specs-actors/#940](https://github.com/filecoin-project/specs-actors/pull/940)] **Payment Channel: Create ID accounts if they do not exist** * Multisig, verifreg, paych actors create accounts that don't already exist * Issue: [specs-actors/#730](https://github.com/filecoin-project/specs-actors/issues/730) * [[specs-actors/#984](https://github.com/filecoin-project/specs-actors/pull/984)] **Miner: Limit max number of partitions per deadline** * Miner: Limit max number of partitions per deadline * Issue: [specs-actors/#945](https://github.com/filecoin-project/specs-actors/issues/945) * [[specs-actors/#998](https://github.com/filecoin-project/specs-actors/pull/998)] **Miner: Limit control addresses** * Miner: Limit size of ControlAddresses slice * Issue: [specs-actors/#977](https://github.com/filecoin-project/specs-actors/issues/977) * [[specs-actors/#1004](https://github.com/filecoin-project/specs-actors/pull/1004)] **IP accounting refactor** * Miner: Treat initial pledge like precommit deposits * Issue: [specs-actors/#1007](https://github.com/filecoin-project/specs-actors/issues/1007) * Miner.PenalizeFundsInPriorityOrder: account for fromVesting greater than target * Issue: [specs-actors/#1003](https://github.com/filecoin-project/specs-actors/issues/1003) * [[specs-actors/#1009](https://github.com/filecoin-project/specs-actors/pull/1009)] **Refactor deadline handling** * Miner: reduce operations performed in handleProvingDeadline where possible * Issue: [specs-actors/#983](https://github.com/filecoin-project/specs-actors/issues/983) * [[specs-actors/#1042](https://github.com/filecoin-project/specs-actors/pull/1042)] **Explicitly specify whether or not faults were added in RecordSkippedFaults** * Miner: If a PoSt submission skips ONLY unproven sectors, the partition is not added to the deadline's ExpirationsEpochs * Issue: [specs-actors/#1040](https://github.com/filecoin-project/specs-actors/issues/1040) * [[specs-actors/#1050](https://github.com/filecoin-project/specs-actors/pull/1050)] **Remove change worker cron and add confirm update worker key method** * Miner: Remove ChangeWorkerAddress reliance on cron * Issue: [specs-actors/#982](https://github.com/filecoin-project/specs-actors/issues/982) * Limit Miner.ChangeWorkerAddress to avoid cron event queue load * Issue: [specs-actors/#806](https://github.com/filecoin-project/specs-actors/issues/806) * [[specs-actors/#1073](https://github.com/filecoin-project/specs-actors/pull/1073)] **swap order of batch proof verifies and deferred cron events** * Power: Process batch proof verifications before deferred cron events * Issue: [specs-actors/#909](https://github.com/filecoin-project/specs-actors/issues/909) * [[specs-actors/#1089](https://github.com/filecoin-project/specs-actors/pull/1089)] **abort consensus fault reports when miner is already under fault** * Miner: Verify that duplicate submissions of consensus faults are not processed * Issue: [specs-actors/#1008](https://github.com/filecoin-project/specs-actors/issues/1008) * [[specs-actors/#1092](https://github.com/filecoin-project/specs-actors/pull/1092)] **Feat/delete miner claim after cron failure** * Power: Explicitly delete miner claim on failing cron callback * Issue: [specs-actors/#1056](https://github.com/filecoin-project/specs-actors/issues/1056) ### Issue closed * Verifreg.UseBytes: `newVcCap` is permanently lost if it's smaller than `MinVerifiedDealSize` * Issue: [specs-actors/#727](https://github.com/filecoin-project/specs-actors/issues/727) * Power.OnConsensusFault: Assert `pledgeAmount` is non-negative * Issue: [specs-actors/#764](https://github.com/filecoin-project/specs-actors/issues/764) * Miner.ReportConsensusFault: possible incorrect constraints on faultAge * Issue: [specs-actors/#801](https://github.com/filecoin-project/specs-actors/issues/801) * Miner control functions should abort on no-op * Issue: [specs-actors/#803](https://github.com/filecoin-project/specs-actors/issues/803) * Miner control functions should abort for empty params * Issue: [specs-actors/#804](https://github.com/filecoin-project/specs-actors/issues/804) * Miner: Remove references to variable seal proof types * Issue: [specs-actors/#903](https://github.com/filecoin-project/specs-actors/issues/903) * Miner: bubble up error in processEarlyTerminations * Issue: [specs-actors/#918](https://github.com/filecoin-project/specs-actors/issues/918) * Miner: Remove state.Transaction where not needed * Issue: [specs-actors/#955](https://github.com/filecoin-project/specs-actors/issues/955) * Miner: Correct for potential overflow when iterating over multiaddresses * Issue: [specs-actors/#978](https://github.com/filecoin-project/specs-actors/issues/978)

Import from clipboard

Advanced permission required

Your current role can only read. Ask the system administrator to acquire write and comment permission.

This team is disabled

Sorry, this team is disabled. You can't edit this note.

This note is locked

Sorry, only owner can edit this note.

Reach the limit

Sorry, you've reached the max length this note can be.
Please reduce the content or divide it to more notes, thank you!

Import from Gist

Import from Snippet

or

Export to Snippet

Are you sure?

Do you really want to delete this note?
All users will lose their connection.

Create a note from template

Create a note from template

Oops...
This template is not available.
Upgrade
All
  • All
  • Team
No template found.

Create custom template

Upgrade

Delete template

Do you really want to delete this template?
Turn this template into a regular note and keep its content, versions, and comments.

This page need refresh

You have an incompatible client version.
Refresh to update.
New version available!
See releases notes here
Refresh to enjoy new features.
Your user state has changed.
Refresh to load new user state.

Sign in

Forgot password

or

By clicking below, you agree to our terms of service.

Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
Wallet ( )
Connect another wallet

New to HackMD? Sign up

Help

  • English
  • 中文
  • Français
  • Deutsch
  • 日本語
  • Español
  • Català
  • Ελληνικά
  • Português
  • italiano
  • Türkçe
  • Русский
  • Nederlands
  • hrvatski jezik
  • język polski
  • Українська
  • हिन्दी
  • svenska
  • Esperanto
  • dansk

Documents

Help & Tutorial

How to use Book mode

How to use Slide mode

API Docs

Edit in VSCode

Install browser extension

Get in Touch

Feedback

Discord

Send us email

Resources

Releases

Pricing

Blog

Policy

Terms

Privacy

Cheatsheet

Syntax Example Reference
# Header Header 基本排版
- Unordered List
  • Unordered List
1. Ordered List
  1. Ordered List
- [ ] Todo List
  • Todo List
> Blockquote
Blockquote
**Bold font** Bold font
*Italics font* Italics font
~~Strikethrough~~ Strikethrough
19^th^ 19th
H~2~O H2O
++Inserted text++ Inserted text
==Marked text== Marked text
[link text](https:// "title") Link
![image alt](https:// "title") Image
`Code` Code 在筆記中貼入程式碼
```javascript
var i = 0;
```
var i = 0;
:smile: :smile: Emoji list
{%youtube youtube_id %} Externals
$L^aT_eX$ LaTeX
:::info
This is a alert area.
:::

This is a alert area.

Versions and GitHub Sync
Upgrade to Prime Plan

  • Edit version name
  • Delete

revision author avatar     named on  

More Less

No updates to save
Compare
    Choose a version
    No search result
    Version not found
Sign in to link this note to GitHub
Learn more
This note is not linked with GitHub
 

Feedback

Submission failed, please try again

Thanks for your support.

On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

Please give us some advice and help us improve HackMD.

 

Thanks for your feedback

Remove version name

Do you want to remove this version name and description?

Transfer ownership

Transfer to
    Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

      Link with GitHub

      Please authorize HackMD on GitHub
      • Please sign in to GitHub and install the HackMD app on your GitHub repo.
      • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
      Learn more  Sign in to GitHub

      Push the note to GitHub Push to GitHub Pull a file from GitHub

        Authorize again
       

      Choose which file to push to

      Select repo
      Refresh Authorize more repos
      Select branch
      Select file
      Select branch
      Choose version(s) to push
      • Save a new version and push
      • Choose from existing versions
      Include title and tags
      Available push count

      Upgrade

      Pull from GitHub

       
      File from GitHub
      File from HackMD

      GitHub Link Settings

      File linked

      Linked by
      File path
      Last synced branch
      Available push count

      Upgrade

      Danger Zone

      Unlink
      You will no longer receive notification when GitHub file changes after unlink.

      Syncing

      Push failed

      Push successfully