{-# LANGUAGE FunctionalDependencies #-}
{-# LANGUAGE UndecidableInstances #-}
module Blockfrost.Lens
where
import Blockfrost.Types
import Blockfrost.Util.LensRules
import Control.Lens
makeLensesWith blockfrostFieldRules ''URLVersion
makeFields ''AccountInfo
makeFields ''AccountReward
makeFields ''AccountHistory
makeFields ''AccountDelegation
makeFields ''AccountRegistration
makeFields ''AccountWithdrawal
makeFields ''AccountMir
makeLensesWith blockfrostFieldRules ''AddressInfo
makeFields ''AddressDetails
makeFields ''AddressUtxo
makeFields ''AddressTransaction
makeFields ''AssetInfo
makeFields ''AssetDetails
makeFields ''AssetOnChainMetadata
makeFields ''AssetMetadata
makeFields ''AssetHistory
makeFields ''AssetTransaction
makeFields ''AssetAddress
makeFields ''Block
makeFields ''EpochInfo
makeFields ''StakeDistribution
makeFields ''PoolStakeDistribution
makeFields ''Genesis
makeFields ''TxMeta
makeFields ''TxMetaJSON
makeFields ''TxMetaCBOR
makeFields ''Network
makeFields ''NetworkSupply
makeFields ''NetworkStake
makeFields ''PoolEpoch
makeFields ''PoolInfo
makeFields ''PoolHistory
makeFields ''PoolMetadata
makeFields ''PoolRelay
makeFields ''PoolDelegator
makeFields ''PoolUpdate
makeFields ''PoolRegistrationAction
makeFields ''Transaction
makeFields ''TransactionUtxos
makeFields ''UtxoInput
makeFields ''UtxoOutput
makeFields ''TransactionStake
makeFields ''TransactionDelegation
makeFields ''TransactionWithdrawal
makeFields ''TransactionMir
makeFields ''TransactionPoolUpdate
makeFields ''PoolUpdateMetadata
makeFields ''TransactionPoolRetiring
makeFields ''TransactionMetaJSON
makeFields ''TransactionMetaCBOR
makeLensesWith blockfrostFieldRules ''IPFSAdd
makeLensesWith blockfrostFieldRules ''IPFSPinChange
makeLensesWith blockfrostFieldRules ''IPFSPin
makeFields ''NutlinkAddress
makeFields ''NutlinkAddressTicker
makeFields ''NutlinkTicker
makeFields ''BlockIndex
makePrisms ''Amount