HackMD
  • Beta
    Beta  Get a sneak peek of HackMD’s new design
    Turn on the feature preview and give us feedback.
    Go → Got it
      • Create new note
      • Create a note from template
    • Beta  Get a sneak peek of HackMD’s new design
      Beta  Get a sneak peek of HackMD’s new design
      Turn on the feature preview and give us feedback.
      Go → Got it
      • Sharing Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • 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
      • More (Comment, Invitee)
      • Publishing
        Please check the box to agree to the Community Guidelines.
        Everyone on the web can find and read all notes of this public team.
        After the note is published, everyone on the web can find and read this note.
        See all published notes on profile page.
      • Commenting Enable
        Disabled Forbidden Owners Signed-in users Everyone
      • Permission
        • Forbidden
        • Owners
        • Signed-in users
        • Everyone
      • Invitee
      • No invitee
      • Options
      • Versions and GitHub Sync
      • Transfer ownership
      • Delete this note
      • Template
      • Save as template
      • Insert from template
      • Export
      • Dropbox
      • Google Drive Export to Google Drive
      • Gist
      • Import
      • Dropbox
      • Google Drive Import from Google Drive
      • Gist
      • Clipboard
      • Download
      • Markdown
      • HTML
      • Raw HTML
    Menu Sharing Create Help
    Create Create new note Create a note from template
    Menu
    Options
    Versions and GitHub Sync Transfer ownership Delete this note
    Export
    Dropbox Google Drive Export to Google Drive Gist
    Import
    Dropbox Google Drive Import from Google Drive Gist Clipboard
    Download
    Markdown HTML Raw HTML
    Back
    Sharing
    Sharing Link copied
    /edit
    View mode
    • Edit mode
    • View mode
    • Book mode
    • Slide mode
    Edit mode View mode Book mode Slide mode
    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
    More (Comment, Invitee)
    Publishing
    Please check the box to agree to the Community Guidelines.
    Everyone on the web can find and read all notes of this public team.
    After the note is published, everyone on the web can find and read this note.
    See all published notes on profile page.
    More (Comment, Invitee)
    Commenting Enable
    Disabled Forbidden Owners Signed-in users Everyone
    Permission
    Owners
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Invitee
    No invitee
       owned this note    owned this note      
    Published Linked with GitHub
    Like2 BookmarkBookmarked
    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 lost 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?

    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

    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

    Tutorials

    Book Mode Tutorial

    Slide Mode Tutorial

    YAML Metadata

    Contacts

    Facebook

    Twitter

    Feedback

    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

    Versions and GitHub Sync

    Sign in to link this note to GitHub Learn more
    This note is not linked with GitHub Learn more
     
    Add badge Pull Push GitHub Link Settings
    Upgrade now

    Version named by    

    More Less
    • Edit
    • Delete

    Note content is identical to the latest version.
    Compare with
      Choose a version
      No search result
      Version not found

    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. Learn more

         Sign in to GitHub

        HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.

        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
        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