| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Plutus.Contract.Test.ContractModel.Symbolics
Synopsis
- newtype AssetKey = AssetKey Int
- data SymToken = SymToken {}
- data SymValue = SymValue {}
- symIsZero :: SymValue -> Bool
- symLeq :: SymValue -> SymValue -> Bool
- toValue :: (SymToken -> AssetClass) -> SymValue -> Value
- toSymVal :: (AssetClass -> Maybe SymToken) -> Value -> SymValue
- inv :: SymValue -> SymValue
- class SymValueLike v where
- toSymValue :: v -> SymValue
- class TokenLike t where
- symAssetIdValueOf :: SymValue -> t -> Integer
- symAssetIdValue :: t -> Integer -> SymValue
Documentation
Instances
A symbolic token is a token that exists only during ContractModel generation time
Instances
| Eq SymToken Source # | |
| Data SymToken Source # | |
Defined in Plutus.Contract.Test.ContractModel.Symbolics Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SymToken -> c SymToken Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SymToken Source # toConstr :: SymToken -> Constr Source # dataTypeOf :: SymToken -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SymToken) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SymToken) Source # gmapT :: (forall b. Data b => b -> b) -> SymToken -> SymToken Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SymToken -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SymToken -> r Source # gmapQ :: (forall d. Data d => d -> u) -> SymToken -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> SymToken -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> SymToken -> m SymToken Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SymToken -> m SymToken Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SymToken -> m SymToken Source # | |
| Ord SymToken Source # | |
Defined in Plutus.Contract.Test.ContractModel.Symbolics | |
| Show SymToken Source # | |
| TokenLike SymToken Source # | |
Defined in Plutus.Contract.Test.ContractModel.Symbolics | |
A symbolic value is a combination of a real value and a value associating symbolic tokens with an amount
Instances
| Eq SymValue Source # | |
| Data SymValue Source # | |
Defined in Plutus.Contract.Test.ContractModel.Symbolics Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SymValue -> c SymValue Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SymValue Source # toConstr :: SymValue -> Constr Source # dataTypeOf :: SymValue -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SymValue) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SymValue) Source # gmapT :: (forall b. Data b => b -> b) -> SymValue -> SymValue Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SymValue -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SymValue -> r Source # gmapQ :: (forall d. Data d => d -> u) -> SymValue -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> SymValue -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> SymValue -> m SymValue Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SymValue -> m SymValue Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SymValue -> m SymValue Source # | |
| Show SymValue Source # | |
| Semigroup SymValue Source # | |
| Monoid SymValue Source # | |
| SymValueLike SymValue Source # | |
Defined in Plutus.Contract.Test.ContractModel.Symbolics Methods toSymValue :: SymValue -> SymValue Source # | |
symLeq :: SymValue -> SymValue -> Bool Source #
Check if one symbolic value is less than or equal to another
toValue :: (SymToken -> AssetClass) -> SymValue -> Value Source #
Using a semantics function for symbolic tokens, convert a SymValue to a Value
toSymVal :: (AssetClass -> Maybe SymToken) -> Value -> SymValue Source #
Invert a sym token mapping to turn a Value into a SymValue, useful for error reporting
class SymValueLike v where Source #
Methods
toSymValue :: v -> SymValue Source #
Instances
| SymValueLike Value Source # | |
Defined in Plutus.Contract.Test.ContractModel.Symbolics Methods toSymValue :: Value -> SymValue Source # | |
| SymValueLike Ada Source # | |
Defined in Plutus.Contract.Test.ContractModel.Symbolics Methods toSymValue :: Ada -> SymValue Source # | |
| SymValueLike SymValue Source # | |
Defined in Plutus.Contract.Test.ContractModel.Symbolics Methods toSymValue :: SymValue -> SymValue Source # | |
class TokenLike t where Source #
Methods
symAssetIdValueOf :: SymValue -> t -> Integer Source #
Get the value of a specific token in a SymValue
symAssetIdValue :: t -> Integer -> SymValue Source #
Convert a token and an amount to a SymValue
Instances
| TokenLike AssetClass Source # | |
Defined in Plutus.Contract.Test.ContractModel.Symbolics Methods symAssetIdValueOf :: SymValue -> AssetClass -> Integer Source # symAssetIdValue :: AssetClass -> Integer -> SymValue Source # | |
| TokenLike SymToken Source # | |
Defined in Plutus.Contract.Test.ContractModel.Symbolics | |