module Ledger.Dijkstra.Foreign.Account where
open import Foreign.Convertible
open import Foreign.Convertible.Deriving
open import Foreign.HaskellTypes
open import Foreign.HaskellTypes.Deriving
import Data.String as S
open import Ledger.Prelude
open import Ledger.Prelude.Foreign.HSTypes
open import Ledger.Core.Foreign.Address
open import Ledger.Core.Foreign.Crypto.Base
open import Ledger.Dijkstra.Foreign.HSStructures
private
toHaskellConstr : String → String
toHaskellConstr s =
if s ≟ "⟦_,_⦆" then "Both"
else if s ≟ "⟦_,∞⦆" then "Lower"
else if s ≟ "⟦0,_⦆" then "Upper"
else s
instance
HsTy-BalanceInterval = autoHsType BalanceInterval ⊣ onConstructors toHaskellConstr
Conv-BalanceInterval = autoConvert BalanceInterval