{-
   BitMEX API

   ## REST API for the BitMEX Trading Platform  [View Changelog](/app/apiChangelog)    #### Getting Started   ##### Fetching Data  All REST endpoints are documented below. You can try out any query right from this interface.  Most table queries accept `count`, `start`, and `reverse` params. Set `reverse=true` to get rows newest-first.  Additional documentation regarding filters, timestamps, and authentication is available in [the main API documentation](https://www.bitmex.com/app/restAPI).  *All* table data is available via the [Websocket](/app/wsAPI). We highly recommend using the socket if you want to have the quickest possible data without being subject to ratelimits.  ##### Return Types  By default, all data is returned as JSON. Send `?_format=csv` to get CSV data or `?_format=xml` to get XML data.  ##### Trade Data Queries  *This is only a small subset of what is available, to get you started.*  Fill in the parameters and click the `Try it out!` button to try any of these queries.  * [Pricing Data](#!/Quote/Quote_get)  * [Trade Data](#!/Trade/Trade_get)  * [OrderBook Data](#!/OrderBook/OrderBook_getL2)  * [Settlement Data](#!/Settlement/Settlement_get)  * [Exchange Statistics](#!/Stats/Stats_history)  Every function of the BitMEX.com platform is exposed here and documented. Many more functions are available.  ##### Swagger Specification  [⇩ Download Swagger JSON](swagger.json)    ## All API Endpoints  Click to expand a section. 

   OpenAPI spec version: 2.0
   BitMEX API API version: 1.2.0
   Contact: support@bitmex.com
   Generated by Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
-}

{-|
Module : BitMEX.Lens
-}

