Sfoglia il codice sorgente

darkfid/rpc_tx: all nodes append a tx to their mempool

skoupidi 8 mesi fa
parent
commit
334c90e45d
1 ha cambiato i file con 7 aggiunte e 14 eliminazioni
  1. 7 14
      bin/darkfid/src/rpc_tx.rs

+ 7 - 14
bin/darkfid/src/rpc_tx.rs

@@ -83,10 +83,11 @@ impl DarkfiNode {
     }
 
     // RPCAPI:
-    // Broadcast a given transaction to the P2P network.
-    // The function will first simulate the state transition in order to see
-    // if the transaction is actually valid, and in turn it will return an
-    // error if this is the case. Otherwise, a transaction ID will be returned.
+    // Append a given transaction to the mempool and broadcast it to
+    // the P2P network. The function will first simulate the state
+    // transition in order to see if the transaction is actually valid,
+    // and in turn it will return an error if this is the case.
+    // Otherwise, a transaction ID will be returned.
     //
     // --> {"jsonrpc": "2.0", "method": "tx.broadcast", "params": ["base64encodedTX"], "id": 1}
     // <-- {"jsonrpc": "2.0", "result": "txID...", "id": 1}
@@ -119,17 +120,9 @@ impl DarkfiNode {
             }
         };
 
-        // Block production participants can directly perform
-        // the state transition check and append to their
-        // pending transactions store.
-        let error_message = if self.rpc_client.is_some() {
-            "Failed to append transaction to mempool"
-        } else {
-            "Failed to validate state transition"
-        };
         // We'll perform the state transition check here.
-        if let Err(e) = self.validator.append_tx(&tx, self.rpc_client.is_some()).await {
-            error!(target: "darkfid::rpc::tx_broadcast", "{error_message}: {e}");
+        if let Err(e) = self.validator.append_tx(&tx, true).await {
+            error!(target: "darkfid::rpc::tx_broadcast", "Failed to append transaction to mempool: {e}");
             return server_error(RpcError::TxSimulationFail, id, None)
         };