]> Git Repo - VerusCoin.git/blobdiff - src/komodo_globals.h
Testnet fixes
[VerusCoin.git] / src / komodo_globals.h
index f37573e04427665be78871dc1dc8028b20d0c49d..6956f1893eefa25eff2b2d003fbe544d1b531eae 100644 (file)
@@ -13,7 +13,7 @@
  *                                                                            *
  ******************************************************************************/
 
-#include "komodo_defs.h"
+#include "komodo_structs.h"
 
 void komodo_prefetch(FILE *fp);
 uint32_t komodo_heightstamp(int32_t height);
@@ -33,7 +33,6 @@ int32_t komodo_bannedset(int32_t *indallvoutsp,uint256 *array,int32_t max);
 pthread_mutex_t komodo_mutex;
 
 #define KOMODO_ELECTION_GAP 2000    //((ASSETCHAINS_SYMBOL[0] == 0) ? 2000 : 100)
-#define IGUANA_MAXSCRIPTSIZE 10001
 #define KOMODO_ASSETCHAIN_MAXLEN 65
 
 struct pax_transaction *PAX;
@@ -45,28 +44,42 @@ struct komodo_state KOMODO_STATES[34];
 #define _COINBASE_MATURITY 100
 int COINBASE_MATURITY = _COINBASE_MATURITY;//100;
 
-int32_t IS_KOMODO_NOTARY,USE_EXTERNAL_PUBKEY,KOMODO_CHOSEN_ONE,ASSETCHAINS_SEED,KOMODO_ON_DEMAND,KOMODO_EXTERNAL_NOTARIES,KOMODO_PASSPORT_INITDONE,KOMODO_PAX,KOMODO_EXCHANGEWALLET,KOMODO_REWIND;
-int32_t KOMODO_LASTMINED,prevKOMODO_LASTMINED,JUMBLR_PAUSE = 1;
-std::string NOTARY_PUBKEY,ASSETCHAINS_NOTARIES,ASSETCHAINS_OVERRIDE_PUBKEY;
-uint8_t NOTARY_PUBKEY33[33],ASSETCHAINS_OVERRIDE_PUBKEY33[33];
+int32_t KOMODO_MININGTHREADS = 0,IS_KOMODO_NOTARY,USE_EXTERNAL_PUBKEY,KOMODO_CHOSEN_ONE,KOMODO_ON_DEMAND,KOMODO_EXTERNAL_NOTARIES,KOMODO_PASSPORT_INITDONE,KOMODO_PAX,KOMODO_EXCHANGEWALLET,KOMODO_REWIND,KOMODO_CONNECTING = -1;
+int32_t KOMODO_INSYNC,KOMODO_LASTMINED,prevKOMODO_LASTMINED,KOMODO_CCACTIVATE,JUMBLR_PAUSE = 1;
+std::string NOTARY_PUBKEY,ASSETCHAINS_NOTARIES,ASSETCHAINS_OVERRIDE_PUBKEY,DONATION_PUBKEY;
+uint8_t NOTARY_PUBKEY33[33],ASSETCHAINS_OVERRIDE_PUBKEY33[33],ASSETCHAINS_PUBLIC,ASSETCHAINS_PRIVATE;
+bool VERUS_MINTBLOCKS;
 
-char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN],ASSETCHAINS_USERPASS[4096];
+char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN], ASSETCHAINS_USERPASS[4096];
+
+bool PBAAS_TESTMODE;
+std::string PBAAS_HOST;
+int32_t PBAAS_PORT;
+std::string PBAAS_USERPASS;
+std::string ASSETCHAINS_RPCHOST, ASSETCHAINS_RPCCREDENTIALS;
+
+uint160 ASSETCHAINS_CHAINID;
+uint160 VERUS_CHAINID;
+std::string VERUS_CHAINNAME = "VRSC";
 uint16_t ASSETCHAINS_P2PPORT,ASSETCHAINS_RPCPORT;
-uint32_t ASSETCHAIN_INIT,ASSETCHAINS_CC;
+uint32_t ASSETCHAIN_INIT,ASSETCHAINS_CC,KOMODO_STOPAT;
 uint32_t ASSETCHAINS_MAGIC = 2387029918;
 int64_t ASSETCHAINS_GENESISTXVAL = 5000000000;
 
+int64_t MAX_MONEY = 200000000 * 100000000LL;
+int64_t MAX_SUPPLY = 50000000000LL * 100000000LL;
+
 // consensus variables for coinbase timelock control and timelock transaction support
 // time locks are specified enough to enable their use initially to lock specific coinbase transactions for emission control
 // to be verifiable, timelocks require additional data that enables them to be validated and their ownership and
 // release time determined from the blockchain. to do this, every time locked output according to this
 // spec will use an op_return with CLTV at front and anything after |OP_RETURN|PUSH of rest|OPRETTYPE_TIMELOCK|script|
-#define _ASSETCHAINS_TIMELOCKOFF -1
-int64_t ASSETCHAINS_TIMELOCKGTE = _ASSETCHAINS_TIMELOCKOFF;
-uint64_t ASSETCHAINS_TIMEUNLOCKFROM = 0, ASSETCHAINS_TIMEUNLOCKTO = 0;
+#define _ASSETCHAINS_TIMELOCKOFF 0xffffffffffffffff
+uint64_t ASSETCHAINS_TIMELOCKGTE = _ASSETCHAINS_TIMELOCKOFF, ASSETCHAINS_TIMEUNLOCKFROM = 0, ASSETCHAINS_TIMEUNLOCKTO = 0;
 
 uint32_t ASSETCHAINS_LASTERA = 1;
 uint64_t ASSETCHAINS_ENDSUBSIDY[ASSETCHAINS_MAX_ERAS],ASSETCHAINS_REWARD[ASSETCHAINS_MAX_ERAS],ASSETCHAINS_HALVING[ASSETCHAINS_MAX_ERAS],ASSETCHAINS_DECAY[ASSETCHAINS_MAX_ERAS];
