hevm 0.16 → 0.17
raw patch · 5 files changed
+17/−8 lines, 5 filesdep ~restless-gitPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: restless-git
API changes (from Hackage documentation)
- EVM.FeeSchedule: instance (GHC.Show.Show n, GHC.Num.Num n) => GHC.Show.Show (EVM.FeeSchedule.FeeSchedule n)
+ EVM: instance GHC.Base.Semigroup EVM.Cache
+ EVM.Concrete: instance GHC.Base.Semigroup EVM.Concrete.Blob
+ EVM.Concrete: instance GHC.Base.Semigroup EVM.Concrete.Memory
+ EVM.FeeSchedule: instance (GHC.Num.Num n, GHC.Show.Show n) => GHC.Show.Show (EVM.FeeSchedule.FeeSchedule n)
+ EVM.Solidity: instance GHC.Base.Semigroup EVM.Solidity.SourceCache
- EVM.UnitTest: UnitTestOptions :: (Query -> IO (EVM ())) -> Bool -> Text -> (VM -> VM) -> TestVMParams -> UnitTestOptions
+ EVM.UnitTest: UnitTestOptions :: Query -> IO (EVM ()) -> Bool -> Text -> VM -> VM -> TestVMParams -> UnitTestOptions
Files
- CHANGELOG.md +3/−0
- hevm.cabal +2/−2
- src/EVM.hs +5/−3
- src/EVM/Concrete.hs +3/−1
- src/EVM/Solidity.hs +4/−2
CHANGELOG.md view
@@ -1,5 +1,8 @@ # hevm changelog +## 0.17 - 2018-10-05+ - Semigroup/Monoid fix+ ## 0.16 - 2018-09-19 - Move ethjet into hevm
hevm.cabal view
@@ -1,7 +1,7 @@ name: hevm version:- 0.16+ 0.17 synopsis: Ethereum virtual machine evaluator description:@@ -99,7 +99,7 @@ process >= 1.4, quickcheck-text >= 0.1, readline >= 1.0,- restless-git >= 0.6,+ restless-git >= 0.7, rosezipper >= 0.2, scientific >= 0.3, s-cargot >= 0.1,
src/EVM.hs view
@@ -37,6 +37,7 @@ import Data.ByteString.Lazy (fromStrict) import Data.Map.Strict (Map) import Data.Maybe (fromMaybe, isNothing)+import Data.Semigroup (Semigroup (..)) import Data.Sequence (Seq) import Data.Vector.Storable (Vector) import Data.Foldable (toList)@@ -258,11 +259,12 @@ makeLenses ''Trace makeLenses ''VM +instance Semigroup Cache where+ a <> b = Cache+ { _fetched = mappend (view fetched a) (view fetched b) }+ instance Monoid Cache where mempty = Cache { _fetched = mempty }- mappend a b = Cache- { _fetched = mappend (view fetched a) (view fetched b)- } -- * Data accessors
src/EVM/Concrete.hs view
@@ -15,7 +15,7 @@ import Data.ByteString (ByteString) import Data.DoubleWord (signedWord, unsignedWord) import Data.Maybe (fromMaybe)-import Data.Monoid ((<>))+import Data.Semigroup ((<>)) import Data.String (IsString) import Data.Word (Word8) @@ -169,7 +169,9 @@ deriving instance Eq Byte deriving instance Integral Byte deriving instance IsString Blob+deriving instance Semigroup Blob deriving instance Monoid Blob+deriving instance Semigroup Memory deriving instance Monoid Memory deriving instance Num Byte deriving instance Ord Byte
src/EVM/Solidity.hs view
@@ -49,7 +49,7 @@ import Data.Foldable import Data.Map.Strict (Map) import Data.Maybe-import Data.Monoid+import Data.Semigroup import Data.Sequence (Seq) import Data.Text (Text, pack, intercalate) import Data.Text.Encoding (encodeUtf8)@@ -97,9 +97,11 @@ , _sourceAsts :: Map Text Value } deriving (Show, Eq, Generic) +instance Semigroup SourceCache where+ _ <> _ = error "lol"+ instance Monoid SourceCache where mempty = SourceCache mempty mempty mempty mempty- mappend (SourceCache _ _ _ _) (SourceCache _ _ _ _) = error "lol" data JumpType = JumpInto | JumpFrom | JumpRegular deriving (Show, Eq, Ord, Generic)