{-# OPTIONS_HADDOCK hide #-}
module Blockfrost.API.Cardano.Accounts
where
import Servant.API
import Servant.API.Generic
import Blockfrost.Types.Cardano.Accounts
import Blockfrost.Types.Shared
import Blockfrost.Util.Pagination
import Blockfrost.Util.Sorting
data AccountsAPI route =
AccountsAPI
{
forall route.
AccountsAPI route
-> route
:- (Summary "Specific account address"
:> (Description
"Obtain information about a specific stake account."
:> (Capture "stake_address" Address :> Get '[JSON] AccountInfo)))
_account
:: route
:- Summary "Specific account address"
:> Description "Obtain information about a specific stake account."
:> Capture "stake_address" Address
:> Get '[JSON] AccountInfo
, forall route.
AccountsAPI route
-> route
:- (Summary "Specific reward history"
:> (Description
"Obtain information about the reward history of a specific account."
:> (Capture "stake_address" Address
:> ("rewards"
:> (Pagination :> (Sorting :> Get '[JSON] [AccountReward]))))))
_accountRewards
:: route
:- Summary "Specific reward history"
:> Description "Obtain information about the reward history of a specific account."
:> Capture "stake_address" Address
:> "rewards"
:> Pagination
:> Sorting
:> Get '[JSON] [AccountReward]
, forall route.
AccountsAPI route
-> route
:- (Summary "Account history"
:> (Description
"Obtain information about the history of a specific account."
:> (Capture "stake_address" Address
:> ("history"
:> (Pagination :> (Sorting :> Get '[JSON] [AccountHistory]))))))
_accountHistory
:: route
:- Summary "Account history"
:> Description "Obtain information about the history of a specific account."
:> Capture "stake_address" Address
:> "history"
:> Pagination
:> Sorting
:> Get '[JSON] [AccountHistory]
, forall route.
AccountsAPI route
-> route
:- (Summary "Account delegation history"
:> (Description
"Obtain information about the delegation of a specific account."
:> (Capture "stake_address" Address
:> ("delegations"
:> (Pagination :> (Sorting :> Get '[JSON] [AccountDelegation]))))))
_accountDelegations
:: route
:- Summary "Account delegation history"
:> Description "Obtain information about the delegation of a specific account."
:> Capture "stake_address" Address
:> "delegations"
:> Pagination
:> Sorting
:> Get '[JSON] [AccountDelegation]
, forall route.
AccountsAPI route
-> route
:- (Summary "Account registration history"
:> (Description
"Obtain information about the registrations and deregistrations of a specific account."
:> (Capture "stake_address" Address
:> ("registrations"
:> (Pagination
:> (Sorting :> Get '[JSON] [AccountRegistration]))))))
_accountRegistrations
:: route
:- Summary "Account registration history"
:> Description "Obtain information about the registrations and deregistrations of a specific account."
:> Capture "stake_address" Address
:> "registrations"
:> Pagination
:> Sorting
:> Get '[JSON] [AccountRegistration]
, forall route.
AccountsAPI route
-> route
:- (Summary "Account withdrawal history"
:> (Description
"Obtain information about the withdrawals of a specific account."
:> (Capture "stake_address" Address
:> ("withdrawals"
:> (Pagination :> (Sorting :> Get '[JSON] [AccountWithdrawal]))))))
_accountWithdrawals
:: route
:- Summary "Account withdrawal history"
:> Description "Obtain information about the withdrawals of a specific account."
:> Capture "stake_address" Address
:> "withdrawals"
:> Pagination
:> Sorting
:> Get '[JSON] [AccountWithdrawal]
, forall route.
AccountsAPI route
-> route
:- (Summary "Account MIR history"
:> (Description
"Obtain information about the MIRs of a specific account."
:> (Capture "stake_address" Address
:> ("mirs"
:> (Pagination :> (Sorting :> Get '[JSON] [AccountMir]))))))
_accountMirs
:: route
:- Summary "Account MIR history"
:> Description "Obtain information about the MIRs of a specific account."
:> Capture "stake_address" Address
:> "mirs"
:> Pagination
:> Sorting
:> Get '[JSON] [AccountMir]
, forall route.
AccountsAPI route
-> route
:- (Summary "Account associated addresses"
:> (Description
"Obtain information about the addresses of a specific account."
:> (Capture "stake_address" Address
:> ("addresses"
:> (Pagination :> (Sorting :> Get '[JSON] [AddressAssociated]))))))
_accountAssociatedAddresses
:: route
:- Summary "Account associated addresses"
:> Description "Obtain information about the addresses of a specific account."
:> Capture "stake_address" Address
:> "addresses"
:> Pagination
:> Sorting
:> Get '[JSON] [AddressAssociated]
, forall route.
AccountsAPI route
-> route
:- (Summary "Assets associated with the account addresses"
:> (Description
"Obtain information about assets associated with addresses of a specific account."
:> (Capture "stake_address" Address
:> ("addresses"
:> ("assets"
:> (Pagination :> (Sorting :> Get '[JSON] [Amount])))))))
_accountAssociatedAssets
:: route
:- Summary "Assets associated with the account addresses"
:> Description "Obtain information about assets associated with addresses of a specific account."
:> Capture "stake_address" Address
:> "addresses"
:> "assets"
:> Pagination
:> Sorting
:> Get '[JSON] [Amount]
} deriving (forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall route x. Rep (AccountsAPI route) x -> AccountsAPI route
forall route x. AccountsAPI route -> Rep (AccountsAPI route) x
$cto :: forall route x. Rep (AccountsAPI route) x -> AccountsAPI route
$cfrom :: forall route x. AccountsAPI route -> Rep (AccountsAPI route) x
Generic)