+uint64_t ASSETCHAINS_ERAOPTIONS[ASSETCHAINS_MAX_ERAS];
 
 #define _ASSETCHAINS_EQUIHASH 0
 uint32_t ASSETCHAINS_NUMALGOS = 2;
@@ -75,21 +88,27 @@ uint32_t ASSETCHAINS_VERUSHASH = 1;
 const char *ASSETCHAINS_ALGORITHMS[] = {"equihash", "verushash"};
 uint64_t ASSETCHAINS_NONCEMASK[] = {0xffff,0xfffffff};
 uint32_t ASSETCHAINS_NONCESHIFT[] = {32,16};
-uint32_t ASSETCHAINS_HASHESPERROUND[] = {1,4096};
+uint32_t ASSETCHAINS_HASHESPERROUND[] = {1,0x10000};
 uint32_t ASSETCHAINS_ALGO = _ASSETCHAINS_EQUIHASH;
 
 // Verus proof of stake controls
 int32_t ASSETCHAINS_LWMAPOS = 0;        // percentage of blocks should be PoS
 int32_t VERUS_BLOCK_POSUNITS = 1024;    // one block is 1000 units
 int32_t VERUS_MIN_STAKEAGE = 150;       // 1/2 this should also be a cap on the POS averaging window, or startup could be too easy
-int32_t VERUS_CONSECUTIVE_POS_THRESHOLD = 7;
+int32_t VERUS_CONSECUTIVE_POS_THRESHOLD = 7;    // this gives us 8 in a row
+int32_t VERUS_V2_CONSECUTIVE_POS_THRESHOLD = 5; // reduce to max 5 in a row
 int32_t VERUS_NOPOS_THRESHHOLD = 150;   // if we have no POS blocks in this many blocks, set to default difficulty
+int32_t PBAAS_STARTBLOCK = 0;           // the parent blockchain must be notarized at this value in block 1 for it to be accepted
+int32_t PBAAS_ENDBLOCK = 0;             // end of life block for the PBaaS blockchain
+
+int32_t ASSETCHAINS_SAPLING;
+int32_t ASSETCHAINS_OVERWINTER;
 
 uint64_t KOMODO_INTERESTSUM,KOMODO_WALLETBALANCE;
-uint64_t ASSETCHAINS_COMMISSION,ASSETCHAINS_STAKED,ASSETCHAINS_SUPPLY = 10;
+uint64_t ASSETCHAINS_COMMISSION, ASSETCHAINS_STAKED, ASSETCHAINS_SUPPLY = 10;
 
 uint32_t KOMODO_INITDONE;
-char KMDUSERPASS[4096],BTCUSERPASS[4096]; uint16_t KMD_PORT = 7771,BITCOIND_RPCPORT = 7771;
+char KMDUSERPASS[8192],BTCUSERPASS[8192]; uint16_t KMD_PORT = 7771,BITCOIND_RPCPORT = 7771;
 uint64_t PENDING_KOMODO_TX;
 extern int32_t KOMODO_LOADINGBLOCKS;
 unsigned int MAX_BLOCK_SIGOPS = 20000;
@@ -128,7 +147,7 @@ int64_t komodo_current_supply(uint32_t nHeight)
     else 
     {
         // figure out max_money by adding up supply to a maximum of 10,000,000 blocks
-        cur_money = (ASSETCHAINS_SUPPLY+1) * SATOSHIDEN + (ASSETCHAINS_MAGIC & 0xffffff) + ASSETCHAINS_GENESISTXVAL;
+        cur_money = (ASSETCHAINS_SUPPLY+1) + (ASSETCHAINS_MAGIC & 0xffffff) + ASSETCHAINS_GENESISTXVAL;
         if ( ASSETCHAINS_LASTERA == 0 && ASSETCHAINS_REWARD[0] == 0 )
         {
             cur_money += (nHeight * 10000) / SATOSHIDEN;
@@ -149,6 +168,10 @@ int64_t komodo_current_supply(uint32_t nHeight)
                     uint64_t lastEnd = j == 0 ? 0 : ASSETCHAINS_ENDSUBSIDY[j - 1];
                     uint64_t curEnd = ASSETCHAINS_ENDSUBSIDY[j] == 0 ? nHeight : nHeight > ASSETCHAINS_ENDSUBSIDY[j] ? ASSETCHAINS_ENDSUBSIDY[j] : nHeight;
                     uint64_t period = ASSETCHAINS_HALVING[j];
+                    if (period == 0)
+                    {
+                        period = curEnd - lastEnd;
+                    }
                     uint32_t nSteps = (curEnd - lastEnd) / period;
                     uint32_t modulo = (curEnd - lastEnd) % period;
                     uint64_t decay = ASSETCHAINS_DECAY[j];
@@ -233,6 +256,15 @@ int64_t komodo_current_supply(uint32_t nHeight)
                     }
                     else
                     {
+                        if (period == 0)
+                        {
+
+                        }
+                        else
+                        {
+                            /* code */
+                        }
+                        
                         for ( int k = lastEnd; k < curEnd; k += period )
                         {
                             cur_money += period * reward;
This page took 0.025278 seconds and 4 git commands to generate.