var Key = require('./eckey')
var T = require('./transaction')

module.exports = {
  Address: require('./address'),
  crypto: require('./crypto'),
  Key: Key.ECKey,
  ECKey: Key.ECKey,
  ECPubKey: Key.ECPubKey,
  Message: require('./message'),
  BigInteger: require('./jsbn/jsbn'),
  Crypto: require('crypto-js'), //should we expose this at all?
  Script: require('./script'),
  Opcode: require('./opcode'),
  Transaction: T.Transaction,
  TransactionIn: T.TransactionIn,
  TransactionOut: T.TransactionOut,
  ECPointFp: require('./jsbn/ec').ECPointFp,
  Wallet: require('./wallet'),
  network: require('./network'),
  ecdsa: require('./ecdsa'),
  HDWallet: require('./hdwallet.js'),
  base58: require('./base58'),
  base58check: require('./base58check'),
  convert: require('./convert')
}