]> Git Repo - VerusCoin.git/commitdiff
Improve inter-daemon connectivity
authormiketout <[email protected]>
Mon, 8 Mar 2021 22:04:55 +0000 (14:04 -0800)
committermiketout <[email protected]>
Mon, 8 Mar 2021 22:04:55 +0000 (14:04 -0800)
src/komodo_utils.h
src/pbaas/pbaas.cpp
src/rpc/pbaasrpc.cpp
src/util.cpp

index 37c78156c24d7c834e013b5c4240d039d77133f8..30569fd9f8d7b8c7a9b2295060f67e4666645ed9 100644 (file)
@@ -1875,14 +1875,14 @@ void komodo_args(char *argv0)
     }
     else
     {
+        map<string, string> settings;
+        map<string, vector<string>> settingsmulti;
+
         // this is a PBaaS chain, so look for an installation on the local file system or check the Verus daemon if it's running
         // printf("Reading config file for %s\n", name.c_str());
         name = boost::to_lower_copy(name);
         if (!ReadConfigFile(name, mapArgs, mapMultiArgs))
         {
-            map<string, string> settings;
-            map<string, vector<string>> settingsmulti;
-
             // if we are requested to automatically load the information from the Verus chain, do it if we can find the daemon
             if (ReadConfigFile(PBAAS_TESTMODE ? "VRSCTEST" : "VRSC", settings, settingsmulti))
             {
@@ -1938,6 +1938,25 @@ void komodo_args(char *argv0)
                 exit(1);
             }
         }
+        else
+        {
+            // if we are requested to automatically load the information from the Verus chain, do it if we can find the daemon
+            if (ReadConfigFile(PBAAS_TESTMODE ? "VRSCTEST" : "VRSC", settings, settingsmulti))
+            {
+                auto user = settingsmulti.find("-rpcuser");
+                auto pwd = settingsmulti.find("-rpcpassword");
+                auto host = settingsmulti.find("-rpchost");
+                auto port = settingsmulti.find("-rpcport");
+                auto multiEnd = settingsmulti.end();
+                PBAAS_USERPASS = (user == multiEnd ? "" : user->second[0]) + ":" + ((pwd == multiEnd) ? "" : pwd->second[0]);
+                PBAAS_PORT = port == multiEnd ? 0 : atoi(port->second[0]);
+                PBAAS_HOST = host == multiEnd ? "" : host->second[0];
+                if (!PBAAS_HOST.size())
+                {
+                    PBAAS_HOST = "127.0.0.1";
+                }
+            }
+        }
     }
 
     VERUS_CHAINNAME = PBAAS_TESTMODE ? "VRSCTEST" : "VRSC";
index 03c5bd6a21317354c1904d3b44883dfe0c63ba8b..99f229cfd326249079b39709b933ed1292a37dc2 100644 (file)
@@ -20,7 +20,8 @@ CConnectedChains ConnectedChains;
 
 bool IsVerusActive()
 {
-    return (strcmp(ASSETCHAINS_SYMBOL, "VRSC") == 0 || strcmp(ASSETCHAINS_SYMBOL, "VRSCTEST") == 0);
+    std::string normalName = boost::to_lower_copy(std::string(ASSETCHAINS_SYMBOL));
+    return normalName == "vrsc" || normalName == "vrsctest";
 }
 
 bool IsVerusMainnetActive()
index 6060b0b65988524e51800bc44b2b02e295d5ddd7..8533a263b6f9e47067ccf232d527597948d671ec 100644 (file)
@@ -302,11 +302,15 @@ bool SetThisChain(const UniValue &chainDefinition)
     }
     SetPeerNodes(find_value(chainDefinition, "nodes"));
 
+    memset(ASSETCHAINS_SYMBOL, 0, sizeof(ASSETCHAINS_SYMBOL));
+    assert(ConnectedChains.ThisChain().name.size() < sizeof(ASSETCHAINS_SYMBOL));
+    strcpy(ASSETCHAINS_SYMBOL, ConnectedChains.ThisChain().name.c_str());
+
     if (!IsVerusActive())
     {
         CCurrencyDefinition notaryChainDef;
         // we set the notary chain to either Verus or VerusTest
-        notaryChainDef.nVersion = PBAAS_VERSION;
+        notaryChainDef.nVersion = CCurrencyDefinition::VERSION_CURRENT;
         if (PBAAS_TESTMODE)
         {
             // setup Verus test parameters
@@ -350,10 +354,6 @@ bool SetThisChain(const UniValue &chainDefinition)
         ConnectedChains.ThisChain().systemID = ConnectedChains.ThisChain().GetID();   
     }
 
-    memset(ASSETCHAINS_SYMBOL, 0, sizeof(ASSETCHAINS_SYMBOL));
-    assert(ConnectedChains.ThisChain().name.size() < sizeof(ASSETCHAINS_SYMBOL));
-    strcpy(ASSETCHAINS_SYMBOL, ConnectedChains.ThisChain().name.c_str());
-
     auto numEras = ConnectedChains.ThisChain().rewards.size();
     ASSETCHAINS_LASTERA = numEras - 1;
     mapArgs["-ac_eras"] = to_string(numEras);
@@ -504,10 +504,10 @@ bool CConnectedChains::GetNotaryIDs(const CRPCChainData notaryChain, const std::
 
         if (!result.isNull())
         {
-            oneDef = CIdentity(result);
+            oneDef = CIdentity(find_value(result, "identity"));
         }
 
-        if (result.isNull() || !oneDef.IsValid())
+        if (!oneDef.IsValid())
         {
             // no matter what happens, we should be able to get a valid currency state of some sort, if not, fail
             LogPrintf("Unable to get identity for %s\n", EncodeDestination(CIdentityID(curID)).c_str());
index cd9fb66a888672982314d225673410a5de150a41..5d83adcf428af9f2d37d7e254c386fffab63c2da 100644 (file)
@@ -120,7 +120,8 @@ extern char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN];
 
 bool _IsVerusActive()
 {
-    return (strcmp(ASSETCHAINS_SYMBOL, "VRSC") == 0 || strcmp(ASSETCHAINS_SYMBOL, "VRSCTEST") == 0);
+    std::string normalName = boost::to_lower_copy(std::string(ASSETCHAINS_SYMBOL));
+    return normalName == "vrsc" || normalName == "vrsctest";
 }
 
 bool _IsVerusMainnetActive()
This page took 0.04708 seconds and 4 git commands to generate.