SYMBOL INDEX (266 symbols across 28 files) FILE: src/com/jwetherell/bitcoin/Blockchain.java class Blockchain (line 19) | public class Blockchain { method Blockchain (line 80) | public Blockchain(String owner) { method getLength (line 86) | public int getLength() { method getBlock (line 90) | public Block getBlock(int blockNumber) { method getUnused (line 96) | public List getUnused() { method getNextBlock (line 100) | public Block getNextBlock(String name, Transaction[] transactions) { method checkHash (line 118) | public Constants.Status checkHash(Block block) { method addBlock (line 166) | public Constants.Status addBlock(String dataFrom, Block block) { method getBalance (line 222) | public long getBalance(String name) { method getNextHash (line 239) | public static final byte[] getNextHash(byte[] hash, byte[] bytes) { method equals (line 250) | @Override method toString (line 269) | @Override FILE: src/com/jwetherell/bitcoin/Peer.java class Peer (line 26) | public abstract class Peer { method onMessage (line 53) | @Override method Peer (line 119) | protected Peer(String name) { method getName (line 145) | public String getName() { method shutdown (line 149) | public void shutdown() throws InterruptedException { method isReady (line 173) | public boolean isReady() { method getBlockChain (line 177) | public abstract Blockchain getBlockChain(); method getPublicKey (line 180) | protected abstract byte[] getPublicKey(); method sendWhois (line 182) | private void sendWhois(String who) { method handleWhois (line 193) | private void handleWhois(byte[] bytes, Data data) { method sendIam (line 201) | private void sendIam() { method handleIam (line 212) | private void handleIam(byte[] bytes, Data data) { method newPublicKey (line 224) | protected abstract void newPublicKey(String name, byte[] publicKey); method signMsg (line 227) | protected abstract byte[] signMsg(byte[] bytes); method verifyMsg (line 230) | protected abstract boolean verifyMsg(byte[] publicKey, byte[] signatur... method sendTransaction (line 233) | protected void sendTransaction(String to, Transaction transaction) { method handleTransaction (line 253) | private Constants.Status handleTransaction(String dataFrom, byte[] byt... method handleTransaction (line 258) | private Constants.Status handleTransaction(String dataFrom, Transactio... method handleTransaction (line 280) | protected abstract Constants.Status handleTransaction(String dataFrom,... method ackTransaction (line 282) | private void ackTransaction(String to, Transaction transaction) { method handleTransactionAck (line 302) | private void handleTransactionAck(String dataFrom, byte[] bytes, Data ... method handleTransactionAck (line 307) | private void handleTransactionAck(String dataFrom, Transaction transac... method handleTransactionAck (line 324) | protected abstract Constants.Status handleTransactionAck(String dataFr... method aggegateTransaction (line 327) | protected abstract Block aggegateTransaction(Transaction transaction); method sendBlock (line 329) | protected void sendBlock(Block block, Data data) { method handleBlock (line 341) | private void handleBlock(String dataFrom, byte[] bytes, Data data) { method handleBlock (line 346) | private void handleBlock(String dataFrom, Block block, Data data) { method sendConfirmation (line 377) | protected void sendConfirmation(Block block) { method sendConfirmation (line 390) | protected void sendConfirmation(Block block, Data data) { method handleConfirmation (line 402) | private void handleConfirmation(String dataFrom, byte[] bytes, Data da... method handleConfirmation (line 407) | private void handleConfirmation(String dataFrom, Block block, Data dat... method checkTransaction (line 470) | protected abstract Constants.Status checkTransaction(String dataFrom, ... method handleConfirmation (line 473) | protected abstract Constants.Status handleConfirmation(String dataFrom... method mineHash (line 476) | protected abstract int mineHash(MiningTask timer, byte[] sha256, long ... method sendResend (line 478) | private void sendResend(int blockNumber) { method handleResend (line 490) | private void handleResend(String dataFrom, byte[] bytes, Data data) { method sendRehash (line 505) | protected void sendRehash(Block block, Data data) { method handleRehash (line 517) | private void handleRehash(String dataFrom, byte[] bytes, Data data) { method addTransactionToSend (line 524) | private void addTransactionToSend(Queued.State state, String to, Trans... method processTransactionsToSend (line 534) | private void processTransactionsToSend(String to) { method addTransactionToRecv (line 555) | private void addTransactionToRecv(Queued.State state, String dataFrom,... method addBlockToRecv (line 565) | private void addBlockToRecv(Queued.State state, String dataFrom, Block... method processTransactionsToRecv (line 575) | private void processTransactionsToRecv(String from) { method addFutureBlockToRecv (line 592) | private void addFutureBlockToRecv(Queued.State state, String dataFrom,... method processFutureBlocksToRecv (line 602) | private void processFutureBlocksToRecv(String from) { class Host (line 615) | private static final class Host { method Host (line 620) | private Host(String ip, int port) { class Queued (line 626) | private static final class Queued { type State (line 628) | private enum State {NEW, ACK, CONFIRM, FUTURE} method Queued (line 635) | private Queued(State state, Transaction transaction, Data data) { method Queued (line 644) | private Queued(State state, Block block, Data data) { class MiningTask (line 654) | public static class MiningTask extends TimerTask { method MiningTask (line 663) | public MiningTask() { method MiningTask (line 669) | public MiningTask(Peer peer, String hex, Block block) { method run (line 679) | @Override method cancel (line 703) | @Override method getWhoisMsg (line 711) | public static final byte[] getWhoisMsg(String name) { method parseWhoisMsg (line 724) | public static final String parseWhoisMsg(byte[] bytes) { method getIamMsg (line 737) | public static final byte[] getIamMsg(byte[] publicKey) { method parseIamMsg (line 750) | public static final byte[] parseIamMsg(byte[] bytes) { method getTransactionMsg (line 763) | public static final byte[] getTransactionMsg(Transaction transaction) { method parseTransactionMsg (line 777) | public static final Transaction parseTransactionMsg(byte[] bytes) { method getTransactionAckMsg (line 788) | public static final byte[] getTransactionAckMsg(Transaction transactio... method parseTransactionAckMsg (line 802) | public static final Transaction parseTransactionAckMsg(byte[] bytes) { method getBlockMsg (line 813) | public static final byte[] getBlockMsg(Block block) { method parseBlockMsg (line 827) | public static final Block parseBlockMsg(byte[] bytes) { method getConfirmationMsg (line 838) | public static final byte[] getConfirmationMsg(Block block) { method parseConfirmationMsg (line 852) | public static final Block parseConfirmationMsg(byte[] bytes) { method getResendBlockMsg (line 863) | public static final byte[] getResendBlockMsg(int blockNumber) { method parseResendBlockMsg (line 874) | public static final int parseResendBlockMsg(byte[] bytes) { method getRehashMsg (line 884) | public static final byte[] getRehashMsg(Block block) { method parseRehashMsg (line 898) | public static final Block parseRehashMsg(byte[] bytes) { method toString (line 912) | @Override FILE: src/com/jwetherell/bitcoin/ProofOfWork.java class ProofOfWork (line 8) | public class ProofOfWork { method getBit (line 10) | private static final byte getBit(int ID, int position) { method solve (line 25) | public static final int solve(MiningTask task, byte[] sha256, long num... method check (line 71) | public static final boolean check(byte[] sha256, int nonce, long numbe... FILE: src/com/jwetherell/bitcoin/Wallet.java class Wallet (line 29) | public class Wallet extends Peer { method compare (line 70) | @Override method Wallet (line 88) | public Wallet(String name) { method getPublicKey (line 100) | @Override method getBlockChain (line 108) | @Override method getBalance (line 113) | public long getBalance() { method newPublicKey (line 120) | @Override method signMsg (line 130) | @Override method verifyMsg (line 140) | @Override method sendCoin (line 146) | public synchronized void sendCoin(String name, int value) { method checkSignature (line 194) | private Constants.Status checkSignature(String dataFrom, byte[] signat... method handleTransaction (line 208) | @Override method handleTransactionAck (line 223) | @Override method getNextBlock (line 236) | private Block getNextBlock(Transaction[] transactions) { method aggegateTransaction (line 250) | @Override method checkTransaction (line 268) | @Override method handleConfirmation (line 285) | @Override method mineHash (line 352) | @Override method toString (line 367) | @Override FILE: src/com/jwetherell/bitcoin/common/Constants.java class Constants (line 3) | public abstract class Constants { type Status (line 5) | public static enum Status { FILE: src/com/jwetherell/bitcoin/common/HashUtils.java class HashUtils (line 6) | public abstract class HashUtils { method calculateSha256 (line 8) | public static final byte[] calculateSha256(String text) { method calculateSha256 (line 18) | public static final byte[] calculateSha256(byte[] utf8Bytes) { method bytesToHex (line 30) | public static final String bytesToHex(byte[] bytes) { FILE: src/com/jwetherell/bitcoin/common/KeyUtils.java class KeyUtils (line 8) | public abstract class KeyUtils { method signMsg (line 10) | public static final byte[] signMsg(Signature enc, byte[] bytes) { method verifyMsg (line 21) | public static final boolean verifyMsg(KeyFactory keyFactory, Signature... FILE: src/com/jwetherell/bitcoin/data_model/Block.java class Block (line 8) | public class Block { method Block (line 26) | public Block() { } method Block (line 28) | public Block(String from, byte[] prevHash, byte[] hash, Transaction[] ... method getBufferLength (line 36) | public int getBufferLength() { method toBuffer (line 50) | public void toBuffer(ByteBuffer buffer) { method fromBuffer (line 73) | public void fromBuffer(ByteBuffer buffer) { method getBoolean (line 109) | private static final char getBoolean(boolean bool) { method parseBoolean (line 113) | private static final boolean parseBoolean(char bool) { method hashCode (line 120) | @Override method equals (line 142) | @Override method toString (line 175) | @Override FILE: src/com/jwetherell/bitcoin/data_model/Data.java class Data (line 8) | public class Data { method Data (line 23) | public Data() { } method Data (line 25) | public Data(String from, String sourceAddr, int sourcePort, method getBufferLength (line 48) | public int getBufferLength() { method toBuffer (line 59) | public void toBuffer(ByteBuffer buffer) { method fromBuffer (line 101) | public void fromBuffer(ByteBuffer buffer) { method equals (line 168) | @Override method toString (line 195) | @Override FILE: src/com/jwetherell/bitcoin/data_model/Transaction.java class Transaction (line 10) | public class Transaction { method Transaction (line 29) | public Transaction() { } method Transaction (line 31) | public Transaction(String from, String to, String header, int value, b... method newSignedTransaction (line 51) | public static final Transaction newSignedTransaction(Signature signature, method updateTimestamp (line 61) | public void updateTimestamp() { method getBufferLength (line 65) | public int getBufferLength() { method toBuffer (line 85) | public void toBuffer(ByteBuffer buffer) { method fromBuffer (line 127) | public void fromBuffer(ByteBuffer buffer) { method hashCode (line 185) | @Override method equals (line 205) | @Override method toString (line 246) | @Override FILE: src/com/jwetherell/bitcoin/interfaces/MessageListener.java type MessageListener (line 3) | public interface MessageListener { method onMessage (line 5) | public void onMessage(Receiver recv); FILE: src/com/jwetherell/bitcoin/interfaces/Receiver.java type Receiver (line 7) | public interface Receiver { method getQueue (line 9) | public Queue getQueue(); method isReady (line 11) | public boolean isReady(); method getHost (line 13) | public String getHost(); method getPort (line 15) | public int getPort(); FILE: src/com/jwetherell/bitcoin/interfaces/Sender.java type Sender (line 7) | public interface Sender { method getQueue (line 9) | public Queue getQueue(); method isReady (line 11) | public boolean isReady(); FILE: src/com/jwetherell/bitcoin/networking/Multicast.java class Multicast (line 19) | public class Multicast { method createReceiver (line 26) | public static MulticastSocket createReceiver() throws IOException { method destoryReceiver (line 35) | public static void destoryReceiver(MulticastSocket s) throws UnknownHo... method recvData (line 47) | public static boolean recvData(MulticastSocket s, byte[] buffer) throw... method createSender (line 60) | public static MulticastSocket createSender() throws IOException { method destroySender (line 68) | public static void destroySender(MulticastSocket s) throws IOException { method sendData (line 76) | public static void sendData(MulticastSocket s, int ourTTL, byte[] buff... class Peer (line 86) | public static final class Peer { class RunnableRecv (line 90) | public static final class RunnableRecv implements Runnable, Receiver { method RunnableRecv (line 99) | public RunnableRecv(MessageListener listener) { method getQueue (line 107) | @Override method isReady (line 115) | @Override method getHost (line 123) | @Override method getPort (line 131) | @Override method run (line 139) | @Override class RunnableSend (line 184) | public static final class RunnableSend implements Runnable, Sender { method RunnableSend (line 194) | public RunnableSend() { method getQueue (line 201) | @Override method isReady (line 209) | @Override method run (line 217) | @Override FILE: src/com/jwetherell/bitcoin/networking/TCP.java class TCP (line 20) | public class TCP { method createServer (line 28) | public static ServerSocket createServer(int port) throws IOException { method destoryServer (line 33) | public static void destoryServer(ServerSocket s) throws IOException { method createClient (line 38) | public static Socket createClient(String host, int port) throws IOExce... method destoryClient (line 43) | public static void destoryClient(Socket s) throws IOException { method sendData (line 48) | public static void sendData(Socket socket, byte[] buffer) throws IOExc... method recvData (line 61) | public static boolean recvData(ServerSocket serverSocket, byte[] buffe... class Peer (line 75) | public static final class Peer { method Peer (line 79) | private Peer() { } class RunnableRecv (line 81) | public static final class RunnableRecv implements Runnable, Receiver { method RunnableRecv (line 91) | public RunnableRecv(MessageListener listener) { method getQueue (line 100) | @Override method isReady (line 108) | @Override method getHost (line 116) | @Override method getPort (line 124) | @Override method run (line 132) | @Override class RunnableSend (line 175) | public static final class RunnableSend implements Runnable, Sender { method RunnableSend (line 183) | public RunnableSend() { method getQueue (line 190) | @Override method isReady (line 198) | @Override method run (line 206) | @Override FILE: src/com/jwetherell/bitcoin/networking/UDP.java class UDP (line 18) | public class UDP { method createServer (line 26) | public static DatagramSocket createServer(int port) throws SocketExcep... method destoryServer (line 31) | public static void destoryServer(DatagramSocket s) { method createClient (line 36) | public static DatagramSocket createClient() throws SocketException { method destoryClient (line 41) | public static void destoryClient(DatagramSocket s) { method sendData (line 46) | public static void sendData(DatagramSocket socket, InetAddress IPAddre... method recvData (line 54) | public static boolean recvData(DatagramSocket socket, byte[] buffer) t... class Peer (line 65) | public static final class Peer { method Peer (line 69) | private Peer() { } class RunnableRecv (line 71) | public static final class RunnableRecv implements Runnable, Receiver { method RunnableRecv (line 81) | public RunnableRecv(MessageListener listener) { method getQueue (line 90) | @Override method isReady (line 98) | @Override method getHost (line 106) | @Override method getPort (line 114) | @Override method run (line 122) | @Override class RunnableSend (line 161) | public static final class RunnableSend implements Runnable, Sender { method RunnableSend (line 169) | public RunnableSend() { method getQueue (line 176) | @Override method isReady (line 184) | @Override method run (line 192) | @Override FILE: src/com/jwetherell/bitcoin/test/AllTest.java class AllTest (line 8) | @RunWith(Suite.class) FILE: src/com/jwetherell/bitcoin/test/BlockChainTest.java class BlockChainTest (line 12) | public class BlockChainTest { method test (line 17) | @Test FILE: src/com/jwetherell/bitcoin/test/BlockTest.java class BlockTest (line 11) | public class BlockTest { method testSerialization (line 17) | @Test FILE: src/com/jwetherell/bitcoin/test/DataTest.java class DataTest (line 10) | public class DataTest { method testSerialization (line 12) | @Test FILE: src/com/jwetherell/bitcoin/test/EncodeDecodeTest.java class EncodeDecodeTest (line 15) | public class EncodeDecodeTest { method test1 (line 17) | @Test method test2 (line 57) | @Test FILE: src/com/jwetherell/bitcoin/test/MulticastTest.java class MulticastTest (line 11) | public class MulticastTest { method test (line 15) | @Test(timeout=5000) method isEquals (line 62) | private static final boolean isEquals(byte[] a, byte[] b, int length) { FILE: src/com/jwetherell/bitcoin/test/PeerTest.java class PeerTest (line 11) | public class PeerTest { method testHello (line 16) | @Test method testWhois (line 25) | @Test method testTransaction (line 34) | @Test method testTransactionAck (line 43) | @Test FILE: src/com/jwetherell/bitcoin/test/ProofOfWorkTest.java class ProofOfWorkTest (line 10) | public class ProofOfWorkTest { method test (line 14) | @Test method test2 (line 24) | @Test FILE: src/com/jwetherell/bitcoin/test/TCPTest.java class TCPTest (line 11) | public class TCPTest { method test (line 15) | @Test(timeout=5000) method isEquals (line 62) | private static final boolean isEquals(byte[] a, byte[] b, int length) { FILE: src/com/jwetherell/bitcoin/test/TransactionTest.java class TransactionTest (line 10) | public class TransactionTest { method testSerialization (line 15) | @Test FILE: src/com/jwetherell/bitcoin/test/UDPTest.java class UDPTest (line 11) | public class UDPTest { method test (line 15) | @Test(timeout=5000) method isEquals (line 62) | private static final boolean isEquals(byte[] a, byte[] b, int length) { FILE: src/com/jwetherell/bitcoin/test/WalletTest.java class WalletTest (line 20) | public class WalletTest { method startGenesis (line 25) | @Before method stopGenersis (line 30) | @After method distributeGenesisCoins (line 36) | private static final void distributeGenesisCoins(Wallet genesis, Walle... method testBadSignature (line 49) | @Test(timeout=10000) method testCoinExchangers2 (line 91) | @Test(timeout=10000) method testCoinExchangers3 (line 126) | @Test(timeout=10000) method testBadHash (line 172) | @Test(timeout=10000) class BadHashWallet (line 225) | private static class BadHashWallet extends Wallet { method BadHashWallet (line 227) | public BadHashWallet(String name) { method getSignature (line 231) | public Signature getSignature() { method getHost (line 235) | public String getHost() { method getPort (line 239) | public int getPort() { method sendBlock (line 244) | public void sendBlock(Block block, Data data) { class BadKeyWallet (line 249) | private static class BadKeyWallet extends Wallet { method BadKeyWallet (line 274) | public BadKeyWallet(String name) { method switchKeys (line 278) | public void switchKeys() { method signMsg (line 282) | @Override