cointracking-imports-0.1.0.1: Generate CSV & XLSX files for importing into CoinTracking.
Safe HaskellNone
LanguageHaskell2010

Web.CoinTracking.Imports.Types

Description

Type definitions, instances, & utility functions for CoinTracking imports.

Synopsis

Documentation

data CTImportData Source #

Represents a single row in an export.

Instances

Instances details
Read CTImportData Source # 
Instance details

Defined in Web.CoinTracking.Imports.Types

Show CTImportData Source # 
Instance details

Defined in Web.CoinTracking.Imports.Types

Generic CTImportData Source # 
Instance details

Defined in Web.CoinTracking.Imports.Types

Associated Types

type Rep CTImportData :: Type -> Type #

ToRecord CTImportData Source # 
Instance details

Defined in Web.CoinTracking.Imports.Types

type Rep CTImportData Source # 
Instance details

Defined in Web.CoinTracking.Imports.Types

data CTTransactionType Source #

Possible types for an imported transaction.

Instances

Instances details
Bounded CTTransactionType Source # 
Instance details

Defined in Web.CoinTracking.Imports.Types

Enum CTTransactionType Source # 
Instance details

Defined in Web.CoinTracking.Imports.Types

Eq CTTransactionType Source # 
Instance details

Defined in Web.CoinTracking.Imports.Types

Ord CTTransactionType Source # 
Instance details

Defined in Web.CoinTracking.Imports.Types

Read CTTransactionType Source # 
Instance details

Defined in Web.CoinTracking.Imports.Types

Show CTTransactionType Source # 
Instance details

Defined in Web.CoinTracking.Imports.Types

Generic CTTransactionType Source # 
Instance details

Defined in Web.CoinTracking.Imports.Types

Associated Types

type Rep CTTransactionType :: Type -> Type #

ToField CTTransactionType Source # 
Instance details

Defined in Web.CoinTracking.Imports.Types

type Rep CTTransactionType Source # 
Instance details

Defined in Web.CoinTracking.Imports.Types

type Rep CTTransactionType = D1 ('MetaData "CTTransactionType" "Web.CoinTracking.Imports.Types" "cointracking-imports-0.1.0.1-Ga91tdlj9v4LatoYKpKSBn" 'False) (((((C1 ('MetaCons "Trade" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Deposit" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Withdrawal" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Income" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "Mining" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GiftTipIn" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Spend" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Donation" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "GiftOut" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Stolen" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Lost" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Airdrop" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "Staking" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Masternode" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Minting" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "DividendsIncome" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LendingIncome" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "InterestIncome" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RewardBonus" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MiningCommercial" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MarginProfit" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "DerivativesFuturesProfit" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OtherIncome" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "IncomeNonTaxable" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "OtherIncomeNonTaxable" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MarginLoss" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "MarginFee" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BorrowingFee" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "SettlementFee" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DerivativesFuturesLoss" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "OtherFee" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OtherExpense" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ExpenseNonTaxable" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MarginTrade" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DerivativesFuturesTrade" 'PrefixI 'False) (U1 :: Type -> Type)))))))

renderTransactionType :: IsString a => CTTransactionType -> a Source #

Render the CTTransactionType as CoinTracking displays/expects it.

data Amount Source #

An amount & currency specification.

Constructors

Amount 

Fields

Instances

Instances details
Eq Amount Source # 
Instance details

Defined in Web.CoinTracking.Imports.Types

Methods

(==) :: Amount -> Amount -> Bool #

(/=) :: Amount -> Amount -> Bool #

Read Amount Source # 
Instance details

Defined in Web.CoinTracking.Imports.Types

Show Amount Source # 
Instance details

Defined in Web.CoinTracking.Imports.Types

data Currency Source #

A pair containing a currency symbol & an amount.

Constructors

Currency 

Fields

Instances

Instances details
Eq Currency Source # 
Instance details

Defined in Web.CoinTracking.Imports.Types

Read Currency Source # 
Instance details

Defined in Web.CoinTracking.Imports.Types

Show Currency Source # 
Instance details

Defined in Web.CoinTracking.Imports.Types

Generic Currency Source # 
Instance details

Defined in Web.CoinTracking.Imports.Types

Associated Types

type Rep Currency :: Type -> Type #

Methods

from :: Currency -> Rep Currency x #

to :: Rep Currency x -> Currency #

type Rep Currency Source # 
Instance details

Defined in Web.CoinTracking.Imports.Types

type Rep Currency = D1 ('MetaData "Currency" "Web.CoinTracking.Imports.Types" "cointracking-imports-0.1.0.1-Ga91tdlj9v4LatoYKpKSBn" 'False) (C1 ('MetaCons "Currency" 'PrefixI 'True) (S1 ('MetaSel ('Just "cPrecision") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "cTicker") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))