hevm-0.53.0: Symbolic EVM Evaluator
Safe HaskellSafe-Inferred
LanguageGHC2021

EVM.ABI

Synopsis

Documentation

data AbiValue Source #

Instances

Instances details
Arbitrary AbiValue Source # 
Instance details

Defined in EVM.ABI

Generic AbiValue Source # 
Instance details

Defined in EVM.ABI

Associated Types

type Rep AbiValue :: Type -> Type #

Methods

from :: AbiValue -> Rep AbiValue x #

to :: Rep AbiValue x -> AbiValue #

Read AbiValue Source # 
Instance details

Defined in EVM.ABI

Show AbiValue Source #

Pretty-print some AbiValue.

Instance details

Defined in EVM.ABI

Eq AbiValue Source # 
Instance details

Defined in EVM.ABI

Ord AbiValue Source # 
Instance details

Defined in EVM.ABI

type Rep AbiValue Source # 
Instance details

Defined in EVM.ABI

type Rep AbiValue = D1 ('MetaData "AbiValue" "EVM.ABI" "hevm-0.53.0-inplace" 'False) (((C1 ('MetaCons "AbiUInt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Word256)) :+: C1 ('MetaCons "AbiInt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int256))) :+: (C1 ('MetaCons "AbiAddress" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Addr)) :+: (C1 ('MetaCons "AbiBool" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool)) :+: C1 ('MetaCons "AbiBytes" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ByteString))))) :+: ((C1 ('MetaCons "AbiBytesDynamic" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ByteString)) :+: (C1 ('MetaCons "AbiString" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ByteString)) :+: C1 ('MetaCons "AbiArrayDynamic" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 AbiType) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Vector AbiValue))))) :+: (C1 ('MetaCons "AbiArray" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 AbiType) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Vector AbiValue)))) :+: (C1 ('MetaCons "AbiTuple" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Vector AbiValue))) :+: C1 ('MetaCons "AbiFunction" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ByteString))))))

data AbiType Source #

Instances

Instances details
Arbitrary AbiType Source # 
Instance details

Defined in EVM.ABI

Data AbiType Source # 
Instance details

Defined in EVM.ABI

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AbiType -> c AbiType #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AbiType #

toConstr :: AbiType -> Constr #

dataTypeOf :: AbiType -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AbiType) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AbiType) #

gmapT :: (forall b. Data b => b -> b) -> AbiType -> AbiType #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AbiType -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AbiType -> r #

gmapQ :: (forall d. Data d => d -> u) -> AbiType -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> AbiType -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> AbiType -> m AbiType #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AbiType -> m AbiType #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AbiType -> m AbiType #

Generic AbiType Source # 
Instance details

Defined in EVM.ABI

Associated Types

type Rep AbiType :: Type -> Type #

Methods

from :: AbiType -> Rep AbiType x #

to :: Rep AbiType x -> AbiType #

Read AbiType Source # 
Instance details

Defined in EVM.ABI

Show AbiType Source # 
Instance details

Defined in EVM.ABI

Eq AbiType Source # 
Instance details

Defined in EVM.ABI

Methods

(==) :: AbiType -> AbiType -> Bool #

(/=) :: AbiType -> AbiType -> Bool #

Ord AbiType Source # 
Instance details

Defined in EVM.ABI

type Rep AbiType Source # 
Instance details

Defined in EVM.ABI

type Rep AbiType = D1 ('MetaData "AbiType" "EVM.ABI" "hevm-0.53.0-inplace" 'False) (((C1 ('MetaCons "AbiUIntType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int)) :+: C1 ('MetaCons "AbiIntType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int))) :+: (C1 ('MetaCons "AbiAddressType" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "AbiBoolType" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AbiBytesType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int))))) :+: ((C1 ('MetaCons "AbiBytesDynamicType" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "AbiStringType" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AbiArrayDynamicType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 AbiType)))) :+: (C1 ('MetaCons "AbiArrayType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 AbiType)) :+: (C1 ('MetaCons "AbiTupleType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Vector AbiType))) :+: C1 ('MetaCons "AbiFunctionType" 'PrefixI 'False) (U1 :: Type -> Type)))))

data AbiKind Source #

Constructors

Dynamic 
Static 

Instances

Instances details
Generic AbiKind Source # 
Instance details

Defined in EVM.ABI

Associated Types

type Rep AbiKind :: Type -> Type #

Methods

from :: AbiKind -> Rep AbiKind x #

to :: Rep AbiKind x -> AbiKind #

Read AbiKind Source # 
Instance details

Defined in EVM.ABI

Show AbiKind Source # 
Instance details

Defined in EVM.ABI

Eq AbiKind Source # 
Instance details

Defined in EVM.ABI

Methods

(==) :: AbiKind -> AbiKind -> Bool #

(/=) :: AbiKind -> AbiKind -> Bool #

Ord AbiKind Source # 
Instance details

Defined in EVM.ABI

type Rep AbiKind Source # 
Instance details

Defined in EVM.ABI

type Rep AbiKind = D1 ('MetaData "AbiKind" "EVM.ABI" "hevm-0.53.0-inplace" 'False) (C1 ('MetaCons "Dynamic" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Static" 'PrefixI 'False) (U1 :: Type -> Type))

data AbiVals Source #

Constructors

NoVals 
CAbi [AbiValue] 
SAbi [Expr EWord] 

Instances

Instances details
Show AbiVals Source # 
Instance details

Defined in EVM.ABI

data Event Source #

Constructors

Event Text Anonymity [(Text, AbiType, Indexed)] 

Instances

Instances details
Generic Event Source # 
Instance details

Defined in EVM.ABI

Associated Types

type Rep Event :: Type -> Type #

Methods

from :: Event -> Rep Event x #

to :: Rep Event x -> Event #

Show Event Source # 
Instance details

Defined in EVM.ABI

Methods

showsPrec :: Int -> Event -> ShowS #

show :: Event -> String #

showList :: [Event] -> ShowS #

Eq Event Source # 
Instance details

Defined in EVM.ABI

Methods

(==) :: Event -> Event -> Bool #

(/=) :: Event -> Event -> Bool #

Ord Event Source # 
Instance details

Defined in EVM.ABI

Methods

compare :: Event -> Event -> Ordering #

(<) :: Event -> Event -> Bool #

(<=) :: Event -> Event -> Bool #

(>) :: Event -> Event -> Bool #

(>=) :: Event -> Event -> Bool #

max :: Event -> Event -> Event #

min :: Event -> Event -> Event #

type Rep Event Source # 
Instance details

Defined in EVM.ABI

data SolError Source #

Constructors

SolError Text [AbiType] 

Instances

Instances details
Generic SolError Source # 
Instance details

Defined in EVM.ABI

Associated Types

type Rep SolError :: Type -> Type #

Methods

from :: SolError -> Rep SolError x #

to :: Rep SolError x -> SolError #

Show SolError Source # 
Instance details

Defined in EVM.ABI

Eq SolError Source # 
Instance details

Defined in EVM.ABI

Ord SolError Source # 
Instance details

Defined in EVM.ABI

type Rep SolError Source # 
Instance details

Defined in EVM.ABI

data Anonymity Source #

Constructors

Anonymous 
NotAnonymous 

Instances

Instances details
Generic Anonymity Source # 
Instance details

Defined in EVM.ABI

Associated Types

type Rep Anonymity :: Type -> Type #

Show Anonymity Source # 
Instance details

Defined in EVM.ABI

Eq Anonymity Source # 
Instance details

Defined in EVM.ABI

Ord Anonymity Source # 
Instance details

Defined in EVM.ABI

type Rep Anonymity Source # 
Instance details

Defined in EVM.ABI

type Rep Anonymity = D1 ('MetaData "Anonymity" "EVM.ABI" "hevm-0.53.0-inplace" 'False) (C1 ('MetaCons "Anonymous" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NotAnonymous" 'PrefixI 'False) (U1 :: Type -> Type))

data Indexed Source #

Constructors

Indexed 
NotIndexed 

Instances

Instances details
Generic Indexed Source # 
Instance details

Defined in EVM.ABI

Associated Types

type Rep Indexed :: Type -> Type #

Methods

from :: Indexed -> Rep Indexed x #

to :: Rep Indexed x -> Indexed #

Show Indexed Source # 
Instance details

Defined in EVM.ABI

Eq Indexed Source # 
Instance details

Defined in EVM.ABI

Methods

(==) :: Indexed -> Indexed -> Bool #

(/=) :: Indexed -> Indexed -> Bool #

Ord Indexed Source # 
Instance details

Defined in EVM.ABI

type Rep Indexed Source # 
Instance details

Defined in EVM.ABI

type Rep Indexed = D1 ('MetaData "Indexed" "EVM.ABI" "hevm-0.53.0-inplace" 'False) (C1 ('MetaCons "Indexed" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NotIndexed" 'PrefixI 'False) (U1 :: Type -> Type))

data Sig Source #

A method name, and the (ordered) types of it's arguments

Constructors

Sig Text [AbiType] 

Instances

Instances details
Show Sig Source # 
Instance details

Defined in EVM.ABI

Methods

showsPrec :: Int -> Sig -> ShowS #

show :: Sig -> String #

showList :: [Sig] -> ShowS #

Eq Sig Source # 
Instance details

Defined in EVM.ABI

Methods

(==) :: Sig -> Sig -> Bool #

(/=) :: Sig -> Sig -> Bool #

getAbiSeq :: Int -> [AbiType] -> Get (Vector AbiValue) Source #

Decode a sequence type (e.g. tuple / array). Will fail for non sequence types