You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Support multiple underlying uint256 libraries (#399)
* Use uint reexport
Remove all reference of primitive_types except in evm_interpreter::uint.
Eventually this will allow us to support multiple underlying uint types.
* Run cargo fmt
* All skeletons needed for ruint and ethnum
* Add ZERO and ONE consts in U256Ext
* Move to_h256/from_h256 to_h160/from_h160 to U256Ext
* Make ruint compile
* Get ethnum to compile
* Make everything compile
We still need to implement those trait functions.
* Run cargo fmt
* Fix CI
* Unbreak semver for evm-interpreter
There's no reason to break it, just adding a few old functions back.
* Run cargo fmt
* Only require main crate to be built against ruint and ethnum
* Explicitly select packages to build for ruint and ethnum
* Run cargo fmt
* Add allow unused_imports
* Mark U256Ext as doc(hidden)
We expect frequent change in this trait, so we don't want it to be part of the
public API.
* Seal U256Ext trait
* Impl from/to_h256 for ethnum and ruint
* Rename addmod -> add_mod, mulmod -> mul_mod
* Native ruint add_mod and mul_mod
* Finish all ruint impls
* Better conversion function naming for uint
* Distinguish external and internal crates
External crates are not allowed to use U256Ext.
* Fix tests for ruint and ethnum
* Remove ethnum
Too different compared with primitive-types and ruint to reliably support.
Some semantics doesn't follow common uint standard.
Perhaps at a later date when we have type alias impl trait.
* Fix lint
* Run cargo fmt
* Allow unused imports of U256Ext
* Update rust toolchain to 1.92
* Make ruint compile on the rest of the crates
* Time-consuming tests
* Bump evm/evm-interpreter to 1.1.0
0 commit comments