{-# LANGUAGE NoImplicitPrelude #-}
module Cooked.ShowBS (ShowBS (..)) where
import PlutusLedgerApi.V3 qualified as Api
import PlutusTx.AssocMap qualified as PlutusTx
import PlutusTx.Builtins qualified as PlutusTx
import PlutusTx.Prelude hiding (toList)
import PlutusTx.Ratio qualified as PlutusTx hiding (negate)
class ShowBS a where
showBS :: a -> BuiltinString
{-# INLINEABLE showBSParen #-}
showBSParen :: BuiltinString -> BuiltinString
showBSParen :: BuiltinString -> BuiltinString
showBSParen BuiltinString
s = BuiltinString
"(" BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
s BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
")"
{-# INLINEABLE application1 #-}
application1 :: (ShowBS a) => BuiltinString -> a -> BuiltinString
application1 :: forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
bs a
x = BuiltinString -> BuiltinString
showBSParen (BuiltinString -> BuiltinString) -> BuiltinString -> BuiltinString
forall a b. (a -> b) -> a -> b
$ BuiltinString
bs BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
" " BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> a -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS a
x
{-# INLINEABLE application2 #-}
application2 :: (ShowBS a, ShowBS b) => BuiltinString -> a -> b -> BuiltinString
application2 :: forall a b.
(ShowBS a, ShowBS b) =>
BuiltinString -> a -> b -> BuiltinString
application2 BuiltinString
bs a
x b
y = BuiltinString -> BuiltinString
showBSParen (BuiltinString -> BuiltinString) -> BuiltinString -> BuiltinString
forall a b. (a -> b) -> a -> b
$ BuiltinString
bs BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
" " BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> a -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS a
x BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
" " BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> b -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS b
y
{-# INLINEABLE application3 #-}
application3 :: (ShowBS a, ShowBS b, ShowBS c) => BuiltinString -> a -> b -> c -> BuiltinString
application3 :: forall a b c.
(ShowBS a, ShowBS b, ShowBS c) =>
BuiltinString -> a -> b -> c -> BuiltinString
application3 BuiltinString
bs a
x b
y c
z = BuiltinString -> BuiltinString
showBSParen (BuiltinString -> BuiltinString) -> BuiltinString -> BuiltinString
forall a b. (a -> b) -> a -> b
$ BuiltinString
bs BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
" " BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> a -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS a
x BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
" " BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> b -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS b
y BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
" " BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> c -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS c
z
{-# INLINEABLE application4 #-}
application4 :: (ShowBS a, ShowBS b, ShowBS c, ShowBS d) => BuiltinString -> a -> b -> c -> d -> BuiltinString
application4 :: forall a b c d.
(ShowBS a, ShowBS b, ShowBS c, ShowBS d) =>
BuiltinString -> a -> b -> c -> d -> BuiltinString
application4 BuiltinString
bs a
x b
y c
z d
w = BuiltinString -> BuiltinString
showBSParen (BuiltinString -> BuiltinString) -> BuiltinString -> BuiltinString
forall a b. (a -> b) -> a -> b
$ BuiltinString
bs BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
" " BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> a -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS a
x BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
" " BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> b -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS b
y BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
" " BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> c -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS c
z BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
" " BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> d -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS d
w
instance ShowBS Integer where
{-# INLINEABLE showBS #-}
showBS :: Integer -> BuiltinString
showBS Integer
i = [BuiltinString] -> BuiltinString
forall a. Monoid a => [a] -> a
mconcat (Integer -> [BuiltinString]
integerToDigits Integer
i)
{-# INLINEABLE integerToDigits #-}
integerToDigits :: Integer -> [BuiltinString]
integerToDigits :: Integer -> [BuiltinString]
integerToDigits Integer
n
| Integer
n Integer -> Integer -> Bool
forall a. Ord a => a -> a -> Bool
< Integer
0 = BuiltinString
"-" BuiltinString -> [BuiltinString] -> [BuiltinString]
forall a. a -> [a] -> [a]
: Integer -> [BuiltinString] -> [BuiltinString]
go (Integer -> Integer
forall a. AdditiveGroup a => a -> a
negate Integer
n) []
| Integer
n Integer -> Integer -> Bool
forall a. Eq a => a -> a -> Bool
== Integer
0 = [BuiltinString
"0"]
| Bool
otherwise = Integer -> [BuiltinString] -> [BuiltinString]
go Integer
n []
where
go :: Integer -> [BuiltinString] -> [BuiltinString]
go Integer
i [BuiltinString]
acc
| Integer
i Integer -> Integer -> Bool
forall a. Eq a => a -> a -> Bool
== Integer
0 = [BuiltinString]
acc
| Bool
otherwise = let (Integer
q, Integer
r) = Integer -> Integer -> (Integer, Integer)
quotRem Integer
i Integer
10 in Integer -> [BuiltinString] -> [BuiltinString]
go Integer
q (Integer -> BuiltinString
digitToBS Integer
r BuiltinString -> [BuiltinString] -> [BuiltinString]
forall a. a -> [a] -> [a]
: [BuiltinString]
acc)
{-# INLINEABLE digitToBS #-}
digitToBS :: Integer -> BuiltinString
digitToBS :: Integer -> BuiltinString
digitToBS Integer
x
| Integer
x Integer -> Integer -> Bool
forall a. Eq a => a -> a -> Bool
== Integer
0 = BuiltinString
"0"
| Integer
x Integer -> Integer -> Bool
forall a. Eq a => a -> a -> Bool
== Integer
1 = BuiltinString
"1"
| Integer
x Integer -> Integer -> Bool
forall a. Eq a => a -> a -> Bool
== Integer
2 = BuiltinString
"2"
| Integer
x Integer -> Integer -> Bool
forall a. Eq a => a -> a -> Bool
== Integer
3 = BuiltinString
"3"
| Integer
x Integer -> Integer -> Bool
forall a. Eq a => a -> a -> Bool
== Integer
4 = BuiltinString
"4"
| Integer
x Integer -> Integer -> Bool
forall a. Eq a => a -> a -> Bool
== Integer
5 = BuiltinString
"5"
| Integer
x Integer -> Integer -> Bool
forall a. Eq a => a -> a -> Bool
== Integer
6 = BuiltinString
"6"
| Integer
x Integer -> Integer -> Bool
forall a. Eq a => a -> a -> Bool
== Integer
7 = BuiltinString
"7"
| Integer
x Integer -> Integer -> Bool
forall a. Eq a => a -> a -> Bool
== Integer
8 = BuiltinString
"8"
| Integer
x Integer -> Integer -> Bool
forall a. Eq a => a -> a -> Bool
== Integer
9 = BuiltinString
"9"
| Bool
otherwise = BuiltinString
"?"
instance (ShowBS a) => ShowBS [a] where
{-# INLINEABLE showBS #-}
showBS :: [a] -> BuiltinString
showBS = BuiltinString
-> BuiltinString
-> BuiltinString
-> (a -> BuiltinString)
-> [a]
-> BuiltinString
forall a.
BuiltinString
-> BuiltinString
-> BuiltinString
-> (a -> BuiltinString)
-> [a]
-> BuiltinString
catList BuiltinString
"[" BuiltinString
"," BuiltinString
"]" a -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS
{-# INLINEABLE catList #-}
catList :: BuiltinString -> BuiltinString -> BuiltinString -> (a -> BuiltinString) -> [a] -> BuiltinString
catList :: forall a.
BuiltinString
-> BuiltinString
-> BuiltinString
-> (a -> BuiltinString)
-> [a]
-> BuiltinString
catList BuiltinString
open BuiltinString
_ BuiltinString
close a -> BuiltinString
_ [] = BuiltinString
open BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
close
catList BuiltinString
open BuiltinString
sep BuiltinString
close a -> BuiltinString
print (a
x : [a]
xs) = BuiltinString
open BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> a -> BuiltinString
print a
x BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> [a] -> BuiltinString
printSeparated [a]
xs BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
close
where
printSeparated :: [a] -> BuiltinString
printSeparated [] = BuiltinString
""
printSeparated (a
y : [a]
ys) = BuiltinString
sep BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> a -> BuiltinString
print a
y BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> [a] -> BuiltinString
printSeparated [a]
ys
instance (ShowBS a, ShowBS b) => ShowBS (a, b) where
{-# INLINEABLE showBS #-}
showBS :: (a, b) -> BuiltinString
showBS (a
x, b
y) = BuiltinString
"(" BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> a -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS a
x BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
"," BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> b -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS b
y BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
")"
instance ShowBS Bool where
{-# INLINEABLE showBS #-}
showBS :: Bool -> BuiltinString
showBS Bool
True = BuiltinString
"True"
showBS Bool
False = BuiltinString
"False"
instance (ShowBS a) => ShowBS (Maybe a) where
{-# INLINEABLE showBS #-}
showBS :: Maybe a -> BuiltinString
showBS Maybe a
Nothing = BuiltinString
"Nothing"
showBS (Just a
x) = BuiltinString -> a -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"Just" a
x
instance (ShowBS k, ShowBS v) => ShowBS (PlutusTx.Map k v) where
{-# INLINEABLE showBS #-}
showBS :: Map k v -> BuiltinString
showBS Map k v
m = BuiltinString -> [(k, v)] -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"fromList" (Map k v -> [(k, v)]
forall k v. Map k v -> [(k, v)]
PlutusTx.toList Map k v
m)
instance ShowBS BuiltinByteString where
{-# INLINEABLE showBS #-}
showBS :: BuiltinByteString -> BuiltinString
showBS BuiltinByteString
bs = BuiltinString
"\"" BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> [BuiltinString] -> BuiltinString
forall a. Monoid a => [a] -> a
mconcat (BuiltinByteString -> [BuiltinString]
builtinByteStringCharacters BuiltinByteString
bs) BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
"\""
{-# INLINEABLE builtinByteStringCharacters #-}
builtinByteStringCharacters :: BuiltinByteString -> [BuiltinString]
builtinByteStringCharacters :: BuiltinByteString -> [BuiltinString]
builtinByteStringCharacters BuiltinByteString
s = Integer -> [BuiltinString] -> [BuiltinString]
go (Integer
len Integer -> Integer -> Integer
forall a. AdditiveGroup a => a -> a -> a
- Integer
1) []
where
len :: Integer
len = BuiltinByteString -> Integer
lengthOfByteString BuiltinByteString
s
go :: Integer -> [BuiltinString] -> [BuiltinString]
go :: Integer -> [BuiltinString] -> [BuiltinString]
go Integer
i [BuiltinString]
acc
| Integer
i Integer -> Integer -> Bool
forall a. Ord a => a -> a -> Bool
>= Integer
0 =
let (Integer
highNibble, Integer
lowNibble) = Integer -> Integer -> (Integer, Integer)
quotRem (BuiltinByteString -> Integer -> Integer
indexByteString BuiltinByteString
s Integer
i) Integer
16
in Integer -> [BuiltinString] -> [BuiltinString]
go (Integer
i Integer -> Integer -> Integer
forall a. AdditiveGroup a => a -> a -> a
- Integer
1) (Integer -> BuiltinString
toHex Integer
highNibble BuiltinString -> [BuiltinString] -> [BuiltinString]
forall a. a -> [a] -> [a]
: Integer -> BuiltinString
toHex Integer
lowNibble BuiltinString -> [BuiltinString] -> [BuiltinString]
forall a. a -> [a] -> [a]
: [BuiltinString]
acc)
| Bool
otherwise = [BuiltinString]
acc
toHex :: Integer -> BuiltinString
toHex :: Integer -> BuiltinString
toHex Integer
x
| Integer
x Integer -> Integer -> Bool
forall a. Ord a => a -> a -> Bool
<= Integer
9 = Integer -> BuiltinString
digitToBS Integer
x
| Integer
x Integer -> Integer -> Bool
forall a. Eq a => a -> a -> Bool
== Integer
10 = BuiltinString
"a"
| Integer
x Integer -> Integer -> Bool
forall a. Eq a => a -> a -> Bool
== Integer
11 = BuiltinString
"b"
| Integer
x Integer -> Integer -> Bool
forall a. Eq a => a -> a -> Bool
== Integer
12 = BuiltinString
"c"
| Integer
x Integer -> Integer -> Bool
forall a. Eq a => a -> a -> Bool
== Integer
13 = BuiltinString
"d"
| Integer
x Integer -> Integer -> Bool
forall a. Eq a => a -> a -> Bool
== Integer
14 = BuiltinString
"e"
| Integer
x Integer -> Integer -> Bool
forall a. Eq a => a -> a -> Bool
== Integer
15 = BuiltinString
"f"
| Bool
otherwise = BuiltinString
"?"
instance ShowBS Api.TokenName where
{-# INLINEABLE showBS #-}
showBS :: TokenName -> BuiltinString
showBS (Api.TokenName BuiltinByteString
x) = BuiltinString -> BuiltinByteString -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"TokenName" BuiltinByteString
x
instance ShowBS Api.CurrencySymbol where
{-# INLINEABLE showBS #-}
showBS :: CurrencySymbol -> BuiltinString
showBS (Api.CurrencySymbol BuiltinByteString
x) = BuiltinString -> BuiltinByteString -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"CurrencySymbol" BuiltinByteString
x
instance ShowBS Api.Value where
{-# INLINEABLE showBS #-}
showBS :: Value -> BuiltinString
showBS (Api.Value Map CurrencySymbol (Map TokenName Integer)
m) = BuiltinString
-> Map CurrencySymbol (Map TokenName Integer) -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"Value" Map CurrencySymbol (Map TokenName Integer)
m
instance ShowBS Api.TxId where
{-# INLINEABLE showBS #-}
showBS :: TxId -> BuiltinString
showBS (Api.TxId BuiltinByteString
x) = BuiltinString -> BuiltinByteString -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"TxId" BuiltinByteString
x
instance ShowBS Api.TxOutRef where
{-# INLINEABLE showBS #-}
showBS :: TxOutRef -> BuiltinString
showBS (Api.TxOutRef TxId
txid Integer
i) = BuiltinString -> TxId -> Integer -> BuiltinString
forall a b.
(ShowBS a, ShowBS b) =>
BuiltinString -> a -> b -> BuiltinString
application2 BuiltinString
"TxOutRef" TxId
txid Integer
i
instance ShowBS Api.PubKeyHash where
{-# INLINEABLE showBS #-}
showBS :: PubKeyHash -> BuiltinString
showBS (Api.PubKeyHash BuiltinByteString
h) = BuiltinString -> BuiltinByteString -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"PubKeyHash" BuiltinByteString
h
instance ShowBS Api.Credential where
{-# INLINEABLE showBS #-}
showBS :: Credential -> BuiltinString
showBS (Api.ScriptCredential ScriptHash
hash) = BuiltinString -> ScriptHash -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"ScriptCredential" ScriptHash
hash
showBS (Api.PubKeyCredential PubKeyHash
pkh) = BuiltinString -> PubKeyHash -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"PubKeyCredential" PubKeyHash
pkh
instance ShowBS Api.StakingCredential where
{-# INLINEABLE showBS #-}
showBS :: StakingCredential -> BuiltinString
showBS (Api.StakingHash Credential
cred) = BuiltinString -> Credential -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"StakingCredential" Credential
cred
showBS (Api.StakingPtr Integer
i Integer
j Integer
k) = BuiltinString -> Integer -> Integer -> Integer -> BuiltinString
forall a b c.
(ShowBS a, ShowBS b, ShowBS c) =>
BuiltinString -> a -> b -> c -> BuiltinString
application3 BuiltinString
"StakingPointer" Integer
i Integer
j Integer
k
instance ShowBS Api.Address where
{-# INLINEABLE showBS #-}
showBS :: Address -> BuiltinString
showBS (Api.Address Credential
cred Maybe StakingCredential
mStCred) = BuiltinString
-> Credential -> Maybe StakingCredential -> BuiltinString
forall a b.
(ShowBS a, ShowBS b) =>
BuiltinString -> a -> b -> BuiltinString
application2 BuiltinString
"Address" Credential
cred Maybe StakingCredential
mStCred
instance ShowBS Api.DatumHash where
{-# INLINEABLE showBS #-}
showBS :: DatumHash -> BuiltinString
showBS (Api.DatumHash BuiltinByteString
h) = BuiltinString -> BuiltinByteString -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"DatumHash" BuiltinByteString
h
instance ShowBS BuiltinData where
{-# INLINEABLE showBS #-}
showBS :: BuiltinData -> BuiltinString
showBS BuiltinData
d = BuiltinString -> BuiltinString
showBSParen (BuiltinString -> BuiltinString) -> BuiltinString -> BuiltinString
forall a b. (a -> b) -> a -> b
$ BuiltinString
"BuiltinData " BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinData -> BuiltinString
showData BuiltinData
d
{-# INLINEABLE showData #-}
showData :: BuiltinData -> BuiltinString
showData :: BuiltinData -> BuiltinString
showData BuiltinData
d =
BuiltinData
-> (Integer -> [BuiltinData] -> BuiltinString)
-> ([(BuiltinData, BuiltinData)] -> BuiltinString)
-> ([BuiltinData] -> BuiltinString)
-> (Integer -> BuiltinString)
-> (BuiltinByteString -> BuiltinString)
-> BuiltinString
forall r.
BuiltinData
-> (Integer -> [BuiltinData] -> r)
-> ([(BuiltinData, BuiltinData)] -> r)
-> ([BuiltinData] -> r)
-> (Integer -> r)
-> (BuiltinByteString -> r)
-> r
PlutusTx.matchData
BuiltinData
d
(\Integer
i [BuiltinData]
ds -> BuiltinString -> BuiltinString
showBSParen (BuiltinString -> BuiltinString) -> BuiltinString -> BuiltinString
forall a b. (a -> b) -> a -> b
$ BuiltinString
"Constr " BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> Integer -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS Integer
i BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
" " BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
-> BuiltinString
-> BuiltinString
-> (BuiltinData -> BuiltinString)
-> [BuiltinData]
-> BuiltinString
forall a.
BuiltinString
-> BuiltinString
-> BuiltinString
-> (a -> BuiltinString)
-> [a]
-> BuiltinString
catList BuiltinString
"[" BuiltinString
"," BuiltinString
"]" BuiltinData -> BuiltinString
showData [BuiltinData]
ds)
(\[(BuiltinData, BuiltinData)]
alist -> BuiltinString -> BuiltinString
showBSParen (BuiltinString -> BuiltinString) -> BuiltinString -> BuiltinString
forall a b. (a -> b) -> a -> b
$ BuiltinString
"Map " BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
-> BuiltinString
-> BuiltinString
-> ((BuiltinData, BuiltinData) -> BuiltinString)
-> [(BuiltinData, BuiltinData)]
-> BuiltinString
forall a.
BuiltinString
-> BuiltinString
-> BuiltinString
-> (a -> BuiltinString)
-> [a]
-> BuiltinString
catList BuiltinString
"[" BuiltinString
"," BuiltinString
"]" (\(BuiltinData
a, BuiltinData
b) -> BuiltinString
"(" BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinData -> BuiltinString
showData BuiltinData
a BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
"," BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinData -> BuiltinString
showData BuiltinData
b BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
")") [(BuiltinData, BuiltinData)]
alist)
(\[BuiltinData]
list -> BuiltinString -> BuiltinString
showBSParen (BuiltinString -> BuiltinString) -> BuiltinString -> BuiltinString
forall a b. (a -> b) -> a -> b
$ BuiltinString
"List " BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
-> BuiltinString
-> BuiltinString
-> (BuiltinData -> BuiltinString)
-> [BuiltinData]
-> BuiltinString
forall a.
BuiltinString
-> BuiltinString
-> BuiltinString
-> (a -> BuiltinString)
-> [a]
-> BuiltinString
catList BuiltinString
"[" BuiltinString
"," BuiltinString
"]" BuiltinData -> BuiltinString
showData [BuiltinData]
list)
(\Integer
i -> BuiltinString -> BuiltinString
showBSParen (BuiltinString -> BuiltinString) -> BuiltinString -> BuiltinString
forall a b. (a -> b) -> a -> b
$ BuiltinString
"I " BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> Integer -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS Integer
i)
(\BuiltinByteString
bs -> BuiltinString -> BuiltinString
showBSParen (BuiltinString -> BuiltinString) -> BuiltinString -> BuiltinString
forall a b. (a -> b) -> a -> b
$ BuiltinString
"B " BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinByteString -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS BuiltinByteString
bs)
instance ShowBS Api.Datum where
{-# INLINEABLE showBS #-}
showBS :: Datum -> BuiltinString
showBS (Api.Datum BuiltinData
d) = BuiltinString -> BuiltinData -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"Datum" BuiltinData
d
instance ShowBS Api.OutputDatum where
{-# INLINEABLE showBS #-}
showBS :: OutputDatum -> BuiltinString
showBS OutputDatum
Api.NoOutputDatum = BuiltinString
"NoOutputDatum"
showBS (Api.OutputDatumHash DatumHash
h) = BuiltinString -> DatumHash -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"OutputDatumHash" DatumHash
h
showBS (Api.OutputDatum Datum
d) = BuiltinString -> Datum -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"OutputDatum" Datum
d
instance ShowBS Api.ScriptHash where
{-# INLINEABLE showBS #-}
showBS :: ScriptHash -> BuiltinString
showBS (Api.ScriptHash BuiltinByteString
h) = BuiltinString -> BuiltinByteString -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"ScriptHash" BuiltinByteString
h
instance ShowBS Api.TxOut where
{-# INLINEABLE showBS #-}
showBS :: TxOut -> BuiltinString
showBS (Api.TxOut Address
address Value
value OutputDatum
datum Maybe ScriptHash
mRefScriptHash) = BuiltinString
-> Address
-> Value
-> OutputDatum
-> Maybe ScriptHash
-> BuiltinString
forall a b c d.
(ShowBS a, ShowBS b, ShowBS c, ShowBS d) =>
BuiltinString -> a -> b -> c -> d -> BuiltinString
application4 BuiltinString
"TxOut" Address
address Value
value OutputDatum
datum Maybe ScriptHash
mRefScriptHash
instance ShowBS Api.TxInInfo where
{-# INLINEABLE showBS #-}
showBS :: TxInInfo -> BuiltinString
showBS (Api.TxInInfo TxOutRef
oref TxOut
out) = BuiltinString -> TxOutRef -> TxOut -> BuiltinString
forall a b.
(ShowBS a, ShowBS b) =>
BuiltinString -> a -> b -> BuiltinString
application2 BuiltinString
"TxInInfo" TxOutRef
oref TxOut
out
instance ShowBS Api.POSIXTime where
{-# INLINEABLE showBS #-}
showBS :: POSIXTime -> BuiltinString
showBS (Api.POSIXTime Integer
t) = BuiltinString -> Integer -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"POSIXTime" Integer
t
instance (ShowBS a) => ShowBS (Api.Extended a) where
{-# INLINEABLE showBS #-}
showBS :: Extended a -> BuiltinString
showBS Extended a
Api.NegInf = BuiltinString
"NegInf"
showBS Extended a
Api.PosInf = BuiltinString
"PosInf"
showBS (Api.Finite a
x) = BuiltinString -> a -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"Finite" a
x
instance (ShowBS a) => ShowBS (Api.LowerBound a) where
{-# INLINEABLE showBS #-}
showBS :: LowerBound a -> BuiltinString
showBS (Api.LowerBound Extended a
x Bool
closure) = BuiltinString -> Extended a -> Bool -> BuiltinString
forall a b.
(ShowBS a, ShowBS b) =>
BuiltinString -> a -> b -> BuiltinString
application2 BuiltinString
"LowerBound" Extended a
x Bool
closure
instance (ShowBS a) => ShowBS (Api.UpperBound a) where
{-# INLINEABLE showBS #-}
showBS :: UpperBound a -> BuiltinString
showBS (Api.UpperBound Extended a
x Bool
closure) = BuiltinString -> Extended a -> Bool -> BuiltinString
forall a b.
(ShowBS a, ShowBS b) =>
BuiltinString -> a -> b -> BuiltinString
application2 BuiltinString
"UpperBound" Extended a
x Bool
closure
instance (ShowBS a) => ShowBS (Api.Interval a) where
{-# INLINEABLE showBS #-}
showBS :: Interval a -> BuiltinString
showBS (Api.Interval LowerBound a
lb UpperBound a
ub) = BuiltinString -> LowerBound a -> UpperBound a -> BuiltinString
forall a b.
(ShowBS a, ShowBS b) =>
BuiltinString -> a -> b -> BuiltinString
application2 BuiltinString
"Interval" LowerBound a
lb UpperBound a
ub
instance ShowBS Api.DRepCredential where
{-# INLINEABLE showBS #-}
showBS :: DRepCredential -> BuiltinString
showBS (Api.DRepCredential Credential
cred) = BuiltinString -> Credential -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"DRep credential" Credential
cred
instance ShowBS Api.DRep where
{-# INLINEABLE showBS #-}
showBS :: DRep -> BuiltinString
showBS (Api.DRep DRepCredential
dRepCred) = BuiltinString -> DRepCredential -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"DRep" DRepCredential
dRepCred
showBS DRep
Api.DRepAlwaysAbstain = BuiltinString
"DRep always abstain"
showBS DRep
Api.DRepAlwaysNoConfidence = BuiltinString
"DRep always no confidence"
instance ShowBS Api.Delegatee where
{-# INLINEABLE showBS #-}
showBS :: Delegatee -> BuiltinString
showBS (Api.DelegStake PubKeyHash
pkh) = BuiltinString -> PubKeyHash -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"Delegate stake" PubKeyHash
pkh
showBS (Api.DelegVote DRep
dRep) = BuiltinString -> DRep -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"Delegate vote" DRep
dRep
showBS (Api.DelegStakeVote PubKeyHash
pkh DRep
dRep) = BuiltinString -> PubKeyHash -> DRep -> BuiltinString
forall a b.
(ShowBS a, ShowBS b) =>
BuiltinString -> a -> b -> BuiltinString
application2 BuiltinString
"Delegate stake vote" PubKeyHash
pkh DRep
dRep
instance ShowBS Api.TxCert where
{-# INLINEABLE showBS #-}
showBS :: TxCert -> BuiltinString
showBS (Api.TxCertRegStaking Credential
cred Maybe Lovelace
maybeDepositAmount) = BuiltinString -> Credential -> Maybe Lovelace -> BuiltinString
forall a b.
(ShowBS a, ShowBS b) =>
BuiltinString -> a -> b -> BuiltinString
application2 BuiltinString
"Register staking" Credential
cred Maybe Lovelace
maybeDepositAmount
showBS (Api.TxCertUnRegStaking Credential
cred Maybe Lovelace
maybeDepositAmount) = BuiltinString -> Credential -> Maybe Lovelace -> BuiltinString
forall a b.
(ShowBS a, ShowBS b) =>
BuiltinString -> a -> b -> BuiltinString
application2 BuiltinString
"Unregister staking" Credential
cred Maybe Lovelace
maybeDepositAmount
showBS (Api.TxCertDelegStaking Credential
cred Delegatee
delegatee) = BuiltinString -> Credential -> Delegatee -> BuiltinString
forall a b.
(ShowBS a, ShowBS b) =>
BuiltinString -> a -> b -> BuiltinString
application2 BuiltinString
"Delegate staking" Credential
cred Delegatee
delegatee
showBS (Api.TxCertRegDeleg Credential
cred Delegatee
delegatee Lovelace
depositAmount) = BuiltinString
-> Credential -> Delegatee -> Lovelace -> BuiltinString
forall a b c.
(ShowBS a, ShowBS b, ShowBS c) =>
BuiltinString -> a -> b -> c -> BuiltinString
application3 BuiltinString
"Register and delegate staking" Credential
cred Delegatee
delegatee Lovelace
depositAmount
showBS (Api.TxCertRegDRep DRepCredential
dRepCred Lovelace
amount) = BuiltinString -> DRepCredential -> Lovelace -> BuiltinString
forall a b.
(ShowBS a, ShowBS b) =>
BuiltinString -> a -> b -> BuiltinString
application2 BuiltinString
"Register DRep" DRepCredential
dRepCred Lovelace
amount
showBS (Api.TxCertUpdateDRep DRepCredential
dRepCred) = BuiltinString -> DRepCredential -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"Update DRep" DRepCredential
dRepCred
showBS (Api.TxCertUnRegDRep DRepCredential
dRepCred Lovelace
amount) = BuiltinString -> DRepCredential -> Lovelace -> BuiltinString
forall a b.
(ShowBS a, ShowBS b) =>
BuiltinString -> a -> b -> BuiltinString
application2 BuiltinString
"Unregister DRep" DRepCredential
dRepCred Lovelace
amount
showBS (Api.TxCertPoolRegister PubKeyHash
poolId PubKeyHash
poolVFR) = BuiltinString -> PubKeyHash -> PubKeyHash -> BuiltinString
forall a b.
(ShowBS a, ShowBS b) =>
BuiltinString -> a -> b -> BuiltinString
application2 BuiltinString
"Register to pool" PubKeyHash
poolId PubKeyHash
poolVFR
showBS (Api.TxCertPoolRetire PubKeyHash
pkh Integer
epoch) = BuiltinString -> PubKeyHash -> Integer -> BuiltinString
forall a b.
(ShowBS a, ShowBS b) =>
BuiltinString -> a -> b -> BuiltinString
application2 BuiltinString
"Retire from pool" PubKeyHash
pkh Integer
epoch
showBS (Api.TxCertAuthHotCommittee ColdCommitteeCredential
coldCommitteeCred HotCommitteeCredential
hotCommitteeCred) = BuiltinString
-> ColdCommitteeCredential
-> HotCommitteeCredential
-> BuiltinString
forall a b.
(ShowBS a, ShowBS b) =>
BuiltinString -> a -> b -> BuiltinString
application2 BuiltinString
"Authorize hot committee " ColdCommitteeCredential
coldCommitteeCred HotCommitteeCredential
hotCommitteeCred
showBS (Api.TxCertResignColdCommittee ColdCommitteeCredential
coldCommitteeCred) = BuiltinString -> ColdCommitteeCredential -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"Resign cold committee" ColdCommitteeCredential
coldCommitteeCred
instance ShowBS Api.Voter where
{-# INLINEABLE showBS #-}
showBS :: Voter -> BuiltinString
showBS (Api.CommitteeVoter HotCommitteeCredential
hotCommitteeCred) = BuiltinString -> HotCommitteeCredential -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"Committee Voter" HotCommitteeCredential
hotCommitteeCred
showBS (Api.DRepVoter DRepCredential
dRepCred) = BuiltinString -> DRepCredential -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"DRep Voter" DRepCredential
dRepCred
showBS (Api.StakePoolVoter PubKeyHash
pkh) = BuiltinString -> PubKeyHash -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"Stake Pool Voter" PubKeyHash
pkh
instance ShowBS Api.GovernanceActionId where
{-# INLINEABLE showBS #-}
showBS :: GovernanceActionId -> BuiltinString
showBS Api.GovernanceActionId {Integer
TxId
gaidTxId :: TxId
gaidGovActionIx :: Integer
gaidGovActionIx :: GovernanceActionId -> Integer
gaidTxId :: GovernanceActionId -> TxId
..} =
BuiltinString -> BuiltinString
showBSParen
(BuiltinString -> BuiltinString) -> BuiltinString -> BuiltinString
forall a b. (a -> b) -> a -> b
$ BuiltinString
"Tx Id:"
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> TxId -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS TxId
gaidTxId
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
"Action Id:"
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> Integer -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS Integer
gaidGovActionIx
instance ShowBS Api.ScriptPurpose where
{-# INLINEABLE showBS #-}
showBS :: ScriptPurpose -> BuiltinString
showBS (Api.Minting CurrencySymbol
cs) = BuiltinString -> CurrencySymbol -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"Minting" CurrencySymbol
cs
showBS (Api.Spending TxOutRef
oref) = BuiltinString -> TxOutRef -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"Spending" TxOutRef
oref
showBS (Api.Rewarding Credential
stCred) = BuiltinString -> Credential -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"Rewarding" Credential
stCred
showBS (Api.Certifying Integer
nb TxCert
txCert) = BuiltinString -> Integer -> TxCert -> BuiltinString
forall a b.
(ShowBS a, ShowBS b) =>
BuiltinString -> a -> b -> BuiltinString
application2 BuiltinString
"Certifying" Integer
nb TxCert
txCert
showBS (Api.Voting Voter
voter) = BuiltinString -> Voter -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"Voting" Voter
voter
showBS (Api.Proposing Integer
nb ProposalProcedure
proposal) = BuiltinString -> Integer -> ProposalProcedure -> BuiltinString
forall a b.
(ShowBS a, ShowBS b) =>
BuiltinString -> a -> b -> BuiltinString
application2 BuiltinString
"Proposing" Integer
nb ProposalProcedure
proposal
instance ShowBS Api.Redeemer where
{-# INLINEABLE showBS #-}
showBS :: Redeemer -> BuiltinString
showBS (Api.Redeemer BuiltinData
builtinData) = BuiltinString -> BuiltinData -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"Redeemer" BuiltinData
builtinData
instance ShowBS Api.Vote where
{-# INLINEABLE showBS #-}
showBS :: Vote -> BuiltinString
showBS Vote
Api.VoteNo = BuiltinString
"No"
showBS Vote
Api.VoteYes = BuiltinString
"Yes"
showBS Vote
Api.Abstain = BuiltinString
"Abstain"
instance ShowBS Api.ChangedParameters where
{-# INLINEABLE showBS #-}
showBS :: ChangedParameters -> BuiltinString
showBS (Api.ChangedParameters BuiltinData
builtinData) = BuiltinString -> BuiltinData -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"Changed parameters" BuiltinData
builtinData
instance ShowBS Api.ProtocolVersion where
{-# INLINEABLE showBS #-}
showBS :: ProtocolVersion -> BuiltinString
showBS (Api.ProtocolVersion Integer
major Integer
minor) = BuiltinString -> Integer -> Integer -> BuiltinString
forall a b.
(ShowBS a, ShowBS b) =>
BuiltinString -> a -> b -> BuiltinString
application2 BuiltinString
"Protocol version" Integer
major Integer
minor
instance ShowBS Api.Constitution where
{-# INLINEABLE showBS #-}
showBS :: Constitution -> BuiltinString
showBS (Api.Constitution Maybe ScriptHash
constitutionScript) = BuiltinString -> Maybe ScriptHash -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"Constitution" Maybe ScriptHash
constitutionScript
instance ShowBS Api.ColdCommitteeCredential where
{-# INLINEABLE showBS #-}
showBS :: ColdCommitteeCredential -> BuiltinString
showBS (Api.ColdCommitteeCredential Credential
cred) = BuiltinString -> Credential -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"Cold committee credential" Credential
cred
instance ShowBS Api.HotCommitteeCredential where
{-# INLINEABLE showBS #-}
showBS :: HotCommitteeCredential -> BuiltinString
showBS (Api.HotCommitteeCredential Credential
cred) = BuiltinString -> Credential -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"Hot committee credential" Credential
cred
instance ShowBS Api.Committee where
{-# INLINEABLE showBS #-}
showBS :: Committee -> BuiltinString
showBS (Api.Committee Map ColdCommitteeCredential Integer
committeeMembers Rational
committeeQuorum) = BuiltinString
-> Map ColdCommitteeCredential Integer -> Rational -> BuiltinString
forall a b.
(ShowBS a, ShowBS b) =>
BuiltinString -> a -> b -> BuiltinString
application2 BuiltinString
"Committee" Map ColdCommitteeCredential Integer
committeeMembers Rational
committeeQuorum
instance ShowBS Api.Lovelace where
{-# INLINEABLE showBS #-}
showBS :: Lovelace -> BuiltinString
showBS (Api.Lovelace Integer
amount) = BuiltinString -> Integer -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"Lovelace" Integer
amount
instance ShowBS PlutusTx.Rational where
{-# INLINEABLE showBS #-}
showBS :: Rational -> BuiltinString
showBS Rational
rat = BuiltinString -> Integer -> Integer -> BuiltinString
forall a b.
(ShowBS a, ShowBS b) =>
BuiltinString -> a -> b -> BuiltinString
application2 BuiltinString
"Rational" (Rational -> Integer
PlutusTx.numerator Rational
rat) (Rational -> Integer
PlutusTx.denominator Rational
rat)
instance ShowBS Api.GovernanceAction where
{-# INLINEABLE showBS #-}
showBS :: GovernanceAction -> BuiltinString
showBS (Api.ParameterChange Maybe GovernanceActionId
maybeActionId ChangedParameters
changeParams Maybe ScriptHash
mScriptHash) = BuiltinString
-> Maybe GovernanceActionId
-> ChangedParameters
-> Maybe ScriptHash
-> BuiltinString
forall a b c.
(ShowBS a, ShowBS b, ShowBS c) =>
BuiltinString -> a -> b -> c -> BuiltinString
application3 BuiltinString
"Parameter change" Maybe GovernanceActionId
maybeActionId ChangedParameters
changeParams Maybe ScriptHash
mScriptHash
showBS (Api.HardForkInitiation Maybe GovernanceActionId
maybeActionId ProtocolVersion
protocolVersion) = BuiltinString
-> Maybe GovernanceActionId -> ProtocolVersion -> BuiltinString
forall a b.
(ShowBS a, ShowBS b) =>
BuiltinString -> a -> b -> BuiltinString
application2 BuiltinString
"HardForkInitiation" Maybe GovernanceActionId
maybeActionId ProtocolVersion
protocolVersion
showBS (Api.TreasuryWithdrawals Map Credential Lovelace
mapCredLovelace Maybe ScriptHash
mScriptHash) = BuiltinString
-> Map Credential Lovelace -> Maybe ScriptHash -> BuiltinString
forall a b.
(ShowBS a, ShowBS b) =>
BuiltinString -> a -> b -> BuiltinString
application2 BuiltinString
"TreasuryWithdrawals" Map Credential Lovelace
mapCredLovelace Maybe ScriptHash
mScriptHash
showBS (Api.NoConfidence Maybe GovernanceActionId
maybeActionId) = BuiltinString -> Maybe GovernanceActionId -> BuiltinString
forall a. ShowBS a => BuiltinString -> a -> BuiltinString
application1 BuiltinString
"NoConfidence" Maybe GovernanceActionId
maybeActionId
showBS (Api.UpdateCommittee Maybe GovernanceActionId
maybeActionId [ColdCommitteeCredential]
toRemoveCreds Map ColdCommitteeCredential Integer
toAddCreds Rational
quorum) = BuiltinString
-> Maybe GovernanceActionId
-> [ColdCommitteeCredential]
-> Map ColdCommitteeCredential Integer
-> Rational
-> BuiltinString
forall a b c d.
(ShowBS a, ShowBS b, ShowBS c, ShowBS d) =>
BuiltinString -> a -> b -> c -> d -> BuiltinString
application4 BuiltinString
"Info action" Maybe GovernanceActionId
maybeActionId [ColdCommitteeCredential]
toRemoveCreds Map ColdCommitteeCredential Integer
toAddCreds Rational
quorum
showBS (Api.NewConstitution Maybe GovernanceActionId
maybeActionId Constitution
constitution) = BuiltinString
-> Maybe GovernanceActionId -> Constitution -> BuiltinString
forall a b.
(ShowBS a, ShowBS b) =>
BuiltinString -> a -> b -> BuiltinString
application2 BuiltinString
"NewConstitution" Maybe GovernanceActionId
maybeActionId Constitution
constitution
showBS GovernanceAction
Api.InfoAction = BuiltinString
"InfoAction"
instance ShowBS Api.ProposalProcedure where
{-# INLINEABLE showBS #-}
showBS :: ProposalProcedure -> BuiltinString
showBS Api.ProposalProcedure {Credential
Lovelace
GovernanceAction
ppDeposit :: Lovelace
ppReturnAddr :: Credential
ppGovernanceAction :: GovernanceAction
ppDeposit :: ProposalProcedure -> Lovelace
ppGovernanceAction :: ProposalProcedure -> GovernanceAction
ppReturnAddr :: ProposalProcedure -> Credential
..} =
BuiltinString -> BuiltinString
showBSParen
(BuiltinString -> BuiltinString) -> BuiltinString -> BuiltinString
forall a b. (a -> b) -> a -> b
$ BuiltinString
"deposit:"
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> Lovelace -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS Lovelace
ppDeposit
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
"return address"
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> Credential -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS Credential
ppReturnAddr
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
"governance action"
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> GovernanceAction -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS GovernanceAction
ppGovernanceAction
instance ShowBS Api.TxInfo where
{-# INLINEABLE showBS #-}
showBS :: TxInfo -> BuiltinString
showBS Api.TxInfo {[PubKeyHash]
[TxOut]
[ProposalProcedure]
[TxCert]
[TxInInfo]
Maybe Lovelace
POSIXTimeRange
Map DatumHash Datum
Map Credential Lovelace
Map ScriptPurpose Redeemer
Map Voter (Map GovernanceActionId Vote)
TxId
Lovelace
Value
txInfoInputs :: [TxInInfo]
txInfoReferenceInputs :: [TxInInfo]
txInfoOutputs :: [TxOut]
txInfoFee :: Lovelace
txInfoMint :: Value
txInfoTxCerts :: [TxCert]
txInfoWdrl :: Map Credential Lovelace
txInfoValidRange :: POSIXTimeRange
txInfoSignatories :: [PubKeyHash]
txInfoRedeemers :: Map ScriptPurpose Redeemer
txInfoData :: Map DatumHash Datum
txInfoId :: TxId
txInfoVotes :: Map Voter (Map GovernanceActionId Vote)
txInfoProposalProcedures :: [ProposalProcedure]
txInfoCurrentTreasuryAmount :: Maybe Lovelace
txInfoTreasuryDonation :: Maybe Lovelace
txInfoCurrentTreasuryAmount :: TxInfo -> Maybe Lovelace
txInfoData :: TxInfo -> Map DatumHash Datum
txInfoFee :: TxInfo -> Lovelace
txInfoId :: TxInfo -> TxId
txInfoInputs :: TxInfo -> [TxInInfo]
txInfoMint :: TxInfo -> Value
txInfoOutputs :: TxInfo -> [TxOut]
txInfoProposalProcedures :: TxInfo -> [ProposalProcedure]
txInfoRedeemers :: TxInfo -> Map ScriptPurpose Redeemer
txInfoReferenceInputs :: TxInfo -> [TxInInfo]
txInfoSignatories :: TxInfo -> [PubKeyHash]
txInfoTreasuryDonation :: TxInfo -> Maybe Lovelace
txInfoTxCerts :: TxInfo -> [TxCert]
txInfoValidRange :: TxInfo -> POSIXTimeRange
txInfoVotes :: TxInfo -> Map Voter (Map GovernanceActionId Vote)
txInfoWdrl :: TxInfo -> Map Credential Lovelace
..} =
BuiltinString -> BuiltinString
showBSParen
(BuiltinString -> BuiltinString) -> BuiltinString -> BuiltinString
forall a b. (a -> b) -> a -> b
$ BuiltinString
"inputs:"
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> [TxInInfo] -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS [TxInInfo]
txInfoInputs
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
"reference inputs:"
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> [TxInInfo] -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS [TxInInfo]
txInfoReferenceInputs
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
"outputs:"
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> [TxOut] -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS [TxOut]
txInfoOutputs
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
"fees:"
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> Lovelace -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS Lovelace
txInfoFee
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
"minted value:"
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> Value -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS Value
txInfoMint
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
"certificates:"
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> [TxCert] -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS [TxCert]
txInfoTxCerts
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
"wdrl:"
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> Map Credential Lovelace -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS Map Credential Lovelace
txInfoWdrl
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
"valid range:"
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> POSIXTimeRange -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS POSIXTimeRange
txInfoValidRange
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
"signatories:"
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> [PubKeyHash] -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS [PubKeyHash]
txInfoSignatories
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
"redeemers:"
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> Map ScriptPurpose Redeemer -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS Map ScriptPurpose Redeemer
txInfoRedeemers
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
"datums:"
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> Map DatumHash Datum -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS Map DatumHash Datum
txInfoData
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
"transaction id:"
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> TxId -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS TxId
txInfoId
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
"votes:"
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> Map Voter (Map GovernanceActionId Vote) -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS Map Voter (Map GovernanceActionId Vote)
txInfoVotes
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
"proposals:"
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> [ProposalProcedure] -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS [ProposalProcedure]
txInfoProposalProcedures
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
"treasury amount:"
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> Maybe Lovelace -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS Maybe Lovelace
txInfoCurrentTreasuryAmount
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
"treasury donation:"
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> Maybe Lovelace -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS Maybe Lovelace
txInfoTreasuryDonation
instance ShowBS Api.ScriptContext where
{-# INLINEABLE showBS #-}
showBS :: ScriptContext -> BuiltinString
showBS Api.ScriptContext {ScriptPurpose
TxInfo
scriptContextTxInfo :: TxInfo
scriptContextPurpose :: ScriptPurpose
scriptContextPurpose :: ScriptContext -> ScriptPurpose
scriptContextTxInfo :: ScriptContext -> TxInfo
..} =
BuiltinString -> BuiltinString
showBSParen
(BuiltinString -> BuiltinString) -> BuiltinString -> BuiltinString
forall a b. (a -> b) -> a -> b
$ BuiltinString
"Script context:"
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
"Script Tx info:"
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> TxInfo -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS TxInfo
scriptContextTxInfo
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> BuiltinString
"Script purpose:"
BuiltinString -> BuiltinString -> BuiltinString
forall a. Semigroup a => a -> a -> a
<> ScriptPurpose -> BuiltinString
forall a. ShowBS a => a -> BuiltinString
showBS ScriptPurpose
scriptContextPurpose