{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE RecordWildCards #-}
{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-matches -fno-warn-unused-binds -fno-warn-unused-imports #-}

module BitMEX.ModelLens where

import qualified Data.Aeson as A
import qualified Data.ByteString.Lazy as BL
import qualified Data.Data as P (Data, Typeable)
import qualified Data.Map as Map
import qualified Data.Set as Set
import qualified Data.Time as TI

import Data.Text (Text)

import Prelude (($), (.),(<$>),(<*>),(=<<),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)
import qualified Prelude as P

import BitMEX.Model
import BitMEX.Core


-- * APIKey

-- | 'aPIKeyId' Lens
aPIKeyIdL :: Lens_' APIKey (Text)
aPIKeyIdL f APIKey{..} = (\aPIKeyId -> APIKey { aPIKeyId, ..} ) <$> f aPIKeyId
{-# INLINE aPIKeyIdL #-}

-- | 'aPIKeySecret' Lens
aPIKeySecretL :: Lens_' APIKey (Text)
aPIKeySecretL f APIKey{..} = (\aPIKeySecret -> APIKey { aPIKeySecret, ..} ) <$> f aPIKeySecret
{-# INLINE aPIKeySecretL #-}

-- | 'aPIKeyName' Lens
aPIKeyNameL :: Lens_' APIKey (Text)
aPIKeyNameL f APIKey{..} = (\aPIKeyName -> APIKey { aPIKeyName, ..} ) <$> f aPIKeyName
{-# INLINE aPIKeyNameL #-}

-- | 'aPIKeyNonce' Lens
aPIKeyNonceL :: Lens_' APIKey (Double)
aPIKeyNonceL f APIKey{..} = (\aPIKeyNonce -> APIKey { aPIKeyNonce, ..} ) <$> f aPIKeyNonce
{-# INLINE aPIKeyNonceL #-}

-- | 'aPIKeyCidr' Lens
aPIKeyCidrL :: Lens_' APIKey (Maybe Text)
aPIKeyCidrL f APIKey{..} = (\aPIKeyCidr -> APIKey { aPIKeyCidr, ..} ) <$> f aPIKeyCidr
{-# INLINE aPIKeyCidrL #-}

-- | 'aPIKeyPermissions' Lens
aPIKeyPermissionsL :: Lens_' APIKey (Maybe [XAny])
aPIKeyPermissionsL f APIKey{..} = (\aPIKeyPermissions -> APIKey { aPIKeyPermissions, ..} ) <$> f aPIKeyPermissions
{-# INLINE aPIKeyPermissionsL #-}

-- | 'aPIKeyEnabled' Lens
aPIKeyEnabledL :: Lens_' APIKey (Maybe Bool)
aPIKeyEnabledL f APIKey{..} = (\aPIKeyEnabled -> APIKey { aPIKeyEnabled, ..} ) <$> f aPIKeyEnabled
{-# INLINE aPIKeyEnabledL #-}

-- | 'aPIKeyUserId' Lens
aPIKeyUserIdL :: Lens_' APIKey (Double)
aPIKeyUserIdL f APIKey{..} = (\aPIKeyUserId -> APIKey { aPIKeyUserId, ..} ) <$> f aPIKeyUserId
{-# INLINE aPIKeyUserIdL #-}

-- | 'aPIKeyCreated' Lens
aPIKeyCreatedL :: Lens_' APIKey (Maybe DateTime)
aPIKeyCreatedL f APIKey{..} = (\aPIKeyCreated -> APIKey { aPIKeyCreated, ..} ) <$> f aPIKeyCreated
{-# INLINE aPIKeyCreatedL #-}



-- * AccessToken

-- | 'accessTokenId' Lens
accessTokenIdL :: Lens_' AccessToken (Text)
accessTokenIdL f AccessToken{..} = (\accessTokenId -> AccessToken { accessTokenId, ..} ) <$> f accessTokenId
{-# INLINE accessTokenIdL #-}

-- | 'accessTokenTtl' Lens
accessTokenTtlL :: Lens_' AccessToken (Maybe Double)
accessTokenTtlL f AccessToken{..} = (\accessTokenTtl -> AccessToken { accessTokenTtl, ..} ) <$> f accessTokenTtl
{-# INLINE accessTokenTtlL #-}

-- | 'accessTokenCreated' Lens
accessTokenCreatedL :: Lens_' AccessToken (Maybe DateTime)
accessTokenCreatedL f AccessToken{..} = (\accessTokenCreated -> AccessToken { accessTokenCreated, ..} ) <$> f accessTokenCreated
{-# INLINE accessTokenCreatedL #-}

-- | 'accessTokenUserId' Lens
accessTokenUserIdL :: Lens_' AccessToken (Maybe Double)
accessTokenUserIdL f AccessToken{..} = (\accessTokenUserId -> AccessToken { accessTokenUserId, ..} ) <$> f accessTokenUserId
{-# INLINE accessTokenUserIdL #-}



-- * Affiliate

-- | 'affiliateAccount' Lens
affiliateAccountL :: Lens_' Affiliate (Double)
affiliateAccountL f Affiliate{..} = (\affiliateAccount -> Affiliate { affiliateAccount, ..} ) <$> f affiliateAccount
{-# INLINE affiliateAccountL #-}

-- | 'affiliateCurrency' Lens
affiliateCurrencyL :: Lens_' Affiliate (Text)
affiliateCurrencyL f Affiliate{..} = (\affiliateCurrency -> Affiliate { affiliateCurrency, ..} ) <$> f affiliateCurrency
{-# INLINE affiliateCurrencyL #-}

-- | 'affiliatePrevPayout' Lens
affiliatePrevPayoutL :: Lens_' Affiliate (Maybe Double)
affiliatePrevPayoutL f Affiliate{..} = (\affiliatePrevPayout -> Affiliate { affiliatePrevPayout, ..} ) <$> f affiliatePrevPayout
{-# INLINE affiliatePrevPayoutL #-}

-- | 'affiliatePrevTurnover' Lens
affiliatePrevTurnoverL :: Lens_' Affiliate (Maybe Double)
affiliatePrevTurnoverL f Affiliate{..} = (\affiliatePrevTurnover -> Affiliate { affiliatePrevTurnover, ..} ) <$> f affiliatePrevTurnover
{-# INLINE affiliatePrevTurnoverL #-}

-- | 'affiliatePrevComm' Lens
affiliatePrevCommL :: Lens_' Affiliate (Maybe Double)
affiliatePrevCommL f Affiliate{..} = (\affiliatePrevComm -> Affiliate { affiliatePrevComm, ..} ) <$> f affiliatePrevComm
{-# INLINE affiliatePrevCommL #-}

-- | 'affiliatePrevTimestamp' Lens
affiliatePrevTimestampL :: Lens_' Affiliate (Maybe DateTime)
affiliatePrevTimestampL f Affiliate{..} = (\affiliatePrevTimestamp -> Affiliate { affiliatePrevTimestamp, ..} ) <$> f affiliatePrevTimestamp
{-# INLINE affiliatePrevTimestampL #-}

-- | 'affiliateExecTurnover' Lens
affiliateExecTurnoverL :: Lens_' Affiliate (Maybe Double)
affiliateExecTurnoverL f Affiliate{..} = (\affiliateExecTurnover -> Affiliate { affiliateExecTurnover, ..} ) <$> f affiliateExecTurnover
{-# INLINE affiliateExecTurnoverL #-}

-- | 'affiliateExecComm' Lens
affiliateExecCommL :: Lens_' Affiliate (Maybe Double)
affiliateExecCommL f Affiliate{..} = (\affiliateExecComm -> Affiliate { affiliateExecComm, ..} ) <$> f affiliateExecComm
{-# INLINE affiliateExecCommL #-}

-- | 'affiliateTotalReferrals' Lens
affiliateTotalReferralsL :: Lens_' Affiliate (Maybe Double)
affiliateTotalReferralsL f Affiliate{..} = (\affiliateTotalReferrals -> Affiliate { affiliateTotalReferrals, ..} ) <$> f affiliateTotalReferrals
{-# INLINE affiliateTotalReferralsL #-}

-- | 'affiliateTotalTurnover' Lens
affiliateTotalTurnoverL :: Lens_' Affiliate (Maybe Double)
affiliateTotalTurnoverL f Affiliate{..} = (\affiliateTotalTurnover -> Affiliate { affiliateTotalTurnover, ..} ) <$> f affiliateTotalTurnover
{-# INLINE affiliateTotalTurnoverL #-}

-- | 'affiliateTotalComm' Lens
affiliateTotalCommL :: Lens_' Affiliate (Maybe Double)
affiliateTotalCommL f Affiliate{..} = (\affiliateTotalComm -> Affiliate { affiliateTotalComm, ..} ) <$> f affiliateTotalComm
{-# INLINE affiliateTotalCommL #-}

-- | 'affiliatePayoutPcnt' Lens
affiliatePayoutPcntL :: Lens_' Affiliate (Maybe Double)
affiliatePayoutPcntL f Affiliate{..} = (\affiliatePayoutPcnt -> Affiliate { affiliatePayoutPcnt, ..} ) <$> f affiliatePayoutPcnt
{-# INLINE affiliatePayoutPcntL #-}

-- | 'affiliatePendingPayout' Lens
affiliatePendingPayoutL :: Lens_' Affiliate (Maybe Double)
affiliatePendingPayoutL f Affiliate{..} = (\affiliatePendingPayout -> Affiliate { affiliatePendingPayout, ..} ) <$> f affiliatePendingPayout
{-# INLINE affiliatePendingPayoutL #-}

-- | 'affiliateTimestamp' Lens
affiliateTimestampL :: Lens_' Affiliate (Maybe DateTime)
affiliateTimestampL f Affiliate{..} = (\affiliateTimestamp -> Affiliate { affiliateTimestamp, ..} ) <$> f affiliateTimestamp
{-# INLINE affiliateTimestampL #-}

-- | 'affiliateReferrerAccount' Lens
affiliateReferrerAccountL :: Lens_' Affiliate (Maybe Double)
affiliateReferrerAccountL f Affiliate{..} = (\affiliateReferrerAccount -> Affiliate { affiliateReferrerAccount, ..} ) <$> f affiliateReferrerAccount
{-# INLINE affiliateReferrerAccountL #-}



-- * Announcement

-- | 'announcementId' Lens
announcementIdL :: Lens_' Announcement (Double)
announcementIdL f Announcement{..} = (\announcementId -> Announcement { announcementId, ..} ) <$> f announcementId
{-# INLINE announcementIdL #-}

-- | 'announcementLink' Lens
announcementLinkL :: Lens_' Announcement (Maybe Text)
announcementLinkL f Announcement{..} = (\announcementLink -> Announcement { announcementLink, ..} ) <$> f announcementLink
{-# INLINE announcementLinkL #-}

-- | 'announcementTitle' Lens
announcementTitleL :: Lens_' Announcement (Maybe Text)
announcementTitleL f Announcement{..} = (\announcementTitle -> Announcement { announcementTitle, ..} ) <$> f announcementTitle
{-# INLINE announcementTitleL #-}

-- | 'announcementContent' Lens
announcementContentL :: Lens_' Announcement (Maybe Text)
announcementContentL f Announcement{..} = (\announcementContent -> Announcement { announcementContent, ..} ) <$> f announcementContent
{-# INLINE announcementContentL #-}

-- | 'announcementDate' Lens
announcementDateL :: Lens_' Announcement (Maybe DateTime)
announcementDateL f Announcement{..} = (\announcementDate -> Announcement { announcementDate, ..} ) <$> f announcementDate
{-# INLINE announcementDateL #-}



-- * Chat

-- | 'chatId' Lens
chatIdL :: Lens_' Chat (Maybe Double)
chatIdL f Chat{..} = (\chatId -> Chat { chatId, ..} ) <$> f chatId
{-# INLINE chatIdL #-}

-- | 'chatDate' Lens
chatDateL :: Lens_' Chat (DateTime)
chatDateL f Chat{..} = (\chatDate -> Chat { chatDate, ..} ) <$> f chatDate
{-# INLINE chatDateL #-}

-- | 'chatUser' Lens
chatUserL :: Lens_' Chat (Text)
chatUserL f Chat{..} = (\chatUser -> Chat { chatUser, ..} ) <$> f chatUser
{-# INLINE chatUserL #-}

-- | 'chatMessage' Lens
chatMessageL :: Lens_' Chat (Text)
chatMessageL f Chat{..} = (\chatMessage -> Chat { chatMessage, ..} ) <$> f chatMessage
{-# INLINE chatMessageL #-}

-- | 'chatHtml' Lens
chatHtmlL :: Lens_' Chat (Text)
chatHtmlL f Chat{..} = (\chatHtml -> Chat { chatHtml, ..} ) <$> f chatHtml
{-# INLINE chatHtmlL #-}

-- | 'chatFromBot' Lens
chatFromBotL :: Lens_' Chat (Maybe Bool)
chatFromBotL f Chat{..} = (\chatFromBot -> Chat { chatFromBot, ..} ) <$> f chatFromBot
{-# INLINE chatFromBotL #-}

-- | 'chatChannelId' Lens
chatChannelIdL :: Lens_' Chat (Maybe Double)
chatChannelIdL f Chat{..} = (\chatChannelId -> Chat { chatChannelId, ..} ) <$> f chatChannelId
{-# INLINE chatChannelIdL #-}



-- * ChatChannels

-- | 'chatChannelsId' Lens
chatChannelsIdL :: Lens_' ChatChannels (Maybe Double)
chatChannelsIdL f ChatChannels{..} = (\chatChannelsId -> ChatChannels { chatChannelsId, ..} ) <$> f chatChannelsId
{-# INLINE chatChannelsIdL #-}

-- | 'chatChannelsName' Lens
chatChannelsNameL :: Lens_' ChatChannels (Text)
chatChannelsNameL f ChatChannels{..} = (\chatChannelsName -> ChatChannels { chatChannelsName, ..} ) <$> f chatChannelsName
{-# INLINE chatChannelsNameL #-}



-- * ConnectedUsers

-- | 'connectedUsersUsers' Lens
connectedUsersUsersL :: Lens_' ConnectedUsers (Maybe Double)
connectedUsersUsersL f ConnectedUsers{..} = (\connectedUsersUsers -> ConnectedUsers { connectedUsersUsers, ..} ) <$> f connectedUsersUsers
{-# INLINE connectedUsersUsersL #-}

-- | 'connectedUsersBots' Lens
connectedUsersBotsL :: Lens_' ConnectedUsers (Maybe Double)
connectedUsersBotsL f ConnectedUsers{..} = (\connectedUsersBots -> ConnectedUsers { connectedUsersBots, ..} ) <$> f connectedUsersBots
{-# INLINE connectedUsersBotsL #-}



-- * Error

-- | 'errorError' Lens
errorErrorL :: Lens_' Error (ErrorError)
errorErrorL f Error{..} = (\errorError -> Error { errorError, ..} ) <$> f errorError
{-# INLINE errorErrorL #-}



-- * ErrorError

-- | 'errorErrorMessage' Lens
errorErrorMessageL :: Lens_' ErrorError (Maybe Text)
errorErrorMessageL f ErrorError{..} = (\errorErrorMessage -> ErrorError { errorErrorMessage, ..} ) <$> f errorErrorMessage
{-# INLINE errorErrorMessageL #-}

-- | 'errorErrorName' Lens
errorErrorNameL :: Lens_' ErrorError (Maybe Text)
errorErrorNameL f ErrorError{..} = (\errorErrorName -> ErrorError { errorErrorName, ..} ) <$> f errorErrorName
{-# INLINE errorErrorNameL #-}



-- * Execution

-- | 'executionExecId' Lens
executionExecIdL :: Lens_' Execution (Text)
executionExecIdL f Execution{..} = (\executionExecId -> Execution { executionExecId, ..} ) <$> f executionExecId
{-# INLINE executionExecIdL #-}

-- | 'executionOrderId' Lens
executionOrderIdL :: Lens_' Execution (Maybe Text)
executionOrderIdL f Execution{..} = (\executionOrderId -> Execution { executionOrderId, ..} ) <$> f executionOrderId
{-# INLINE executionOrderIdL #-}

-- | 'executionClOrdId' Lens
executionClOrdIdL :: Lens_' Execution (Maybe Text)
executionClOrdIdL f Execution{..} = (\executionClOrdId -> Execution { executionClOrdId, ..} ) <$> f executionClOrdId
{-# INLINE executionClOrdIdL #-}

-- | 'executionClOrdLinkId' Lens
executionClOrdLinkIdL :: Lens_' Execution (Maybe Text)
executionClOrdLinkIdL f Execution{..} = (\executionClOrdLinkId -> Execution { executionClOrdLinkId, ..} ) <$> f executionClOrdLinkId
{-# INLINE executionClOrdLinkIdL #-}

-- | 'executionAccount' Lens
executionAccountL :: Lens_' Execution (Maybe Double)
executionAccountL f Execution{..} = (\executionAccount -> Execution { executionAccount, ..} ) <$> f executionAccount
{-# INLINE executionAccountL #-}

-- | 'executionSymbol' Lens
executionSymbolL :: Lens_' Execution (Maybe Text)
executionSymbolL f Execution{..} = (\executionSymbol -> Execution { executionSymbol, ..} ) <$> f executionSymbol
{-# INLINE executionSymbolL #-}

-- | 'executionSide' Lens
executionSideL :: Lens_' Execution (Maybe Text)
executionSideL f Execution{..} = (\executionSide -> Execution { executionSide, ..} ) <$> f executionSide
{-# INLINE executionSideL #-}

-- | 'executionLastQty' Lens
executionLastQtyL :: Lens_' Execution (Maybe Double)
executionLastQtyL f Execution{..} = (\executionLastQty -> Execution { executionLastQty, ..} ) <$> f executionLastQty
{-# INLINE executionLastQtyL #-}

-- | 'executionLastPx' Lens
executionLastPxL :: Lens_' Execution (Maybe Double)
executionLastPxL f Execution{..} = (\executionLastPx -> Execution { executionLastPx, ..} ) <$> f executionLastPx
{-# INLINE executionLastPxL #-}

-- | 'executionUnderlyingLastPx' Lens
executionUnderlyingLastPxL :: Lens_' Execution (Maybe Double)
executionUnderlyingLastPxL f Execution{..} = (\executionUnderlyingLastPx -> Execution { executionUnderlyingLastPx, ..} ) <$> f executionUnderlyingLastPx
{-# INLINE executionUnderlyingLastPxL #-}

-- | 'executionLastMkt' Lens
executionLastMktL :: Lens_' Execution (Maybe Text)
executionLastMktL f Execution{..} = (\executionLastMkt -> Execution { executionLastMkt, ..} ) <$> f executionLastMkt
{-# INLINE executionLastMktL #-}

-- | 'executionLastLiquidityInd' Lens
executionLastLiquidityIndL :: Lens_' Execution (Maybe Text)
executionLastLiquidityIndL f Execution{..} = (\executionLastLiquidityInd -> Execution { executionLastLiquidityInd, ..} ) <$> f executionLastLiquidityInd
{-# INLINE executionLastLiquidityIndL #-}

-- | 'executionSimpleOrderQty' Lens
executionSimpleOrderQtyL :: Lens_' Execution (Maybe Double)
executionSimpleOrderQtyL f Execution{..} = (\executionSimpleOrderQty -> Execution { executionSimpleOrderQty, ..} ) <$> f executionSimpleOrderQty
{-# INLINE executionSimpleOrderQtyL #-}

-- | 'executionOrderQty' Lens
executionOrderQtyL :: Lens_' Execution (Maybe Double)
executionOrderQtyL f Execution{..} = (\executionOrderQty -> Execution { executionOrderQty, ..} ) <$> f executionOrderQty
{-# INLINE executionOrderQtyL #-}

-- | 'executionPrice' Lens
executionPriceL :: Lens_' Execution (Maybe Double)
executionPriceL f Execution{..} = (\executionPrice -> Execution { executionPrice, ..} ) <$> f executionPrice
{-# INLINE executionPriceL #-}

-- | 'executionDisplayQty' Lens
executionDisplayQtyL :: Lens_' Execution (Maybe Double)
executionDisplayQtyL f Execution{..} = (\executionDisplayQty -> Execution { executionDisplayQty, ..} ) <$> f executionDisplayQty
{-# INLINE executionDisplayQtyL #-}

-- | 'executionStopPx' Lens
executionStopPxL :: Lens_' Execution (Maybe Double)
executionStopPxL f Execution{..} = (\executionStopPx -> Execution { executionStopPx, ..} ) <$> f executionStopPx
{-# INLINE executionStopPxL #-}

-- | 'executionPegOffsetValue' Lens
executionPegOffsetValueL :: Lens_' Execution (Maybe Double)
executionPegOffsetValueL f Execution{..} = (\executionPegOffsetValue -> Execution { executionPegOffsetValue, ..} ) <$> f executionPegOffsetValue
{-# INLINE executionPegOffsetValueL #-}

-- | 'executionPegPriceType' Lens
executionPegPriceTypeL :: Lens_' Execution (Maybe Text)
executionPegPriceTypeL f Execution{..} = (\executionPegPriceType -> Execution { executionPegPriceType, ..} ) <$> f executionPegPriceType
{-# INLINE executionPegPriceTypeL #-}

-- | 'executionCurrency' Lens
executionCurrencyL :: Lens_' Execution (Maybe Text)
executionCurrencyL f Execution{..} = (\executionCurrency -> Execution { executionCurrency, ..} ) <$> f executionCurrency
{-# INLINE executionCurrencyL #-}

-- | 'executionSettlCurrency' Lens
executionSettlCurrencyL :: Lens_' Execution (Maybe Text)
executionSettlCurrencyL f Execution{..} = (\executionSettlCurrency -> Execution { executionSettlCurrency, ..} ) <$> f executionSettlCurrency
{-# INLINE executionSettlCurrencyL #-}

-- | 'executionExecType' Lens
executionExecTypeL :: Lens_' Execution (Maybe Text)
executionExecTypeL f Execution{..} = (\executionExecType -> Execution { executionExecType, ..} ) <$> f executionExecType
{-# INLINE executionExecTypeL #-}

-- | 'executionOrdType' Lens
executionOrdTypeL :: Lens_' Execution (Maybe Text)
executionOrdTypeL f Execution{..} = (\executionOrdType -> Execution { executionOrdType, ..} ) <$> f executionOrdType
{-# INLINE executionOrdTypeL #-}

-- | 'executionTimeInForce' Lens
executionTimeInForceL :: Lens_' Execution (Maybe Text)
executionTimeInForceL f Execution{..} = (\executionTimeInForce -> Execution { executionTimeInForce, ..} ) <$> f executionTimeInForce
{-# INLINE executionTimeInForceL #-}

-- | 'executionExecInst' Lens
executionExecInstL :: Lens_' Execution (Maybe Text)
executionExecInstL f Execution{..} = (\executionExecInst -> Execution { executionExecInst, ..} ) <$> f executionExecInst
{-# INLINE executionExecInstL #-}

-- | 'executionContingencyType' Lens
executionContingencyTypeL :: Lens_' Execution (Maybe Text)
executionContingencyTypeL f Execution{..} = (\executionContingencyType -> Execution { executionContingencyType, ..} ) <$> f executionContingencyType
{-# INLINE executionContingencyTypeL #-}

-- | 'executionExDestination' Lens
executionExDestinationL :: Lens_' Execution (Maybe Text)
executionExDestinationL f Execution{..} = (\executionExDestination -> Execution { executionExDestination, ..} ) <$> f executionExDestination
{-# INLINE executionExDestinationL #-}

-- | 'executionOrdStatus' Lens
executionOrdStatusL :: Lens_' Execution (Maybe Text)
executionOrdStatusL f Execution{..} = (\executionOrdStatus -> Execution { executionOrdStatus, ..} ) <$> f executionOrdStatus
{-# INLINE executionOrdStatusL #-}

-- | 'executionTriggered' Lens
executionTriggeredL :: Lens_' Execution (Maybe Text)
executionTriggeredL f Execution{..} = (\executionTriggered -> Execution { executionTriggered, ..} ) <$> f executionTriggered
{-# INLINE executionTriggeredL #-}

-- | 'executionWorkingIndicator' Lens
executionWorkingIndicatorL :: Lens_' Execution (Maybe Bool)
executionWorkingIndicatorL f Execution{..} = (\executionWorkingIndicator -> Execution { executionWorkingIndicator, ..} ) <$> f executionWorkingIndicator
{-# INLINE executionWorkingIndicatorL #-}

-- | 'executionOrdRejReason' Lens
executionOrdRejReasonL :: Lens_' Execution (Maybe Text)
executionOrdRejReasonL f Execution{..} = (\executionOrdRejReason -> Execution { executionOrdRejReason, ..} ) <$> f executionOrdRejReason
{-# INLINE executionOrdRejReasonL #-}

-- | 'executionSimpleLeavesQty' Lens
executionSimpleLeavesQtyL :: Lens_' Execution (Maybe Double)
executionSimpleLeavesQtyL f Execution{..} = (\executionSimpleLeavesQty -> Execution { executionSimpleLeavesQty, ..} ) <$> f executionSimpleLeavesQty
{-# INLINE executionSimpleLeavesQtyL #-}

-- | 'executionLeavesQty' Lens
executionLeavesQtyL :: Lens_' Execution (Maybe Double)
executionLeavesQtyL f Execution{..} = (\executionLeavesQty -> Execution { executionLeavesQty, ..} ) <$> f executionLeavesQty
{-# INLINE executionLeavesQtyL #-}

-- | 'executionSimpleCumQty' Lens
executionSimpleCumQtyL :: Lens_' Execution (Maybe Double)
executionSimpleCumQtyL f Execution{..} = (\executionSimpleCumQty -> Execution { executionSimpleCumQty, ..} ) <$> f executionSimpleCumQty
{-# INLINE executionSimpleCumQtyL #-}

-- | 'executionCumQty' Lens
executionCumQtyL :: Lens_' Execution (Maybe Double)
executionCumQtyL f Execution{..} = (\executionCumQty -> Execution { executionCumQty, ..} ) <$> f executionCumQty
{-# INLINE executionCumQtyL #-}

-- | 'executionAvgPx' Lens
executionAvgPxL :: Lens_' Execution (Maybe Double)
executionAvgPxL f Execution{..} = (\executionAvgPx -> Execution { executionAvgPx, ..} ) <$> f executionAvgPx
{-# INLINE executionAvgPxL #-}

-- | 'executionCommission' Lens
executionCommissionL :: Lens_' Execution (Maybe Double)
executionCommissionL f Execution{..} = (\executionCommission -> Execution { executionCommission, ..} ) <$> f executionCommission
{-# INLINE executionCommissionL #-}

-- | 'executionTradePublishIndicator' Lens
executionTradePublishIndicatorL :: Lens_' Execution (Maybe Text)
executionTradePublishIndicatorL f Execution{..} = (\executionTradePublishIndicator -> Execution { executionTradePublishIndicator, ..} ) <$> f executionTradePublishIndicator
{-# INLINE executionTradePublishIndicatorL #-}

-- | 'executionMultiLegReportingType' Lens
executionMultiLegReportingTypeL :: Lens_' Execution (Maybe Text)
executionMultiLegReportingTypeL f Execution{..} = (\executionMultiLegReportingType -> Execution { executionMultiLegReportingType, ..} ) <$> f executionMultiLegReportingType
{-# INLINE executionMultiLegReportingTypeL #-}

-- | 'executionText' Lens
executionTextL :: Lens_' Execution (Maybe Text)
executionTextL f Execution{..} = (\executionText -> Execution { executionText, ..} ) <$> f executionText
{-# INLINE executionTextL #-}

-- | 'executionTrdMatchId' Lens
executionTrdMatchIdL :: Lens_' Execution (Maybe Text)
executionTrdMatchIdL f Execution{..} = (\executionTrdMatchId -> Execution { executionTrdMatchId, ..} ) <$> f executionTrdMatchId
{-# INLINE executionTrdMatchIdL #-}

-- | 'executionExecCost' Lens
executionExecCostL :: Lens_' Execution (Maybe Double)
executionExecCostL f Execution{..} = (\executionExecCost -> Execution { executionExecCost, ..} ) <$> f executionExecCost
{-# INLINE executionExecCostL #-}

-- | 'executionExecComm' Lens
executionExecCommL :: Lens_' Execution (Maybe Double)
executionExecCommL f Execution{..} = (\executionExecComm -> Execution { executionExecComm, ..} ) <$> f executionExecComm
{-# INLINE executionExecCommL #-}

-- | 'executionHomeNotional' Lens
executionHomeNotionalL :: Lens_' Execution (Maybe Double)
executionHomeNotionalL f Execution{..} = (\executionHomeNotional -> Execution { executionHomeNotional, ..} ) <$> f executionHomeNotional
{-# INLINE executionHomeNotionalL #-}

-- | 'executionForeignNotional' Lens
executionForeignNotionalL :: Lens_' Execution (Maybe Double)
executionForeignNotionalL f Execution{..} = (\executionForeignNotional -> Execution { executionForeignNotional, ..} ) <$> f executionForeignNotional
{-# INLINE executionForeignNotionalL #-}

-- | 'executionTransactTime' Lens
executionTransactTimeL :: Lens_' Execution (Maybe DateTime)
executionTransactTimeL f Execution{..} = (\executionTransactTime -> Execution { executionTransactTime, ..} ) <$> f executionTransactTime
{-# INLINE executionTransactTimeL #-}

-- | 'executionTimestamp' Lens
executionTimestampL :: Lens_' Execution (Maybe DateTime)
executionTimestampL f Execution{..} = (\executionTimestamp -> Execution { executionTimestamp, ..} ) <$> f executionTimestamp
{-# INLINE executionTimestampL #-}



-- * Funding

-- | 'fundingTimestamp' Lens
fundingTimestampL :: Lens_' Funding (DateTime)
fundingTimestampL f Funding{..} = (\fundingTimestamp -> Funding { fundingTimestamp, ..} ) <$> f fundingTimestamp
{-# INLINE fundingTimestampL #-}

-- | 'fundingSymbol' Lens
fundingSymbolL :: Lens_' Funding (Text)
fundingSymbolL f Funding{..} = (\fundingSymbol -> Funding { fundingSymbol, ..} ) <$> f fundingSymbol
{-# INLINE fundingSymbolL #-}

-- | 'fundingFundingInterval' Lens
fundingFundingIntervalL :: Lens_' Funding (Maybe DateTime)
fundingFundingIntervalL f Funding{..} = (\fundingFundingInterval -> Funding { fundingFundingInterval, ..} ) <$> f fundingFundingInterval
{-# INLINE fundingFundingIntervalL #-}

-- | 'fundingFundingRate' Lens
fundingFundingRateL :: Lens_' Funding (Maybe Double)
fundingFundingRateL f Funding{..} = (\fundingFundingRate -> Funding { fundingFundingRate, ..} ) <$> f fundingFundingRate
{-# INLINE fundingFundingRateL #-}

-- | 'fundingFundingRateDaily' Lens
fundingFundingRateDailyL :: Lens_' Funding (Maybe Double)
fundingFundingRateDailyL f Funding{..} = (\fundingFundingRateDaily -> Funding { fundingFundingRateDaily, ..} ) <$> f fundingFundingRateDaily
{-# INLINE fundingFundingRateDailyL #-}



-- * IndexComposite

-- | 'indexCompositeTimestamp' Lens
indexCompositeTimestampL :: Lens_' IndexComposite (DateTime)
indexCompositeTimestampL f IndexComposite{..} = (\indexCompositeTimestamp -> IndexComposite { indexCompositeTimestamp, ..} ) <$> f indexCompositeTimestamp
{-# INLINE indexCompositeTimestampL #-}

-- | 'indexCompositeSymbol' Lens
indexCompositeSymbolL :: Lens_' IndexComposite (Maybe Text)
indexCompositeSymbolL f IndexComposite{..} = (\indexCompositeSymbol -> IndexComposite { indexCompositeSymbol, ..} ) <$> f indexCompositeSymbol
{-# INLINE indexCompositeSymbolL #-}

-- | 'indexCompositeIndexSymbol' Lens
indexCompositeIndexSymbolL :: Lens_' IndexComposite (Maybe Text)
indexCompositeIndexSymbolL f IndexComposite{..} = (\indexCompositeIndexSymbol -> IndexComposite { indexCompositeIndexSymbol, ..} ) <$> f indexCompositeIndexSymbol
{-# INLINE indexCompositeIndexSymbolL #-}

-- | 'indexCompositeReference' Lens
indexCompositeReferenceL :: Lens_' IndexComposite (Maybe Text)
indexCompositeReferenceL f IndexComposite{..} = (\indexCompositeReference -> IndexComposite { indexCompositeReference, ..} ) <$> f indexCompositeReference
{-# INLINE indexCompositeReferenceL #-}

-- | 'indexCompositeLastPrice' Lens
indexCompositeLastPriceL :: Lens_' IndexComposite (Maybe Double)
indexCompositeLastPriceL f IndexComposite{..} = (\indexCompositeLastPrice -> IndexComposite { indexCompositeLastPrice, ..} ) <$> f indexCompositeLastPrice
{-# INLINE indexCompositeLastPriceL #-}

-- | 'indexCompositeWeight' Lens
indexCompositeWeightL :: Lens_' IndexComposite (Maybe Double)
indexCompositeWeightL f IndexComposite{..} = (\indexCompositeWeight -> IndexComposite { indexCompositeWeight, ..} ) <$> f indexCompositeWeight
{-# INLINE indexCompositeWeightL #-}

-- | 'indexCompositeLogged' Lens
indexCompositeLoggedL :: Lens_' IndexComposite (Maybe DateTime)
indexCompositeLoggedL f IndexComposite{..} = (\indexCompositeLogged -> IndexComposite { indexCompositeLogged, ..} ) <$> f indexCompositeLogged
{-# INLINE indexCompositeLoggedL #-}



-- * InlineResponse200

-- | 'inlineResponse200Success' Lens
inlineResponse200SuccessL :: Lens_' InlineResponse200 (Maybe Bool)
inlineResponse200SuccessL f InlineResponse200{..} = (\inlineResponse200Success -> InlineResponse200 { inlineResponse200Success, ..} ) <$> f inlineResponse200Success
{-# INLINE inlineResponse200SuccessL #-}



-- * Instrument

-- | 'instrumentSymbol' Lens
instrumentSymbolL :: Lens_' Instrument (Text)
instrumentSymbolL f Instrument{..} = (\instrumentSymbol -> Instrument { instrumentSymbol, ..} ) <$> f instrumentSymbol
{-# INLINE instrumentSymbolL #-}

-- | 'instrumentRootSymbol' Lens
instrumentRootSymbolL :: Lens_' Instrument (Maybe Text)
instrumentRootSymbolL f Instrument{..} = (\instrumentRootSymbol -> Instrument { instrumentRootSymbol, ..} ) <$> f instrumentRootSymbol
{-# INLINE instrumentRootSymbolL #-}

-- | 'instrumentState' Lens
instrumentStateL :: Lens_' Instrument (Maybe Text)
instrumentStateL f Instrument{..} = (\instrumentState -> Instrument { instrumentState, ..} ) <$> f instrumentState
{-# INLINE instrumentStateL #-}

-- | 'instrumentTyp' Lens
instrumentTypL :: Lens_' Instrument (Maybe Text)
instrumentTypL f Instrument{..} = (\instrumentTyp -> Instrument { instrumentTyp, ..} ) <$> f instrumentTyp
{-# INLINE instrumentTypL #-}

-- | 'instrumentListing' Lens
instrumentListingL :: Lens_' Instrument (Maybe DateTime)
instrumentListingL f Instrument{..} = (\instrumentListing -> Instrument { instrumentListing, ..} ) <$> f instrumentListing
{-# INLINE instrumentListingL #-}

-- | 'instrumentFront' Lens
instrumentFrontL :: Lens_' Instrument (Maybe DateTime)
instrumentFrontL f Instrument{..} = (\instrumentFront -> Instrument { instrumentFront, ..} ) <$> f instrumentFront
{-# INLINE instrumentFrontL #-}

-- | 'instrumentExpiry' Lens
instrumentExpiryL :: Lens_' Instrument (Maybe DateTime)
instrumentExpiryL f Instrument{..} = (\instrumentExpiry -> Instrument { instrumentExpiry, ..} ) <$> f instrumentExpiry
{-# INLINE instrumentExpiryL #-}

-- | 'instrumentSettle' Lens
instrumentSettleL :: Lens_' Instrument (Maybe DateTime)
instrumentSettleL f Instrument{..} = (\instrumentSettle -> Instrument { instrumentSettle, ..} ) <$> f instrumentSettle
{-# INLINE instrumentSettleL #-}

-- | 'instrumentRelistInterval' Lens
instrumentRelistIntervalL :: Lens_' Instrument (Maybe DateTime)
instrumentRelistIntervalL f Instrument{..} = (\instrumentRelistInterval -> Instrument { instrumentRelistInterval, ..} ) <$> f instrumentRelistInterval
{-# INLINE instrumentRelistIntervalL #-}

-- | 'instrumentInverseLeg' Lens
instrumentInverseLegL :: Lens_' Instrument (Maybe Text)
instrumentInverseLegL f Instrument{..} = (\instrumentInverseLeg -> Instrument { instrumentInverseLeg, ..} ) <$> f instrumentInverseLeg
{-# INLINE instrumentInverseLegL #-}

-- | 'instrumentSellLeg' Lens
instrumentSellLegL :: Lens_' Instrument (Maybe Text)
instrumentSellLegL f Instrument{..} = (\instrumentSellLeg -> Instrument { instrumentSellLeg, ..} ) <$> f instrumentSellLeg
{-# INLINE instrumentSellLegL #-}

-- | 'instrumentBuyLeg' Lens
instrumentBuyLegL :: Lens_' Instrument (Maybe Text)
instrumentBuyLegL f Instrument{..} = (\instrumentBuyLeg -> Instrument { instrumentBuyLeg, ..} ) <$> f instrumentBuyLeg
{-# INLINE instrumentBuyLegL #-}

-- | 'instrumentPositionCurrency' Lens
instrumentPositionCurrencyL :: Lens_' Instrument (Maybe Text)
instrumentPositionCurrencyL f Instrument{..} = (\instrumentPositionCurrency -> Instrument { instrumentPositionCurrency, ..} ) <$> f instrumentPositionCurrency
{-# INLINE instrumentPositionCurrencyL #-}

-- | 'instrumentUnderlying' Lens
instrumentUnderlyingL :: Lens_' Instrument (Maybe Text)
instrumentUnderlyingL f Instrument{..} = (\instrumentUnderlying -> Instrument { instrumentUnderlying, ..} ) <$> f instrumentUnderlying
{-# INLINE instrumentUnderlyingL #-}

-- | 'instrumentQuoteCurrency' Lens
instrumentQuoteCurrencyL :: Lens_' Instrument (Maybe Text)
instrumentQuoteCurrencyL f Instrument{..} = (\instrumentQuoteCurrency -> Instrument { instrumentQuoteCurrency, ..} ) <$> f instrumentQuoteCurrency
{-# INLINE instrumentQuoteCurrencyL #-}

-- | 'instrumentUnderlyingSymbol' Lens
instrumentUnderlyingSymbolL :: Lens_' Instrument (Maybe Text)
instrumentUnderlyingSymbolL f Instrument{..} = (\instrumentUnderlyingSymbol -> Instrument { instrumentUnderlyingSymbol, ..} ) <$> f instrumentUnderlyingSymbol
{-# INLINE instrumentUnderlyingSymbolL #-}

-- | 'instrumentReference' Lens
instrumentReferenceL :: Lens_' Instrument (Maybe Text)
instrumentReferenceL f Instrument{..} = (\instrumentReference -> Instrument { instrumentReference, ..} ) <$> f instrumentReference
{-# INLINE instrumentReferenceL #-}

-- | 'instrumentReferenceSymbol' Lens
instrumentReferenceSymbolL :: Lens_' Instrument (Maybe Text)
instrumentReferenceSymbolL f Instrument{..} = (\instrumentReferenceSymbol -> Instrument { instrumentReferenceSymbol, ..} ) <$> f instrumentReferenceSymbol
{-# INLINE instrumentReferenceSymbolL #-}

-- | 'instrumentCalcInterval' Lens
instrumentCalcIntervalL :: Lens_' Instrument (Maybe DateTime)
instrumentCalcIntervalL f Instrument{..} = (\instrumentCalcInterval -> Instrument { instrumentCalcInterval, ..} ) <$> f instrumentCalcInterval
{-# INLINE instrumentCalcIntervalL #-}

-- | 'instrumentPublishInterval' Lens
instrumentPublishIntervalL :: Lens_' Instrument (Maybe DateTime)
instrumentPublishIntervalL f Instrument{..} = (\instrumentPublishInterval -> Instrument { instrumentPublishInterval, ..} ) <$> f instrumentPublishInterval
{-# INLINE instrumentPublishIntervalL #-}

-- | 'instrumentPublishTime' Lens
instrumentPublishTimeL :: Lens_' Instrument (Maybe DateTime)
instrumentPublishTimeL f Instrument{..} = (\instrumentPublishTime -> Instrument { instrumentPublishTime, ..} ) <$> f instrumentPublishTime
{-# INLINE instrumentPublishTimeL #-}

-- | 'instrumentMaxOrderQty' Lens
instrumentMaxOrderQtyL :: Lens_' Instrument (Maybe Double)
instrumentMaxOrderQtyL f Instrument{..} = (\instrumentMaxOrderQty -> Instrument { instrumentMaxOrderQty, ..} ) <$> f instrumentMaxOrderQty
{-# INLINE instrumentMaxOrderQtyL #-}

-- | 'instrumentMaxPrice' Lens
instrumentMaxPriceL :: Lens_' Instrument (Maybe Double)
instrumentMaxPriceL f Instrument{..} = (\instrumentMaxPrice -> Instrument { instrumentMaxPrice, ..} ) <$> f instrumentMaxPrice
{-# INLINE instrumentMaxPriceL #-}

-- | 'instrumentLotSize' Lens
instrumentLotSizeL :: Lens_' Instrument (Maybe Double)
instrumentLotSizeL f Instrument{..} = (\instrumentLotSize -> Instrument { instrumentLotSize, ..} ) <$> f instrumentLotSize
{-# INLINE instrumentLotSizeL #-}

-- | 'instrumentTickSize' Lens
instrumentTickSizeL :: Lens_' Instrument (Maybe Double)
instrumentTickSizeL f Instrument{..} = (\instrumentTickSize -> Instrument { instrumentTickSize, ..} ) <$> f instrumentTickSize
{-# INLINE instrumentTickSizeL #-}

-- | 'instrumentMultiplier' Lens
instrumentMultiplierL :: Lens_' Instrument (Maybe Double)
instrumentMultiplierL f Instrument{..} = (\instrumentMultiplier -> Instrument { instrumentMultiplier, ..} ) <$> f instrumentMultiplier
{-# INLINE instrumentMultiplierL #-}

-- | 'instrumentSettlCurrency' Lens
instrumentSettlCurrencyL :: Lens_' Instrument (Maybe Text)
instrumentSettlCurrencyL f Instrument{..} = (\instrumentSettlCurrency -> Instrument { instrumentSettlCurrency, ..} ) <$> f instrumentSettlCurrency
{-# INLINE instrumentSettlCurrencyL #-}

-- | 'instrumentUnderlyingToPositionMultiplier' Lens
instrumentUnderlyingToPositionMultiplierL :: Lens_' Instrument (Maybe Double)
instrumentUnderlyingToPositionMultiplierL f Instrument{..} = (\instrumentUnderlyingToPositionMultiplier -> Instrument { instrumentUnderlyingToPositionMultiplier, ..} ) <$> f instrumentUnderlyingToPositionMultiplier
{-# INLINE instrumentUnderlyingToPositionMultiplierL #-}

-- | 'instrumentUnderlyingToSettleMultiplier' Lens
instrumentUnderlyingToSettleMultiplierL :: Lens_' Instrument (Maybe Double)
instrumentUnderlyingToSettleMultiplierL f Instrument{..} = (\instrumentUnderlyingToSettleMultiplier -> Instrument { instrumentUnderlyingToSettleMultiplier, ..} ) <$> f instrumentUnderlyingToSettleMultiplier
{-# INLINE instrumentUnderlyingToSettleMultiplierL #-}

-- | 'instrumentQuoteToSettleMultiplier' Lens
instrumentQuoteToSettleMultiplierL :: Lens_' Instrument (Maybe Double)
instrumentQuoteToSettleMultiplierL f Instrument{..} = (\instrumentQuoteToSettleMultiplier -> Instrument { instrumentQuoteToSettleMultiplier, ..} ) <$> f instrumentQuoteToSettleMultiplier
{-# INLINE instrumentQuoteToSettleMultiplierL #-}

-- | 'instrumentIsQuanto' Lens
instrumentIsQuantoL :: Lens_' Instrument (Maybe Bool)
instrumentIsQuantoL f Instrument{..} = (\instrumentIsQuanto -> Instrument { instrumentIsQuanto, ..} ) <$> f instrumentIsQuanto
{-# INLINE instrumentIsQuantoL #-}

-- | 'instrumentIsInverse' Lens
instrumentIsInverseL :: Lens_' Instrument (Maybe Bool)
instrumentIsInverseL f Instrument{..} = (\instrumentIsInverse -> Instrument { instrumentIsInverse, ..} ) <$> f instrumentIsInverse
{-# INLINE instrumentIsInverseL #-}

-- | 'instrumentInitMargin' Lens
instrumentInitMarginL :: Lens_' Instrument (Maybe Double)
instrumentInitMarginL f Instrument{..} = (\instrumentInitMargin -> Instrument { instrumentInitMargin, ..} ) <$> f instrumentInitMargin
{-# INLINE instrumentInitMarginL #-}

-- | 'instrumentMaintMargin' Lens
instrumentMaintMarginL :: Lens_' Instrument (Maybe Double)
instrumentMaintMarginL f Instrument{..} = (\instrumentMaintMargin -> Instrument { instrumentMaintMargin, ..} ) <$> f instrumentMaintMargin
{-# INLINE instrumentMaintMarginL #-}

-- | 'instrumentRiskLimit' Lens
instrumentRiskLimitL :: Lens_' Instrument (Maybe Double)
instrumentRiskLimitL f Instrument{..} = (\instrumentRiskLimit -> Instrument { instrumentRiskLimit, ..} ) <$> f instrumentRiskLimit
{-# INLINE instrumentRiskLimitL #-}

-- | 'instrumentRiskStep' Lens
instrumentRiskStepL :: Lens_' Instrument (Maybe Double)
instrumentRiskStepL f Instrument{..} = (\instrumentRiskStep -> Instrument { instrumentRiskStep, ..} ) <$> f instrumentRiskStep
{-# INLINE instrumentRiskStepL #-}

-- | 'instrumentLimit' Lens
instrumentLimitL :: Lens_' Instrument (Maybe Double)
instrumentLimitL f Instrument{..} = (\instrumentLimit -> Instrument { instrumentLimit, ..} ) <$> f instrumentLimit
{-# INLINE instrumentLimitL #-}

-- | 'instrumentCapped' Lens
instrumentCappedL :: Lens_' Instrument (Maybe Bool)
instrumentCappedL f Instrument{..} = (\instrumentCapped -> Instrument { instrumentCapped, ..} ) <$> f instrumentCapped
{-# INLINE instrumentCappedL #-}

-- | 'instrumentTaxed' Lens
instrumentTaxedL :: Lens_' Instrument (Maybe Bool)
instrumentTaxedL f Instrument{..} = (\instrumentTaxed -> Instrument { instrumentTaxed, ..} ) <$> f instrumentTaxed
{-# INLINE instrumentTaxedL #-}

-- | 'instrumentDeleverage' Lens
instrumentDeleverageL :: Lens_' Instrument (Maybe Bool)
instrumentDeleverageL f Instrument{..} = (\instrumentDeleverage -> Instrument { instrumentDeleverage, ..} ) <$> f instrumentDeleverage
{-# INLINE instrumentDeleverageL #-}

-- | 'instrumentMakerFee' Lens
instrumentMakerFeeL :: Lens_' Instrument (Maybe Double)
instrumentMakerFeeL f Instrument{..} = (\instrumentMakerFee -> Instrument { instrumentMakerFee, ..} ) <$> f instrumentMakerFee
{-# INLINE instrumentMakerFeeL #-}

-- | 'instrumentTakerFee' Lens
instrumentTakerFeeL :: Lens_' Instrument (Maybe Double)
instrumentTakerFeeL f Instrument{..} = (\instrumentTakerFee -> Instrument { instrumentTakerFee, ..} ) <$> f instrumentTakerFee
{-# INLINE instrumentTakerFeeL #-}

-- | 'instrumentSettlementFee' Lens
instrumentSettlementFeeL :: Lens_' Instrument (Maybe Double)
instrumentSettlementFeeL f Instrument{..} = (\instrumentSettlementFee -> Instrument { instrumentSettlementFee, ..} ) <$> f instrumentSettlementFee
{-# INLINE instrumentSettlementFeeL #-}

-- | 'instrumentInsuranceFee' Lens
instrumentInsuranceFeeL :: Lens_' Instrument (Maybe Double)
instrumentInsuranceFeeL f Instrument{..} = (\instrumentInsuranceFee -> Instrument { instrumentInsuranceFee, ..} ) <$> f instrumentInsuranceFee
{-# INLINE instrumentInsuranceFeeL #-}

-- | 'instrumentFundingBaseSymbol' Lens
instrumentFundingBaseSymbolL :: Lens_' Instrument (Maybe Text)
instrumentFundingBaseSymbolL f Instrument{..} = (\instrumentFundingBaseSymbol -> Instrument { instrumentFundingBaseSymbol, ..} ) <$> f instrumentFundingBaseSymbol
{-# INLINE instrumentFundingBaseSymbolL #-}

-- | 'instrumentFundingQuoteSymbol' Lens
instrumentFundingQuoteSymbolL :: Lens_' Instrument (Maybe Text)
instrumentFundingQuoteSymbolL f Instrument{..} = (\instrumentFundingQuoteSymbol -> Instrument { instrumentFundingQuoteSymbol, ..} ) <$> f instrumentFundingQuoteSymbol
{-# INLINE instrumentFundingQuoteSymbolL #-}

-- | 'instrumentFundingPremiumSymbol' Lens
instrumentFundingPremiumSymbolL :: Lens_' Instrument (Maybe Text)
instrumentFundingPremiumSymbolL f Instrument{..} = (\instrumentFundingPremiumSymbol -> Instrument { instrumentFundingPremiumSymbol, ..} ) <$> f instrumentFundingPremiumSymbol
{-# INLINE instrumentFundingPremiumSymbolL #-}

-- | 'instrumentFundingTimestamp' Lens
instrumentFundingTimestampL :: Lens_' Instrument (Maybe DateTime)
instrumentFundingTimestampL f Instrument{..} = (\instrumentFundingTimestamp -> Instrument { instrumentFundingTimestamp, ..} ) <$> f instrumentFundingTimestamp
{-# INLINE instrumentFundingTimestampL #-}

-- | 'instrumentFundingInterval' Lens
instrumentFundingIntervalL :: Lens_' Instrument (Maybe DateTime)
instrumentFundingIntervalL f Instrument{..} = (\instrumentFundingInterval -> Instrument { instrumentFundingInterval, ..} ) <$> f instrumentFundingInterval
{-# INLINE instrumentFundingIntervalL #-}

-- | 'instrumentFundingRate' Lens
instrumentFundingRateL :: Lens_' Instrument (Maybe Double)
instrumentFundingRateL f Instrument{..} = (\instrumentFundingRate -> Instrument { instrumentFundingRate, ..} ) <$> f instrumentFundingRate
{-# INLINE instrumentFundingRateL #-}

-- | 'instrumentIndicativeFundingRate' Lens
instrumentIndicativeFundingRateL :: Lens_' Instrument (Maybe Double)
instrumentIndicativeFundingRateL f Instrument{..} = (\instrumentIndicativeFundingRate -> Instrument { instrumentIndicativeFundingRate, ..} ) <$> f instrumentIndicativeFundingRate
{-# INLINE instrumentIndicativeFundingRateL #-}

-- | 'instrumentRebalanceTimestamp' Lens
instrumentRebalanceTimestampL :: Lens_' Instrument (Maybe DateTime)
instrumentRebalanceTimestampL f Instrument{..} = (\instrumentRebalanceTimestamp -> Instrument { instrumentRebalanceTimestamp, ..} ) <$> f instrumentRebalanceTimestamp
{-# INLINE instrumentRebalanceTimestampL #-}

-- | 'instrumentRebalanceInterval' Lens
instrumentRebalanceIntervalL :: Lens_' Instrument (Maybe DateTime)
instrumentRebalanceIntervalL f Instrument{..} = (\instrumentRebalanceInterval -> Instrument { instrumentRebalanceInterval, ..} ) <$> f instrumentRebalanceInterval
{-# INLINE instrumentRebalanceIntervalL #-}

-- | 'instrumentOpeningTimestamp' Lens
instrumentOpeningTimestampL :: Lens_' Instrument (Maybe DateTime)
instrumentOpeningTimestampL f Instrument{..} = (\instrumentOpeningTimestamp -> Instrument { instrumentOpeningTimestamp, ..} ) <$> f instrumentOpeningTimestamp
{-# INLINE instrumentOpeningTimestampL #-}

-- | 'instrumentClosingTimestamp' Lens
instrumentClosingTimestampL :: Lens_' Instrument (Maybe DateTime)
instrumentClosingTimestampL f Instrument{..} = (\instrumentClosingTimestamp -> Instrument { instrumentClosingTimestamp, ..} ) <$> f instrumentClosingTimestamp
{-# INLINE instrumentClosingTimestampL #-}

-- | 'instrumentSessionInterval' Lens
instrumentSessionIntervalL :: Lens_' Instrument (Maybe DateTime)
instrumentSessionIntervalL f Instrument{..} = (\instrumentSessionInterval -> Instrument { instrumentSessionInterval, ..} ) <$> f instrumentSessionInterval
{-# INLINE instrumentSessionIntervalL #-}

-- | 'instrumentPrevClosePrice' Lens
instrumentPrevClosePriceL :: Lens_' Instrument (Maybe Double)
instrumentPrevClosePriceL f Instrument{..} = (\instrumentPrevClosePrice -> Instrument { instrumentPrevClosePrice, ..} ) <$> f instrumentPrevClosePrice
{-# INLINE instrumentPrevClosePriceL #-}

-- | 'instrumentLimitDownPrice' Lens
instrumentLimitDownPriceL :: Lens_' Instrument (Maybe Double)
instrumentLimitDownPriceL f Instrument{..} = (\instrumentLimitDownPrice -> Instrument { instrumentLimitDownPrice, ..} ) <$> f instrumentLimitDownPrice
{-# INLINE instrumentLimitDownPriceL #-}

-- | 'instrumentLimitUpPrice' Lens
instrumentLimitUpPriceL :: Lens_' Instrument (Maybe Double)
instrumentLimitUpPriceL f Instrument{..} = (\instrumentLimitUpPrice -> Instrument { instrumentLimitUpPrice, ..} ) <$> f instrumentLimitUpPrice
{-# INLINE instrumentLimitUpPriceL #-}

-- | 'instrumentBankruptLimitDownPrice' Lens
instrumentBankruptLimitDownPriceL :: Lens_' Instrument (Maybe Double)
instrumentBankruptLimitDownPriceL f Instrument{..} = (\instrumentBankruptLimitDownPrice -> Instrument { instrumentBankruptLimitDownPrice, ..} ) <$> f instrumentBankruptLimitDownPrice
{-# INLINE instrumentBankruptLimitDownPriceL #-}

-- | 'instrumentBankruptLimitUpPrice' Lens
instrumentBankruptLimitUpPriceL :: Lens_' Instrument (Maybe Double)
instrumentBankruptLimitUpPriceL f Instrument{..} = (\instrumentBankruptLimitUpPrice -> Instrument { instrumentBankruptLimitUpPrice, ..} ) <$> f instrumentBankruptLimitUpPrice
{-# INLINE instrumentBankruptLimitUpPriceL #-}

-- | 'instrumentPrevTotalVolume' Lens
instrumentPrevTotalVolumeL :: Lens_' Instrument (Maybe Double)
instrumentPrevTotalVolumeL f Instrument{..} = (\instrumentPrevTotalVolume -> Instrument { instrumentPrevTotalVolume, ..} ) <$> f instrumentPrevTotalVolume
{-# INLINE instrumentPrevTotalVolumeL #-}

-- | 'instrumentTotalVolume' Lens
instrumentTotalVolumeL :: Lens_' Instrument (Maybe Double)
instrumentTotalVolumeL f Instrument{..} = (\instrumentTotalVolume -> Instrument { instrumentTotalVolume, ..} ) <$> f instrumentTotalVolume
{-# INLINE instrumentTotalVolumeL #-}

-- | 'instrumentVolume' Lens
instrumentVolumeL :: Lens_' Instrument (Maybe Double)
instrumentVolumeL f Instrument{..} = (\instrumentVolume -> Instrument { instrumentVolume, ..} ) <$> f instrumentVolume
{-# INLINE instrumentVolumeL #-}

-- | 'instrumentVolume24h' Lens
instrumentVolume24hL :: Lens_' Instrument (Maybe Double)
instrumentVolume24hL f Instrument{..} = (\instrumentVolume24h -> Instrument { instrumentVolume24h, ..} ) <$> f instrumentVolume24h
{-# INLINE instrumentVolume24hL #-}

-- | 'instrumentPrevTotalTurnover' Lens
instrumentPrevTotalTurnoverL :: Lens_' Instrument (Maybe Double)
instrumentPrevTotalTurnoverL f Instrument{..} = (\instrumentPrevTotalTurnover -> Instrument { instrumentPrevTotalTurnover, ..} ) <$> f instrumentPrevTotalTurnover
{-# INLINE instrumentPrevTotalTurnoverL #-}

-- | 'instrumentTotalTurnover' Lens
instrumentTotalTurnoverL :: Lens_' Instrument (Maybe Double)
instrumentTotalTurnoverL f Instrument{..} = (\instrumentTotalTurnover -> Instrument { instrumentTotalTurnover, ..} ) <$> f instrumentTotalTurnover
{-# INLINE instrumentTotalTurnoverL #-}

-- | 'instrumentTurnover' Lens
instrumentTurnoverL :: Lens_' Instrument (Maybe Double)
instrumentTurnoverL f Instrument{..} = (\instrumentTurnover -> Instrument { instrumentTurnover, ..} ) <$> f instrumentTurnover
{-# INLINE instrumentTurnoverL #-}

-- | 'instrumentTurnover24h' Lens
instrumentTurnover24hL :: Lens_' Instrument (Maybe Double)
instrumentTurnover24hL f Instrument{..} = (\instrumentTurnover24h -> Instrument { instrumentTurnover24h, ..} ) <$> f instrumentTurnover24h
{-# INLINE instrumentTurnover24hL #-}

-- | 'instrumentPrevPrice24h' Lens
instrumentPrevPrice24hL :: Lens_' Instrument (Maybe Double)
instrumentPrevPrice24hL f Instrument{..} = (\instrumentPrevPrice24h -> Instrument { instrumentPrevPrice24h, ..} ) <$> f instrumentPrevPrice24h
{-# INLINE instrumentPrevPrice24hL #-}

-- | 'instrumentVwap' Lens
instrumentVwapL :: Lens_' Instrument (Maybe Double)
instrumentVwapL f Instrument{..} = (\instrumentVwap -> Instrument { instrumentVwap, ..} ) <$> f instrumentVwap
{-# INLINE instrumentVwapL #-}

-- | 'instrumentHighPrice' Lens
instrumentHighPriceL :: Lens_' Instrument (Maybe Double)
instrumentHighPriceL f Instrument{..} = (\instrumentHighPrice -> Instrument { instrumentHighPrice, ..} ) <$> f instrumentHighPrice
{-# INLINE instrumentHighPriceL #-}

-- | 'instrumentLowPrice' Lens
instrumentLowPriceL :: Lens_' Instrument (Maybe Double)
instrumentLowPriceL f Instrument{..} = (\instrumentLowPrice -> Instrument { instrumentLowPrice, ..} ) <$> f instrumentLowPrice
{-# INLINE instrumentLowPriceL #-}

-- | 'instrumentLastPrice' Lens
instrumentLastPriceL :: Lens_' Instrument (Maybe Double)
instrumentLastPriceL f Instrument{..} = (\instrumentLastPrice -> Instrument { instrumentLastPrice, ..} ) <$> f instrumentLastPrice
{-# INLINE instrumentLastPriceL #-}

-- | 'instrumentLastPriceProtected' Lens
instrumentLastPriceProtectedL :: Lens_' Instrument (Maybe Double)
instrumentLastPriceProtectedL f Instrument{..} = (\instrumentLastPriceProtected -> Instrument { instrumentLastPriceProtected, ..} ) <$> f instrumentLastPriceProtected
{-# INLINE instrumentLastPriceProtectedL #-}

-- | 'instrumentLastTickDirection' Lens
instrumentLastTickDirectionL :: Lens_' Instrument (Maybe Text)
instrumentLastTickDirectionL f Instrument{..} = (\instrumentLastTickDirection -> Instrument { instrumentLastTickDirection, ..} ) <$> f instrumentLastTickDirection
{-# INLINE instrumentLastTickDirectionL #-}

-- | 'instrumentLastChangePcnt' Lens
instrumentLastChangePcntL :: Lens_' Instrument (Maybe Double)
instrumentLastChangePcntL f Instrument{..} = (\instrumentLastChangePcnt -> Instrument { instrumentLastChangePcnt, ..} ) <$> f instrumentLastChangePcnt
{-# INLINE instrumentLastChangePcntL #-}

-- | 'instrumentBidPrice' Lens
instrumentBidPriceL :: Lens_' Instrument (Maybe Double)
instrumentBidPriceL f Instrument{..} = (\instrumentBidPrice -> Instrument { instrumentBidPrice, ..} ) <$> f instrumentBidPrice
{-# INLINE instrumentBidPriceL #-}

-- | 'instrumentMidPrice' Lens
instrumentMidPriceL :: Lens_' Instrument (Maybe Double)
instrumentMidPriceL f Instrument{..} = (\instrumentMidPrice -> Instrument { instrumentMidPrice, ..} ) <$> f instrumentMidPrice
{-# INLINE instrumentMidPriceL #-}

-- | 'instrumentAskPrice' Lens
instrumentAskPriceL :: Lens_' Instrument (Maybe Double)
instrumentAskPriceL f Instrument{..} = (\instrumentAskPrice -> Instrument { instrumentAskPrice, ..} ) <$> f instrumentAskPrice
{-# INLINE instrumentAskPriceL #-}

-- | 'instrumentImpactBidPrice' Lens
instrumentImpactBidPriceL :: Lens_' Instrument (Maybe Double)
instrumentImpactBidPriceL f Instrument{..} = (\instrumentImpactBidPrice -> Instrument { instrumentImpactBidPrice, ..} ) <$> f instrumentImpactBidPrice
{-# INLINE instrumentImpactBidPriceL #-}

-- | 'instrumentImpactMidPrice' Lens
instrumentImpactMidPriceL :: Lens_' Instrument (Maybe Double)
instrumentImpactMidPriceL f Instrument{..} = (\instrumentImpactMidPrice -> Instrument { instrumentImpactMidPrice, ..} ) <$> f instrumentImpactMidPrice
{-# INLINE instrumentImpactMidPriceL #-}

-- | 'instrumentImpactAskPrice' Lens
instrumentImpactAskPriceL :: Lens_' Instrument (Maybe Double)
instrumentImpactAskPriceL f Instrument{..} = (\instrumentImpactAskPrice -> Instrument { instrumentImpactAskPrice, ..} ) <$> f instrumentImpactAskPrice
{-# INLINE instrumentImpactAskPriceL #-}

-- | 'instrumentHasLiquidity' Lens
instrumentHasLiquidityL :: Lens_' Instrument (Maybe Bool)
instrumentHasLiquidityL f Instrument{..} = (\instrumentHasLiquidity -> Instrument { instrumentHasLiquidity, ..} ) <$> f instrumentHasLiquidity
{-# INLINE instrumentHasLiquidityL #-}

-- | 'instrumentOpenInterest' Lens
instrumentOpenInterestL :: Lens_' Instrument (Maybe Double)
instrumentOpenInterestL f Instrument{..} = (\instrumentOpenInterest -> Instrument { instrumentOpenInterest, ..} ) <$> f instrumentOpenInterest
{-# INLINE instrumentOpenInterestL #-}

-- | 'instrumentOpenValue' Lens
instrumentOpenValueL :: Lens_' Instrument (Maybe Double)
instrumentOpenValueL f Instrument{..} = (\instrumentOpenValue -> Instrument { instrumentOpenValue, ..} ) <$> f instrumentOpenValue
{-# INLINE instrumentOpenValueL #-}

-- | 'instrumentFairMethod' Lens
instrumentFairMethodL :: Lens_' Instrument (Maybe Text)
instrumentFairMethodL f Instrument{..} = (\instrumentFairMethod -> Instrument { instrumentFairMethod, ..} ) <$> f instrumentFairMethod
{-# INLINE instrumentFairMethodL #-}

-- | 'instrumentFairBasisRate' Lens
instrumentFairBasisRateL :: Lens_' Instrument (Maybe Double)
instrumentFairBasisRateL f Instrument{..} = (\instrumentFairBasisRate -> Instrument { instrumentFairBasisRate, ..} ) <$> f instrumentFairBasisRate
{-# INLINE instrumentFairBasisRateL #-}

-- | 'instrumentFairBasis' Lens
instrumentFairBasisL :: Lens_' Instrument (Maybe Double)
instrumentFairBasisL f Instrument{..} = (\instrumentFairBasis -> Instrument { instrumentFairBasis, ..} ) <$> f instrumentFairBasis
{-# INLINE instrumentFairBasisL #-}

-- | 'instrumentFairPrice' Lens
instrumentFairPriceL :: Lens_' Instrument (Maybe Double)
instrumentFairPriceL f Instrument{..} = (\instrumentFairPrice -> Instrument { instrumentFairPrice, ..} ) <$> f instrumentFairPrice
{-# INLINE instrumentFairPriceL #-}

-- | 'instrumentMarkMethod' Lens
instrumentMarkMethodL :: Lens_' Instrument (Maybe Text)
instrumentMarkMethodL f Instrument{..} = (\instrumentMarkMethod -> Instrument { instrumentMarkMethod, ..} ) <$> f instrumentMarkMethod
{-# INLINE instrumentMarkMethodL #-}

-- | 'instrumentMarkPrice' Lens
instrumentMarkPriceL :: Lens_' Instrument (Maybe Double)
instrumentMarkPriceL f Instrument{..} = (\instrumentMarkPrice -> Instrument { instrumentMarkPrice, ..} ) <$> f instrumentMarkPrice
{-# INLINE instrumentMarkPriceL #-}

-- | 'instrumentIndicativeTaxRate' Lens
instrumentIndicativeTaxRateL :: Lens_' Instrument (Maybe Double)
instrumentIndicativeTaxRateL f Instrument{..} = (\instrumentIndicativeTaxRate -> Instrument { instrumentIndicativeTaxRate, ..} ) <$> f instrumentIndicativeTaxRate
{-# INLINE instrumentIndicativeTaxRateL #-}

-- | 'instrumentIndicativeSettlePrice' Lens
instrumentIndicativeSettlePriceL :: Lens_' Instrument (Maybe Double)
instrumentIndicativeSettlePriceL f Instrument{..} = (\instrumentIndicativeSettlePrice -> Instrument { instrumentIndicativeSettlePrice, ..} ) <$> f instrumentIndicativeSettlePrice
{-# INLINE instrumentIndicativeSettlePriceL #-}

-- | 'instrumentSettledPrice' Lens
instrumentSettledPriceL :: Lens_' Instrument (Maybe Double)
instrumentSettledPriceL f Instrument{..} = (\instrumentSettledPrice -> Instrument { instrumentSettledPrice, ..} ) <$> f instrumentSettledPrice
{-# INLINE instrumentSettledPriceL #-}

-- | 'instrumentTimestamp' Lens
instrumentTimestampL :: Lens_' Instrument (Maybe DateTime)
instrumentTimestampL f Instrument{..} = (\instrumentTimestamp -> Instrument { instrumentTimestamp, ..} ) <$> f instrumentTimestamp
{-# INLINE instrumentTimestampL #-}



-- * InstrumentInterval

-- | 'instrumentIntervalIntervals' Lens
instrumentIntervalIntervalsL :: Lens_' InstrumentInterval ([Text])
instrumentIntervalIntervalsL f InstrumentInterval{..} = (\instrumentIntervalIntervals -> InstrumentInterval { instrumentIntervalIntervals, ..} ) <$> f instrumentIntervalIntervals
{-# INLINE instrumentIntervalIntervalsL #-}

-- | 'instrumentIntervalSymbols' Lens
instrumentIntervalSymbolsL :: Lens_' InstrumentInterval ([Text])
instrumentIntervalSymbolsL f InstrumentInterval{..} = (\instrumentIntervalSymbols -> InstrumentInterval { instrumentIntervalSymbols, ..} ) <$> f instrumentIntervalSymbols
{-# INLINE instrumentIntervalSymbolsL #-}



-- * Insurance

-- | 'insuranceCurrency' Lens
insuranceCurrencyL :: Lens_' Insurance (Text)
insuranceCurrencyL f Insurance{..} = (\insuranceCurrency -> Insurance { insuranceCurrency, ..} ) <$> f insuranceCurrency
{-# INLINE insuranceCurrencyL #-}

-- | 'insuranceTimestamp' Lens
insuranceTimestampL :: Lens_' Insurance (DateTime)
insuranceTimestampL f Insurance{..} = (\insuranceTimestamp -> Insurance { insuranceTimestamp, ..} ) <$> f insuranceTimestamp
{-# INLINE insuranceTimestampL #-}

-- | 'insuranceWalletBalance' Lens
insuranceWalletBalanceL :: Lens_' Insurance (Maybe Double)
insuranceWalletBalanceL f Insurance{..} = (\insuranceWalletBalance -> Insurance { insuranceWalletBalance, ..} ) <$> f insuranceWalletBalance
{-# INLINE insuranceWalletBalanceL #-}



-- * Leaderboard

-- | 'leaderboardName' Lens
leaderboardNameL :: Lens_' Leaderboard (Text)
leaderboardNameL f Leaderboard{..} = (\leaderboardName -> Leaderboard { leaderboardName, ..} ) <$> f leaderboardName
{-# INLINE leaderboardNameL #-}

-- | 'leaderboardIsRealName' Lens
leaderboardIsRealNameL :: Lens_' Leaderboard (Maybe Bool)
leaderboardIsRealNameL f Leaderboard{..} = (\leaderboardIsRealName -> Leaderboard { leaderboardIsRealName, ..} ) <$> f leaderboardIsRealName
{-# INLINE leaderboardIsRealNameL #-}

-- | 'leaderboardIsMe' Lens
leaderboardIsMeL :: Lens_' Leaderboard (Maybe Bool)
leaderboardIsMeL f Leaderboard{..} = (\leaderboardIsMe -> Leaderboard { leaderboardIsMe, ..} ) <$> f leaderboardIsMe
{-# INLINE leaderboardIsMeL #-}

-- | 'leaderboardProfit' Lens
leaderboardProfitL :: Lens_' Leaderboard (Maybe Double)
leaderboardProfitL f Leaderboard{..} = (\leaderboardProfit -> Leaderboard { leaderboardProfit, ..} ) <$> f leaderboardProfit
{-# INLINE leaderboardProfitL #-}



-- * Liquidation

-- | 'liquidationOrderId' Lens
liquidationOrderIdL :: Lens_' Liquidation (Text)
liquidationOrderIdL f Liquidation{..} = (\liquidationOrderId -> Liquidation { liquidationOrderId, ..} ) <$> f liquidationOrderId
{-# INLINE liquidationOrderIdL #-}

-- | 'liquidationSymbol' Lens
liquidationSymbolL :: Lens_' Liquidation (Maybe Text)
liquidationSymbolL f Liquidation{..} = (\liquidationSymbol -> Liquidation { liquidationSymbol, ..} ) <$> f liquidationSymbol
{-# INLINE liquidationSymbolL #-}

-- | 'liquidationSide' Lens
liquidationSideL :: Lens_' Liquidation (Maybe Text)
liquidationSideL f Liquidation{..} = (\liquidationSide -> Liquidation { liquidationSide, ..} ) <$> f liquidationSide
{-# INLINE liquidationSideL #-}

-- | 'liquidationPrice' Lens
liquidationPriceL :: Lens_' Liquidation (Maybe Double)
liquidationPriceL f Liquidation{..} = (\liquidationPrice -> Liquidation { liquidationPrice, ..} ) <$> f liquidationPrice
{-# INLINE liquidationPriceL #-}

-- | 'liquidationLeavesQty' Lens
liquidationLeavesQtyL :: Lens_' Liquidation (Maybe Double)
liquidationLeavesQtyL f Liquidation{..} = (\liquidationLeavesQty -> Liquidation { liquidationLeavesQty, ..} ) <$> f liquidationLeavesQty
{-# INLINE liquidationLeavesQtyL #-}



-- * Margin

-- | 'marginAccount' Lens
marginAccountL :: Lens_' Margin (Double)
marginAccountL f Margin{..} = (\marginAccount -> Margin { marginAccount, ..} ) <$> f marginAccount
{-# INLINE marginAccountL #-}

-- | 'marginCurrency' Lens
marginCurrencyL :: Lens_' Margin (Text)
marginCurrencyL f Margin{..} = (\marginCurrency -> Margin { marginCurrency, ..} ) <$> f marginCurrency
{-# INLINE marginCurrencyL #-}

-- | 'marginRiskLimit' Lens
marginRiskLimitL :: Lens_' Margin (Maybe Double)
marginRiskLimitL f Margin{..} = (\marginRiskLimit -> Margin { marginRiskLimit, ..} ) <$> f marginRiskLimit
{-# INLINE marginRiskLimitL #-}

-- | 'marginPrevState' Lens
marginPrevStateL :: Lens_' Margin (Maybe Text)
marginPrevStateL f Margin{..} = (\marginPrevState -> Margin { marginPrevState, ..} ) <$> f marginPrevState
{-# INLINE marginPrevStateL #-}

-- | 'marginState' Lens
marginStateL :: Lens_' Margin (Maybe Text)
marginStateL f Margin{..} = (\marginState -> Margin { marginState, ..} ) <$> f marginState
{-# INLINE marginStateL #-}

-- | 'marginAction' Lens
marginActionL :: Lens_' Margin (Maybe Text)
marginActionL f Margin{..} = (\marginAction -> Margin { marginAction, ..} ) <$> f marginAction
{-# INLINE marginActionL #-}

-- | 'marginAmount' Lens
marginAmountL :: Lens_' Margin (Maybe Double)
marginAmountL f Margin{..} = (\marginAmount -> Margin { marginAmount, ..} ) <$> f marginAmount
{-# INLINE marginAmountL #-}

-- | 'marginPendingCredit' Lens
marginPendingCreditL :: Lens_' Margin (Maybe Double)
marginPendingCreditL f Margin{..} = (\marginPendingCredit -> Margin { marginPendingCredit, ..} ) <$> f marginPendingCredit
{-# INLINE marginPendingCreditL #-}

-- | 'marginPendingDebit' Lens
marginPendingDebitL :: Lens_' Margin (Maybe Double)
marginPendingDebitL f Margin{..} = (\marginPendingDebit -> Margin { marginPendingDebit, ..} ) <$> f marginPendingDebit
{-# INLINE marginPendingDebitL #-}

-- | 'marginConfirmedDebit' Lens
marginConfirmedDebitL :: Lens_' Margin (Maybe Double)
marginConfirmedDebitL f Margin{..} = (\marginConfirmedDebit -> Margin { marginConfirmedDebit, ..} ) <$> f marginConfirmedDebit
{-# INLINE marginConfirmedDebitL #-}

-- | 'marginPrevRealisedPnl' Lens
marginPrevRealisedPnlL :: Lens_' Margin (Maybe Double)
marginPrevRealisedPnlL f Margin{..} = (\marginPrevRealisedPnl -> Margin { marginPrevRealisedPnl, ..} ) <$> f marginPrevRealisedPnl
{-# INLINE marginPrevRealisedPnlL #-}

-- | 'marginPrevUnrealisedPnl' Lens
marginPrevUnrealisedPnlL :: Lens_' Margin (Maybe Double)
marginPrevUnrealisedPnlL f Margin{..} = (\marginPrevUnrealisedPnl -> Margin { marginPrevUnrealisedPnl, ..} ) <$> f marginPrevUnrealisedPnl
{-# INLINE marginPrevUnrealisedPnlL #-}

-- | 'marginGrossComm' Lens
marginGrossCommL :: Lens_' Margin (Maybe Double)
marginGrossCommL f Margin{..} = (\marginGrossComm -> Margin { marginGrossComm, ..} ) <$> f marginGrossComm
{-# INLINE marginGrossCommL #-}

-- | 'marginGrossOpenCost' Lens
marginGrossOpenCostL :: Lens_' Margin (Maybe Double)
marginGrossOpenCostL f Margin{..} = (\marginGrossOpenCost -> Margin { marginGrossOpenCost, ..} ) <$> f marginGrossOpenCost
{-# INLINE marginGrossOpenCostL #-}

-- | 'marginGrossOpenPremium' Lens
marginGrossOpenPremiumL :: Lens_' Margin (Maybe Double)
marginGrossOpenPremiumL f Margin{..} = (\marginGrossOpenPremium -> Margin { marginGrossOpenPremium, ..} ) <$> f marginGrossOpenPremium
{-# INLINE marginGrossOpenPremiumL #-}

-- | 'marginGrossExecCost' Lens
marginGrossExecCostL :: Lens_' Margin (Maybe Double)
marginGrossExecCostL f Margin{..} = (\marginGrossExecCost -> Margin { marginGrossExecCost, ..} ) <$> f marginGrossExecCost
{-# INLINE marginGrossExecCostL #-}

-- | 'marginGrossMarkValue' Lens
marginGrossMarkValueL :: Lens_' Margin (Maybe Double)
marginGrossMarkValueL f Margin{..} = (\marginGrossMarkValue -> Margin { marginGrossMarkValue, ..} ) <$> f marginGrossMarkValue
{-# INLINE marginGrossMarkValueL #-}

-- | 'marginRiskValue' Lens
marginRiskValueL :: Lens_' Margin (Maybe Double)
marginRiskValueL f Margin{..} = (\marginRiskValue -> Margin { marginRiskValue, ..} ) <$> f marginRiskValue
{-# INLINE marginRiskValueL #-}

-- | 'marginTaxableMargin' Lens
marginTaxableMarginL :: Lens_' Margin (Maybe Double)
marginTaxableMarginL f Margin{..} = (\marginTaxableMargin -> Margin { marginTaxableMargin, ..} ) <$> f marginTaxableMargin
{-# INLINE marginTaxableMarginL #-}

-- | 'marginInitMargin' Lens
marginInitMarginL :: Lens_' Margin (Maybe Double)
marginInitMarginL f Margin{..} = (\marginInitMargin -> Margin { marginInitMargin, ..} ) <$> f marginInitMargin
{-# INLINE marginInitMarginL #-}

-- | 'marginMaintMargin' Lens
marginMaintMarginL :: Lens_' Margin (Maybe Double)
marginMaintMarginL f Margin{..} = (\marginMaintMargin -> Margin { marginMaintMargin, ..} ) <$> f marginMaintMargin
{-# INLINE marginMaintMarginL #-}

-- | 'marginSessionMargin' Lens
marginSessionMarginL :: Lens_' Margin (Maybe Double)
marginSessionMarginL f Margin{..} = (\marginSessionMargin -> Margin { marginSessionMargin, ..} ) <$> f marginSessionMargin
{-# INLINE marginSessionMarginL #-}

-- | 'marginTargetExcessMargin' Lens
marginTargetExcessMarginL :: Lens_' Margin (Maybe Double)
marginTargetExcessMarginL f Margin{..} = (\marginTargetExcessMargin -> Margin { marginTargetExcessMargin, ..} ) <$> f marginTargetExcessMargin
{-# INLINE marginTargetExcessMarginL #-}

-- | 'marginVarMargin' Lens
marginVarMarginL :: Lens_' Margin (Maybe Double)
marginVarMarginL f Margin{..} = (\marginVarMargin -> Margin { marginVarMargin, ..} ) <$> f marginVarMargin
{-# INLINE marginVarMarginL #-}

-- | 'marginRealisedPnl' Lens
marginRealisedPnlL :: Lens_' Margin (Maybe Double)
marginRealisedPnlL f Margin{..} = (\marginRealisedPnl -> Margin { marginRealisedPnl, ..} ) <$> f marginRealisedPnl
{-# INLINE marginRealisedPnlL #-}

-- | 'marginUnrealisedPnl' Lens
marginUnrealisedPnlL :: Lens_' Margin (Maybe Double)
marginUnrealisedPnlL f Margin{..} = (\marginUnrealisedPnl -> Margin { marginUnrealisedPnl, ..} ) <$> f marginUnrealisedPnl
{-# INLINE marginUnrealisedPnlL #-}

-- | 'marginIndicativeTax' Lens
marginIndicativeTaxL :: Lens_' Margin (Maybe Double)
marginIndicativeTaxL f Margin{..} = (\marginIndicativeTax -> Margin { marginIndicativeTax, ..} ) <$> f marginIndicativeTax
{-# INLINE marginIndicativeTaxL #-}

-- | 'marginUnrealisedProfit' Lens
marginUnrealisedProfitL :: Lens_' Margin (Maybe Double)
marginUnrealisedProfitL f Margin{..} = (\marginUnrealisedProfit -> Margin { marginUnrealisedProfit, ..} ) <$> f marginUnrealisedProfit
{-# INLINE marginUnrealisedProfitL #-}

-- | 'marginSyntheticMargin' Lens
marginSyntheticMarginL :: Lens_' Margin (Maybe Double)
marginSyntheticMarginL f Margin{..} = (\marginSyntheticMargin -> Margin { marginSyntheticMargin, ..} ) <$> f marginSyntheticMargin
{-# INLINE marginSyntheticMarginL #-}

-- | 'marginWalletBalance' Lens
marginWalletBalanceL :: Lens_' Margin (Maybe Double)
marginWalletBalanceL f Margin{..} = (\marginWalletBalance -> Margin { marginWalletBalance, ..} ) <$> f marginWalletBalance
{-# INLINE marginWalletBalanceL #-}

-- | 'marginMarginBalance' Lens
marginMarginBalanceL :: Lens_' Margin (Maybe Double)
marginMarginBalanceL f Margin{..} = (\marginMarginBalance -> Margin { marginMarginBalance, ..} ) <$> f marginMarginBalance
{-# INLINE marginMarginBalanceL #-}

-- | 'marginMarginBalancePcnt' Lens
marginMarginBalancePcntL :: Lens_' Margin (Maybe Double)
marginMarginBalancePcntL f Margin{..} = (\marginMarginBalancePcnt -> Margin { marginMarginBalancePcnt, ..} ) <$> f marginMarginBalancePcnt
{-# INLINE marginMarginBalancePcntL #-}

-- | 'marginMarginLeverage' Lens
marginMarginLeverageL :: Lens_' Margin (Maybe Double)
marginMarginLeverageL f Margin{..} = (\marginMarginLeverage -> Margin { marginMarginLeverage, ..} ) <$> f marginMarginLeverage
{-# INLINE marginMarginLeverageL #-}

-- | 'marginMarginUsedPcnt' Lens
marginMarginUsedPcntL :: Lens_' Margin (Maybe Double)
marginMarginUsedPcntL f Margin{..} = (\marginMarginUsedPcnt -> Margin { marginMarginUsedPcnt, ..} ) <$> f marginMarginUsedPcnt
{-# INLINE marginMarginUsedPcntL #-}

-- | 'marginExcessMargin' Lens
marginExcessMarginL :: Lens_' Margin (Maybe Double)
marginExcessMarginL f Margin{..} = (\marginExcessMargin -> Margin { marginExcessMargin, ..} ) <$> f marginExcessMargin
{-# INLINE marginExcessMarginL #-}

-- | 'marginExcessMarginPcnt' Lens
marginExcessMarginPcntL :: Lens_' Margin (Maybe Double)
marginExcessMarginPcntL f Margin{..} = (\marginExcessMarginPcnt -> Margin { marginExcessMarginPcnt, ..} ) <$> f marginExcessMarginPcnt
{-# INLINE marginExcessMarginPcntL #-}

-- | 'marginAvailableMargin' Lens
marginAvailableMarginL :: Lens_' Margin (Maybe Double)
marginAvailableMarginL f Margin{..} = (\marginAvailableMargin -> Margin { marginAvailableMargin, ..} ) <$> f marginAvailableMargin
{-# INLINE marginAvailableMarginL #-}

-- | 'marginWithdrawableMargin' Lens
marginWithdrawableMarginL :: Lens_' Margin (Maybe Double)
marginWithdrawableMarginL f Margin{..} = (\marginWithdrawableMargin -> Margin { marginWithdrawableMargin, ..} ) <$> f marginWithdrawableMargin
{-# INLINE marginWithdrawableMarginL #-}

-- | 'marginTimestamp' Lens
marginTimestampL :: Lens_' Margin (Maybe DateTime)
marginTimestampL f Margin{..} = (\marginTimestamp -> Margin { marginTimestamp, ..} ) <$> f marginTimestamp
{-# INLINE marginTimestampL #-}

-- | 'marginGrossLastValue' Lens
marginGrossLastValueL :: Lens_' Margin (Maybe Double)
marginGrossLastValueL f Margin{..} = (\marginGrossLastValue -> Margin { marginGrossLastValue, ..} ) <$> f marginGrossLastValue
{-# INLINE marginGrossLastValueL #-}

-- | 'marginCommission' Lens
marginCommissionL :: Lens_' Margin (Maybe Double)
marginCommissionL f Margin{..} = (\marginCommission -> Margin { marginCommission, ..} ) <$> f marginCommission
{-# INLINE marginCommissionL #-}



-- * Notification

-- | 'notificationId' Lens
notificationIdL :: Lens_' Notification (Maybe Double)
notificationIdL f Notification{..} = (\notificationId -> Notification { notificationId, ..} ) <$> f notificationId
{-# INLINE notificationIdL #-}

-- | 'notificationDate' Lens
notificationDateL :: Lens_' Notification (DateTime)
notificationDateL f Notification{..} = (\notificationDate -> Notification { notificationDate, ..} ) <$> f notificationDate
{-# INLINE notificationDateL #-}

-- | 'notificationTitle' Lens
notificationTitleL :: Lens_' Notification (Text)
notificationTitleL f Notification{..} = (\notificationTitle -> Notification { notificationTitle, ..} ) <$> f notificationTitle
{-# INLINE notificationTitleL #-}

-- | 'notificationBody' Lens
notificationBodyL :: Lens_' Notification (Text)
notificationBodyL f Notification{..} = (\notificationBody -> Notification { notificationBody, ..} ) <$> f notificationBody
{-# INLINE notificationBodyL #-}

-- | 'notificationTtl' Lens
notificationTtlL :: Lens_' Notification (Double)
notificationTtlL f Notification{..} = (\notificationTtl -> Notification { notificationTtl, ..} ) <$> f notificationTtl
{-# INLINE notificationTtlL #-}

-- | 'notificationType' Lens
notificationTypeL :: Lens_' Notification (Maybe E'Type)
notificationTypeL f Notification{..} = (\notificationType -> Notification { notificationType, ..} ) <$> f notificationType
{-# INLINE notificationTypeL #-}

-- | 'notificationClosable' Lens
notificationClosableL :: Lens_' Notification (Maybe Bool)
notificationClosableL f Notification{..} = (\notificationClosable -> Notification { notificationClosable, ..} ) <$> f notificationClosable
{-# INLINE notificationClosableL #-}

-- | 'notificationPersist' Lens
notificationPersistL :: Lens_' Notification (Maybe Bool)
notificationPersistL f Notification{..} = (\notificationPersist -> Notification { notificationPersist, ..} ) <$> f notificationPersist
{-# INLINE notificationPersistL #-}

-- | 'notificationWaitForVisibility' Lens
notificationWaitForVisibilityL :: Lens_' Notification (Maybe Bool)
notificationWaitForVisibilityL f Notification{..} = (\notificationWaitForVisibility -> Notification { notificationWaitForVisibility, ..} ) <$> f notificationWaitForVisibility
{-# INLINE notificationWaitForVisibilityL #-}

-- | 'notificationSound' Lens
notificationSoundL :: Lens_' Notification (Maybe Text)
notificationSoundL f Notification{..} = (\notificationSound -> Notification { notificationSound, ..} ) <$> f notificationSound
{-# INLINE notificationSoundL #-}



-- * Order

-- | 'orderOrderId' Lens
orderOrderIdL :: Lens_' Order (Text)
orderOrderIdL f Order{..} = (\orderOrderId -> Order { orderOrderId, ..} ) <$> f orderOrderId
{-# INLINE orderOrderIdL #-}

-- | 'orderClOrdId' Lens
orderClOrdIdL :: Lens_' Order (Maybe Text)
orderClOrdIdL f Order{..} = (\orderClOrdId -> Order { orderClOrdId, ..} ) <$> f orderClOrdId
{-# INLINE orderClOrdIdL #-}

-- | 'orderClOrdLinkId' Lens
orderClOrdLinkIdL :: Lens_' Order (Maybe Text)
orderClOrdLinkIdL f Order{..} = (\orderClOrdLinkId -> Order { orderClOrdLinkId, ..} ) <$> f orderClOrdLinkId
{-# INLINE orderClOrdLinkIdL #-}

-- | 'orderAccount' Lens
orderAccountL :: Lens_' Order (Maybe Double)
orderAccountL f Order{..} = (\orderAccount -> Order { orderAccount, ..} ) <$> f orderAccount
{-# INLINE orderAccountL #-}

-- | 'orderSymbol' Lens
orderSymbolL :: Lens_' Order (Maybe Text)
orderSymbolL f Order{..} = (\orderSymbol -> Order { orderSymbol, ..} ) <$> f orderSymbol
{-# INLINE orderSymbolL #-}

-- | 'orderSide' Lens
orderSideL :: Lens_' Order (Maybe Text)
orderSideL f Order{..} = (\orderSide -> Order { orderSide, ..} ) <$> f orderSide
{-# INLINE orderSideL #-}

-- | 'orderSimpleOrderQty' Lens
orderSimpleOrderQtyL :: Lens_' Order (Maybe Double)
orderSimpleOrderQtyL f Order{..} = (\orderSimpleOrderQty -> Order { orderSimpleOrderQty, ..} ) <$> f orderSimpleOrderQty
{-# INLINE orderSimpleOrderQtyL #-}

-- | 'orderOrderQty' Lens
orderOrderQtyL :: Lens_' Order (Maybe Double)
orderOrderQtyL f Order{..} = (\orderOrderQty -> Order { orderOrderQty, ..} ) <$> f orderOrderQty
{-# INLINE orderOrderQtyL #-}

-- | 'orderPrice' Lens
orderPriceL :: Lens_' Order (Maybe Double)
orderPriceL f Order{..} = (\orderPrice -> Order { orderPrice, ..} ) <$> f orderPrice
{-# INLINE orderPriceL #-}

-- | 'orderDisplayQty' Lens
orderDisplayQtyL :: Lens_' Order (Maybe Double)
orderDisplayQtyL f Order{..} = (\orderDisplayQty -> Order { orderDisplayQty, ..} ) <$> f orderDisplayQty
{-# INLINE orderDisplayQtyL #-}

-- | 'orderStopPx' Lens
orderStopPxL :: Lens_' Order (Maybe Double)
orderStopPxL f Order{..} = (\orderStopPx -> Order { orderStopPx, ..} ) <$> f orderStopPx
{-# INLINE orderStopPxL #-}

-- | 'orderPegOffsetValue' Lens
orderPegOffsetValueL :: Lens_' Order (Maybe Double)
orderPegOffsetValueL f Order{..} = (\orderPegOffsetValue -> Order { orderPegOffsetValue, ..} ) <$> f orderPegOffsetValue
{-# INLINE orderPegOffsetValueL #-}

-- | 'orderPegPriceType' Lens
orderPegPriceTypeL :: Lens_' Order (Maybe Text)
orderPegPriceTypeL f Order{..} = (\orderPegPriceType -> Order { orderPegPriceType, ..} ) <$> f orderPegPriceType
{-# INLINE orderPegPriceTypeL #-}

-- | 'orderCurrency' Lens
orderCurrencyL :: Lens_' Order (Maybe Text)
orderCurrencyL f Order{..} = (\orderCurrency -> Order { orderCurrency, ..} ) <$> f orderCurrency
{-# INLINE orderCurrencyL #-}

-- | 'orderSettlCurrency' Lens
orderSettlCurrencyL :: Lens_' Order (Maybe Text)
orderSettlCurrencyL f Order{..} = (\orderSettlCurrency -> Order { orderSettlCurrency, ..} ) <$> f orderSettlCurrency
{-# INLINE orderSettlCurrencyL #-}

-- | 'orderOrdType' Lens
orderOrdTypeL :: Lens_' Order (Maybe Text)
orderOrdTypeL f Order{..} = (\orderOrdType -> Order { orderOrdType, ..} ) <$> f orderOrdType
{-# INLINE orderOrdTypeL #-}

-- | 'orderTimeInForce' Lens
orderTimeInForceL :: Lens_' Order (Maybe Text)
orderTimeInForceL f Order{..} = (\orderTimeInForce -> Order { orderTimeInForce, ..} ) <$> f orderTimeInForce
{-# INLINE orderTimeInForceL #-}

-- | 'orderExecInst' Lens
orderExecInstL :: Lens_' Order (Maybe Text)
orderExecInstL f Order{..} = (\orderExecInst -> Order { orderExecInst, ..} ) <$> f orderExecInst
{-# INLINE orderExecInstL #-}

-- | 'orderContingencyType' Lens
orderContingencyTypeL :: Lens_' Order (Maybe Text)
orderContingencyTypeL f Order{..} = (\orderContingencyType -> Order { orderContingencyType, ..} ) <$> f orderContingencyType
{-# INLINE orderContingencyTypeL #-}

-- | 'orderExDestination' Lens
orderExDestinationL :: Lens_' Order (Maybe Text)
orderExDestinationL f Order{..} = (\orderExDestination -> Order { orderExDestination, ..} ) <$> f orderExDestination
{-# INLINE orderExDestinationL #-}

-- | 'orderOrdStatus' Lens
orderOrdStatusL :: Lens_' Order (Maybe Text)
orderOrdStatusL f Order{..} = (\orderOrdStatus -> Order { orderOrdStatus, ..} ) <$> f orderOrdStatus
{-# INLINE orderOrdStatusL #-}

-- | 'orderTriggered' Lens
orderTriggeredL :: Lens_' Order (Maybe Text)
orderTriggeredL f Order{..} = (\orderTriggered -> Order { orderTriggered, ..} ) <$> f orderTriggered
{-# INLINE orderTriggeredL #-}

-- | 'orderWorkingIndicator' Lens
orderWorkingIndicatorL :: Lens_' Order (Maybe Bool)
orderWorkingIndicatorL f Order{..} = (\orderWorkingIndicator -> Order { orderWorkingIndicator, ..} ) <$> f orderWorkingIndicator
{-# INLINE orderWorkingIndicatorL #-}

-- | 'orderOrdRejReason' Lens
orderOrdRejReasonL :: Lens_' Order (Maybe Text)
orderOrdRejReasonL f Order{..} = (\orderOrdRejReason -> Order { orderOrdRejReason, ..} ) <$> f orderOrdRejReason
{-# INLINE orderOrdRejReasonL #-}

-- | 'orderSimpleLeavesQty' Lens
orderSimpleLeavesQtyL :: Lens_' Order (Maybe Double)
orderSimpleLeavesQtyL f Order{..} = (\orderSimpleLeavesQty -> Order { orderSimpleLeavesQty, ..} ) <$> f orderSimpleLeavesQty
{-# INLINE orderSimpleLeavesQtyL #-}

-- | 'orderLeavesQty' Lens
orderLeavesQtyL :: Lens_' Order (Maybe Double)
orderLeavesQtyL f Order{..} = (\orderLeavesQty -> Order { orderLeavesQty, ..} ) <$> f orderLeavesQty
{-# INLINE orderLeavesQtyL #-}

-- | 'orderSimpleCumQty' Lens
orderSimpleCumQtyL :: Lens_' Order (Maybe Double)
orderSimpleCumQtyL f Order{..} = (\orderSimpleCumQty -> Order { orderSimpleCumQty, ..} ) <$> f orderSimpleCumQty
{-# INLINE orderSimpleCumQtyL #-}

-- | 'orderCumQty' Lens
orderCumQtyL :: Lens_' Order (Maybe Double)
orderCumQtyL f Order{..} = (\orderCumQty -> Order { orderCumQty, ..} ) <$> f orderCumQty
{-# INLINE orderCumQtyL #-}

-- | 'orderAvgPx' Lens
orderAvgPxL :: Lens_' Order (Maybe Double)
orderAvgPxL f Order{..} = (\orderAvgPx -> Order { orderAvgPx, ..} ) <$> f orderAvgPx
{-# INLINE orderAvgPxL #-}

-- | 'orderMultiLegReportingType' Lens
orderMultiLegReportingTypeL :: Lens_' Order (Maybe Text)
orderMultiLegReportingTypeL f Order{..} = (\orderMultiLegReportingType -> Order { orderMultiLegReportingType, ..} ) <$> f orderMultiLegReportingType
{-# INLINE orderMultiLegReportingTypeL #-}

-- | 'orderText' Lens
orderTextL :: Lens_' Order (Maybe Text)
orderTextL f Order{..} = (\orderText -> Order { orderText, ..} ) <$> f orderText
{-# INLINE orderTextL #-}

-- | 'orderTransactTime' Lens
orderTransactTimeL :: Lens_' Order (Maybe DateTime)
orderTransactTimeL f Order{..} = (\orderTransactTime -> Order { orderTransactTime, ..} ) <$> f orderTransactTime
{-# INLINE orderTransactTimeL #-}

-- | 'orderTimestamp' Lens
orderTimestampL :: Lens_' Order (Maybe DateTime)
orderTimestampL f Order{..} = (\orderTimestamp -> Order { orderTimestamp, ..} ) <$> f orderTimestamp
{-# INLINE orderTimestampL #-}



-- * OrderBook

-- | 'orderBookSymbol' Lens
orderBookSymbolL :: Lens_' OrderBook (Text)
orderBookSymbolL f OrderBook{..} = (\orderBookSymbol -> OrderBook { orderBookSymbol, ..} ) <$> f orderBookSymbol
{-# INLINE orderBookSymbolL #-}

-- | 'orderBookLevel' Lens
orderBookLevelL :: Lens_' OrderBook (Double)
orderBookLevelL f OrderBook{..} = (\orderBookLevel -> OrderBook { orderBookLevel, ..} ) <$> f orderBookLevel
{-# INLINE orderBookLevelL #-}

-- | 'orderBookBidSize' Lens
orderBookBidSizeL :: Lens_' OrderBook (Maybe Double)
orderBookBidSizeL f OrderBook{..} = (\orderBookBidSize -> OrderBook { orderBookBidSize, ..} ) <$> f orderBookBidSize
{-# INLINE orderBookBidSizeL #-}

-- | 'orderBookBidPrice' Lens
orderBookBidPriceL :: Lens_' OrderBook (Maybe Double)
orderBookBidPriceL f OrderBook{..} = (\orderBookBidPrice -> OrderBook { orderBookBidPrice, ..} ) <$> f orderBookBidPrice
{-# INLINE orderBookBidPriceL #-}

-- | 'orderBookAskPrice' Lens
orderBookAskPriceL :: Lens_' OrderBook (Maybe Double)
orderBookAskPriceL f OrderBook{..} = (\orderBookAskPrice -> OrderBook { orderBookAskPrice, ..} ) <$> f orderBookAskPrice
{-# INLINE orderBookAskPriceL #-}

-- | 'orderBookAskSize' Lens
orderBookAskSizeL :: Lens_' OrderBook (Maybe Double)
orderBookAskSizeL f OrderBook{..} = (\orderBookAskSize -> OrderBook { orderBookAskSize, ..} ) <$> f orderBookAskSize
{-# INLINE orderBookAskSizeL #-}

-- | 'orderBookTimestamp' Lens
orderBookTimestampL :: Lens_' OrderBook (Maybe DateTime)
orderBookTimestampL f OrderBook{..} = (\orderBookTimestamp -> OrderBook { orderBookTimestamp, ..} ) <$> f orderBookTimestamp
{-# INLINE orderBookTimestampL #-}



-- * OrderBookL2

-- | 'orderBookL2Symbol' Lens
orderBookL2SymbolL :: Lens_' OrderBookL2 (Text)
orderBookL2SymbolL f OrderBookL2{..} = (\orderBookL2Symbol -> OrderBookL2 { orderBookL2Symbol, ..} ) <$> f orderBookL2Symbol
{-# INLINE orderBookL2SymbolL #-}

-- | 'orderBookL2Id' Lens
orderBookL2IdL :: Lens_' OrderBookL2 (Double)
orderBookL2IdL f OrderBookL2{..} = (\orderBookL2Id -> OrderBookL2 { orderBookL2Id, ..} ) <$> f orderBookL2Id
{-# INLINE orderBookL2IdL #-}

-- | 'orderBookL2Side' Lens
orderBookL2SideL :: Lens_' OrderBookL2 (Text)
orderBookL2SideL f OrderBookL2{..} = (\orderBookL2Side -> OrderBookL2 { orderBookL2Side, ..} ) <$> f orderBookL2Side
{-# INLINE orderBookL2SideL #-}

-- | 'orderBookL2Size' Lens
orderBookL2SizeL :: Lens_' OrderBookL2 (Maybe Double)
orderBookL2SizeL f OrderBookL2{..} = (\orderBookL2Size -> OrderBookL2 { orderBookL2Size, ..} ) <$> f orderBookL2Size
{-# INLINE orderBookL2SizeL #-}

-- | 'orderBookL2Price' Lens
orderBookL2PriceL :: Lens_' OrderBookL2 (Maybe Double)
orderBookL2PriceL f OrderBookL2{..} = (\orderBookL2Price -> OrderBookL2 { orderBookL2Price, ..} ) <$> f orderBookL2Price
{-# INLINE orderBookL2PriceL #-}



-- * Position

-- | 'positionAccount' Lens
positionAccountL :: Lens_' Position (Double)
positionAccountL f Position{..} = (\positionAccount -> Position { positionAccount, ..} ) <$> f positionAccount
{-# INLINE positionAccountL #-}

-- | 'positionSymbol' Lens
positionSymbolL :: Lens_' Position (Text)
positionSymbolL f Position{..} = (\positionSymbol -> Position { positionSymbol, ..} ) <$> f positionSymbol
{-# INLINE positionSymbolL #-}

-- | 'positionCurrency' Lens
positionCurrencyL :: Lens_' Position (Text)
positionCurrencyL f Position{..} = (\positionCurrency -> Position { positionCurrency, ..} ) <$> f positionCurrency
{-# INLINE positionCurrencyL #-}

-- | 'positionUnderlying' Lens
positionUnderlyingL :: Lens_' Position (Maybe Text)
positionUnderlyingL f Position{..} = (\positionUnderlying -> Position { positionUnderlying, ..} ) <$> f positionUnderlying
{-# INLINE positionUnderlyingL #-}

-- | 'positionQuoteCurrency' Lens
positionQuoteCurrencyL :: Lens_' Position (Maybe Text)
positionQuoteCurrencyL f Position{..} = (\positionQuoteCurrency -> Position { positionQuoteCurrency, ..} ) <$> f positionQuoteCurrency
{-# INLINE positionQuoteCurrencyL #-}

-- | 'positionCommission' Lens
positionCommissionL :: Lens_' Position (Maybe Double)
positionCommissionL f Position{..} = (\positionCommission -> Position { positionCommission, ..} ) <$> f positionCommission
{-# INLINE positionCommissionL #-}

-- | 'positionInitMarginReq' Lens
positionInitMarginReqL :: Lens_' Position (Maybe Double)
positionInitMarginReqL f Position{..} = (\positionInitMarginReq -> Position { positionInitMarginReq, ..} ) <$> f positionInitMarginReq
{-# INLINE positionInitMarginReqL #-}

-- | 'positionMaintMarginReq' Lens
positionMaintMarginReqL :: Lens_' Position (Maybe Double)
positionMaintMarginReqL f Position{..} = (\positionMaintMarginReq -> Position { positionMaintMarginReq, ..} ) <$> f positionMaintMarginReq
{-# INLINE positionMaintMarginReqL #-}

-- | 'positionRiskLimit' Lens
positionRiskLimitL :: Lens_' Position (Maybe Double)
positionRiskLimitL f Position{..} = (\positionRiskLimit -> Position { positionRiskLimit, ..} ) <$> f positionRiskLimit
{-# INLINE positionRiskLimitL #-}

-- | 'positionLeverage' Lens
positionLeverageL :: Lens_' Position (Maybe Double)
positionLeverageL f Position{..} = (\positionLeverage -> Position { positionLeverage, ..} ) <$> f positionLeverage
{-# INLINE positionLeverageL #-}

-- | 'positionCrossMargin' Lens
positionCrossMarginL :: Lens_' Position (Maybe Bool)
positionCrossMarginL f Position{..} = (\positionCrossMargin -> Position { positionCrossMargin, ..} ) <$> f positionCrossMargin
{-# INLINE positionCrossMarginL #-}

-- | 'positionDeleveragePercentile' Lens
positionDeleveragePercentileL :: Lens_' Position (Maybe Double)
positionDeleveragePercentileL f Position{..} = (\positionDeleveragePercentile -> Position { positionDeleveragePercentile, ..} ) <$> f positionDeleveragePercentile
{-# INLINE positionDeleveragePercentileL #-}

-- | 'positionRebalancedPnl' Lens
positionRebalancedPnlL :: Lens_' Position (Maybe Double)
positionRebalancedPnlL f Position{..} = (\positionRebalancedPnl -> Position { positionRebalancedPnl, ..} ) <$> f positionRebalancedPnl
{-# INLINE positionRebalancedPnlL #-}

-- | 'positionPrevRealisedPnl' Lens
positionPrevRealisedPnlL :: Lens_' Position (Maybe Double)
positionPrevRealisedPnlL f Position{..} = (\positionPrevRealisedPnl -> Position { positionPrevRealisedPnl, ..} ) <$> f positionPrevRealisedPnl
{-# INLINE positionPrevRealisedPnlL #-}

-- | 'positionPrevUnrealisedPnl' Lens
positionPrevUnrealisedPnlL :: Lens_' Position (Maybe Double)
positionPrevUnrealisedPnlL f Position{..} = (\positionPrevUnrealisedPnl -> Position { positionPrevUnrealisedPnl, ..} ) <$> f positionPrevUnrealisedPnl
{-# INLINE positionPrevUnrealisedPnlL #-}

-- | 'positionPrevClosePrice' Lens
positionPrevClosePriceL :: Lens_' Position (Maybe Double)
positionPrevClosePriceL f Position{..} = (\positionPrevClosePrice -> Position { positionPrevClosePrice, ..} ) <$> f positionPrevClosePrice
{-# INLINE positionPrevClosePriceL #-}

-- | 'positionOpeningTimestamp' Lens
positionOpeningTimestampL :: Lens_' Position (Maybe DateTime)
positionOpeningTimestampL f Position{..} = (\positionOpeningTimestamp -> Position { positionOpeningTimestamp, ..} ) <$> f positionOpeningTimestamp
{-# INLINE positionOpeningTimestampL #-}

-- | 'positionOpeningQty' Lens
positionOpeningQtyL :: Lens_' Position (Maybe Double)
positionOpeningQtyL f Position{..} = (\positionOpeningQty -> Position { positionOpeningQty, ..} ) <$> f positionOpeningQty
{-# INLINE positionOpeningQtyL #-}

-- | 'positionOpeningCost' Lens
positionOpeningCostL :: Lens_' Position (Maybe Double)
positionOpeningCostL f Position{..} = (\positionOpeningCost -> Position { positionOpeningCost, ..} ) <$> f positionOpeningCost
{-# INLINE positionOpeningCostL #-}

-- | 'positionOpeningComm' Lens
positionOpeningCommL :: Lens_' Position (Maybe Double)
positionOpeningCommL f Position{..} = (\positionOpeningComm -> Position { positionOpeningComm, ..} ) <$> f positionOpeningComm
{-# INLINE positionOpeningCommL #-}

-- | 'positionOpenOrderBuyQty' Lens
positionOpenOrderBuyQtyL :: Lens_' Position (Maybe Double)
positionOpenOrderBuyQtyL f Position{..} = (\positionOpenOrderBuyQty -> Position { positionOpenOrderBuyQty, ..} ) <$> f positionOpenOrderBuyQty
{-# INLINE positionOpenOrderBuyQtyL #-}

-- | 'positionOpenOrderBuyCost' Lens
positionOpenOrderBuyCostL :: Lens_' Position (Maybe Double)
positionOpenOrderBuyCostL f Position{..} = (\positionOpenOrderBuyCost -> Position { positionOpenOrderBuyCost, ..} ) <$> f positionOpenOrderBuyCost
{-# INLINE positionOpenOrderBuyCostL #-}

-- | 'positionOpenOrderBuyPremium' Lens
positionOpenOrderBuyPremiumL :: Lens_' Position (Maybe Double)
positionOpenOrderBuyPremiumL f Position{..} = (\positionOpenOrderBuyPremium -> Position { positionOpenOrderBuyPremium, ..} ) <$> f positionOpenOrderBuyPremium
{-# INLINE positionOpenOrderBuyPremiumL #-}

-- | 'positionOpenOrderSellQty' Lens
positionOpenOrderSellQtyL :: Lens_' Position (Maybe Double)
positionOpenOrderSellQtyL f Position{..} = (\positionOpenOrderSellQty -> Position { positionOpenOrderSellQty, ..} ) <$> f positionOpenOrderSellQty
{-# INLINE positionOpenOrderSellQtyL #-}

-- | 'positionOpenOrderSellCost' Lens
positionOpenOrderSellCostL :: Lens_' Position (Maybe Double)
positionOpenOrderSellCostL f Position{..} = (\positionOpenOrderSellCost -> Position { positionOpenOrderSellCost, ..} ) <$> f positionOpenOrderSellCost
{-# INLINE positionOpenOrderSellCostL #-}

-- | 'positionOpenOrderSellPremium' Lens
positionOpenOrderSellPremiumL :: Lens_' Position (Maybe Double)
positionOpenOrderSellPremiumL f Position{..} = (\positionOpenOrderSellPremium -> Position { positionOpenOrderSellPremium, ..} ) <$> f positionOpenOrderSellPremium
{-# INLINE positionOpenOrderSellPremiumL #-}

-- | 'positionExecBuyQty' Lens
positionExecBuyQtyL :: Lens_' Position (Maybe Double)
positionExecBuyQtyL f Position{..} = (\positionExecBuyQty -> Position { positionExecBuyQty, ..} ) <$> f positionExecBuyQty
{-# INLINE positionExecBuyQtyL #-}

-- | 'positionExecBuyCost' Lens
positionExecBuyCostL :: Lens_' Position (Maybe Double)
positionExecBuyCostL f Position{..} = (\positionExecBuyCost -> Position { positionExecBuyCost, ..} ) <$> f positionExecBuyCost
{-# INLINE positionExecBuyCostL #-}

-- | 'positionExecSellQty' Lens
positionExecSellQtyL :: Lens_' Position (Maybe Double)
positionExecSellQtyL f Position{..} = (\positionExecSellQty -> Position { positionExecSellQty, ..} ) <$> f positionExecSellQty
{-# INLINE positionExecSellQtyL #-}

-- | 'positionExecSellCost' Lens
positionExecSellCostL :: Lens_' Position (Maybe Double)
positionExecSellCostL f Position{..} = (\positionExecSellCost -> Position { positionExecSellCost, ..} ) <$> f positionExecSellCost
{-# INLINE positionExecSellCostL #-}

-- | 'positionExecQty' Lens
positionExecQtyL :: Lens_' Position (Maybe Double)
positionExecQtyL f Position{..} = (\positionExecQty -> Position { positionExecQty, ..} ) <$> f positionExecQty
{-# INLINE positionExecQtyL #-}

-- | 'positionExecCost' Lens
positionExecCostL :: Lens_' Position (Maybe Double)
positionExecCostL f Position{..} = (\positionExecCost -> Position { positionExecCost, ..} ) <$> f positionExecCost
{-# INLINE positionExecCostL #-}

-- | 'positionExecComm' Lens
positionExecCommL :: Lens_' Position (Maybe Double)
positionExecCommL f Position{..} = (\positionExecComm -> Position { positionExecComm, ..} ) <$> f positionExecComm
{-# INLINE positionExecCommL #-}

-- | 'positionCurrentTimestamp' Lens
positionCurrentTimestampL :: Lens_' Position (Maybe DateTime)
positionCurrentTimestampL f Position{..} = (\positionCurrentTimestamp -> Position { positionCurrentTimestamp, ..} ) <$> f positionCurrentTimestamp
{-# INLINE positionCurrentTimestampL #-}

-- | 'positionCurrentQty' Lens
positionCurrentQtyL :: Lens_' Position (Maybe Double)
positionCurrentQtyL f Position{..} = (\positionCurrentQty -> Position { positionCurrentQty, ..} ) <$> f positionCurrentQty
{-# INLINE positionCurrentQtyL #-}

-- | 'positionCurrentCost' Lens
positionCurrentCostL :: Lens_' Position (Maybe Double)
positionCurrentCostL f Position{..} = (\positionCurrentCost -> Position { positionCurrentCost, ..} ) <$> f positionCurrentCost
{-# INLINE positionCurrentCostL #-}

-- | 'positionCurrentComm' Lens
positionCurrentCommL :: Lens_' Position (Maybe Double)
positionCurrentCommL f Position{..} = (\positionCurrentComm -> Position { positionCurrentComm, ..} ) <$> f positionCurrentComm
{-# INLINE positionCurrentCommL #-}

-- | 'positionRealisedCost' Lens
positionRealisedCostL :: Lens_' Position (Maybe Double)
positionRealisedCostL f Position{..} = (\positionRealisedCost -> Position { positionRealisedCost, ..} ) <$> f positionRealisedCost
{-# INLINE positionRealisedCostL #-}

-- | 'positionUnrealisedCost' Lens
positionUnrealisedCostL :: Lens_' Position (Maybe Double)
positionUnrealisedCostL f Position{..} = (\positionUnrealisedCost -> Position { positionUnrealisedCost, ..} ) <$> f positionUnrealisedCost
{-# INLINE positionUnrealisedCostL #-}

-- | 'positionGrossOpenCost' Lens
positionGrossOpenCostL :: Lens_' Position (Maybe Double)
positionGrossOpenCostL f Position{..} = (\positionGrossOpenCost -> Position { positionGrossOpenCost, ..} ) <$> f positionGrossOpenCost
{-# INLINE positionGrossOpenCostL #-}

-- | 'positionGrossOpenPremium' Lens
positionGrossOpenPremiumL :: Lens_' Position (Maybe Double)
positionGrossOpenPremiumL f Position{..} = (\positionGrossOpenPremium -> Position { positionGrossOpenPremium, ..} ) <$> f positionGrossOpenPremium
{-# INLINE positionGrossOpenPremiumL #-}

-- | 'positionGrossExecCost' Lens
positionGrossExecCostL :: Lens_' Position (Maybe Double)
positionGrossExecCostL f Position{..} = (\positionGrossExecCost -> Position { positionGrossExecCost, ..} ) <$> f positionGrossExecCost
{-# INLINE positionGrossExecCostL #-}

-- | 'positionIsOpen' Lens
positionIsOpenL :: Lens_' Position (Maybe Bool)
positionIsOpenL f Position{..} = (\positionIsOpen -> Position { positionIsOpen, ..} ) <$> f positionIsOpen
{-# INLINE positionIsOpenL #-}

-- | 'positionMarkPrice' Lens
positionMarkPriceL :: Lens_' Position (Maybe Double)
positionMarkPriceL f Position{..} = (\positionMarkPrice -> Position { positionMarkPrice, ..} ) <$> f positionMarkPrice
{-# INLINE positionMarkPriceL #-}

-- | 'positionMarkValue' Lens
positionMarkValueL :: Lens_' Position (Maybe Double)
positionMarkValueL f Position{..} = (\positionMarkValue -> Position { positionMarkValue, ..} ) <$> f positionMarkValue
{-# INLINE positionMarkValueL #-}

-- | 'positionRiskValue' Lens
positionRiskValueL :: Lens_' Position (Maybe Double)
positionRiskValueL f Position{..} = (\positionRiskValue -> Position { positionRiskValue, ..} ) <$> f positionRiskValue
{-# INLINE positionRiskValueL #-}

-- | 'positionHomeNotional' Lens
positionHomeNotionalL :: Lens_' Position (Maybe Double)
positionHomeNotionalL f Position{..} = (\positionHomeNotional -> Position { positionHomeNotional, ..} ) <$> f positionHomeNotional
{-# INLINE positionHomeNotionalL #-}

-- | 'positionForeignNotional' Lens
positionForeignNotionalL :: Lens_' Position (Maybe Double)
positionForeignNotionalL f Position{..} = (\positionForeignNotional -> Position { positionForeignNotional, ..} ) <$> f positionForeignNotional
{-# INLINE positionForeignNotionalL #-}

-- | 'positionPosState' Lens
positionPosStateL :: Lens_' Position (Maybe Text)
positionPosStateL f Position{..} = (\positionPosState -> Position { positionPosState, ..} ) <$> f positionPosState
{-# INLINE positionPosStateL #-}

-- | 'positionPosCost' Lens
positionPosCostL :: Lens_' Position (Maybe Double)
positionPosCostL f Position{..} = (\positionPosCost -> Position { positionPosCost, ..} ) <$> f positionPosCost
{-# INLINE positionPosCostL #-}

-- | 'positionPosCost2' Lens
positionPosCost2L :: Lens_' Position (Maybe Double)
positionPosCost2L f Position{..} = (\positionPosCost2 -> Position { positionPosCost2, ..} ) <$> f positionPosCost2
{-# INLINE positionPosCost2L #-}

-- | 'positionPosCross' Lens
positionPosCrossL :: Lens_' Position (Maybe Double)
positionPosCrossL f Position{..} = (\positionPosCross -> Position { positionPosCross, ..} ) <$> f positionPosCross
{-# INLINE positionPosCrossL #-}

-- | 'positionPosInit' Lens
positionPosInitL :: Lens_' Position (Maybe Double)
positionPosInitL f Position{..} = (\positionPosInit -> Position { positionPosInit, ..} ) <$> f positionPosInit
{-# INLINE positionPosInitL #-}

-- | 'positionPosComm' Lens
positionPosCommL :: Lens_' Position (Maybe Double)
positionPosCommL f Position{..} = (\positionPosComm -> Position { positionPosComm, ..} ) <$> f positionPosComm
{-# INLINE positionPosCommL #-}

-- | 'positionPosLoss' Lens
positionPosLossL :: Lens_' Position (Maybe Double)
positionPosLossL f Position{..} = (\positionPosLoss -> Position { positionPosLoss, ..} ) <$> f positionPosLoss
{-# INLINE positionPosLossL #-}

-- | 'positionPosMargin' Lens
positionPosMarginL :: Lens_' Position (Maybe Double)
positionPosMarginL f Position{..} = (\positionPosMargin -> Position { positionPosMargin, ..} ) <$> f positionPosMargin
{-# INLINE positionPosMarginL #-}

-- | 'positionPosMaint' Lens
positionPosMaintL :: Lens_' Position (Maybe Double)
positionPosMaintL f Position{..} = (\positionPosMaint -> Position { positionPosMaint, ..} ) <$> f positionPosMaint
{-# INLINE positionPosMaintL #-}

-- | 'positionPosAllowance' Lens
positionPosAllowanceL :: Lens_' Position (Maybe Double)
positionPosAllowanceL f Position{..} = (\positionPosAllowance -> Position { positionPosAllowance, ..} ) <$> f positionPosAllowance
{-# INLINE positionPosAllowanceL #-}

-- | 'positionTaxableMargin' Lens
positionTaxableMarginL :: Lens_' Position (Maybe Double)
positionTaxableMarginL f Position{..} = (\positionTaxableMargin -> Position { positionTaxableMargin, ..} ) <$> f positionTaxableMargin
{-# INLINE positionTaxableMarginL #-}

-- | 'positionInitMargin' Lens
positionInitMarginL :: Lens_' Position (Maybe Double)
positionInitMarginL f Position{..} = (\positionInitMargin -> Position { positionInitMargin, ..} ) <$> f positionInitMargin
{-# INLINE positionInitMarginL #-}

-- | 'positionMaintMargin' Lens
positionMaintMarginL :: Lens_' Position (Maybe Double)
positionMaintMarginL f Position{..} = (\positionMaintMargin -> Position { positionMaintMargin, ..} ) <$> f positionMaintMargin
{-# INLINE positionMaintMarginL #-}

-- | 'positionSessionMargin' Lens
positionSessionMarginL :: Lens_' Position (Maybe Double)
positionSessionMarginL f Position{..} = (\positionSessionMargin -> Position { positionSessionMargin, ..} ) <$> f positionSessionMargin
{-# INLINE positionSessionMarginL #-}

-- | 'positionTargetExcessMargin' Lens
positionTargetExcessMarginL :: Lens_' Position (Maybe Double)
positionTargetExcessMarginL f Position{..} = (\positionTargetExcessMargin -> Position { positionTargetExcessMargin, ..} ) <$> f positionTargetExcessMargin
{-# INLINE positionTargetExcessMarginL #-}

-- | 'positionVarMargin' Lens
positionVarMarginL :: Lens_' Position (Maybe Double)
positionVarMarginL f Position{..} = (\positionVarMargin -> Position { positionVarMargin, ..} ) <$> f positionVarMargin
{-# INLINE positionVarMarginL #-}

-- | 'positionRealisedGrossPnl' Lens
positionRealisedGrossPnlL :: Lens_' Position (Maybe Double)
positionRealisedGrossPnlL f Position{..} = (\positionRealisedGrossPnl -> Position { positionRealisedGrossPnl, ..} ) <$> f positionRealisedGrossPnl
{-# INLINE positionRealisedGrossPnlL #-}

-- | 'positionRealisedTax' Lens
positionRealisedTaxL :: Lens_' Position (Maybe Double)
positionRealisedTaxL f Position{..} = (\positionRealisedTax -> Position { positionRealisedTax, ..} ) <$> f positionRealisedTax
{-# INLINE positionRealisedTaxL #-}

-- | 'positionRealisedPnl' Lens
positionRealisedPnlL :: Lens_' Position (Maybe Double)
positionRealisedPnlL f Position{..} = (\positionRealisedPnl -> Position { positionRealisedPnl, ..} ) <$> f positionRealisedPnl
{-# INLINE positionRealisedPnlL #-}

-- | 'positionUnrealisedGrossPnl' Lens
positionUnrealisedGrossPnlL :: Lens_' Position (Maybe Double)
positionUnrealisedGrossPnlL f Position{..} = (\positionUnrealisedGrossPnl -> Position { positionUnrealisedGrossPnl, ..} ) <$> f positionUnrealisedGrossPnl
{-# INLINE positionUnrealisedGrossPnlL #-}

-- | 'positionLongBankrupt' Lens
positionLongBankruptL :: Lens_' Position (Maybe Double)
positionLongBankruptL f Position{..} = (\positionLongBankrupt -> Position { positionLongBankrupt, ..} ) <$> f positionLongBankrupt
{-# INLINE positionLongBankruptL #-}

-- | 'positionShortBankrupt' Lens
positionShortBankruptL :: Lens_' Position (Maybe Double)
positionShortBankruptL f Position{..} = (\positionShortBankrupt -> Position { positionShortBankrupt, ..} ) <$> f positionShortBankrupt
{-# INLINE positionShortBankruptL #-}

-- | 'positionTaxBase' Lens
positionTaxBaseL :: Lens_' Position (Maybe Double)
positionTaxBaseL f Position{..} = (\positionTaxBase -> Position { positionTaxBase, ..} ) <$> f positionTaxBase
{-# INLINE positionTaxBaseL #-}

-- | 'positionIndicativeTaxRate' Lens
positionIndicativeTaxRateL :: Lens_' Position (Maybe Double)
positionIndicativeTaxRateL f Position{..} = (\positionIndicativeTaxRate -> Position { positionIndicativeTaxRate, ..} ) <$> f positionIndicativeTaxRate
{-# INLINE positionIndicativeTaxRateL #-}

-- | 'positionIndicativeTax' Lens
positionIndicativeTaxL :: Lens_' Position (Maybe Double)
positionIndicativeTaxL f Position{..} = (\positionIndicativeTax -> Position { positionIndicativeTax, ..} ) <$> f positionIndicativeTax
{-# INLINE positionIndicativeTaxL #-}

-- | 'positionUnrealisedTax' Lens
positionUnrealisedTaxL :: Lens_' Position (Maybe Double)
positionUnrealisedTaxL f Position{..} = (\positionUnrealisedTax -> Position { positionUnrealisedTax, ..} ) <$> f positionUnrealisedTax
{-# INLINE positionUnrealisedTaxL #-}

-- | 'positionUnrealisedPnl' Lens
positionUnrealisedPnlL :: Lens_' Position (Maybe Double)
positionUnrealisedPnlL f Position{..} = (\positionUnrealisedPnl -> Position { positionUnrealisedPnl, ..} ) <$> f positionUnrealisedPnl
{-# INLINE positionUnrealisedPnlL #-}

-- | 'positionUnrealisedPnlPcnt' Lens
positionUnrealisedPnlPcntL :: Lens_' Position (Maybe Double)
positionUnrealisedPnlPcntL f Position{..} = (\positionUnrealisedPnlPcnt -> Position { positionUnrealisedPnlPcnt, ..} ) <$> f positionUnrealisedPnlPcnt
{-# INLINE positionUnrealisedPnlPcntL #-}

-- | 'positionUnrealisedRoePcnt' Lens
positionUnrealisedRoePcntL :: Lens_' Position (Maybe Double)
positionUnrealisedRoePcntL f Position{..} = (\positionUnrealisedRoePcnt -> Position { positionUnrealisedRoePcnt, ..} ) <$> f positionUnrealisedRoePcnt
{-# INLINE positionUnrealisedRoePcntL #-}

-- | 'positionSimpleQty' Lens
positionSimpleQtyL :: Lens_' Position (Maybe Double)
positionSimpleQtyL f Position{..} = (\positionSimpleQty -> Position { positionSimpleQty, ..} ) <$> f positionSimpleQty
{-# INLINE positionSimpleQtyL #-}

-- | 'positionSimpleCost' Lens
positionSimpleCostL :: Lens_' Position (Maybe Double)
positionSimpleCostL f Position{..} = (\positionSimpleCost -> Position { positionSimpleCost, ..} ) <$> f positionSimpleCost
{-# INLINE positionSimpleCostL #-}

-- | 'positionSimpleValue' Lens
positionSimpleValueL :: Lens_' Position (Maybe Double)
positionSimpleValueL f Position{..} = (\positionSimpleValue -> Position { positionSimpleValue, ..} ) <$> f positionSimpleValue
{-# INLINE positionSimpleValueL #-}

-- | 'positionSimplePnl' Lens
positionSimplePnlL :: Lens_' Position (Maybe Double)
positionSimplePnlL f Position{..} = (\positionSimplePnl -> Position { positionSimplePnl, ..} ) <$> f positionSimplePnl
{-# INLINE positionSimplePnlL #-}

-- | 'positionSimplePnlPcnt' Lens
positionSimplePnlPcntL :: Lens_' Position (Maybe Double)
positionSimplePnlPcntL f Position{..} = (\positionSimplePnlPcnt -> Position { positionSimplePnlPcnt, ..} ) <$> f positionSimplePnlPcnt
{-# INLINE positionSimplePnlPcntL #-}

-- | 'positionAvgCostPrice' Lens
positionAvgCostPriceL :: Lens_' Position (Maybe Double)
positionAvgCostPriceL f Position{..} = (\positionAvgCostPrice -> Position { positionAvgCostPrice, ..} ) <$> f positionAvgCostPrice
{-# INLINE positionAvgCostPriceL #-}

-- | 'positionAvgEntryPrice' Lens
positionAvgEntryPriceL :: Lens_' Position (Maybe Double)
positionAvgEntryPriceL f Position{..} = (\positionAvgEntryPrice -> Position { positionAvgEntryPrice, ..} ) <$> f positionAvgEntryPrice
{-# INLINE positionAvgEntryPriceL #-}

-- | 'positionBreakEvenPrice' Lens
positionBreakEvenPriceL :: Lens_' Position (Maybe Double)
positionBreakEvenPriceL f Position{..} = (\positionBreakEvenPrice -> Position { positionBreakEvenPrice, ..} ) <$> f positionBreakEvenPrice
{-# INLINE positionBreakEvenPriceL #-}

-- | 'positionMarginCallPrice' Lens
positionMarginCallPriceL :: Lens_' Position (Maybe Double)
positionMarginCallPriceL f Position{..} = (\positionMarginCallPrice -> Position { positionMarginCallPrice, ..} ) <$> f positionMarginCallPrice
{-# INLINE positionMarginCallPriceL #-}

-- | 'positionLiquidationPrice' Lens
positionLiquidationPriceL :: Lens_' Position (Maybe Double)
positionLiquidationPriceL f Position{..} = (\positionLiquidationPrice -> Position { positionLiquidationPrice, ..} ) <$> f positionLiquidationPrice
{-# INLINE positionLiquidationPriceL #-}

-- | 'positionBankruptPrice' Lens
positionBankruptPriceL :: Lens_' Position (Maybe Double)
positionBankruptPriceL f Position{..} = (\positionBankruptPrice -> Position { positionBankruptPrice, ..} ) <$> f positionBankruptPrice
{-# INLINE positionBankruptPriceL #-}

-- | 'positionTimestamp' Lens
positionTimestampL :: Lens_' Position (Maybe DateTime)
positionTimestampL f Position{..} = (\positionTimestamp -> Position { positionTimestamp, ..} ) <$> f positionTimestamp
{-# INLINE positionTimestampL #-}

-- | 'positionLastPrice' Lens
positionLastPriceL :: Lens_' Position (Maybe Double)
positionLastPriceL f Position{..} = (\positionLastPrice -> Position { positionLastPrice, ..} ) <$> f positionLastPrice
{-# INLINE positionLastPriceL #-}

-- | 'positionLastValue' Lens
positionLastValueL :: Lens_' Position (Maybe Double)
positionLastValueL f Position{..} = (\positionLastValue -> Position { positionLastValue, ..} ) <$> f positionLastValue
{-# INLINE positionLastValueL #-}



-- * Quote

-- | 'quoteTimestamp' Lens
quoteTimestampL :: Lens_' Quote (DateTime)
quoteTimestampL f Quote{..} = (\quoteTimestamp -> Quote { quoteTimestamp, ..} ) <$> f quoteTimestamp
{-# INLINE quoteTimestampL #-}

-- | 'quoteSymbol' Lens
quoteSymbolL :: Lens_' Quote (Text)
quoteSymbolL f Quote{..} = (\quoteSymbol -> Quote { quoteSymbol, ..} ) <$> f quoteSymbol
{-# INLINE quoteSymbolL #-}

-- | 'quoteBidSize' Lens
quoteBidSizeL :: Lens_' Quote (Maybe Double)
quoteBidSizeL f Quote{..} = (\quoteBidSize -> Quote { quoteBidSize, ..} ) <$> f quoteBidSize
{-# INLINE quoteBidSizeL #-}

-- | 'quoteBidPrice' Lens
quoteBidPriceL :: Lens_' Quote (Maybe Double)
quoteBidPriceL f Quote{..} = (\quoteBidPrice -> Quote { quoteBidPrice, ..} ) <$> f quoteBidPrice
{-# INLINE quoteBidPriceL #-}

-- | 'quoteAskPrice' Lens
quoteAskPriceL :: Lens_' Quote (Maybe Double)
quoteAskPriceL f Quote{..} = (\quoteAskPrice -> Quote { quoteAskPrice, ..} ) <$> f quoteAskPrice
{-# INLINE quoteAskPriceL #-}

-- | 'quoteAskSize' Lens
quoteAskSizeL :: Lens_' Quote (Maybe Double)
quoteAskSizeL f Quote{..} = (\quoteAskSize -> Quote { quoteAskSize, ..} ) <$> f quoteAskSize
{-# INLINE quoteAskSizeL #-}



-- * Settlement

-- | 'settlementTimestamp' Lens
settlementTimestampL :: Lens_' Settlement (DateTime)
settlementTimestampL f Settlement{..} = (\settlementTimestamp -> Settlement { settlementTimestamp, ..} ) <$> f settlementTimestamp
{-# INLINE settlementTimestampL #-}

-- | 'settlementSymbol' Lens
settlementSymbolL :: Lens_' Settlement (Text)
settlementSymbolL f Settlement{..} = (\settlementSymbol -> Settlement { settlementSymbol, ..} ) <$> f settlementSymbol
{-# INLINE settlementSymbolL #-}

-- | 'settlementSettlementType' Lens
settlementSettlementTypeL :: Lens_' Settlement (Maybe Text)
settlementSettlementTypeL f Settlement{..} = (\settlementSettlementType -> Settlement { settlementSettlementType, ..} ) <$> f settlementSettlementType
{-# INLINE settlementSettlementTypeL #-}

-- | 'settlementSettledPrice' Lens
settlementSettledPriceL :: Lens_' Settlement (Maybe Double)
settlementSettledPriceL f Settlement{..} = (\settlementSettledPrice -> Settlement { settlementSettledPrice, ..} ) <$> f settlementSettledPrice
{-# INLINE settlementSettledPriceL #-}

-- | 'settlementBankrupt' Lens
settlementBankruptL :: Lens_' Settlement (Maybe Double)
settlementBankruptL f Settlement{..} = (\settlementBankrupt -> Settlement { settlementBankrupt, ..} ) <$> f settlementBankrupt
{-# INLINE settlementBankruptL #-}

-- | 'settlementTaxBase' Lens
settlementTaxBaseL :: Lens_' Settlement (Maybe Double)
settlementTaxBaseL f Settlement{..} = (\settlementTaxBase -> Settlement { settlementTaxBase, ..} ) <$> f settlementTaxBase
{-# INLINE settlementTaxBaseL #-}

-- | 'settlementTaxRate' Lens
settlementTaxRateL :: Lens_' Settlement (Maybe Double)
settlementTaxRateL f Settlement{..} = (\settlementTaxRate -> Settlement { settlementTaxRate, ..} ) <$> f settlementTaxRate
{-# INLINE settlementTaxRateL #-}



-- * Stats

-- | 'statsRootSymbol' Lens
statsRootSymbolL :: Lens_' Stats (Text)
statsRootSymbolL f Stats{..} = (\statsRootSymbol -> Stats { statsRootSymbol, ..} ) <$> f statsRootSymbol
{-# INLINE statsRootSymbolL #-}

-- | 'statsCurrency' Lens
statsCurrencyL :: Lens_' Stats (Maybe Text)
statsCurrencyL f Stats{..} = (\statsCurrency -> Stats { statsCurrency, ..} ) <$> f statsCurrency
{-# INLINE statsCurrencyL #-}

-- | 'statsVolume24h' Lens
statsVolume24hL :: Lens_' Stats (Maybe Double)
statsVolume24hL f Stats{..} = (\statsVolume24h -> Stats { statsVolume24h, ..} ) <$> f statsVolume24h
{-# INLINE statsVolume24hL #-}

-- | 'statsTurnover24h' Lens
statsTurnover24hL :: Lens_' Stats (Maybe Double)
statsTurnover24hL f Stats{..} = (\statsTurnover24h -> Stats { statsTurnover24h, ..} ) <$> f statsTurnover24h
{-# INLINE statsTurnover24hL #-}

-- | 'statsOpenInterest' Lens
statsOpenInterestL :: Lens_' Stats (Maybe Double)
statsOpenInterestL f Stats{..} = (\statsOpenInterest -> Stats { statsOpenInterest, ..} ) <$> f statsOpenInterest
{-# INLINE statsOpenInterestL #-}

-- | 'statsOpenValue' Lens
statsOpenValueL :: Lens_' Stats (Maybe Double)
statsOpenValueL f Stats{..} = (\statsOpenValue -> Stats { statsOpenValue, ..} ) <$> f statsOpenValue
{-# INLINE statsOpenValueL #-}



-- * StatsHistory

-- | 'statsHistoryDate' Lens
statsHistoryDateL :: Lens_' StatsHistory (DateTime)
statsHistoryDateL f StatsHistory{..} = (\statsHistoryDate -> StatsHistory { statsHistoryDate, ..} ) <$> f statsHistoryDate
{-# INLINE statsHistoryDateL #-}

-- | 'statsHistoryRootSymbol' Lens
statsHistoryRootSymbolL :: Lens_' StatsHistory (Text)
statsHistoryRootSymbolL f StatsHistory{..} = (\statsHistoryRootSymbol -> StatsHistory { statsHistoryRootSymbol, ..} ) <$> f statsHistoryRootSymbol
{-# INLINE statsHistoryRootSymbolL #-}

-- | 'statsHistoryCurrency' Lens
statsHistoryCurrencyL :: Lens_' StatsHistory (Maybe Text)
statsHistoryCurrencyL f StatsHistory{..} = (\statsHistoryCurrency -> StatsHistory { statsHistoryCurrency, ..} ) <$> f statsHistoryCurrency
{-# INLINE statsHistoryCurrencyL #-}

-- | 'statsHistoryVolume' Lens
statsHistoryVolumeL :: Lens_' StatsHistory (Maybe Double)
statsHistoryVolumeL f StatsHistory{..} = (\statsHistoryVolume -> StatsHistory { statsHistoryVolume, ..} ) <$> f statsHistoryVolume
{-# INLINE statsHistoryVolumeL #-}

-- | 'statsHistoryTurnover' Lens
statsHistoryTurnoverL :: Lens_' StatsHistory (Maybe Double)
statsHistoryTurnoverL f StatsHistory{..} = (\statsHistoryTurnover -> StatsHistory { statsHistoryTurnover, ..} ) <$> f statsHistoryTurnover
{-# INLINE statsHistoryTurnoverL #-}



-- * StatsUSD

-- | 'statsUSDRootSymbol' Lens
statsUSDRootSymbolL :: Lens_' StatsUSD (Text)
statsUSDRootSymbolL f StatsUSD{..} = (\statsUSDRootSymbol -> StatsUSD { statsUSDRootSymbol, ..} ) <$> f statsUSDRootSymbol
{-# INLINE statsUSDRootSymbolL #-}

-- | 'statsUSDCurrency' Lens
statsUSDCurrencyL :: Lens_' StatsUSD (Maybe Text)
statsUSDCurrencyL f StatsUSD{..} = (\statsUSDCurrency -> StatsUSD { statsUSDCurrency, ..} ) <$> f statsUSDCurrency
{-# INLINE statsUSDCurrencyL #-}

-- | 'statsUSDTurnover24h' Lens
statsUSDTurnover24hL :: Lens_' StatsUSD (Maybe Double)
statsUSDTurnover24hL f StatsUSD{..} = (\statsUSDTurnover24h -> StatsUSD { statsUSDTurnover24h, ..} ) <$> f statsUSDTurnover24h
{-# INLINE statsUSDTurnover24hL #-}

-- | 'statsUSDTurnover30d' Lens
statsUSDTurnover30dL :: Lens_' StatsUSD (Maybe Double)
statsUSDTurnover30dL f StatsUSD{..} = (\statsUSDTurnover30d -> StatsUSD { statsUSDTurnover30d, ..} ) <$> f statsUSDTurnover30d
{-# INLINE statsUSDTurnover30dL #-}

-- | 'statsUSDTurnover365d' Lens
statsUSDTurnover365dL :: Lens_' StatsUSD (Maybe Double)
statsUSDTurnover365dL f StatsUSD{..} = (\statsUSDTurnover365d -> StatsUSD { statsUSDTurnover365d, ..} ) <$> f statsUSDTurnover365d
{-# INLINE statsUSDTurnover365dL #-}

-- | 'statsUSDTurnover' Lens
statsUSDTurnoverL :: Lens_' StatsUSD (Maybe Double)
statsUSDTurnoverL f StatsUSD{..} = (\statsUSDTurnover -> StatsUSD { statsUSDTurnover, ..} ) <$> f statsUSDTurnover
{-# INLINE statsUSDTurnoverL #-}



-- * Trade

-- | 'tradeTimestamp' Lens
tradeTimestampL :: Lens_' Trade (DateTime)
tradeTimestampL f Trade{..} = (\tradeTimestamp -> Trade { tradeTimestamp, ..} ) <$> f tradeTimestamp
{-# INLINE tradeTimestampL #-}

-- | 'tradeSymbol' Lens
tradeSymbolL :: Lens_' Trade (Text)
tradeSymbolL f Trade{..} = (\tradeSymbol -> Trade { tradeSymbol, ..} ) <$> f tradeSymbol
{-# INLINE tradeSymbolL #-}

-- | 'tradeSide' Lens
tradeSideL :: Lens_' Trade (Maybe Text)
tradeSideL f Trade{..} = (\tradeSide -> Trade { tradeSide, ..} ) <$> f tradeSide
{-# INLINE tradeSideL #-}

-- | 'tradeSize' Lens
tradeSizeL :: Lens_' Trade (Maybe Double)
tradeSizeL f Trade{..} = (\tradeSize -> Trade { tradeSize, ..} ) <$> f tradeSize
{-# INLINE tradeSizeL #-}

-- | 'tradePrice' Lens
tradePriceL :: Lens_' Trade (Maybe Double)
tradePriceL f Trade{..} = (\tradePrice -> Trade { tradePrice, ..} ) <$> f tradePrice
{-# INLINE tradePriceL #-}

-- | 'tradeTickDirection' Lens
tradeTickDirectionL :: Lens_' Trade (Maybe Text)
tradeTickDirectionL f Trade{..} = (\tradeTickDirection -> Trade { tradeTickDirection, ..} ) <$> f tradeTickDirection
{-# INLINE tradeTickDirectionL #-}

-- | 'tradeTrdMatchId' Lens
tradeTrdMatchIdL :: Lens_' Trade (Maybe Text)
tradeTrdMatchIdL f Trade{..} = (\tradeTrdMatchId -> Trade { tradeTrdMatchId, ..} ) <$> f tradeTrdMatchId
{-# INLINE tradeTrdMatchIdL #-}

-- | 'tradeGrossValue' Lens
tradeGrossValueL :: Lens_' Trade (Maybe Double)
tradeGrossValueL f Trade{..} = (\tradeGrossValue -> Trade { tradeGrossValue, ..} ) <$> f tradeGrossValue
{-# INLINE tradeGrossValueL #-}

-- | 'tradeHomeNotional' Lens
tradeHomeNotionalL :: Lens_' Trade (Maybe Double)
tradeHomeNotionalL f Trade{..} = (\tradeHomeNotional -> Trade { tradeHomeNotional, ..} ) <$> f tradeHomeNotional
{-# INLINE tradeHomeNotionalL #-}

-- | 'tradeForeignNotional' Lens
tradeForeignNotionalL :: Lens_' Trade (Maybe Double)
tradeForeignNotionalL f Trade{..} = (\tradeForeignNotional -> Trade { tradeForeignNotional, ..} ) <$> f tradeForeignNotional
{-# INLINE tradeForeignNotionalL #-}



-- * TradeBin

-- | 'tradeBinTimestamp' Lens
tradeBinTimestampL :: Lens_' TradeBin (DateTime)
tradeBinTimestampL f TradeBin{..} = (\tradeBinTimestamp -> TradeBin { tradeBinTimestamp, ..} ) <$> f tradeBinTimestamp
{-# INLINE tradeBinTimestampL #-}

-- | 'tradeBinSymbol' Lens
tradeBinSymbolL :: Lens_' TradeBin (Text)
tradeBinSymbolL f TradeBin{..} = (\tradeBinSymbol -> TradeBin { tradeBinSymbol, ..} ) <$> f tradeBinSymbol
{-# INLINE tradeBinSymbolL #-}

-- | 'tradeBinOpen' Lens
tradeBinOpenL :: Lens_' TradeBin (Maybe Double)
tradeBinOpenL f TradeBin{..} = (\tradeBinOpen -> TradeBin { tradeBinOpen, ..} ) <$> f tradeBinOpen
{-# INLINE tradeBinOpenL #-}

-- | 'tradeBinHigh' Lens
tradeBinHighL :: Lens_' TradeBin (Maybe Double)
tradeBinHighL f TradeBin{..} = (\tradeBinHigh -> TradeBin { tradeBinHigh, ..} ) <$> f tradeBinHigh
{-# INLINE tradeBinHighL #-}

-- | 'tradeBinLow' Lens
tradeBinLowL :: Lens_' TradeBin (Maybe Double)
tradeBinLowL f TradeBin{..} = (\tradeBinLow -> TradeBin { tradeBinLow, ..} ) <$> f tradeBinLow
{-# INLINE tradeBinLowL #-}

-- | 'tradeBinClose' Lens
tradeBinCloseL :: Lens_' TradeBin (Maybe Double)
tradeBinCloseL f TradeBin{..} = (\tradeBinClose -> TradeBin { tradeBinClose, ..} ) <$> f tradeBinClose
{-# INLINE tradeBinCloseL #-}

-- | 'tradeBinTrades' Lens
tradeBinTradesL :: Lens_' TradeBin (Maybe Double)
tradeBinTradesL f TradeBin{..} = (\tradeBinTrades -> TradeBin { tradeBinTrades, ..} ) <$> f tradeBinTrades
{-# INLINE tradeBinTradesL #-}

-- | 'tradeBinVolume' Lens
tradeBinVolumeL :: Lens_' TradeBin (Maybe Double)
tradeBinVolumeL f TradeBin{..} = (\tradeBinVolume -> TradeBin { tradeBinVolume, ..} ) <$> f tradeBinVolume
{-# INLINE tradeBinVolumeL #-}

-- | 'tradeBinVwap' Lens
tradeBinVwapL :: Lens_' TradeBin (Maybe Double)
tradeBinVwapL f TradeBin{..} = (\tradeBinVwap -> TradeBin { tradeBinVwap, ..} ) <$> f tradeBinVwap
{-# INLINE tradeBinVwapL #-}

-- | 'tradeBinLastSize' Lens
tradeBinLastSizeL :: Lens_' TradeBin (Maybe Double)
tradeBinLastSizeL f TradeBin{..} = (\tradeBinLastSize -> TradeBin { tradeBinLastSize, ..} ) <$> f tradeBinLastSize
{-# INLINE tradeBinLastSizeL #-}

-- | 'tradeBinTurnover' Lens
tradeBinTurnoverL :: Lens_' TradeBin (Maybe Double)
tradeBinTurnoverL f TradeBin{..} = (\tradeBinTurnover -> TradeBin { tradeBinTurnover, ..} ) <$> f tradeBinTurnover
{-# INLINE tradeBinTurnoverL #-}

-- | 'tradeBinHomeNotional' Lens
tradeBinHomeNotionalL :: Lens_' TradeBin (Maybe Double)
tradeBinHomeNotionalL f TradeBin{..} = (\tradeBinHomeNotional -> TradeBin { tradeBinHomeNotional, ..} ) <$> f tradeBinHomeNotional
{-# INLINE tradeBinHomeNotionalL #-}

-- | 'tradeBinForeignNotional' Lens
tradeBinForeignNotionalL :: Lens_' TradeBin (Maybe Double)
tradeBinForeignNotionalL f TradeBin{..} = (\tradeBinForeignNotional -> TradeBin { tradeBinForeignNotional, ..} ) <$> f tradeBinForeignNotional
{-# INLINE tradeBinForeignNotionalL #-}



-- * Transaction

-- | 'transactionTransactId' Lens
transactionTransactIdL :: Lens_' Transaction (Text)
transactionTransactIdL f Transaction{..} = (\transactionTransactId -> Transaction { transactionTransactId, ..} ) <$> f transactionTransactId
{-# INLINE transactionTransactIdL #-}

-- | 'transactionAccount' Lens
transactionAccountL :: Lens_' Transaction (Maybe Double)
transactionAccountL f Transaction{..} = (\transactionAccount -> Transaction { transactionAccount, ..} ) <$> f transactionAccount
{-# INLINE transactionAccountL #-}

-- | 'transactionCurrency' Lens
transactionCurrencyL :: Lens_' Transaction (Maybe Text)
transactionCurrencyL f Transaction{..} = (\transactionCurrency -> Transaction { transactionCurrency, ..} ) <$> f transactionCurrency
{-# INLINE transactionCurrencyL #-}

-- | 'transactionTransactType' Lens
transactionTransactTypeL :: Lens_' Transaction (Maybe Text)
transactionTransactTypeL f Transaction{..} = (\transactionTransactType -> Transaction { transactionTransactType, ..} ) <$> f transactionTransactType
{-# INLINE transactionTransactTypeL #-}

-- | 'transactionAmount' Lens
transactionAmountL :: Lens_' Transaction (Maybe Double)
transactionAmountL f Transaction{..} = (\transactionAmount -> Transaction { transactionAmount, ..} ) <$> f transactionAmount
{-# INLINE transactionAmountL #-}

-- | 'transactionFee' Lens
transactionFeeL :: Lens_' Transaction (Maybe Double)
transactionFeeL f Transaction{..} = (\transactionFee -> Transaction { transactionFee, ..} ) <$> f transactionFee
{-# INLINE transactionFeeL #-}

-- | 'transactionTransactStatus' Lens
transactionTransactStatusL :: Lens_' Transaction (Maybe Text)
transactionTransactStatusL f Transaction{..} = (\transactionTransactStatus -> Transaction { transactionTransactStatus, ..} ) <$> f transactionTransactStatus
{-# INLINE transactionTransactStatusL #-}

-- | 'transactionAddress' Lens
transactionAddressL :: Lens_' Transaction (Maybe Text)
transactionAddressL f Transaction{..} = (\transactionAddress -> Transaction { transactionAddress, ..} ) <$> f transactionAddress
{-# INLINE transactionAddressL #-}

-- | 'transactionTx' Lens
transactionTxL :: Lens_' Transaction (Maybe Text)
transactionTxL f Transaction{..} = (\transactionTx -> Transaction { transactionTx, ..} ) <$> f transactionTx
{-# INLINE transactionTxL #-}

-- | 'transactionText' Lens
transactionTextL :: Lens_' Transaction (Maybe Text)
transactionTextL f Transaction{..} = (\transactionText -> Transaction { transactionText, ..} ) <$> f transactionText
{-# INLINE transactionTextL #-}

-- | 'transactionTransactTime' Lens
transactionTransactTimeL :: Lens_' Transaction (Maybe DateTime)
transactionTransactTimeL f Transaction{..} = (\transactionTransactTime -> Transaction { transactionTransactTime, ..} ) <$> f transactionTransactTime
{-# INLINE transactionTransactTimeL #-}

-- | 'transactionTimestamp' Lens
transactionTimestampL :: Lens_' Transaction (Maybe DateTime)
transactionTimestampL f Transaction{..} = (\transactionTimestamp -> Transaction { transactionTimestamp, ..} ) <$> f transactionTimestamp
{-# INLINE transactionTimestampL #-}



-- * User

-- | 'userId' Lens
userIdL :: Lens_' User (Maybe Double)
userIdL f User{..} = (\userId -> User { userId, ..} ) <$> f userId
{-# INLINE userIdL #-}

-- | 'userOwnerId' Lens
userOwnerIdL :: Lens_' User (Maybe Double)
userOwnerIdL f User{..} = (\userOwnerId -> User { userOwnerId, ..} ) <$> f userOwnerId
{-# INLINE userOwnerIdL #-}

-- | 'userFirstname' Lens
userFirstnameL :: Lens_' User (Maybe Text)
userFirstnameL f User{..} = (\userFirstname -> User { userFirstname, ..} ) <$> f userFirstname
{-# INLINE userFirstnameL #-}

-- | 'userLastname' Lens
userLastnameL :: Lens_' User (Maybe Text)
userLastnameL f User{..} = (\userLastname -> User { userLastname, ..} ) <$> f userLastname
{-# INLINE userLastnameL #-}

-- | 'userUsername' Lens
userUsernameL :: Lens_' User (Text)
userUsernameL f User{..} = (\userUsername -> User { userUsername, ..} ) <$> f userUsername
{-# INLINE userUsernameL #-}

-- | 'userEmail' Lens
userEmailL :: Lens_' User (Text)
userEmailL f User{..} = (\userEmail -> User { userEmail, ..} ) <$> f userEmail
{-# INLINE userEmailL #-}

-- | 'userPhone' Lens
userPhoneL :: Lens_' User (Maybe Text)
userPhoneL f User{..} = (\userPhone -> User { userPhone, ..} ) <$> f userPhone
{-# INLINE userPhoneL #-}

-- | 'userCreated' Lens
userCreatedL :: Lens_' User (Maybe DateTime)
userCreatedL f User{..} = (\userCreated -> User { userCreated, ..} ) <$> f userCreated
{-# INLINE userCreatedL #-}

-- | 'userLastUpdated' Lens
userLastUpdatedL :: Lens_' User (Maybe DateTime)
userLastUpdatedL f User{..} = (\userLastUpdated -> User { userLastUpdated, ..} ) <$> f userLastUpdated
{-# INLINE userLastUpdatedL #-}

-- | 'userPreferences' Lens
userPreferencesL :: Lens_' User (Maybe UserPreferences)
userPreferencesL f User{..} = (\userPreferences -> User { userPreferences, ..} ) <$> f userPreferences
{-# INLINE userPreferencesL #-}

-- | 'userTfaEnabled' Lens
userTfaEnabledL :: Lens_' User (Maybe Text)
userTfaEnabledL f User{..} = (\userTfaEnabled -> User { userTfaEnabled, ..} ) <$> f userTfaEnabled
{-# INLINE userTfaEnabledL #-}

-- | 'userAffiliateId' Lens
userAffiliateIdL :: Lens_' User (Maybe Text)
userAffiliateIdL f User{..} = (\userAffiliateId -> User { userAffiliateId, ..} ) <$> f userAffiliateId
{-# INLINE userAffiliateIdL #-}

-- | 'userPgpPubKey' Lens
userPgpPubKeyL :: Lens_' User (Maybe Text)
userPgpPubKeyL f User{..} = (\userPgpPubKey -> User { userPgpPubKey, ..} ) <$> f userPgpPubKey
{-# INLINE userPgpPubKeyL #-}

-- | 'userCountry' Lens
userCountryL :: Lens_' User (Maybe Text)
userCountryL f User{..} = (\userCountry -> User { userCountry, ..} ) <$> f userCountry
{-# INLINE userCountryL #-}



-- * UserCommission

-- | 'userCommissionMakerFee' Lens
userCommissionMakerFeeL :: Lens_' UserCommission (Maybe Double)
userCommissionMakerFeeL f UserCommission{..} = (\userCommissionMakerFee -> UserCommission { userCommissionMakerFee, ..} ) <$> f userCommissionMakerFee
{-# INLINE userCommissionMakerFeeL #-}

-- | 'userCommissionTakerFee' Lens
userCommissionTakerFeeL :: Lens_' UserCommission (Maybe Double)
userCommissionTakerFeeL f UserCommission{..} = (\userCommissionTakerFee -> UserCommission { userCommissionTakerFee, ..} ) <$> f userCommissionTakerFee
{-# INLINE userCommissionTakerFeeL #-}

-- | 'userCommissionSettlementFee' Lens
userCommissionSettlementFeeL :: Lens_' UserCommission (Maybe Double)
userCommissionSettlementFeeL f UserCommission{..} = (\userCommissionSettlementFee -> UserCommission { userCommissionSettlementFee, ..} ) <$> f userCommissionSettlementFee
{-# INLINE userCommissionSettlementFeeL #-}

-- | 'userCommissionMaxFee' Lens
userCommissionMaxFeeL :: Lens_' UserCommission (Maybe Double)
userCommissionMaxFeeL f UserCommission{..} = (\userCommissionMaxFee -> UserCommission { userCommissionMaxFee, ..} ) <$> f userCommissionMaxFee
{-# INLINE userCommissionMaxFeeL #-}



-- * UserPreferences

-- | 'userPreferencesAlertOnLiquidations' Lens
userPreferencesAlertOnLiquidationsL :: Lens_' UserPreferences (Maybe Bool)
userPreferencesAlertOnLiquidationsL f UserPreferences{..} = (\userPreferencesAlertOnLiquidations -> UserPreferences { userPreferencesAlertOnLiquidations, ..} ) <$> f userPreferencesAlertOnLiquidations
{-# INLINE userPreferencesAlertOnLiquidationsL #-}

-- | 'userPreferencesAnimationsEnabled' Lens
userPreferencesAnimationsEnabledL :: Lens_' UserPreferences (Maybe Bool)
userPreferencesAnimationsEnabledL f UserPreferences{..} = (\userPreferencesAnimationsEnabled -> UserPreferences { userPreferencesAnimationsEnabled, ..} ) <$> f userPreferencesAnimationsEnabled
{-# INLINE userPreferencesAnimationsEnabledL #-}

-- | 'userPreferencesAnnouncementsLastSeen' Lens
userPreferencesAnnouncementsLastSeenL :: Lens_' UserPreferences (Maybe DateTime)
userPreferencesAnnouncementsLastSeenL f UserPreferences{..} = (\userPreferencesAnnouncementsLastSeen -> UserPreferences { userPreferencesAnnouncementsLastSeen, ..} ) <$> f userPreferencesAnnouncementsLastSeen
{-# INLINE userPreferencesAnnouncementsLastSeenL #-}

-- | 'userPreferencesChatChannelId' Lens
userPreferencesChatChannelIdL :: Lens_' UserPreferences (Maybe Double)
userPreferencesChatChannelIdL f UserPreferences{..} = (\userPreferencesChatChannelId -> UserPreferences { userPreferencesChatChannelId, ..} ) <$> f userPreferencesChatChannelId
{-# INLINE userPreferencesChatChannelIdL #-}

-- | 'userPreferencesColorTheme' Lens
userPreferencesColorThemeL :: Lens_' UserPreferences (Maybe Text)
userPreferencesColorThemeL f UserPreferences{..} = (\userPreferencesColorTheme -> UserPreferences { userPreferencesColorTheme, ..} ) <$> f userPreferencesColorTheme
{-# INLINE userPreferencesColorThemeL #-}

-- | 'userPreferencesCurrency' Lens
userPreferencesCurrencyL :: Lens_' UserPreferences (Maybe Text)
userPreferencesCurrencyL f UserPreferences{..} = (\userPreferencesCurrency -> UserPreferences { userPreferencesCurrency, ..} ) <$> f userPreferencesCurrency
{-# INLINE userPreferencesCurrencyL #-}

-- | 'userPreferencesDebug' Lens
userPreferencesDebugL :: Lens_' UserPreferences (Maybe Bool)
userPreferencesDebugL f UserPreferences{..} = (\userPreferencesDebug -> UserPreferences { userPreferencesDebug, ..} ) <$> f userPreferencesDebug
{-# INLINE userPreferencesDebugL #-}

-- | 'userPreferencesDisableEmails' Lens
userPreferencesDisableEmailsL :: Lens_' UserPreferences (Maybe [Text])
userPreferencesDisableEmailsL f UserPreferences{..} = (\userPreferencesDisableEmails -> UserPreferences { userPreferencesDisableEmails, ..} ) <$> f userPreferencesDisableEmails
{-# INLINE userPreferencesDisableEmailsL #-}

-- | 'userPreferencesHideConfirmDialogs' Lens
userPreferencesHideConfirmDialogsL :: Lens_' UserPreferences (Maybe [Text])
userPreferencesHideConfirmDialogsL f UserPreferences{..} = (\userPreferencesHideConfirmDialogs -> UserPreferences { userPreferencesHideConfirmDialogs, ..} ) <$> f userPreferencesHideConfirmDialogs
{-# INLINE userPreferencesHideConfirmDialogsL #-}

-- | 'userPreferencesHideConnectionModal' Lens
userPreferencesHideConnectionModalL :: Lens_' UserPreferences (Maybe Bool)
userPreferencesHideConnectionModalL f UserPreferences{..} = (\userPreferencesHideConnectionModal -> UserPreferences { userPreferencesHideConnectionModal, ..} ) <$> f userPreferencesHideConnectionModal
{-# INLINE userPreferencesHideConnectionModalL #-}

-- | 'userPreferencesHideFromLeaderboard' Lens
userPreferencesHideFromLeaderboardL :: Lens_' UserPreferences (Maybe Bool)
userPreferencesHideFromLeaderboardL f UserPreferences{..} = (\userPreferencesHideFromLeaderboard -> UserPreferences { userPreferencesHideFromLeaderboard, ..} ) <$> f userPreferencesHideFromLeaderboard
{-# INLINE userPreferencesHideFromLeaderboardL #-}

-- | 'userPreferencesHideNameFromLeaderboard' Lens
userPreferencesHideNameFromLeaderboardL :: Lens_' UserPreferences (Maybe Bool)
userPreferencesHideNameFromLeaderboardL f UserPreferences{..} = (\userPreferencesHideNameFromLeaderboard -> UserPreferences { userPreferencesHideNameFromLeaderboard, ..} ) <$> f userPreferencesHideNameFromLeaderboard
{-# INLINE userPreferencesHideNameFromLeaderboardL #-}

-- | 'userPreferencesHideNotifications' Lens
userPreferencesHideNotificationsL :: Lens_' UserPreferences (Maybe [Text])
userPreferencesHideNotificationsL f UserPreferences{..} = (\userPreferencesHideNotifications -> UserPreferences { userPreferencesHideNotifications, ..} ) <$> f userPreferencesHideNotifications
{-# INLINE userPreferencesHideNotificationsL #-}

-- | 'userPreferencesLocale' Lens
userPreferencesLocaleL :: Lens_' UserPreferences (Maybe Text)
userPreferencesLocaleL f UserPreferences{..} = (\userPreferencesLocale -> UserPreferences { userPreferencesLocale, ..} ) <$> f userPreferencesLocale
{-# INLINE userPreferencesLocaleL #-}

-- | 'userPreferencesMsgsSeen' Lens
userPreferencesMsgsSeenL :: Lens_' UserPreferences (Maybe [Text])
userPreferencesMsgsSeenL f UserPreferences{..} = (\userPreferencesMsgsSeen -> UserPreferences { userPreferencesMsgsSeen, ..} ) <$> f userPreferencesMsgsSeen
{-# INLINE userPreferencesMsgsSeenL #-}

-- | 'userPreferencesOrderBookBinning' Lens
userPreferencesOrderBookBinningL :: Lens_' UserPreferences (Maybe A.Value)
userPreferencesOrderBookBinningL f UserPreferences{..} = (\userPreferencesOrderBookBinning -> UserPreferences { userPreferencesOrderBookBinning, ..} ) <$> f userPreferencesOrderBookBinning
{-# INLINE userPreferencesOrderBookBinningL #-}

-- | 'userPreferencesOrderBookType' Lens
userPreferencesOrderBookTypeL :: Lens_' UserPreferences (Maybe Text)
userPreferencesOrderBookTypeL f UserPreferences{..} = (\userPreferencesOrderBookType -> UserPreferences { userPreferencesOrderBookType, ..} ) <$> f userPreferencesOrderBookType
{-# INLINE userPreferencesOrderBookTypeL #-}

-- | 'userPreferencesOrderClearImmediate' Lens
userPreferencesOrderClearImmediateL :: Lens_' UserPreferences (Maybe Bool)
userPreferencesOrderClearImmediateL f UserPreferences{..} = (\userPreferencesOrderClearImmediate -> UserPreferences { userPreferencesOrderClearImmediate, ..} ) <$> f userPreferencesOrderClearImmediate
{-# INLINE userPreferencesOrderClearImmediateL #-}

-- | 'userPreferencesOrderControlsPlusMinus' Lens
userPreferencesOrderControlsPlusMinusL :: Lens_' UserPreferences (Maybe Bool)
userPreferencesOrderControlsPlusMinusL f UserPreferences{..} = (\userPreferencesOrderControlsPlusMinus -> UserPreferences { userPreferencesOrderControlsPlusMinus, ..} ) <$> f userPreferencesOrderControlsPlusMinus
{-# INLINE userPreferencesOrderControlsPlusMinusL #-}

-- | 'userPreferencesSounds' Lens
userPreferencesSoundsL :: Lens_' UserPreferences (Maybe [Text])
userPreferencesSoundsL f UserPreferences{..} = (\userPreferencesSounds -> UserPreferences { userPreferencesSounds, ..} ) <$> f userPreferencesSounds
{-# INLINE userPreferencesSoundsL #-}

-- | 'userPreferencesStrictIpCheck' Lens
userPreferencesStrictIpCheckL :: Lens_' UserPreferences (Maybe Bool)
userPreferencesStrictIpCheckL f UserPreferences{..} = (\userPreferencesStrictIpCheck -> UserPreferences { userPreferencesStrictIpCheck, ..} ) <$> f userPreferencesStrictIpCheck
{-# INLINE userPreferencesStrictIpCheckL #-}

-- | 'userPreferencesStrictTimeout' Lens
userPreferencesStrictTimeoutL :: Lens_' UserPreferences (Maybe Bool)
userPreferencesStrictTimeoutL f UserPreferences{..} = (\userPreferencesStrictTimeout -> UserPreferences { userPreferencesStrictTimeout, ..} ) <$> f userPreferencesStrictTimeout
{-# INLINE userPreferencesStrictTimeoutL #-}

-- | 'userPreferencesTickerGroup' Lens
userPreferencesTickerGroupL :: Lens_' UserPreferences (Maybe Text)
userPreferencesTickerGroupL f UserPreferences{..} = (\userPreferencesTickerGroup -> UserPreferences { userPreferencesTickerGroup, ..} ) <$> f userPreferencesTickerGroup
{-# INLINE userPreferencesTickerGroupL #-}

-- | 'userPreferencesTickerPinned' Lens
userPreferencesTickerPinnedL :: Lens_' UserPreferences (Maybe Bool)
userPreferencesTickerPinnedL f UserPreferences{..} = (\userPreferencesTickerPinned -> UserPreferences { userPreferencesTickerPinned, ..} ) <$> f userPreferencesTickerPinned
{-# INLINE userPreferencesTickerPinnedL #-}

-- | 'userPreferencesTradeLayout' Lens
userPreferencesTradeLayoutL :: Lens_' UserPreferences (Maybe Text)
userPreferencesTradeLayoutL f UserPreferences{..} = (\userPreferencesTradeLayout -> UserPreferences { userPreferencesTradeLayout, ..} ) <$> f userPreferencesTradeLayout
{-# INLINE userPreferencesTradeLayoutL #-}



-- * Wallet

-- | 'walletAccount' Lens
walletAccountL :: Lens_' Wallet (Double)
walletAccountL f Wallet{..} = (\walletAccount -> Wallet { walletAccount, ..} ) <$> f walletAccount
{-# INLINE walletAccountL #-}

-- | 'walletCurrency' Lens
walletCurrencyL :: Lens_' Wallet (Text)
walletCurrencyL f Wallet{..} = (\walletCurrency -> Wallet { walletCurrency, ..} ) <$> f walletCurrency
{-# INLINE walletCurrencyL #-}

-- | 'walletPrevDeposited' Lens
walletPrevDepositedL :: Lens_' Wallet (Maybe Double)
walletPrevDepositedL f Wallet{..} = (\walletPrevDeposited -> Wallet { walletPrevDeposited, ..} ) <$> f walletPrevDeposited
{-# INLINE walletPrevDepositedL #-}

-- | 'walletPrevWithdrawn' Lens
walletPrevWithdrawnL :: Lens_' Wallet (Maybe Double)
walletPrevWithdrawnL f Wallet{..} = (\walletPrevWithdrawn -> Wallet { walletPrevWithdrawn, ..} ) <$> f walletPrevWithdrawn
{-# INLINE walletPrevWithdrawnL #-}

-- | 'walletPrevTransferIn' Lens
walletPrevTransferInL :: Lens_' Wallet (Maybe Double)
walletPrevTransferInL f Wallet{..} = (\walletPrevTransferIn -> Wallet { walletPrevTransferIn, ..} ) <$> f walletPrevTransferIn
{-# INLINE walletPrevTransferInL #-}

-- | 'walletPrevTransferOut' Lens
walletPrevTransferOutL :: Lens_' Wallet (Maybe Double)
walletPrevTransferOutL f Wallet{..} = (\walletPrevTransferOut -> Wallet { walletPrevTransferOut, ..} ) <$> f walletPrevTransferOut
{-# INLINE walletPrevTransferOutL #-}

-- | 'walletPrevAmount' Lens
walletPrevAmountL :: Lens_' Wallet (Maybe Double)
walletPrevAmountL f Wallet{..} = (\walletPrevAmount -> Wallet { walletPrevAmount, ..} ) <$> f walletPrevAmount
{-# INLINE walletPrevAmountL #-}

-- | 'walletPrevTimestamp' Lens
walletPrevTimestampL :: Lens_' Wallet (Maybe DateTime)
walletPrevTimestampL f Wallet{..} = (\walletPrevTimestamp -> Wallet { walletPrevTimestamp, ..} ) <$> f walletPrevTimestamp
{-# INLINE walletPrevTimestampL #-}

-- | 'walletDeltaDeposited' Lens
walletDeltaDepositedL :: Lens_' Wallet (Maybe Double)
walletDeltaDepositedL f Wallet{..} = (\walletDeltaDeposited -> Wallet { walletDeltaDeposited, ..} ) <$> f walletDeltaDeposited
{-# INLINE walletDeltaDepositedL #-}

-- | 'walletDeltaWithdrawn' Lens
walletDeltaWithdrawnL :: Lens_' Wallet (Maybe Double)
walletDeltaWithdrawnL f Wallet{..} = (\walletDeltaWithdrawn -> Wallet { walletDeltaWithdrawn, ..} ) <$> f walletDeltaWithdrawn
{-# INLINE walletDeltaWithdrawnL #-}

-- | 'walletDeltaTransferIn' Lens
walletDeltaTransferInL :: Lens_' Wallet (Maybe Double)
walletDeltaTransferInL f Wallet{..} = (\walletDeltaTransferIn -> Wallet { walletDeltaTransferIn, ..} ) <$> f walletDeltaTransferIn
{-# INLINE walletDeltaTransferInL #-}

-- | 'walletDeltaTransferOut' Lens
walletDeltaTransferOutL :: Lens_' Wallet (Maybe Double)
walletDeltaTransferOutL f Wallet{..} = (\walletDeltaTransferOut -> Wallet { walletDeltaTransferOut, ..} ) <$> f walletDeltaTransferOut
{-# INLINE walletDeltaTransferOutL #-}

-- | 'walletDeltaAmount' Lens
walletDeltaAmountL :: Lens_' Wallet (Maybe Double)
walletDeltaAmountL f Wallet{..} = (\walletDeltaAmount -> Wallet { walletDeltaAmount, ..} ) <$> f walletDeltaAmount
{-# INLINE walletDeltaAmountL #-}

-- | 'walletDeposited' Lens
walletDepositedL :: Lens_' Wallet (Maybe Double)
walletDepositedL f Wallet{..} = (\walletDeposited -> Wallet { walletDeposited, ..} ) <$> f walletDeposited
{-# INLINE walletDepositedL #-}

-- | 'walletWithdrawn' Lens
walletWithdrawnL :: Lens_' Wallet (Maybe Double)
walletWithdrawnL f Wallet{..} = (\walletWithdrawn -> Wallet { walletWithdrawn, ..} ) <$> f walletWithdrawn
{-# INLINE walletWithdrawnL #-}

-- | 'walletTransferIn' Lens
walletTransferInL :: Lens_' Wallet (Maybe Double)
walletTransferInL f Wallet{..} = (\walletTransferIn -> Wallet { walletTransferIn, ..} ) <$> f walletTransferIn
{-# INLINE walletTransferInL #-}

-- | 'walletTransferOut' Lens
walletTransferOutL :: Lens_' Wallet (Maybe Double)
walletTransferOutL f Wallet{..} = (\walletTransferOut -> Wallet { walletTransferOut, ..} ) <$> f walletTransferOut
{-# INLINE walletTransferOutL #-}

-- | 'walletAmount' Lens
walletAmountL :: Lens_' Wallet (Maybe Double)
walletAmountL f Wallet{..} = (\walletAmount -> Wallet { walletAmount, ..} ) <$> f walletAmount
{-# INLINE walletAmountL #-}

-- | 'walletPendingCredit' Lens
walletPendingCreditL :: Lens_' Wallet (Maybe Double)
walletPendingCreditL f Wallet{..} = (\walletPendingCredit -> Wallet { walletPendingCredit, ..} ) <$> f walletPendingCredit
{-# INLINE walletPendingCreditL #-}

-- | 'walletPendingDebit' Lens
walletPendingDebitL :: Lens_' Wallet (Maybe Double)
walletPendingDebitL f Wallet{..} = (\walletPendingDebit -> Wallet { walletPendingDebit, ..} ) <$> f walletPendingDebit
{-# INLINE walletPendingDebitL #-}

-- | 'walletConfirmedDebit' Lens
walletConfirmedDebitL :: Lens_' Wallet (Maybe Double)
walletConfirmedDebitL f Wallet{..} = (\walletConfirmedDebit -> Wallet { walletConfirmedDebit, ..} ) <$> f walletConfirmedDebit
{-# INLINE walletConfirmedDebitL #-}

-- | 'walletTimestamp' Lens
walletTimestampL :: Lens_' Wallet (Maybe DateTime)
walletTimestampL f Wallet{..} = (\walletTimestamp -> Wallet { walletTimestamp, ..} ) <$> f walletTimestamp
{-# INLINE walletTimestampL #-}

-- | 'walletAddr' Lens
walletAddrL :: Lens_' Wallet (Maybe Text)
walletAddrL f Wallet{..} = (\walletAddr -> Wallet { walletAddr, ..} ) <$> f walletAddr
{-# INLINE walletAddrL #-}

-- | 'walletScript' Lens
walletScriptL :: Lens_' Wallet (Maybe Text)
walletScriptL f Wallet{..} = (\walletScript -> Wallet { walletScript, ..} ) <$> f walletScript
{-# INLINE walletScriptL #-}

-- | 'walletWithdrawalLock' Lens
walletWithdrawalLockL :: Lens_' Wallet (Maybe [Text])
walletWithdrawalLockL f Wallet{..} = (\walletWithdrawalLock -> Wallet { walletWithdrawalLock, ..} ) <$> f walletWithdrawalLock
{-# INLINE walletWithdrawalLockL #-}



-- * XAny