]> git.mxchange.org Git - hub.git/blobdiff - application/hub/classes/package/class_NetworkPackage.php
Continued:
[hub.git] / application / hub / classes / package / class_NetworkPackage.php
index af1de4a2a5319b5d33b080685f8b509014039550..620e147281695a5e14b192657ddfef5c0e89ee51 100644 (file)
@@ -117,11 +117,12 @@ class NetworkPackage extends BaseHubSystem implements Deliverable, Receivable, R
        /**
         * Constants for message data array
         */
-       const MESSAGE_ARRAY_DATA   = 'message_data';
-       const MESSAGE_ARRAY_TYPE   = 'message_type';
-       const MESSAGE_ARRAY_SENDER = 'message_sender';
-       const MESSAGE_ARRAY_HASH   = 'message_hash';
-       const MESSAGE_ARRAY_TAGS   = 'message_tags';
+       const MESSAGE_ARRAY_DATA         = 'message_data';
+       const MESSAGE_ARRAY_TYPE         = 'message_type';
+       const MESSAGE_ARRAY_SENDER       = 'message_sender';
+       const MESSAGE_ARRAY_HASH         = 'message_hash';
+       const MESSAGE_ARRAY_TAGS         = 'message_tags';
+       const MESSAGE_ARRAY_DATA_NODE_ID = 'node-id';
 
        /**
         * Generic answer status field
@@ -1468,7 +1469,14 @@ class NetworkPackage extends BaseHubSystem implements Deliverable, Receivable, R
                // Make sure the required elements are there
                assert(isset($messageData[self::MESSAGE_ARRAY_SENDER]));
                assert(isset($messageData[self::MESSAGE_ARRAY_HASH]));
-               assert(isset($messageData[self::MESSAGE_ARRAY_TAGS]));
+               assert(isset($messageData[self::MESSAGE_ARRAY_DATA][self::MESSAGE_ARRAY_DATA_NODE_ID]));
+
+               // Copy node id
+               $messageData[self::MESSAGE_ARRAY_DATA_NODE_ID] = $messageData[self::MESSAGE_ARRAY_DATA][self::MESSAGE_ARRAY_DATA_NODE_ID];
+
+               // Let's get rid of some fields that is not needed by the miner:
+               unset($messageData[self::MESSAGE_ARRAY_TYPE]);
+               unset($messageData[self::MESSAGE_ARRAY_DATA]);
 
                // Debug message
                /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('NETWORK-PACKAGE[' . __METHOD__ . ':' . __LINE__ . ']: messageData=' . print_r($messageData, TRUE));
@@ -1477,7 +1485,7 @@ class NetworkPackage extends BaseHubSystem implements Deliverable, Receivable, R
                $nodeId = HubTools::resolveNodeIdBySessionId($messageData[self::MESSAGE_ARRAY_SENDER]);
 
                // Is 'claim_reward' the message type?
-               if (in_array('claim_reward', $messageData[self::MESSAGE_ARRAY_TAGS])) {
+               if (in_array(BaseTag::TAG_CLAIM_MINING_REWARD, $messageData[self::MESSAGE_ARRAY_TAGS])) {
                        /*
                         * Then don't feed this message to the miner as this causes an
                         * endless loop of mining.
@@ -1485,6 +1493,9 @@ class NetworkPackage extends BaseHubSystem implements Deliverable, Receivable, R
                        return;
                } // END - if
 
+               // Also remove tags as the miner don't need this.
+               unset($messageData[self::MESSAGE_ARRAY_TAGS]);
+
                $this->partialStub('@TODO nodeId=' . $nodeId . ',messageData=' . print_r($messageData, TRUE));
        }
 }