ref-fvm
ref-fvm copied to clipboard
Reference implementation of the Filecoin Virtual Machine
I get ` TokenAmount(0.00000000000000-998) ` should be `TokenAmount(-0.00000000000000998)`
Switch from parity-wasm (now unmaintained https://github.com/paritytech/parity-wasm/pull/334) to wasmparser (https://crates.io/crates/wasmparser) and wasm-encoder (https://crates.io/crates/wasm-encoder). This means re-implementing our instrumentation logic, unfortunately. But I'd rather not maintain parity-wasm. See https://github.com/filecoin-project/ref-fvm/issues/668, https://github.com/filecoin-project/ref-fvm/issues/602.
Currently, if the beneficiary doesn't exist and is, e.g., a key address, we _don't_ automatically create it. This differs from `send` where we do.
Instead, the system could just use `ErrInsufficientFunds` (the user error). Why keep it? 1. The system doesn't _currently_ generate any non-sys exit codes. 2. This makes it easy to distinguish...
An idea via @jsuresh (working with me on token API design). Re-entrancy bugs are rather common in existing blockchain systems (see The DAO hack and many others), and Filecoin [isn't...
Currently, we charge gas, but we don't charge for the logic that charges for gas. We should do that. Basically, this means adding a small static charge per gas instrumentation...
Currently, our actors are pretty large (over 2MiB in some cases). Unfortunately, we _really_ want to keep a 2MiB upper limit on IPLD objects. If we don't fix this _now_,...
An event is effectively the inverse of a method: - Method: The caller calls a method defined by the callee. - Event: The sender sends an event defined by the...
- https://hacks.mozilla.org/2019/08/webassembly-interface-types/ - https://github.com/WebAssembly/interface-types Basically, this is an attempt to make a "better" FFI for cross-language interop. Importantly, it tries really hard to avoid serializing/converting types. I'm wondering if there's...