Specifications
Actors and methods supported
| Actor/method | Supported? |
|---|---|
| Account | |
| Constructor | ✖️ |
| PubkeyAddress | ✖️ |
| AuthenticateMessage | ✖️ |
| UniversalReceiverHook | ✖️ |
| Cron | |
| Constructor | ✖️ |
| EpochTick | ✖️ |
| Datacap Token | |
| Constructor | ✖️ |
| Mint | ✖️ |
| Destroy | ✖️ |
| Name | ✖️ |
| Symbol | ✖️ |
| TotalSupply | ✖️ |
| BalanceOf | ✖️ |
| Transfer | ✖️ |
| TransferFrom | ✖️ |
| IncreaseAllowance | ✖️ |
| DecreaseAllowance | ✖️ |
| RevokeAllowance | ✖️ |
| Burn | ✖️ |
| BurnFrom | ✖️ |
| Allowance | ✖️ |
| Init | |
| Constructor | ✖️ |
| Exec | ✖️ |
| Exec4 | ✖️ |
| Market | |
| Constructor | ✖️ |
| AddBalance | ✔️ |
| WithdrawBalance | ✔️ |
| PublishStorageDeals | ✖️ |
| VerifyDealsForActivation | ✖️ |
| ActivateDeals | ✖️ |
| OnMinerSectorsTerminate | ✖️ |
| ComputeDataCommitment | ✖️ |
| CronTick | ✖️ |
| GetBalance | ✔️ |
| GetDealDataCommitment | ✔️ |
| GetDealClient | ✔️ |
| GetDealProvider | ✔️ |
| GetDealLabel | ✔️ |
| GetDealTerm | ✔️ |
| GetDealEpochPrice | ✔️ |
| GetDealClientCollateral | ✔️ |
| GetDealProviderCollateral | ✔️ |
| GetDealVerified | ✔️ |
| GetDealActivation | ✔️ |
| Miner | |
| Constructor | ✖️ |
| ControlAddresses | ✖️ |
| ChangeWorkerAddress | ✖️ |
| ChangePeerID | ✖️ |
| SubmitWindowedPoSt | ✖️ |
| PreCommitSector | ✖️ |
| ProveCommitSector | ✖️ |
| ExtendSectorExpiration | ✖️ |
| TerminateSectors | ✖️ |
| DeclareFaults | ✖️ |
| DeclareFaultsRecovered | ✖️ |
| OnDeferredCronEvent | ✖️ |
| CheckSectorProven | ✖️ |
| ApplyRewards | ✖️ |
| ReportConsensusFault | ✖️ |
| WithdrawBalance | ✖️ |
| ConfirmSectorProofsValid | ✖️ |
| ChangeMultiaddrs | ✖️ |
| CompactPartitions | ✖️ |
| CompactSectorNumbers | ✖️ |
| ConfirmUpdateWorkerKey | ✖️ |
| RepayDebt | ✖️ |
| ChangeOwnerAddress | ✔️ |
| DisputeWindowedPoSt | ✖️ |
| PreCommitSectorBatch | ✖️ |
| ProveCommitAggregate | ✖️ |
| ProveReplicaUpdates | ✖️ |
| PreCommitSectorBatch2 | ✖️ |
| ProveReplicaUpdates2 | ✖️ |
| ChangeBeneficiary | ✔️ |
| GetBeneficiary | ✔️ |
| ExtendSectorExpiration2 | ✖️ |
| GetOwner | ✔️ |
| IsControllingAddress | ✔️ |
| GetSectorSize | ✔️ |
| GetVestingFunds | ✔️ |
| GetAvailableBalance | ✔️ |
| Read peer ID, multiaddr | ✖️ |
| Read pre-commit deposit | ✖️ |
| Read initial pledge total | ✖️ |
| Read fee debt | ✖️ |
| Multisig | |
| Constructor | ✖️ |
| Propose | ✖️ |
| Approve | ✖️ |
| Cancel | ✖️ |
| AddSigner | ✖️ |
| RemoveSigner | ✖️ |
| SwapSigner | ✖️ |
| ChangeNumApprovalsThreshold | ✖️ |
| LockBalance | ✖️ |
| UniversalReceiverHook | ✖️ |
| List signers and threshold | ✖️ |
| Payment Channel | |
| Constructor | ✖️ |
| UpdateChannelState | ✖️ |
| Settle | ✖️ |
| Collect | ✖️ |
| List from/to | ✖️ |
| Get redeemed amount | ✖️ |
| Power | |
| Constructor | ✖️ |
| CreateMiner | ✖️ |
| UpdateClaimedPower | ✖️ |
| EnrollCronEvent | ✖️ |
| OnEpochTickEnd | ✖️ |
| UpdatePledgeTotal | ✖️ |
| SubmitPoRepForBulkVerify | ✖️ |
| CurrentTotalPower | ✖️ |
| NetworkRawPower | ✖️ |
| MinerRawPower | ✖️ |
| Get miner count, consensus count | ✖️ |
| Compute pledge collateral for new sector | ✖️ |
| Get network bytes committed? | ✖️ |
| Get network total pledge collateral? | ✖️ |
| Get network epoch QA power | ✖️ |
| Get network epoch pledge collateral | ✖️ |
| Get miner's QA power | ✖️ |
| Reward | |
| Constructor | ✖️ |
| AwardBlockReward | ✖️ |
| ThisEpochReward | ✖️ |
| UpdateNetworkKPI | ✖️ |
| System | |
| Constructor | ✖️ |
| Verified Registry | |
| Constructor | ✖️ |
| AddVerifier | ✖️ |
| RemoveVerifier | ✖️ |
| AddVerifiedClient | ✖️ |
| RemoveVerifiedClientDataCap | ✖️ |
| RemoveExpiredAllocations | ✖️ |
| ClaimAllocations | ✖️ |
| GetClaims | ✖️ |
| ExtendClaimTerms | ✖️ |
| RemoveExpiredClaims | ✖️ |
| UniversalReceiverHook | ✖️ |
| List/get allocations | ✖️ |
| List claims | ✖️ |
| List/check verifiers | ✖️ |
Mock scenarios
Miner Actor
| Methods | Scenario 1 | |||
|---|---|---|---|---|
| constructor | ||||
| Params | address owner; | set owner | ||
| int64 available_balance | set available_balance | |||
| int64 vesting_funds_epoch | set vesting_funds_epoch | |||
| int256 vesting_funds_amount | set vesting_funds_amount | |||
| Return | None | |||
| set_owner | if no owner, set owner to be the attribute. If there's an owner, return error | |||
| Params | address owner; | |||
| Return | None | |||
| get_owner | ||||
| Params | void | - | ||
| Return | CommonTypes.Addr owner | address owner; | return owner if there's an owner. return error if no owner | |
| is_controlling_address | ||||
| Params | CommonTypes.Addr | address addr; | any | |
| Return | bool is_controlling; | return false | ||
| get_sector_size | ||||
| Params | void | - | ||
| Return | CommonTypes.SectorSize sector_size; | _8MiB | ||
| get_available_balance | ||||
| Params | void | - | ||
| Return | int256 available_balance; | return the value set in constructor | ||
| get_vesting_funds | ||||
| Params | void | - | ||
| Return | CommonTypes.VestingFunds[] | int64 epoch; | return the value set in constructor | |
| int256 amount; | return the value set in constructor | |||
| change_beneficiary | ||||
| Params | CommonTypes.Addr new_beneficiary; | change the beneficiary info according to the params | ||
| int256 new_quota; | change the beneficiary info according to the params | |||
| uint64 new_expiration; | change the beneficiary info according to the params | |||
| Return | void | - | ||
| get_beneficiary | ||||
| Params | void | - | ||
| Return | CommonTypes.ActiveBeneficiary active; | Addr beneficiary; | return the beneficiary set in change_beneficiary | |
| BeneficiaryTerm term; | int256 quota; | return the quota set in change_beneficiary | ||
| int256 used_quota; | 0 | |||
| uint64 expiration; | return the expiration set in change_beneficiary | |||
| CommonTypes.PendingBeneficiaryChange proposed; | Addr new_beneficiary; | Return null for pendingBeneficiary | ||
| int256 new_quota; | - | |||
| uint64 new_expiration; | - | |||
| bool approved_by_beneficiary; | - | |||
| bool approved_by_nominee; | - |
Market actor
| Methods | Scenario 1 | |||
|---|---|---|---|---|
| constructor | ||||
| Params | ||||
| Return | None | |||
| add_balance | ||||
| Params | CommonTypes.Addr provider_or_client; | Use a hash table to store the amount deposited by the provider_or_clientReturn | ||
| withdraw_balance | ||||
| Params | CommonTypes.Addr provider_or_client; | Deduct the amount deposited by the provider_or_client in the hash table. | ||
| int amount; | If less than the specified amount is available, yields the entire available balance | |||
| Return | int amount_withdrawn; | min(available_balance, amount) | ||
| get_deal_activation | ||||
| Params | uint64 deal_id; | Return data in the mock deals tab; if deal_id does not exisit in that tab, return error | ||
| Return | int64 activated; | Return data in the mock deals tab; if deal_id does not exisit in that tab, return error | ||
| int64 terminated; | Return data in the mock deals tab; if deal_id does not exisit in that tab, return error | |||
| get_balance | ||||
| Params | CommonTypes.Addr addr; | any address | ||
| Return | uint256 balance; | return the balance of the address | ||
| uint256 locked; | return 0 | |||
| get_deal_data_commitment | ||||
| Params | uint64 deal_id; | Return data in the mock deals tab; if deal_id does not exisit in that tab, return error | ||
| Return | CID data; | Return data in the mock deals tab; if deal_id does not exisit in that tab, return error | ||
| uint64 size; | Return data in the mock deals tab; if deal_id does not exisit in that tab, return error | |||
| get_deal_client | ||||
| Params | uint64 deal_id; | Return data in the mock deals tab; if deal_id does not exisit in that tab, return error | ||
| Return | uint64 client; | Return data in the mock deals tab; if deal_id does not exisit in that tab, return error | ||
| get_deal_provider | ||||
| Params | uint64 deal_id; | Return data in the mock deals tab; if deal_id does not exisit in that tab, return error | ||
| Return | uint64 provider; | Return data in the mock deals tab; if deal_id does not exisit in that tab, return error | ||
| get_deal_label | ||||
| Params | uint64 deal_id; | Return data in the mock deals tab; if deal_id does not exisit in that tab, return error | ||
| Return | bytes label; | Return data in the mock deals tab; if deal_id does not exisit in that tab, return error | ||
| get_deal_term | ||||
| Params | uint64 deal_id; | Return data in the mock deals tab; if deal_id does not exisit in that tab, return error | ||
| Return | int64 start; | Return data in the mock deals tab; if deal_id does not exisit in that tab, return error | ||
| int64 end; | Return data in the mock deals tab; if deal_id does not exisit in that tab, return error | |||
| get_deal_total_price | ||||
| Params | uint64 deal_id; | Return data in the mock deals tab; if deal_id does not exisit in that tab, return error | ||
| Return | uint256 price_per_epoch; | Return data in the mock deals tab; if deal_id does not exisit in that tab, return error | ||
| get_deal_client_collateral | ||||
| Params | uint64 deal_id; | Return data in the mock deals tab; if deal_id does not exisit in that tab, return error | ||
| Return | uint256 collateral; | Return data in the mock deals tab; if deal_id does not exisit in that tab, return error | ||
| get_deal_provider_collateral | ||||
| Params | uint64 deal_id; | Return data in the mock deals tab; if deal_id does not exisit in that tab, return error | ||
| Return | uint256 collateral; | Return data in the mock deals tab; if deal_id does not exisit in that tab, return error | ||
| get_deal_verified | ||||
| Params | uint64 deal_id; | Return data in the mock deals tab; if deal_id does not exisit in that tab, return error | ||
| Return | bool verified; | Return data in the mock deals tab; if deal_id does not exisit in that tab, return error |