haskoin-wallet-0.3.0: Implementation of a Bitcoin SPV Wallet with BIP32 and multisig support.

Safe HaskellNone
LanguageHaskell98

Network.Haskoin.Wallet.Model

Documentation

data Account Source

Constructors

Account 

Fields

accountName :: !Text
 
accountType :: !AccountType
 
accountDerivation :: !(Maybe HardPath)
 
accountMaster :: !(Maybe XPrvKey)
 
accountKeys :: ![XPubKey]
 
accountGap :: !Word32
 
accountCreated :: !UTCTime
 

Instances

Show Account Source 
PersistFieldSql Account Source 
PersistField Account Source 
PersistEntity Account Source 
ToBackendKey SqlBackend Account Source 
Eq (Key Account) Source 
Ord (Key Account) Source 
Read (Key Account) Source 
Show (Key Account) Source 
PersistFieldSql (Key Account) Source 
PersistField (Key Account) Source 
FromJSON (Key Account) Source 
ToJSON (Key Account) Source 
ToHttpApiData (Key Account) Source 
PathPiece (Key Account) Source 
FromHttpApiData (Key Account) Source 
data Unique Account = UniqueAccount Text Source 
type PersistEntityBackend Account = SqlBackend Source 
data Key Account = AccountKey {} Source 
data EntityField Account where Source 

data WalletAddr Source

Constructors

WalletAddr 

Fields

walletAddrAccount :: !(Key Account)
 
walletAddrAddress :: !Address
 
walletAddrIndex :: !KeyIndex
 
walletAddrType :: !AddressType
 
walletAddrLabel :: !Text
 
walletAddrRedeem :: !(Maybe ScriptOutput)
 
walletAddrKey :: !(Maybe PubKeyC)
 
walletAddrCreated :: !UTCTime
 

Instances

Show WalletAddr Source 
PersistFieldSql WalletAddr Source 
PersistField WalletAddr Source 
PersistEntity WalletAddr Source 
ToBackendKey SqlBackend WalletAddr Source 
Eq (Key WalletAddr) Source 
Ord (Key WalletAddr) Source 
Read (Key WalletAddr) Source 
Show (Key WalletAddr) Source 
PersistFieldSql (Key WalletAddr) Source 
PersistField (Key WalletAddr) Source 
FromJSON (Key WalletAddr) Source 
ToJSON (Key WalletAddr) Source 
ToHttpApiData (Key WalletAddr) Source 
PathPiece (Key WalletAddr) Source 
FromHttpApiData (Key WalletAddr) Source 
data Unique WalletAddr Source 
type PersistEntityBackend WalletAddr = SqlBackend Source 
data Key WalletAddr = WalletAddrKey' {} Source 
data EntityField WalletAddr where Source 

data WalletState Source

Instances

Show WalletState Source 
PersistFieldSql WalletState Source 
PersistField WalletState Source 
PersistEntity WalletState Source 
ToBackendKey SqlBackend WalletState Source 
Eq (Key WalletState) Source 
Ord (Key WalletState) Source 
Read (Key WalletState) Source 
Show (Key WalletState) Source 
PersistFieldSql (Key WalletState) Source 
PersistField (Key WalletState) Source 
FromJSON (Key WalletState) Source 
ToJSON (Key WalletState) Source 
ToHttpApiData (Key WalletState) Source 
PathPiece (Key WalletState) Source 
FromHttpApiData (Key WalletState) Source 
data Unique WalletState Source 
type PersistEntityBackend WalletState = SqlBackend Source 
data Key WalletState = WalletStateKey {} Source 
data EntityField WalletState where Source 

data WalletCoin Source

Instances

Show WalletCoin Source 
PersistFieldSql WalletCoin Source 
PersistField WalletCoin Source 
PersistEntity WalletCoin Source 
ToBackendKey SqlBackend WalletCoin Source 
Eq (Key WalletCoin) Source 
Ord (Key WalletCoin) Source 
Read (Key WalletCoin) Source 
Show (Key WalletCoin) Source 
PersistFieldSql (Key WalletCoin) Source 
PersistField (Key WalletCoin) Source 
FromJSON (Key WalletCoin) Source 
ToJSON (Key WalletCoin) Source 
ToHttpApiData (Key WalletCoin) Source 
PathPiece (Key WalletCoin) Source 
FromHttpApiData (Key WalletCoin) Source 
data Unique WalletCoin Source 
type PersistEntityBackend WalletCoin = SqlBackend Source 
data Key WalletCoin = WalletCoinKey {} Source 
data EntityField WalletCoin where Source 

data SpentCoin Source

Instances

Show SpentCoin Source 
PersistFieldSql SpentCoin Source 
PersistField SpentCoin Source 
PersistEntity SpentCoin Source 
ToBackendKey SqlBackend SpentCoin Source 
Eq (Key SpentCoin) Source 
Ord (Key SpentCoin) Source 
Read (Key SpentCoin) Source 
Show (Key SpentCoin) Source 
PersistFieldSql (Key SpentCoin) Source 
PersistField (Key SpentCoin) Source 
FromJSON (Key SpentCoin) Source 
ToJSON (Key SpentCoin) Source 
ToHttpApiData (Key SpentCoin) Source 
PathPiece (Key SpentCoin) Source 
FromHttpApiData (Key SpentCoin) Source 
data Unique SpentCoin Source 
type PersistEntityBackend SpentCoin = SqlBackend Source 
data Key SpentCoin = SpentCoinKey {} Source 
data EntityField SpentCoin where Source 

data WalletTx Source

Instances

Show WalletTx Source 
PersistFieldSql WalletTx Source 
PersistField WalletTx Source 
PersistEntity WalletTx Source 
ToBackendKey SqlBackend WalletTx Source 
Eq (Key WalletTx) Source 
Ord (Key WalletTx) Source 
Read (Key WalletTx) Source 
Show (Key WalletTx) Source 
PersistFieldSql (Key WalletTx) Source 
PersistField (Key WalletTx) Source 
FromJSON (Key WalletTx) Source 
ToJSON (Key WalletTx) Source 
ToHttpApiData (Key WalletTx) Source 
PathPiece (Key WalletTx) Source 
FromHttpApiData (Key WalletTx) Source 
data Unique WalletTx Source 
type PersistEntityBackend WalletTx = SqlBackend Source 
data Key WalletTx = WalletTxKey {} Source 
data EntityField WalletTx where Source 

data family EntityField record a

Instances

data EntityField NodeBlock where 
data EntityField WalletState where 
data EntityField SpentCoin where 
data EntityField WalletCoin where 
data EntityField WalletTx where 
data EntityField WalletAddr where 
data EntityField Account where 

data family Unique record

Instances

data Unique NodeBlock  
data Unique WalletState 
data Unique SpentCoin  
data Unique WalletCoin  
data Unique WalletTx  
data Unique WalletAddr  
data Unique Account = UniqueAccount Text 

migrateWallet :: Migration Source

toJsonCoin Source

Arguments

:: WalletCoin 
-> Maybe JsonTx

Coin’s transaction

-> Maybe JsonAddr

Coin’s address

-> Maybe JsonTx

Coin’s spending transaction

-> JsonCoin 

toJsonTx Source

Arguments

:: AccountName 
-> Maybe (BlockHash, BlockHeight)

Current best block

-> WalletTx 
-> JsonTx