// Bit-wise rotate left var rotl = function (n, b) { return (n << b) | (n >>> (32 - b)); }; // Bit-wise rotate right var rotr = function (n, b) { return (n << (32 - b)) | (n >>> b); }; // Swap big-endian to little-endian and vice versa var endian = function (n) { // If number given, swap endian if (n.constructor == Number) { return rotl(n, 8) & 0x00FF00FF | rotl(n, 24) & 0xFF00FF00; } // Else, assume array and swap all items for (var i = 0; i < n.length; i++) { n[i] = endian(n[i]); } return n; } var Key = require('./eckey'); module.exports = { Address: require('./address'), 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: require('./transaction').Transaction, Util: require('./util'), TransactionIn: require('./transaction').TransactionIn, TransactionOut: require('./transaction').TransactionOut, ECPointFp: require('./jsbn/ec').ECPointFp, Wallet: require('./wallet'), network: require('./network'), ecdsa: require('./ecdsa'), HDWallet: require('./hdwallet.js'), // base58 encoding/decoding to bytes base58: require('./base58'), // conversions convert: require('./convert'), endian: endian }