-
Notifications
You must be signed in to change notification settings - Fork 79
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a bit of logging to mock runtime #1006
base: fvm-next
Are you sure you want to change the base?
Commits on Jul 22, 2022
-
Configuration menu - View commit details
-
Copy full SHA for a87c640 - Browse repository at this point
Copy the full SHA a87c640View commit details
Commits on Jul 28, 2022
-
add devnet-wasm and wallaby networks with associated features to buil…
…d scripts (#504) * add devnet-m2-native network with associated features to build scripts * transitively activate m2-native on runtime * add devnet-m2-native bundle build target * fix output target for m2-native bundle * pacify clippy. * runtime: Cargo.toml sort dependencies. * Cargo.toml: point patches to master. * fix devnet-m2-bundle by propagating Cargo features. * add build preset / bundle configurations for wallaby and devnet-wasm. QoL finishing touches: - The 1:N network/features mapping in runtime/build.rs wasn't cutting it any longer. I expanded this data structure to M:N. - Added docs to runtime/build.rs. Co-authored-by: vyzo <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 427bc99 - Browse repository at this point
Copy the full SHA 427bc99View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9c42e56 - Browse repository at this point
Copy the full SHA 9c42e56View commit details -
Configuration menu - View commit details
-
Copy full SHA for c28b820 - Browse repository at this point
Copy the full SHA c28b820View commit details -
adjust Wallaby parameters. (#508)
* adjust Wallaby parameters. - minimum consensus power is 16GiB. - short precommit challenge delay (10 epochs). * fix: minimum consensus power for wallaby Co-authored-by: Aayush <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cf78922 - Browse repository at this point
Copy the full SHA cf78922View commit details
Commits on Aug 18, 2022
-
basic EVM smart contract actor (#517)
Co-authored-by: Raúl Kripalani <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 36ec85a - Browse repository at this point
Copy the full SHA 36ec85aView commit details
Commits on Aug 19, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 0dc90b0 - Browse repository at this point
Copy the full SHA 0dc90b0View commit details
Commits on Aug 21, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 3f8e6f1 - Browse repository at this point
Copy the full SHA 3f8e6f1View commit details
Commits on Aug 23, 2022
-
ci: change CI trigger to pull_request + push to master (#510)
This change makes CI trigger whenever: - a pull request is opened/updated - a commit is pushed to `master` branch The main advantage of this setup is that it enables CI runs on PRs originating from forks.
Configuration menu - View commit details
-
Copy full SHA for b1ca8a1 - Browse repository at this point
Copy the full SHA b1ca8a1View commit details -
Configuration menu - View commit details
-
Copy full SHA for fc1dfb9 - Browse repository at this point
Copy the full SHA fc1dfb9View commit details -
EVM: cleanup opcode definition and resolution (#572)
cleanup opcode definition and resolution
Configuration menu - View commit details
-
Copy full SHA for 2d2122f - Browse repository at this point
Copy the full SHA 2d2122fView commit details -
feat: enum-based opcodes (#573)
- removes the explicit instruction array. - removes the undefined instructions. - removes the need for ordering instructions in a specific way. - ensures that we can't talk about invalid instructions.
Configuration menu - View commit details
-
Copy full SHA for 8533873 - Browse repository at this point
Copy the full SHA 8533873View commit details
Commits on Aug 24, 2022
-
bump rust-toolchain to 1.63 (#576)
* bump rust-toolchain to 1.63 [needed for const fn magic] * fix new clippy warnings, most changes is just adding `Eq` to derive, only others was avoiding reborrows and allowing a 'complex' type * change .err.expect to .expect_err, and dont bind to a unit value Co-authored-by: mriise <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b0c8671 - Browse repository at this point
Copy the full SHA b0c8671View commit details -
Configuration menu - View commit details
-
Copy full SHA for c49f4e1 - Browse repository at this point
Copy the full SHA c49f4e1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4b01f17 - Browse repository at this point
Copy the full SHA 4b01f17View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5b3db72 - Browse repository at this point
Copy the full SHA 5b3db72View commit details -
Configuration menu - View commit details
-
Copy full SHA for 645bd71 - Browse repository at this point
Copy the full SHA 645bd71View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7ea12d0 - Browse repository at this point
Copy the full SHA 7ea12d0View commit details -
Add comment about safety of the unsafe block.
Co-authored-by: Melanie Riise <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a7536b3 - Browse repository at this point
Copy the full SHA a7536b3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5381035 - Browse repository at this point
Copy the full SHA 5381035View commit details -
Configuration menu - View commit details
-
Copy full SHA for e37886f - Browse repository at this point
Copy the full SHA e37886fView commit details
Commits on Aug 29, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 65369ba - Browse repository at this point
Copy the full SHA 65369baView commit details -
fix: non-fil-actor-compile (#571)
Fix compile when not compiling as a "fil actor" (e.g., for testing).
Configuration menu - View commit details
-
Copy full SHA for 66c9826 - Browse repository at this point
Copy the full SHA 66c9826View commit details -
feat: use Type from builtin-actors when building the bundle (#583)
This change upgrades to the v4 bundler that _does not_ depend on the FVM to map actor types to IDs. Instead, it relies on the Type enum defined in this repo. This means new actor types can be added here without having to make changes in multiple places.
Configuration menu - View commit details
-
Copy full SHA for 19c0d72 - Browse repository at this point
Copy the full SHA 19c0d72View commit details
Commits on Aug 31, 2022
-
feat: Avoid blake2b hashing in wasm (#577)
Avoid blake2b hashing in wasm Co-authored-by: Jiaying Wang <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 032067e - Browse repository at this point
Copy the full SHA 032067eView commit details -
Change runtime resolve address to return an ActorID (#549)
Co-authored-by: lyswifter <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 97ff14e - Browse repository at this point
Copy the full SHA 97ff14eView commit details -
Optimize test_vm get_actor (#585)
* Optimize test_vm get_actor Improves extend_sector_with_deals by 40% Signed-off-by: Jakub Sztandera <[email protected]> * Keep the cache across invocations Gives another 32% Signed-off-by: Jakub Sztandera <[email protected]> Signed-off-by: Jakub Sztandera <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 79e399c - Browse repository at this point
Copy the full SHA 79e399cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 422a48a - Browse repository at this point
Copy the full SHA 422a48aView commit details -
Configuration menu - View commit details
-
Copy full SHA for dcc6643 - Browse repository at this point
Copy the full SHA dcc6643View commit details
Commits on Sep 1, 2022
-
EVM runtime: implement some contextual opcodes + EVM Address type (#586)
* refactor: move opcode handlers to appropriate modules. * implement BASEFEE opcode handler. * implement SELFBALANCE opcode handler. * EVM runtime: add an initial Address type that performs ID address masking. * EVM runtime: convert EVM errors to ActorErrors. * EVM runtime: commented selfdestruct. * EVM runtime: implement DIFFICULTY, NUMBER, COINBASE opcodes. * EVM runtime: add conversion from actor ID to masked address. Make CALLER, ADDRESS, ORIGIN use masked ID addresses. * remove TODO. * add comment. * fix clippy. * adjust test for ID address flag.
Configuration menu - View commit details
-
Copy full SHA for 10fae60 - Browse repository at this point
Copy the full SHA 10fae60View commit details
Commits on Sep 2, 2022
-
* add precompiles from old branc evm-precompiles * move precompiles file, add blake2 dep with blake2f * wip call fn, use precompile error type * use u256 instead of raw bytes (cleans up code) * remove Message struct as is no longer needed * attempt getting input & output memory regions * dont use custom error type, pass in just memory instead of full execution state for memory functions * write output back into smart contract remove old TODOs * add blake2f precompile * edit TODOs * rustfmt * add modxp precompile & remove gas limit/accouting for precompiles * add expairing, use custom error type, remove gas accounting, replace unsafe code * cleanup unused things and rename precompile error variant * use fork for blakef2, organize precompiles in file * move static call type to enum * add warnings and use different slicing method * rustfmt * fix errors from merge * use InvalidMemAccess again instead of OutOfGas * lock ref-fvm to specific hash to avoid Token struct changes * go back to normal EVM precompile addresssing, unlock ref-fvm version hash * add blake2 and ec ops precompile tests * fix precompile test errors issues * Update precompiles - use methods on runtime for syscalls instead of importing SDK - fix broken tests - fix some EC methods that would expect empty bytes instead of error * implement hash and recover pubkey in tests * import sepc consts * rustfmt & clippy * Update actors/evm/src/interpreter/precompiles.rs Co-authored-by: Steven Allen <[email protected]> Co-authored-by: Steven Allen <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6310cdd - Browse repository at this point
Copy the full SHA 6310cddView commit details -
We renamed hash to hash_owned to allow for a hash_into method.
Configuration menu - View commit details
-
Copy full SHA for 970ed6a - Browse repository at this point
Copy the full SHA 970ed6aView commit details -
test runtime: use Rc<MemoryBlockstore>. (#599)
With the real FvmRuntime, we expect that cloning the &Blockstore returned by Runtime#store() would simply clone the reference. This is because inside the FVM, blockstore calls proxy out to FVM syscalls; the proxy itself holds no state, and cloning it is unimportant. However, in the MockRuntime, we were using a physical MemoryBlockstore. Cloning it would return a new physical copy, thus breaking the expectation. This commit makes MockRuntime use an Rc<MemoryBlockstore>, so all clones will point to the same MemoryBlockstore, thus preserving the expectation. Co-authored-by: Raúl Kripalani <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a38d600 - Browse repository at this point
Copy the full SHA a38d600View commit details -
EVM: implement SELFDESTRUCT opcode. (#593)
This required a small refactor to allow us to mutably borrow the Runtime.
Configuration menu - View commit details
-
Copy full SHA for 739590e - Browse repository at this point
Copy the full SHA 739590eView commit details
Commits on Sep 5, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 3b81985 - Browse repository at this point
Copy the full SHA 3b81985View commit details -
Make test verify if selfdestruct actually works (#604)
Maciej Witowski authoredSep 5, 2022 Configuration menu - View commit details
-
Copy full SHA for 4bddc7b - Browse repository at this point
Copy the full SHA 4bddc7bView commit details
Commits on Sep 6, 2022
-
basic contract assembler for testing EVM (#610)
* add etk-asm dev dependency * cargo lock * basic contract assembler * magic calc contract * rustfmt * clippy * hide error details from magic calc contract constructor * clippy * add docs for asm::new_contract
Configuration menu - View commit details
-
Copy full SHA for 9322e27 - Browse repository at this point
Copy the full SHA 9322e27View commit details
Commits on Sep 7, 2022
-
* add dispatch macros for contract assembler * avoid extraneous stack copy
Configuration menu - View commit details
-
Copy full SHA for c72420e - Browse repository at this point
Copy the full SHA c72420eView commit details
Commits on Sep 8, 2022
-
* refactor evm contract invocation so that we can make cross contract calls Limits the scope of the transaction to just saving the state. * rustfmt * clean up precompile calls and make scaffolding for actual implementation - drops H160 -- wtf is that even useful - adds dispatcher for actual call implementations - removes inline directive from big things * clean up error handling surrounding call; don't panic left and right * fix error handling with status codes * implement CALL * propagate nested ActorErrors from bytecode execution * more nested actor error handling * rustfmt * pass value through CALL * rustfmt * correctly handle call variant arguments the value was missing from call/callcode. also kill the useless create call kinds. * rustfmt * update comment, move common check outside of march arm * clippy * rustfmt * fix typo * ok_or_else instead of match. * Precompile asm tests (#615) * organize test files, WIP precompile ASM test * fix precompile test asm, add tests for sha precompile * use sha2-256 instead of keccak in precompiles * un-reorg evm tests * un-rename simplecoin test * save return data * fix handling of output memory regions * address space is 32 bits * names, names, names * proxy call test * fix overflow Co-authored-by: Melanie Riise <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bbee410 - Browse repository at this point
Copy the full SHA bbee410View commit details -
EVM: remove H160/H256 abstractions and transactions (#619)
* remove H160/H256 abstraction and transactions, use (safe) Address type for addresses. * rustfmt * store addresses as a 20-byte array internally * rustfmt * implement Debug for Address * clippy * improve error message in try_from conversion failure
Configuration menu - View commit details
-
Copy full SHA for 82c36db - Browse repository at this point
Copy the full SHA 82c36dbView commit details -
fix: cleanup runtime dependencies. (#623)
- Fixes the non-test build by making libsecp256k1 _optional_ unless we're testing. - Makes a lot of dependencies "test only". - Removes some unnecessary dependencies.
Configuration menu - View commit details
-
Copy full SHA for 320989b - Browse repository at this point
Copy the full SHA 320989bView commit details
Commits on Sep 9, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 4507f15 - Browse repository at this point
Copy the full SHA 4507f15View commit details -
Configuration menu - View commit details
-
Copy full SHA for d1730d0 - Browse repository at this point
Copy the full SHA d1730d0View commit details -
Configuration menu - View commit details
-
Copy full SHA for cef1233 - Browse repository at this point
Copy the full SHA cef1233View commit details -
Configuration menu - View commit details
-
Copy full SHA for b36ebd1 - Browse repository at this point
Copy the full SHA b36ebd1View commit details -
Add code coverage report (#120)
Generate a code coverage report and add it as artifact as well as uploading it to CodeCov. Co-authored-by: raulk <[email protected]> Co-authored-by: Piotr Galar <[email protected]> Co-authored-by: Alex <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 013ec9e - Browse repository at this point
Copy the full SHA 013ec9eView commit details -
fix: check code both with all targets and without (#622)
Otherwise, rust will "unify" the features between the test targets and the non-test targets, so we'll miss non-test dependency issues.
Configuration menu - View commit details
-
Copy full SHA for ba1fd1f - Browse repository at this point
Copy the full SHA ba1fd1fView commit details -
* add note about gas * barf with jumbo output addresses; can't do more than 32 bits anyway in wasm. * add TODO comment about output memory limit
Configuration menu - View commit details
-
Copy full SHA for 87e4084 - Browse repository at this point
Copy the full SHA 87e4084View commit details
Commits on Sep 10, 2022
-
EVM runtime: implement GetBytecode and GetStorageAt getters. (#631)
* EVM runtime: implement GetBytecode and GetStorageAt getters. GetBytecode returns the CID of the bytecode block. In the future, the FVM's reachability analysis should add this CID to the reachable set of the caller. GetBytecode is publicly callable. GetStorageAt returns the value stored in the supplied EVM storage key. This method is private and only intended for calls from instrumentation and client functionality, such as the eth_getStorageAt JSON-RPC API operation. In order to make it private, it validates that the caller is the zero address. It needs to be private to preserve EVM guarantees: no contract is able to arbitrarily access storage keys from another contract. The client must form a message from the 0x0 sender address for this method to work. * it's not scala! Co-authored-by: vyzo <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bf3f20b - Browse repository at this point
Copy the full SHA bf3f20bView commit details
Commits on Sep 12, 2022
-
EVM: Implement CALLACTOR/METHODNUM and REVERT abort semantics (#633)
* implement CALLACTOR/METHODNUM * signal EVM_CONTRACT_REVERTED error on reverts * handle REVERT in CALL/CALLACTOR result * update comments about REVERT semantics * simplify call error handling * fix tests * fix empty input data handling for calls * add mnemonic opcodes for CALLACTOR and METHODNUM to assembler such a hack, but no other way. * add methodnum and callactor tests * rustfmt * lift return * fix comment
Configuration menu - View commit details
-
Copy full SHA for f5be9a9 - Browse repository at this point
Copy the full SHA f5be9a9View commit details -
EVM runtime: implement EXT* opcodes. (#632)
Co-authored-by: vyzo <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b077886 - Browse repository at this point
Copy the full SHA b077886View commit details
Commits on Sep 13, 2022
-
optimized tests & ci caching (#640)
* chore: run tests with some optimizations enabled Specifically, optimize bigint, hashing, and the test_vm. Preferiably we'd just optimize everything, but that makes things slow. * ci: save test cache * ci: don't build root bundle in tests We test when building the bundle itself. * ci: rev key and save codecov cache Co-authored-by: ZenGround0 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for aa64e5e - Browse repository at this point
Copy the full SHA aa64e5eView commit details -
This can cause issues with caching. Unfortunately, we can only specify them per-target, not per-profile.
Configuration menu - View commit details
-
Copy full SHA for 7b52f8d - Browse repository at this point
Copy the full SHA 7b52f8dView commit details -
build: optimize bitfield operations in tests (#643)
This isn't as big of an issue as hashing, but it still matters for tests.
Configuration menu - View commit details
-
Copy full SHA for e09dd7b - Browse repository at this point
Copy the full SHA e09dd7bView commit details
Commits on Sep 14, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 7fc40f3 - Browse repository at this point
Copy the full SHA 7fc40f3View commit details -
* fix broken init test * fix broken rand import * only enable rand/std_rng when test_utils is specified
Configuration menu - View commit details
-
Copy full SHA for 0927953 - Browse repository at this point
Copy the full SHA 0927953View commit details -
Configuration menu - View commit details
-
Copy full SHA for a0309a8 - Browse repository at this point
Copy the full SHA a0309a8View commit details
Commits on Sep 15, 2022
-
fix: remove input_data from EVM constructor (#661)
EVM contracts don't take parameters on construction.
Configuration menu - View commit details
-
Copy full SHA for f9a1713 - Browse repository at this point
Copy the full SHA f9a1713View commit details
Commits on Sep 16, 2022
-
rename evm actor's
Address
toEthAddress
(#665)rename evm actor's type to
Configuration menu - View commit details
-
Copy full SHA for 5ef23f4 - Browse repository at this point
Copy the full SHA 5ef23f4View commit details -
feat: use consts for addrs (#660)
* feat: use consts for addrs And expose actor IDs so we don't need to call `.id().unwrap()` to retrieve them. Co-authored-by: mriise <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 07bed12 - Browse repository at this point
Copy the full SHA 07bed12View commit details -
Replace actors cids to builtin.types in mockruntime (#629)
Co-authored-by: lyswifter <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3faab34 - Browse repository at this point
Copy the full SHA 3faab34View commit details
Commits on Sep 17, 2022
-
EVM: Fix Precompile Failure Modes & Implement Remaining Precompile Te…
…sts (#654) * bn pair tests and errors * add ec_recover test, fix broken implementation * add modexp test, add more test cases for ec_recover * only check lower bound for ec_recover * Fix broken failure modes in precompiles - ec_recover - modexp - ec_add - ec_mul Change error enum to include field error types + conversions - forked bn to derive Eq on bn Errors Add helper for reading padded bytes from input. * rustfmt & clippy * Update precompiles.rs * use cow instead of custom container * remove fork of bn * remove bn for dep * allocate ahead of time when reading sets of * lazy_static secp256k1 lower bound * left pad ecrecover * hex literal and cargo lock * add padding test * space * dont panic on modexp len * few remaining nits * rustfmt * better read logic of bigints for modexp * add notes to reading bigint lengths & refactor read group for more clarity * rustfmt
Configuration menu - View commit details
-
Copy full SHA for 0a4dfe1 - Browse repository at this point
Copy the full SHA 0a4dfe1View commit details
Commits on Sep 20, 2022
-
feat: add an embryo actor (#667)
The embryo actor: - Has no constructor (the system is expected to simply "set" the embryo code CID, not construct it). - Immediately aborts when called with a non-zero method. We could, alternatively, use some well-known "id" address. But it's nice to make this actual valid wasm.
Configuration menu - View commit details
-
Copy full SHA for be69f54 - Browse repository at this point
Copy the full SHA be69f54View commit details -
fix: make the empty array CID const and export it (#668)
Otherwise, we'll perform a hash in WASM when we first dereference (max once per call) which is just wasteful. This also fixes the integration tests to use the "correct" empty object. Previously, they were using `()` which mapped to null, not `[]`.
Configuration menu - View commit details
-
Copy full SHA for 97d501f - Browse repository at this point
Copy the full SHA 97d501fView commit details -
Configuration menu - View commit details
-
Copy full SHA for d5e40c0 - Browse repository at this point
Copy the full SHA d5e40c0View commit details -
test: correctly compute the f2 address in the test vm (#686)
Previously, we weren't taking the nonce into account which prevented us from testing multiple messages from the same account.
Configuration menu - View commit details
-
Copy full SHA for 047560d - Browse repository at this point
Copy the full SHA 047560dView commit details -
- Adds a create4 method to the init actor. - Adds embryo actor creation to the test vm.
Configuration menu - View commit details
-
Copy full SHA for 023dd20 - Browse repository at this point
Copy the full SHA 023dd20View commit details -
Traits and impls for adding context and exit codes to results. (#589)
Co-authored-by: dignifiedquire <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 07dd602 - Browse repository at this point
Copy the full SHA 07dd602View commit details
Commits on Sep 21, 2022
-
EVM-887: Storage footprint test contract (#689)
* EVM-887: Makefile to generate Solidity compilation artifacts. * EVM-887: Use solc 0.8.15 * EVM-887: Storage test contract * EVM-887: Fix contract name. * EVM-887: Just return the sum without writing it to the counter.
Configuration menu - View commit details
-
Copy full SHA for 99b7a4c - Browse repository at this point
Copy the full SHA 99b7a4cView commit details
Commits on Sep 22, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 4f70083 - Browse repository at this point
Copy the full SHA 4f70083View commit details
Commits on Oct 1, 2022
-
EVM-888: Storage footprint baseline test (#697)
* EVM-888: ABI bindings and a default instance of it. * EVM-888: TestEnv with deploy. * EVM-888: Test that a call can be invoked and the results parsed. * EVM-888: Move TestEnv out. * EVM-888: Static init for contract. * EVM-888: Capture storage stats. * EVM-888: Push at least 1, otherwise storage size is constant. * EVM-888: Export stats. * EVM-888: Add two series. * EVM-888: Fix clippy warnings. * EVM-888: Test mapping add. * EVM-888: Measure array read. * EVM-888: Change i to go from 0 instead of 1 * EVM-888: Measure mapping read. * EVM-888: Assert sums. * EVM-888: Counter increments. * EVM-888: Counter after fill. * EVM-888: Just consume the call, lose the closure. * EVM-888: Overwrite * EVM-888: Rename back to inc * EVM-888: Use the existing TrackingBlockstore * EVM-888: Undo line breaks in toml * EVM-888: Use std::env! * EVM-888: Convert to EthAddress first.
Configuration menu - View commit details
-
Copy full SHA for 2070f4d - Browse repository at this point
Copy the full SHA 2070f4dView commit details -
EVM-889: Visualize measurements (#708)
* EVM-889: Visualize measurements * EVM-889: Check in rendered charts. * EVM-889: Convenience target to run footprint measurements. * EVM-889: Separate script for plotting
Configuration menu - View commit details
-
Copy full SHA for 6d800c4 - Browse repository at this point
Copy the full SHA 6d800c4View commit details
Commits on Oct 3, 2022
-
EVM runtime: support GASPRICE, TIMESTAMP, CHAINID, GASLIMIT, GAS opco…
…des (#713) Co-authored-by: Raúl Kripalani <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9c07d06 - Browse repository at this point
Copy the full SHA 9c07d06View commit details
Commits on Oct 11, 2022
-
chore: update fvm_sdk and fvm_shared (#748)
This updates fvm_sdk and fvm_shared to the latest released version ahead of some f4 changes (so we can atomically back out of those changes).
Configuration menu - View commit details
-
Copy full SHA for f93cbc7 - Browse repository at this point
Copy the full SHA f93cbc7View commit details -
Store/lookup predictable addresses (#743)
feat: save predictable addresses in the actor tree
Configuration menu - View commit details
-
Copy full SHA for 184e590 - Browse repository at this point
Copy the full SHA 184e590View commit details
Commits on Oct 12, 2022
-
chore: update fvm_ipld_encoding (#750)
* chore: update fvm encoding This switches to a bundled "strict_bytes" module instead of the "cs_serde_bytes" crate. This: - cs_serde_bytes was already a fork of serde_bytes. - We only needed a very small fraction of this crate. - We can now support fixed byte arrays. * refactor: import strict_bytes instead of serde_bytes
Configuration menu - View commit details
-
Copy full SHA for 4860e2f - Browse repository at this point
Copy the full SHA 4860e2fView commit details
Commits on Oct 14, 2022
-
Co-authored-by: Steven Allen <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8c85c8e - Browse repository at this point
Copy the full SHA 8c85c8eView commit details
Commits on Oct 15, 2022
-
- Add a new type. - Add it to the bundle. - Add it to the test VM.
Configuration menu - View commit details
-
Copy full SHA for 55da3df - Browse repository at this point
Copy the full SHA 55da3dfView commit details
Commits on Oct 17, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 49a91d5 - Browse repository at this point
Copy the full SHA 49a91d5View commit details
Commits on Oct 19, 2022
-
fix: encode/decode EVM parameters as CBOR (#759)
* fix: encode/decode EVM parameters as CBOR The previous code was passing parameters as raw bytes, but telling the system that these bytes were valid CBOR. Unfortunately: - This is incorrect and will break once we actually start enforcing this. - This makes it _very_ difficult to test the EVM because we have quite a bit of testing code that assumes CBOR. The long-term solution is to correctly handle IPLD (see #758). But the short-term solution is to just encode/decode parameters as CBOR. * fix: only use RawBytes for CBOR "RawBytes" is for storing serialized CBOR (per the docs). Any other uses are bugs.
Configuration menu - View commit details
-
Copy full SHA for 40aad04 - Browse repository at this point
Copy the full SHA 40aad04View commit details -
EVM: save/restore state before/after send (#754)
* feat: refactor the EVM to manage state in a consistent location - Deduplicate code between the constructor and call. - Add logic for flushing/reloading state. - Add a helper that flushes, sends, and reloads. This also fixes the whole reborrow mess. Through mostly trial and error, I found that a few opcodes were causing the problem. Fixing those opcodes made everything happy. * fix: save/restore EVM contract state before/after sending messages * fix: remove needless lifetimes Apparently, the real issue was that these lifetimes were over constrained. * chore: remove unused type * chore: add some docs * fix: use the correct nonce The EVM _used_ to start the nonce at zero, but contracts now start the nonce at one.
Configuration menu - View commit details
-
Copy full SHA for 17f314e - Browse repository at this point
Copy the full SHA 17f314eView commit details -
EVM: add an evm recursive call test (#767)
* fix: implement Cbor for Create2/Create params/return * test: add an EVM call test
Configuration menu - View commit details
-
Copy full SHA for e4d503c - Browse repository at this point
Copy the full SHA e4d503cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 21c1291 - Browse repository at this point
Copy the full SHA 21c1291View commit details
Commits on Oct 20, 2022
-
EVM: allow evm/f4 addresses everywhere (#770)
- call - callactor - balance - selfdestruct - origin - address - get_evm_bytecode Also remove some of the "from ID" functions to reduce the chances that we'll mess this up.
Configuration menu - View commit details
-
Copy full SHA for cc090a1 - Browse repository at this point
Copy the full SHA cc090a1View commit details -
EVM: implement call variants: STATICCALL and DELEGATECALL (#768)
* implement STATICCALL Also, consistently rename platform argument to system. * implement DELEGATECALL * rustfmt * move readonly check in flush * shortcut reload in read only mode * dont store the delegate bytecode * input parameters for delegate call are raw bytes * fix caller validation check * dedup bytecode loading code * cliptarded * WIP: callvariant tests * callvariant tests * assert actor type * fix tests * fix test contract: uncomment accidentally commented dispatch code * fix contract bugz * STATICCALL tests * fix contract bugz * delegate call tests * rustfmt * fix: handle empty bytecode on delegatecall and refactor a bit * chore: rename delegate -> with_code * fix clippy Co-authored-by: Steven Allen <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 19bfc09 - Browse repository at this point
Copy the full SHA 19bfc09View commit details
Commits on Oct 21, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 0c64a78 - Browse repository at this point
Copy the full SHA 0c64a78View commit details -
Configuration menu - View commit details
-
Copy full SHA for b5ee962 - Browse repository at this point
Copy the full SHA b5ee962View commit details
Commits on Oct 22, 2022
-
Configuration menu - View commit details
-
Copy full SHA for cac1981 - Browse repository at this point
Copy the full SHA cac1981View commit details
Commits on Oct 24, 2022
-
fix: allow calling more non-contract actors (#775)
* fix: allow calling more non-contract actors - Allow calling accounts. - Allow calling embryos by ID. And oxidize it a bit. * fix: really fix contract calling rules 1. Don't do any extra work for dynamic calls. 2. Avoid creating new actors unless we're sending value (EVM rules). 3. Correctly identify "non-existent" actors. 4. Correctly handle "empty" returns. * test: check send/invoke logic
Configuration menu - View commit details
-
Copy full SHA for 138cc91 - Browse repository at this point
Copy the full SHA 138cc91View commit details -
fix: truncate addresses in instructions (#777)
This is what the EVM does. They're defined to take the low 20 bytes.
Configuration menu - View commit details
-
Copy full SHA for 66ecb66 - Browse repository at this point
Copy the full SHA 66ecb66View commit details
Commits on Oct 25, 2022
-
Configuration menu - View commit details
-
Copy full SHA for b787886 - Browse repository at this point
Copy the full SHA b787886View commit details -
feat: allow anyone to call EAM::create (#779)
This will allow lotus to call this from the fake embryo accounts. This isn't behind a feature gate because it should be secure regardless.
Configuration menu - View commit details
-
Copy full SHA for deb8bdf - Browse repository at this point
Copy the full SHA deb8bdfView commit details -
Configuration menu - View commit details
-
Copy full SHA for f5c855b - Browse repository at this point
Copy the full SHA f5c855bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 27df7c4 - Browse repository at this point
Copy the full SHA 27df7c4View commit details -
feat: improve a few more math ops (#781)
- byte: use the built-in byte and don't touch u128s. - sar: simplify a bit - remove dead code
Configuration menu - View commit details
-
Copy full SHA for b43d954 - Browse repository at this point
Copy the full SHA b43d954View commit details -
feat: do sha3 hashing with the runtime (#782)
This should significantly speedup smart contracts.
Configuration menu - View commit details
-
Copy full SHA for f0282ab - Browse repository at this point
Copy the full SHA f0282abView commit details -
fix: implement logging as a no-op in production (#783)
For a better testnet experience.
Configuration menu - View commit details
-
Copy full SHA for a7f261d - Browse repository at this point
Copy the full SHA a7f261dView commit details
Commits on Oct 31, 2022
-
Configuration menu - View commit details
-
Copy full SHA for c965b74 - Browse repository at this point
Copy the full SHA c965b74View commit details -
Configuration menu - View commit details
-
Copy full SHA for a5bf14e - Browse repository at this point
Copy the full SHA a5bf14eView commit details
Commits on Nov 1, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 5ebb625 - Browse repository at this point
Copy the full SHA 5ebb625View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7418f62 - Browse repository at this point
Copy the full SHA 7418f62View commit details
Commits on Nov 8, 2022
-
M2: drop m2-native feature from wallaby build (#815)
* drop m2-native from wallaby build * rustfmt
Configuration menu - View commit details
-
Copy full SHA for 2acb19f - Browse repository at this point
Copy the full SHA 2acb19fView commit details
Commits on Nov 9, 2022
-
fix: really allow anyone to call EAM::create (#820)
We use the ETH address derived from the user's ID address.
Configuration menu - View commit details
-
Copy full SHA for 379ef07 - Browse repository at this point
Copy the full SHA 379ef07View commit details -
fix: explicitly reject "reserved" eth addresses in the EAM (#822)
Users shouldn't _naturally_ try to create actors with these addresses, but it's not theoretically impossible to _make_ this happen.
Configuration menu - View commit details
-
Copy full SHA for d67f60c - Browse repository at this point
Copy the full SHA d67f60cView commit details
Commits on Nov 11, 2022
-
Always encode to a big-endian byte array. fixes filecoin-project/ref-fvm#912
Configuration menu - View commit details
-
Copy full SHA for a56108c - Browse repository at this point
Copy the full SHA a56108cView commit details -
EVM: simplify and fix evm storage (#831)
* EVM: simplify and fix evm storage 1. The EVM doesn't distinguish between "exists" and "doesn't exist". 2. There was some interesting dead code. 3. Only mark the state-tree dirty if something has changed. * nit: make vyzo happy
Configuration menu - View commit details
-
Copy full SHA for 137c447 - Browse repository at this point
Copy the full SHA 137c447View commit details -
Configuration menu - View commit details
-
Copy full SHA for 38e800e - Browse repository at this point
Copy the full SHA 38e800eView commit details -
EVM: reserve methods < 1024 for EVM internals (#823)
We only delegate methods >= 1024 to the contract. This is more than sufficient to cover any methods exported by FRC0042. part of filecoin-project/ref-fvm#1056
Configuration menu - View commit details
-
Copy full SHA for 47a1d64 - Browse repository at this point
Copy the full SHA 47a1d64View commit details -
EVM: on unhandled methods, call handle_filecoin_method with solidity …
…ABI (#834) * on unhandled methods, call filecoin_native_method with solidity ABI * address feedback * comment * fix compile otherwise, we conflict with ActorCode::invoke_method * fix tests * fix: rename method number
Configuration menu - View commit details
-
Copy full SHA for 46a59b5 - Browse repository at this point
Copy the full SHA 46a59b5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 59e8796 - Browse repository at this point
Copy the full SHA 59e8796View commit details
Commits on Nov 12, 2022
-
FVM specific EVM precompiles (#792)
* FVM specific EVM precompiles - changes randomness functions to take a raw i64 since this is userspace now - add precompiles: resolve_address, lookup_address, get_actor_code_cid, get_randomness(beacon/chain) * leave context as TODO * fixes after rebase * rustfmt * add new user randomness functions (that dont limit types to domain seperation tags) * add some precompile docs, use ID addresses instead of ETH style ID addresses, assert reserved bytes are zeroes * fmt & clippy * Update precompiles.rs * kill old expect randomness functions and route them through the new ones * rename user get_randomness_x functions to be more consistient * rustfmt
Configuration menu - View commit details
-
Copy full SHA for eea22e0 - Browse repository at this point
Copy the full SHA eea22e0View commit details -
EVM: use more EVM style parameters for FVM syscall precompiles (#837)
* use more EVM style params for precompiles
Configuration menu - View commit details
-
Copy full SHA for 5e40e06 - Browse repository at this point
Copy the full SHA 5e40e06View commit details
Commits on Nov 13, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 0baa03d - Browse repository at this point
Copy the full SHA 0baa03dView commit details
Commits on Nov 14, 2022
-
Configuration menu - View commit details
-
Copy full SHA for e8d71b2 - Browse repository at this point
Copy the full SHA e8d71b2View commit details
Commits on Nov 15, 2022
-
Configuration menu - View commit details
-
Copy full SHA for b1ba610 - Browse repository at this point
Copy the full SHA b1ba610View commit details
Commits on Nov 16, 2022
-
fix: correctly handle out-of-bounds cases when copying memory (#847)
- CALL: truncates the return value, but doesn't zero fill. - CALLDATA, EXTCODECOPY, CODECOPY: treat input as if it were followed by infinite zeros. - RETURNDATACOPY: explicitly forbids out-of-bounds reads. We might be able to change the behavior of EXTCODECOPY and CODECOPY to match RETURNDATACOPY, but we _can't_ change CALLDATA as solidity abuses this feature for zeroing memory. So we're just going to match what the EVM does because it's safer (and because we need to implement that behavior _anyways_ for CALLDATA). fixes filecoin-project/ref-fvm#1021 fixes filecoin-project/ref-fvm#1024
Configuration menu - View commit details
-
Copy full SHA for ee12a8c - Browse repository at this point
Copy the full SHA ee12a8cView commit details -
Configuration menu - View commit details
-
Copy full SHA for d24598d - Browse repository at this point
Copy the full SHA d24598dView commit details
Commits on Nov 17, 2022
-
fix: allow empty EVM code, init and runtime (#848)
We can already handle _executing_ with empty bytecode, we just didn't allow construction.
Configuration menu - View commit details
-
Copy full SHA for cd7cfce - Browse repository at this point
Copy the full SHA cd7cfceView commit details -
Includes refactored network/message context syscalls.
Configuration menu - View commit details
-
Copy full SHA for bdeb3bc - Browse repository at this point
Copy the full SHA bdeb3bcView commit details
Commits on Nov 18, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 1b11df4 - Browse repository at this point
Copy the full SHA 1b11df4View commit details
Commits on Nov 22, 2022
-
EVM: Move
CALLACTOR
into a precompile (#861)* wip callactor precompile (very broken) * fill out logic a bit * rustfmt * pass in context through to precompiles * exit with error on static call to callactor, array chunks abstraction * forgot increment cursor... * actually use gas from call, assert unused bits in randomness params are zeroed * pass precompile context to all precompiles add a chunked parameter reader * improve parameter reader, check for readonly, new precompiles only read u32 for dynamicly sized bytes * update sdk * review changes, fix fn name in runtime * nit: don't comment out code
Configuration menu - View commit details
-
Copy full SHA for 31acd91 - Browse repository at this point
Copy the full SHA 31acd91View commit details
Commits on Nov 23, 2022
-
EVM: Implement reverts correctly (#864)
* add exit to runtime interface * propagate revert data in contract invocations * add data to ActorError * propagate data in actor errors from send * correctly handle reverts in calls * implement exit with panics in mock runtime * implement exit with panics in test vm * fix clippy * fix test vm: exit data should be in new context * use pop instead of ugly gets in ret * cosmetics * add naked revert test * rustfmt * only test naked revert in unit test nested call revert should go in integration test, really * fix callvariants contract to check reverts * really fix callvariants contract: iszero is what you want * test_vm: missing panic handler * callvariants is also testing mutation * deduplicate actor exit handler code * rustfmt * remove unnecessary replaces for exits. * fix runtime trampoline to propagate data from errors * perform contract/constructor invocation abortive returns with errors * don't synethesize exit data if it is not there * propagate error data in test_vm * rustfmt * simplify/dedup identical code
Configuration menu - View commit details
-
Copy full SHA for 8e93725 - Browse repository at this point
Copy the full SHA 8e93725View commit details -
clean up leftovers from CALLACTOR and METHODNUM refactor. (#867)
* clean up leftovers from CALLACTOR and METHODNUM refactor. * fix callactor test * rusftm Co-authored-by: mriise <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c1f32cd - Browse repository at this point
Copy the full SHA c1f32cdView commit details
Commits on Nov 24, 2022
-
EVM: Unit tests for some math opcodes (#860)
* add unit tests for some opcodes ADD MUL SUB DIV * fmt
Configuration menu - View commit details
-
Copy full SHA for 265948c - Browse repository at this point
Copy the full SHA 265948cView commit details
Commits on Nov 28, 2022
-
fix call_actor precompile (#872)
* fix call_actor precompile; modify error message * revert modifying error message * rustfmt
Configuration menu - View commit details
-
Copy full SHA for 3c90246 - Browse repository at this point
Copy the full SHA 3c90246View commit details -
EVM: Refactor Interpreter dispatch (#646)
* check stack limits at dispatch, make stack ops unchecked * use a growable vector for the stack * fix growth check * clippy wants default... * optimize ensure somewhat * remove implicit assumption about growth patterns * drop error from Bytecode::new signature, it can't really err. fix rebase artifact * refactor part I: primops * add arity/stack checks for primops * dup and swap * push * immediates * sugar * first stdfun * keccak256 as stdfun and prettier sugar * moar stdfuns * calldatacopy * emacs auto-indent friendly sugar * more functionoids * moar funcionoids * call opcodes also kill leftover callactor * primitive -> primop * codesize and codecopy * create and create2 * control flow * mark stack ops as unsafe only macro mechanically checked invocations for these * fix tests * rustfmt * shut up clippy's frivolous complaints * nit: macro magic Co-authored-by: Steven Allen <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5a4b15b - Browse repository at this point
Copy the full SHA 5a4b15bView commit details
Commits on Nov 29, 2022
-
EVM: Further dispatch refactoring (#876)
* defeat instruction zoo call convention complexity it's just one, the intrinsic, which passes a machine. * fix tests * rip ControlFlow enum * more macrology * cosmetics * shut up clippy
Configuration menu - View commit details
-
Copy full SHA for 8a5a26b - Browse repository at this point
Copy the full SHA 8a5a26bView commit details
Commits on Nov 30, 2022
-
* Update FVM * feat: correctly handle "read-only" errors. Co-authored-by: Steven Allen <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a9b27f4 - Browse repository at this point
Copy the full SHA a9b27f4View commit details -
fix: correctly compute addresses in CREATE (#878)
* fix: correctly compute addresses in CREATE And add some basic tests. fixes #866 * Apply suggestions from code review Co-authored-by: Melanie Riise <[email protected]> Co-authored-by: Melanie Riise <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c26adc9 - Browse repository at this point
Copy the full SHA c26adc9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 57e15f3 - Browse repository at this point
Copy the full SHA 57e15f3View commit details -
Export stable methods for public access (#807)
* Export Datacap Actor methods * Export Init Actor methods * Export Market Actor methods * Export Miner Actor methods * Export Multisig Actor methods * Export Verifreg Actor methods * Address review
Configuration menu - View commit details
-
Copy full SHA for 2fcd91b - Browse repository at this point
Copy the full SHA 2fcd91bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 94c17f2 - Browse repository at this point
Copy the full SHA 94c17f2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 305cfa6 - Browse repository at this point
Copy the full SHA 305cfa6View commit details -
Power actor: Add exported getters for raw power (#810)
* Power actor: Add exported getters for raw power * FRC-XXXX is FRC-0042 * Power actor: network_raw_power: Return this_epoch_raw_byte_power * Power actor: miner_raw_power: Return whether above consensus min power * Power actor: types: serialize one-element structs transparently * Address review * Miner actor: Add exported getters for info and monies (#811) * Miner actor: Add exported getters for info and monies * Tweak comment * Miner actor: Replace GetWorker and GetControls with IsControllingAddress * Miner actor: Add exported GetAvailableBalance * Miner actor: Add exported GetVestingFunds * Miner actor: Remove exported monies getters * Miner actor: types: serialize one-element structs transparently * Address review * Address review
Configuration menu - View commit details
-
Copy full SHA for 8c836b3 - Browse repository at this point
Copy the full SHA 8c836b3View commit details -
Configuration menu - View commit details
-
Copy full SHA for abbf12c - Browse repository at this point
Copy the full SHA abbf12cView commit details -
Call exported authenticate method from PSD (#829)
Co-authored-by: zenground0 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 687ae94 - Browse repository at this point
Copy the full SHA 687ae94View commit details -
Configuration menu - View commit details
-
Copy full SHA for ac59697 - Browse repository at this point
Copy the full SHA ac59697View commit details -
Market actor: Minor improvements to two exported getters (#826)
* Market actor: GetDealTermExported: Return (start_epoch, duration) * Market actor: Export getter for deal total price
Configuration menu - View commit details
-
Copy full SHA for 30e167a - Browse repository at this point
Copy the full SHA 30e167aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4673ef2 - Browse repository at this point
Copy the full SHA 4673ef2View commit details -
Paych actor: Drop account req, use AuthenticateMessage to verify sigs (…
…#824) * Paych actor: Drop account req, use AuthenticateMessage to verify sigs * Address review * Address review
Configuration menu - View commit details
-
Copy full SHA for 382ab4c - Browse repository at this point
Copy the full SHA 382ab4cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3e02530 - Browse repository at this point
Copy the full SHA 3e02530View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7035d11 - Browse repository at this point
Copy the full SHA 7035d11View commit details -
Configuration menu - View commit details
-
Copy full SHA for b790646 - Browse repository at this point
Copy the full SHA b790646View commit details -
Miner: Export several more methods (#863)
* Miner: Export ChangeWorkerAddress * Miner: Export ChangePeerID * Miner: Export WithdrawBalance * Miner: Export ChangeMultiaddrs * Miner: Export ConfirmUpdateWorkerKey * Miner: Export RepayDebt * Miner: Export ChangeOwnerAddress * Miner: Add exported getters for PeerID & multiaddrs * Miner: Refactor: Rename ConfirmUpdateWorkerKey to ConfirmChangeWorkerAddress
Configuration menu - View commit details
-
Copy full SHA for f496760 - Browse repository at this point
Copy the full SHA f496760View commit details -
Configuration menu - View commit details
-
Copy full SHA for fc811bd - Browse repository at this point
Copy the full SHA fc811bdView commit details -
Power actor: Export methods to CreateMiner and get miner counts (#868)
* Power: Export CreateMiner * Power Actor: Export MinerCount and MinerConsensusCount * Update actors/power/src/lib.rs Co-authored-by: Alex <[email protected]> Co-authored-by: Alex <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 59f0c4a - Browse repository at this point
Copy the full SHA 59f0c4aView commit details -
Verifreg: Export AddVerifiedClient and GetClaims (#873)
* Verifreg: Rename AddVerifierClientParams to AddVerifiedClientParams * Verifreg: Export AddVerifiedClient and GetClaims
Configuration menu - View commit details
-
Copy full SHA for fc7477c - Browse repository at this point
Copy the full SHA fc7477cView commit details -
feat: avoid exposing the gas limit in the runtime (#880)
We exposed this for the GASLIMIT opcode, but didn't actually need it. I'm removing it here to reduce the diff and API surface area. See filecoin-project/ref-fvm#1168 for context.
Configuration menu - View commit details
-
Copy full SHA for ec7d3f2 - Browse repository at this point
Copy the full SHA ec7d3f2View commit details
Commits on Dec 1, 2022
-
Configuration menu - View commit details
-
Copy full SHA for a30ee4e - Browse repository at this point
Copy the full SHA a30ee4eView commit details -
feat: correctly implement staticcall (#879)
* feat: correctly implement staticcall * fix: correctly handle staticcall in callactor * fix: clippy
Configuration menu - View commit details
-
Copy full SHA for 4f7b89f - Browse repository at this point
Copy the full SHA 4f7b89fView commit details -
EVM: thread gas limit in send (#885)
* use gas limit for sends when supplied * implement send_with_gas in mock runtime and integration framework * fix read_only flag determination * fix test_vm handling of read only is send_with_gas * use U256::to_u64_saturating instead of panicky as_u64 * remove unnecessary sticky bit check * rustfmt
Configuration menu - View commit details
-
Copy full SHA for a382dc9 - Browse repository at this point
Copy the full SHA a382dc9View commit details -
* wip fixes * cleanup implementation * return 0 for non existient address in extcodesize * use enum instead of result result maddness * fmt & cleanup some logic * update tests for the remaining two ext opcodes * redo logic to make things a bit more clearn * fix bugs & keep bytecode logic seperate, verify expectations before asserting for better debugging help * add another test case for ext op * use closure for early return * nit: reduce indentation * fix: formatting * remove unnecessary closure * fix: make delegatecall behave more like the EVM - address todo - use the new get_cid_type * fix some review nits Co-authored-by: Steven Allen <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 49f927c - Browse repository at this point
Copy the full SHA 49f927cView commit details -
fix: save state before callactor (#886)
Unfortunately, this means we need to pass the "system" to the precompiles, which means we need an unsafe dance to pass a mutable pointer through. But it's not _too_ bad.
Configuration menu - View commit details
-
Copy full SHA for 0f83948 - Browse repository at this point
Copy the full SHA 0f83948View commit details -
Configuration menu - View commit details
-
Copy full SHA for dd76d3e - Browse repository at this point
Copy the full SHA dd76d3eView commit details -
EVM: further dispatch tweaks (#890)
* use while insteas of loop * remove unnecessary bounde checking * fix typo * rustfmt
Configuration menu - View commit details
-
Copy full SHA for 0509cde - Browse repository at this point
Copy the full SHA 0509cdeView commit details -
feat: further optimize instruction dispatch (#891)
1. Lift the "is none" check into the loop. This is actually _slower_ for short programs, but faster over the long-run. I measured that by moving the check _above_ the step operation and determining that it was slower. 2. Remove the unsafe and inline. 1. Inlining is faster overall (at least in terms of gas usage). 2. Inlining lets rust elide the bounds checks (no difference in gas usage). 3. Don't bother checking instructions. Instead, we just dispatch and let run the "undefined instruction" function on undefined instructions. It gives the same result, but saves some time.
Configuration menu - View commit details
-
Copy full SHA for 77f6e8f - Browse repository at this point
Copy the full SHA 77f6e8fView commit details
Commits on Dec 2, 2022
-
fix: make some EVM math a bit more robust (#892)
1. Avoid `as_usize` entirely. 2. Add some more explicit casts and overflow checking. I still hate it, but I now hate it a bit less. I'd love to get rid of the memory region abstraction, or replace it with something a little less brittle. fixes filecoin-project/ref-fvm#1185
Configuration menu - View commit details
-
Copy full SHA for 68a2b1b - Browse repository at this point
Copy the full SHA 68a2b1bView commit details -
EVM: rework jump instructions (#893)
* jmp instructions uncondintionally return the next pc No need for the option and the branches that come from it * jmp instructions can skip the noop sled saves a noop cycle, as it is guaranteed to be there.
Configuration menu - View commit details
-
Copy full SHA for 57d1054 - Browse repository at this point
Copy the full SHA 57d1054View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6d7c99e - Browse repository at this point
Copy the full SHA 6d7c99eView commit details -
refactor: rework opcodes definitions and control flow (#896)
My goal here was simplify the logic around "exiting" so that I could reason about it. Specifically, so I could fix some issues with SELFDESTRUCT. We had multiple error and success paths and that made me nervous. In the process, I ended up changing a bunch of other things: 1. Exit early by setting the PC. 2. Go back to propagating the error through `step()` (makes things easier to read). 3. Fix some rust unsafety things. 4. Move _all_ of the instruction specific logic into the instruction definitions. This will let us eventually remove one of these tables. - This means that instructions manage their own PCs. 5. Aggressively inline.
Configuration menu - View commit details
-
Copy full SHA for 07b3ddb - Browse repository at this point
Copy the full SHA 07b3ddbView commit details -
fix: correctly encode revert data (#899)
This will be _properly_ fixed in filecoin-project/ref-fvm#987, but we need to return proper CBOR till then.
Configuration menu - View commit details
-
Copy full SHA for eea68aa - Browse repository at this point
Copy the full SHA eea68aaView commit details -
fix: handle errors and non-existent addresses in selfdestruct (#897)
In the EVM: 1. Self destruct continues even if it sends funds into oblivion. 2. Self destruct will auto-create a beneficiary. This lets us punt filecoin-project/ref-fvm#736 to M2.2.
Configuration menu - View commit details
-
Copy full SHA for 0cc262a - Browse repository at this point
Copy the full SHA 0cc262aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3c54a25 - Browse repository at this point
Copy the full SHA 3c54a25View commit details -
Configuration menu - View commit details
-
Copy full SHA for 75dee66 - Browse repository at this point
Copy the full SHA 75dee66View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6386014 - Browse repository at this point
Copy the full SHA 6386014View commit details -
EVM: value + magic gas limit 23k implies METHOD_SEND (#887)
value + magic gas limit 23k implies METHOD_SEND
Configuration menu - View commit details
-
Copy full SHA for 80bfa09 - Browse repository at this point
Copy the full SHA 80bfa09View commit details
Commits on Dec 3, 2022
-
fix: return data from callactor on revert as well (#905)
* fix: return data from callactor on revert as well Also, avoid cloning unnecessarily. * test: callactor return data on revert
Configuration menu - View commit details
-
Copy full SHA for d7c1f31 - Browse repository at this point
Copy the full SHA d7c1f31View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1a1c109 - Browse repository at this point
Copy the full SHA 1a1c109View commit details -
EVM: optimize push ins for u64 sizes (#907)
* optimize push for u64 * somewhat nicer macro expansion
Configuration menu - View commit details
-
Copy full SHA for 8b6ab83 - Browse repository at this point
Copy the full SHA 8b6ab83View commit details
Commits on Dec 5, 2022
-
reserve gas for return on CALL (#908)
* reserve gas for return on CALL better handling of edge cases handle 0 gas limit correctly, we still have to reserve simplify * don't be sexist * fix tests; we call gas_available now on every call with gas 0. * user gas is not sacred it turns out * use gas avail for min when user specifies gas * take user's thing if it already reserves. * use min * lift common code
Configuration menu - View commit details
-
Copy full SHA for 8d920b7 - Browse repository at this point
Copy the full SHA 8d920b7View commit details -
Error early on insufficient balance for
Create
/Create2
(#906)* wip * exit early on insufficient balance * rustfmt
Configuration menu - View commit details
-
Copy full SHA for 020e1a5 - Browse repository at this point
Copy the full SHA 020e1a5View commit details
Commits on Dec 6, 2022
-
EVM: rewrite get_actor_code_cid to get_actor_type (#911)
* rewrite get_actor_code_cid to get_actor_type * fix review comments & write tests * fix more review its * update tests and use a helper fuction
Configuration menu - View commit details
-
Copy full SHA for 43ebbff - Browse repository at this point
Copy the full SHA 43ebbffView commit details
Commits on Dec 7, 2022
-
EVM: Split precompiles into smaller, more readable files (#916)
split precompiles into smaller, more readable files
Configuration menu - View commit details
-
Copy full SHA for 0aa4a4c - Browse repository at this point
Copy the full SHA 0aa4a4cView commit details -
Merge master and integration/builtin-api into next (#918)
* Remove the market actor state mutation pattern (#734) Fixes #656 * Proof of concept exported API for Account actor (#797) * Export stable methods for public access (#807) * Export Datacap Actor methods * Export Init Actor methods * Export Market Actor methods * Export Miner Actor methods * Export Multisig Actor methods * Export Verifreg Actor methods * Address review * Restrict internal APIs of all actors (#809) * Exported API method for market actor escrow/locked balance (#812) * Power actor: Add exported getters for raw power (#810) * Power actor: Add exported getters for raw power * FRC-XXXX is FRC-0042 * Power actor: network_raw_power: Return this_epoch_raw_byte_power * Power actor: miner_raw_power: Return whether above consensus min power * Power actor: types: serialize one-element structs transparently * Address review * Miner actor: Add exported getters for info and monies (#811) * Miner actor: Add exported getters for info and monies * Tweak comment * Miner actor: Replace GetWorker and GetControls with IsControllingAddress * Miner actor: Add exported GetAvailableBalance * Miner actor: Add exported GetVestingFunds * Miner actor: Remove exported monies getters * Miner actor: types: serialize one-element structs transparently * Address review * Address review * Built-in market API for deal proposal metadata (#818) * Call exported authenticate method from PSD (#829) Co-authored-by: zenground0 <[email protected]> * Drop CALLER_TYPES_SIGNABLE and signable caller validation (#821) * Market actor: Minor improvements to two exported getters (#826) * Market actor: GetDealTermExported: Return (start_epoch, duration) * Market actor: Export getter for deal total price * Exported API for market deal activation state (#819) * Paych actor: Drop account req, use AuthenticateMessage to verify sigs (#824) * Paych actor: Drop account req, use AuthenticateMessage to verify sigs * Address review * Address review * Account actor: Deprecate AuthenticateMessage (#856) * Market actor: Export PublishStorageDeals (#857) * Miner: Export several more methods (#863) * Miner: Export ChangeWorkerAddress * Miner: Export ChangePeerID * Miner: Export WithdrawBalance * Miner: Export ChangeMultiaddrs * Miner: Export ConfirmUpdateWorkerKey * Miner: Export RepayDebt * Miner: Export ChangeOwnerAddress * Miner: Add exported getters for PeerID & multiaddrs * Miner: Refactor: Rename ConfirmUpdateWorkerKey to ConfirmChangeWorkerAddress * Power actor: Export methods to CreateMiner and get miner counts (#868) * Power: Export CreateMiner * Power Actor: Export MinerCount and MinerConsensusCount * Update actors/power/src/lib.rs Co-authored-by: Alex <[email protected]> Co-authored-by: Alex <[email protected]> * Verifreg: Export AddVerifiedClient and GetClaims (#873) * Verifreg: Rename AddVerifierClientParams to AddVerifiedClientParams * Verifreg: Export AddVerifiedClient and GetClaims * Datacap actor: Modify exported methods (#909) * Datacap: Export Mint and Destroy * Datacap actor: Deprecate all internal methods * Datacap actor: Rename BalanceOf to Balance * Datacap actor: Add Granularity method * fix: comments on newly exported methods (#910) Co-authored-by: RK <[email protected]> Co-authored-by: Alex <[email protected]> Co-authored-by: ZenGround0 <[email protected]> Co-authored-by: zenground0 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3c417b8 - Browse repository at this point
Copy the full SHA 3c417b8View commit details -
EVM-859: Optimize storage footprint (#919)
* EVM-899: Skip write when no change (#709) * EVM-899: Don't even call the HAMT store if there was no change. * EVM-899: Measurement updates with flush fix. * EVM-890: No hashing by HAMT (#730) * EVM-890: Use the identity hasher in the EVM * EVM-890: Update the measurements. * EVM-890: Fix newline in bash script. * EVM-890: Fix charts missing series. * EVM-890: Add key wrapper and use big endian order in hash. * EVM-890: Update measurements with big endian key order. * EVM-890: Remove leftover let binding. * EVM-890: Derive serde * EVM-890: Fix jq check. * EVM-891: HAMT link extension measurements (#739) * EVM-891: Use extensions. * EVM-891: Update measurements * EVM-891: Point at the PR branch. * EVM-891: Update measurements after single char fields * EVM-890: Fix jq check. * EVM-892: Keep root small (#740) * EVM-892: Keep the first 2 levels free of data. * EVM-892: Update patch branch * EVM-892: Reduce bit width to 5 (#741) * EVM-1085: Use Kamt (#855) * EVM-1085: Use Kamt * EVM-1085: Update measurements * EVM-1085: Use the kamt branch on CI. * EVM-1085: Remove use_extensions option.
Configuration menu - View commit details
-
Copy full SHA for 0fc3556 - Browse repository at this point
Copy the full SHA 0fc3556View commit details -
EVM: implement gas hocus pocus consensus logic (#920)
* turn gasless value transfers and 2300s into sends * fix gas in callvariants * add test for send transformation when value and no gass * add test for send transformation when no value and gas is 2300 * clippy
Configuration menu - View commit details
-
Copy full SHA for c37c68a - Browse repository at this point
Copy the full SHA c37c68aView commit details
Commits on Dec 8, 2022
-
EVM: Call with flags through runtime (#917)
* wip * add sending with flags to runtime * fix a few different issues - expectations of send flags - call test - ensure readonly is being passed through * replicate sticky readonly behavior of the FVM in the test VM * add value as a parameter to call_actor precompile * Update actors/evm/src/interpreter/instructions/call.rs Co-authored-by: Steven Allen <[email protected]> * fix issues from review - static mode violations are handled by FVM now, remove internal logic around it - read_only in test vm is "context" which is/will probably be different than the _Context_ bits * restrict default impl of to just tests * oops * fmt Co-authored-by: Steven Allen <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a6cf2f3 - Browse repository at this point
Copy the full SHA a6cf2f3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 46415d2 - Browse repository at this point
Copy the full SHA 46415d2View commit details -
Configuration menu - View commit details
-
Copy full SHA for b31f593 - Browse repository at this point
Copy the full SHA b31f593View commit details -
fix: correctly handle "0" in EVM call gas (#928)
1. Update the FVM's SDK to the version that treats 0 as 0 instead of infinity. 2. Correctly set the gas limit to infinity if we're demoting a call to METHOD_SEND. 3. If the user passes 0 gas in the EVM, leave it at 0 (except when demoting to METHOD_SEND).
Configuration menu - View commit details
-
Copy full SHA for 0fe4a69 - Browse repository at this point
Copy the full SHA 0fe4a69View commit details -
Configuration menu - View commit details
-
Copy full SHA for b96e355 - Browse repository at this point
Copy the full SHA b96e355View commit details -
feat: refactor sends to use the unified function (#923)
This removes the send_read_only variant and makes the simplified `send` variant just call `send_generalized.
Configuration menu - View commit details
-
Copy full SHA for 077d187 - Browse repository at this point
Copy the full SHA 077d187View commit details
Commits on Dec 11, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 36810e9 - Browse repository at this point
Copy the full SHA 36810e9View commit details -
Export stable methods for public access (#807)
* Export Datacap Actor methods * Export Init Actor methods * Export Market Actor methods * Export Miner Actor methods * Export Multisig Actor methods * Export Verifreg Actor methods * Address review
Configuration menu - View commit details
-
Copy full SHA for 0f3d72f - Browse repository at this point
Copy the full SHA 0f3d72fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 370223b - Browse repository at this point
Copy the full SHA 370223bView commit details -
Configuration menu - View commit details
-
Copy full SHA for dec77b8 - Browse repository at this point
Copy the full SHA dec77b8View commit details -
Power actor: Add exported getters for raw power (#810)
* Power actor: Add exported getters for raw power * FRC-XXXX is FRC-0042 * Power actor: network_raw_power: Return this_epoch_raw_byte_power * Power actor: miner_raw_power: Return whether above consensus min power * Power actor: types: serialize one-element structs transparently * Address review * Miner actor: Add exported getters for info and monies (#811) * Miner actor: Add exported getters for info and monies * Tweak comment * Miner actor: Replace GetWorker and GetControls with IsControllingAddress * Miner actor: Add exported GetAvailableBalance * Miner actor: Add exported GetVestingFunds * Miner actor: Remove exported monies getters * Miner actor: types: serialize one-element structs transparently * Address review * Address review
Configuration menu - View commit details
-
Copy full SHA for 8542732 - Browse repository at this point
Copy the full SHA 8542732View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5c3ca43 - Browse repository at this point
Copy the full SHA 5c3ca43View commit details -
Call exported authenticate method from PSD (#829)
Co-authored-by: zenground0 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 68aaba2 - Browse repository at this point
Copy the full SHA 68aaba2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0e18683 - Browse repository at this point
Copy the full SHA 0e18683View commit details -
Market actor: Minor improvements to two exported getters (#826)
* Market actor: GetDealTermExported: Return (start_epoch, duration) * Market actor: Export getter for deal total price
Configuration menu - View commit details
-
Copy full SHA for fdd6303 - Browse repository at this point
Copy the full SHA fdd6303View commit details -
Configuration menu - View commit details
-
Copy full SHA for b26fc74 - Browse repository at this point
Copy the full SHA b26fc74View commit details -
Paych actor: Drop account req, use AuthenticateMessage to verify sigs (…
…#824) * Paych actor: Drop account req, use AuthenticateMessage to verify sigs * Address review * Address review
Configuration menu - View commit details
-
Copy full SHA for cd33132 - Browse repository at this point
Copy the full SHA cd33132View commit details -
Configuration menu - View commit details
-
Copy full SHA for d6048c0 - Browse repository at this point
Copy the full SHA d6048c0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 904bd6a - Browse repository at this point
Copy the full SHA 904bd6aView commit details -
Miner: Export several more methods (#863)
* Miner: Export ChangeWorkerAddress * Miner: Export ChangePeerID * Miner: Export WithdrawBalance * Miner: Export ChangeMultiaddrs * Miner: Export ConfirmUpdateWorkerKey * Miner: Export RepayDebt * Miner: Export ChangeOwnerAddress * Miner: Add exported getters for PeerID & multiaddrs * Miner: Refactor: Rename ConfirmUpdateWorkerKey to ConfirmChangeWorkerAddress
Configuration menu - View commit details
-
Copy full SHA for d5f8048 - Browse repository at this point
Copy the full SHA d5f8048View commit details -
Power actor: Export methods to CreateMiner and get miner counts (#868)
* Power: Export CreateMiner * Power Actor: Export MinerCount and MinerConsensusCount * Update actors/power/src/lib.rs Co-authored-by: Alex <[email protected]> Co-authored-by: Alex <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4a566de - Browse repository at this point
Copy the full SHA 4a566deView commit details -
Verifreg: Export AddVerifiedClient and GetClaims (#873)
* Verifreg: Rename AddVerifierClientParams to AddVerifiedClientParams * Verifreg: Export AddVerifiedClient and GetClaims
Configuration menu - View commit details
-
Copy full SHA for 6e04569 - Browse repository at this point
Copy the full SHA 6e04569View commit details -
Datacap actor: Modify exported methods (#909)
* Datacap: Export Mint and Destroy * Datacap actor: Deprecate all internal methods * Datacap actor: Rename BalanceOf to Balance * Datacap actor: Add Granularity method
Configuration menu - View commit details
-
Copy full SHA for fe6320c - Browse repository at this point
Copy the full SHA fe6320cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 37cb754 - Browse repository at this point
Copy the full SHA 37cb754View commit details -
Configuration menu - View commit details
-
Copy full SHA for b35e0e5 - Browse repository at this point
Copy the full SHA b35e0e5View commit details -
Revert "add Hyperspace testnet parameters and build config."
This reverts commit b35e0e5.
Configuration menu - View commit details
-
Copy full SHA for 4f52c6b - Browse repository at this point
Copy the full SHA 4f52c6bView commit details
Commits on Dec 12, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 9fee117 - Browse repository at this point
Copy the full SHA 9fee117View commit details -
Configuration menu - View commit details
-
Copy full SHA for a796fe8 - Browse repository at this point
Copy the full SHA a796fe8View commit details -
fix: decode revert data (#935)
Also, always don't abort/revert if we fail to decode the revert data. Instead, just return the data without decoding it. This shouldn't happen if we call an EVM contract, but may happen if we call another contract.
Configuration menu - View commit details
-
Copy full SHA for e6458c6 - Browse repository at this point
Copy the full SHA e6458c6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9d02326 - Browse repository at this point
Copy the full SHA 9d02326View commit details -
EVM: Dont revert on invalid call to exthash (#921)
* dont revert on invalid call to exthash * EXT opcode fixes: - add GetBytecodeHash method - store bytecode hash, keccak256(bytecode) in state - extcodehash return empty hash for precompiles and keccak256([0xfe]) for native actors * update storage benchmark outputs * return empy hash for accounts, newtype for evm bytecode hash values * re-update benchmarks
Configuration menu - View commit details
-
Copy full SHA for 8d2d9d5 - Browse repository at this point
Copy the full SHA 8d2d9d5View commit details
Commits on Dec 13, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 1358db5 - Browse repository at this point
Copy the full SHA 1358db5View commit details -
Add test case for extcodehash (#941)
* add some tests and be exaustive with match arms * fix test comment
Configuration menu - View commit details
-
Copy full SHA for f40fa42 - Browse repository at this point
Copy the full SHA f40fa42View commit details -
Co-authored-by: zenground0 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4c1c251 - Browse repository at this point
Copy the full SHA 4c1c251View commit details
Commits on Dec 14, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 16a5875 - Browse repository at this point
Copy the full SHA 16a5875View commit details -
Configuration menu - View commit details
-
Copy full SHA for 90d0c0c - Browse repository at this point
Copy the full SHA 90d0c0cView commit details
Commits on Dec 15, 2022
-
Replace
DIFFICULTY
withPREVRANDAO
(#942)* wip * cache result of randomness inside of interpeter add notes about randomness values in filecoin add tests for prevrandao change evm prevrandao domain tag to 10 * review fixes * fmt
Configuration menu - View commit details
-
Copy full SHA for eb3fc0d - Browse repository at this point
Copy the full SHA eb3fc0dView commit details -
Configuration menu - View commit details
-
Copy full SHA for f24470c - Browse repository at this point
Copy the full SHA f24470cView commit details -
fix: reject (f4) actor redeploy after selfdestruct (#952)
* fix: reject (f4) actor redeploy after selfdestruct We could also reject this in the FVM, but then we'd have to tell the FVM that we're re-assigning an existing ID address. The downside of this method is that it's _slightly_ more expensive (we have to make multiple syscalls instead of one). The benefit is that it makes auditing and testing this code _much_ simpler. Before, we were enforcing half the constraints in the FVM, and the other half in the init actor, which is why we had into this bug in the first place. fixes filecoin-project/ref-fvm#1175 * fixes * test it * fix compile
Configuration menu - View commit details
-
Copy full SHA for 4d288f5 - Browse repository at this point
Copy the full SHA 4d288f5View commit details -
Fix caller check in EVM/EAM constructors (#949)
* Fix caller check in EVM/EAM constructors
Configuration menu - View commit details
-
Copy full SHA for 6cba788 - Browse repository at this point
Copy the full SHA 6cba788View commit details -
Configuration menu - View commit details
-
Copy full SHA for aa9ab6e - Browse repository at this point
Copy the full SHA aa9ab6eView commit details
Commits on Dec 16, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 0841be4 - Browse repository at this point
Copy the full SHA 0841be4View commit details
Commits on Dec 17, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 0a3b578 - Browse repository at this point
Copy the full SHA 0a3b578View commit details -
Configuration menu - View commit details
-
Copy full SHA for e5e1318 - Browse repository at this point
Copy the full SHA e5e1318View commit details
Commits on Dec 19, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 19a625b - Browse repository at this point
Copy the full SHA 19a625bView commit details -
EVM: Re-order address and data size params of call_actor precompile (#…
…970) re-order address and data size params of call_actor precompile
Configuration menu - View commit details
-
Copy full SHA for a501a94 - Browse repository at this point
Copy the full SHA a501a94View commit details -
Configuration menu - View commit details
-
Copy full SHA for 69a790a - Browse repository at this point
Copy the full SHA 69a790aView commit details -
Configuration menu - View commit details
-
Copy full SHA for b08de0d - Browse repository at this point
Copy the full SHA b08de0dView commit details
Commits on Dec 20, 2022
-
EVM: Don't special case ID address range for actor type (#977)
* dont special case 'system' id addresses, always check type * fix actor type precompile test * fix panic in actor type, add test for it
Configuration menu - View commit details
-
Copy full SHA for 24cbacf - Browse repository at this point
Copy the full SHA 24cbacfView commit details
Commits on Dec 21, 2022
-
fix: remove EAM::CreateAccount (#979)
This is just dead code at this point. fixes filecoin-project/ref-fvm#1292
Configuration menu - View commit details
-
Copy full SHA for 655b7c1 - Browse repository at this point
Copy the full SHA 655b7c1View commit details -
update embryo actor to placeholder (#978)
update embroy actor to placeholder according to filecoin-project/FIPs#577
Configuration menu - View commit details
-
Copy full SHA for 441abe0 - Browse repository at this point
Copy the full SHA 441abe0View commit details -
Configuration menu - View commit details
-
Copy full SHA for ad141a1 - Browse repository at this point
Copy the full SHA ad141a1View commit details
Commits on Dec 22, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 393d7da - Browse repository at this point
Copy the full SHA 393d7daView commit details -
Configuration menu - View commit details
-
Copy full SHA for 405bec3 - Browse repository at this point
Copy the full SHA 405bec3View commit details -
EVM: Native precompile address
fe
prefix (#981)* move native precompiles to their own addresses with prefix 0xfe * fmt and remove some stale TODOs * fix review comments * comment style consisticy
Configuration menu - View commit details
-
Copy full SHA for e1ef665 - Browse repository at this point
Copy the full SHA e1ef665View commit details
Commits on Jan 3, 2023
-
EVM: Pass original caller through to callee for Delegate Call (#994)
* fix evm_delegate_call's caller bug * use Eth address for delegate call params instead of ID address * fmt, add test for delegatecall Co-authored-by: samuerio <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1fa3f34 - Browse repository at this point
Copy the full SHA 1fa3f34View commit details
Commits on Jan 4, 2023
-
EVM: Disable get-randomness precompile (#995)
* disable get-randomness precompile * only remove precompile
Configuration menu - View commit details
-
Copy full SHA for f2514a5 - Browse repository at this point
Copy the full SHA f2514a5View commit details -
EVM: Flush state before calling send in Ext opcodes (#993)
* Use system.send instead of system.rt.send to properly flush state before calling into another actor. This is needed since ext* opcodes can/will be called during initcode. Ext* calling self durin initcode must have _some_ state flushed in order to fetch it, system.send will flush empty bytecode hashes to state before send for us. * fmt & fix tests * add tests for ext size/hash in initcode * clippy * fix delegate_call test
Configuration menu - View commit details
-
Copy full SHA for 00d2e10 - Browse repository at this point
Copy the full SHA 00d2e10View commit details -
EAM: Check addresses for reserved range of native precompile (#997)
update EAM to check for new reserved range for native precompiles addresses
Configuration menu - View commit details
-
Copy full SHA for 12e271a - Browse repository at this point
Copy the full SHA 12e271aView commit details -
EVM: Check that precompile address index is within bounds (#996)
* check that precompile address last byte/index is within range of precompile array to avoid panic * clippy
Configuration menu - View commit details
-
Copy full SHA for 3b31742 - Browse repository at this point
Copy the full SHA 3b31742View commit details -
Configuration menu - View commit details
-
Copy full SHA for c2182a9 - Browse repository at this point
Copy the full SHA c2182a9View commit details
Commits on Jan 6, 2023
-
EVM: fix the stack underflow check on swap (#1000)
And add a bunch of tests.
Configuration menu - View commit details
-
Copy full SHA for 1d62c67 - Browse repository at this point
Copy the full SHA 1d62c67View commit details
Commits on Jan 7, 2023
-
EVM: Fix precompiles to output nothing on error (#998)
* move error handling logic into call instead of from trait, remove unused CallActorError * use err instead of flattening to empty vec right away * fmt * add more logging to precompile calls * add test for empty failure * fmt
Configuration menu - View commit details
-
Copy full SHA for 8473c52 - Browse repository at this point
Copy the full SHA 8473c52View commit details
Commits on Jan 9, 2023
-
Configuration menu - View commit details
-
Copy full SHA for b6bf61c - Browse repository at this point
Copy the full SHA b6bf61cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 93d940b - Browse repository at this point
Copy the full SHA 93d940bView commit details -
EVM: Allow Null Addresses to convert into f4 Addresses (#1003)
* account for null and native precompile address in eth to f4 address conversions * fmt & err message fix * be explicit about rejecting null address in EAM * add eam test for null address
1Configuration menu - View commit details
-
Copy full SHA for 56339c2 - Browse repository at this point
Copy the full SHA 56339c2View commit details
Commits on Jan 10, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 98815e4 - Browse repository at this point
Copy the full SHA 98815e4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 74f36e7 - Browse repository at this point
Copy the full SHA 74f36e7View commit details