add validatepubkey RPC call
[novacoin.git] / src / protocol.h
index b70dd71..ed2ca59 100644 (file)
@@ -1,7 +1,7 @@
 // Copyright (c) 2009-2010 Satoshi Nakamoto
 // Copyright (c) 2009-2012 The Bitcoin developers
 // Distributed under the MIT/X11 software license, see the accompanying
-// file license.txt or http://www.opensource.org/licenses/mit-license.php.
+// file COPYING or http://www.opensource.org/licenses/mit-license.php.
 
 #ifndef __cplusplus
 # error This header can only be compiled as C++.
 
 #include "serialize.h"
 #include "netbase.h"
-#include "util.h"
 #include <string>
 #include "uint256.h"
 
+#define PPCOIN_PORT  7777
+#define RPC_PORT     8344
+#define TESTNET_PORT 17777
+
 extern bool fTestNet;
+
+void GetMessageStart(unsigned char pchMessageStart[], bool fPersistent = false);
+
 static inline unsigned short GetDefaultPort(const bool testnet = fTestNet)
 {
-    return testnet ? 18333 : 8333;
+    return testnet ? TESTNET_PORT : PPCOIN_PORT;
 }
 
-//
-// Message header
-//  (4) message start
-//  (12) command
-//  (4) size
-//  (4) checksum
-
-extern unsigned char pchMessageStart[4];
 
+/** Message header.
+ * (4) message start.
+ * (12) command.
+ * (4) size.
+ * (4) checksum.
+ */
 class CMessageHeader
 {
     public:
@@ -51,17 +55,19 @@ class CMessageHeader
     // TODO: make private (improves encapsulation)
     public:
         enum { COMMAND_SIZE=12 };
-        char pchMessageStart[sizeof(::pchMessageStart)];
+        unsigned char pchMessageStart[4];
         char pchCommand[COMMAND_SIZE];
         unsigned int nMessageSize;
         unsigned int nChecksum;
 };
 
+/** nServices flags */
 enum
 {
     NODE_NETWORK = (1 << 0),
 };
 
+/** A CService with information about it as peer */
 class CAddress : public CService
 {
     public:
@@ -77,9 +83,10 @@ class CAddress : public CService
              if (fRead)
                  pthis->Init();
              if (nType & SER_DISK)
-             READWRITE(nVersion);
-             if ((nType & SER_DISK) || (nVersion >= 31402 && !(nType & SER_GETHASH)))
-             READWRITE(nTime);
+                 READWRITE(nVersion);
+             if ((nType & SER_DISK) ||
+                 (nVersion >= CADDR_TIME_VERSION && !(nType & SER_GETHASH)))
+                 READWRITE(nTime);
              READWRITE(nServices);
              READWRITE(*pip);
             )
@@ -94,9 +101,10 @@ class CAddress : public CService
         unsigned int nTime;
 
         // memory only
-        unsigned int nLastTry;
+        int64 nLastTry;
 };
 
+/** inv message data */
 class CInv
 {
     public: