web3-0.8.0.0: src/Network/Ethereum/Account.hs
-- |
-- Module : Network.Ethereum.Account
-- Copyright : Alexander Krupenkin 2018
-- License : BSD3
--
-- Maintainer : mail@akru.me
-- Stability : experimental
-- Portability : unportable
--
-- In Etereun there are two types of accounts:
-- * Externally owned account (EOAs): an account controlled by a private key, and if you own the private key associated with the EOA you have the ability to send ether and messages from it.
-- * Contract: an account that has its own code, and is controlled by code.
--
-- This module exports different kinds of EOAs: default, node managed and local. Node managed accounts
-- use 'Personal' JSON-RPC API for signing transactions. Local account sign transaction locally and
-- use 'sendRawTransaction' method to export transaction to Ethereum network.
--
module Network.Ethereum.Account
(
-- * The @Account@ type
Account(..)
-- * Default node account
, DefaultAccount
-- * Unlockable node account
, PersonalAccount
, Personal(..)
-- * Local key account
, PrivateKeyAccount
, PrivateKey(..)
-- * Transaction paramitrization function and lenses
, withParam
, to
, value
, gasLimit
, gasPrice
, block
, account
) where
import Network.Ethereum.Account.Class (Account (..))
import Network.Ethereum.Account.Default (DefaultAccount)
import Network.Ethereum.Account.Internal (account, block, gasLimit,
gasPrice, to, value,
withParam)
import Network.Ethereum.Account.Personal (Personal (..),
PersonalAccount)
import Network.Ethereum.Account.PrivateKey (PrivateKey (..),
PrivateKeyAccount)