builtin-actors
builtin-actors copied to clipboard
The Filecoin built-in actors
Based on a discussion with @anorth in https://github.com/filecoin-project/builtin-actors/pull/497 it would be beneficial to include the bundle size delta between `master` and candidate branch in a PR message. Some changes are...
Unlike the go actors, we don't enforce maximum sizes in CBOR. Specifically: - We enforce maximum sizes for bitfields on decode. - We enforce a maximums size for BigInt. -...
Solidity tooling is quite good and should inspire us to do better for native FVM actor development starting with the builtin actors. I'm using the [foundry toolset](https://github.com/foundry-rs/foundry) and particulary `forge`...
Given that the built-in actors will be a critical part of the Filecoin infrastructure, and given that everyone will have to use the same pre-built actors, we really need to...
We have lots of code like this: ``` if ids.len() != 1 { return Err(actor_error!( illegal_argument, "expected 1 allocation ID, got {:?}", ids )); } ``` Write a couple of...
Proposal windowpost message gasused are particularly high, Background I add gasused log in buildin-actors code. found the proven_sectors check can be optimized。 By example: ```rust fvm_sdk::debug::log("xxxx p1-13".to_string()); let proven_sectors =...
Proposal I add log in buildin-actors, found oprate bitfiled object cast large gas. Background I optimize the submitwindowpost message that has recovery work, found some info in optate bitfiled By...
If RLE decoding performance is an issue, we could implement a lookup table style decoder (similar to Go's).
We can get better guarantees in rust by; 1. Splitting the runtime into a "transaction runtime" and the "full runtime". 1. Splitting the blockstore into a read/write half. ```rust trait...
Currently, we validate proof types _manually_ inside our actors to match go's behavior. It would be _safer_ to simply reject invalid proof types when we attempt to decode state/messages. Doing...