|
@@ -547,8 +547,8 @@ begin
|
|
|
New(P);
|
|
|
P^.SentDateTime := now;
|
|
|
P^.SentMinTimestamp := TNetData.NetData.NetworkAdjustedTime.GetAdjustedTime;
|
|
|
- if (P^.SentMinTimestamp<FNodeNotifyEvents.Node.Bank.LastBlockFound.OperationBlock.timestamp) then begin
|
|
|
- P^.SentMinTimestamp := FNodeNotifyEvents.Node.Bank.LastBlockFound.OperationBlock.timestamp;
|
|
|
+ if (P^.SentMinTimestamp<FNodeNotifyEvents.Node.Bank.LastOperationBlock.timestamp) then begin
|
|
|
+ P^.SentMinTimestamp := FNodeNotifyEvents.Node.Bank.LastOperationBlock.timestamp;
|
|
|
end;
|
|
|
FillMinerOperations;
|
|
|
P^.OperationsComp := TPCOperationsComp.Create(Nil);
|
|
@@ -557,9 +557,9 @@ begin
|
|
|
P^.OperationsComp.BlockPayload := FMinerPayload;
|
|
|
P^.OperationsComp.timestamp := P^.SentMinTimestamp; // Best practices 1.5.3
|
|
|
OpB := P^.OperationsComp.OperationBlock;
|
|
|
- if (OpB.block<>0) And (OpB.block <> (FNodeNotifyEvents.Node.Bank.LastBlockFound.OperationBlock.block+1)) then begin
|
|
|
+ if (OpB.block<>0) And (OpB.block <> (FNodeNotifyEvents.Node.Bank.LastOperationBlock.block+1)) then begin
|
|
|
// A new block is generated meanwhile ... do not include
|
|
|
- TLog.NewLog(ltDebug,ClassName,'Generated a new block meanwhile ... '+TPCOperationsComp.OperationBlockToText(OpB)+'<>'+TPCOperationsComp.OperationBlockToText(FNodeNotifyEvents.Node.Bank.LastBlockFound.OperationBlock));
|
|
|
+ TLog.NewLog(ltDebug,ClassName,'Generated a new block meanwhile ... '+TPCOperationsComp.OperationBlockToText(OpB)+'<>'+TPCOperationsComp.OperationBlockToText(FNodeNotifyEvents.Node.Bank.LastOperationBlock));
|
|
|
P^.OperationsComp.Free;
|
|
|
Dispose(P);
|
|
|
P := Nil;
|
|
@@ -677,19 +677,19 @@ begin
|
|
|
if method=CT_PoolMining_Method_STATUS then begin
|
|
|
response_result := TPCJSONObject.Create;
|
|
|
Try
|
|
|
- response_result.GetAsVariant('block').Value := FNodeNotifyEvents.Node.Bank.LastBlockFound.OperationBlock.block;
|
|
|
- response_result.GetAsVariant('account_key').Value := TCrypto.ToHexaString( TAccountComp.AccountKey2RawString(FNodeNotifyEvents.Node.Bank.LastBlockFound.OperationBlock.account_key) );
|
|
|
- response_result.GetAsVariant('reward').Value := FNodeNotifyEvents.Node.Bank.LastBlockFound.OperationBlock.reward;
|
|
|
- response_result.GetAsVariant('fee').Value := FNodeNotifyEvents.Node.Bank.LastBlockFound.OperationBlock.fee;
|
|
|
- response_result.GetAsVariant('p_version').Value := FNodeNotifyEvents.Node.Bank.LastBlockFound.OperationBlock.protocol_version;
|
|
|
- response_result.GetAsVariant('p_available').Value := FNodeNotifyEvents.Node.Bank.LastBlockFound.OperationBlock.protocol_available;
|
|
|
- response_result.GetAsVariant('timestamp').Value := FNodeNotifyEvents.Node.Bank.LastBlockFound.OperationBlock.timestamp;
|
|
|
- response_result.GetAsVariant('target').Value := FNodeNotifyEvents.Node.Bank.LastBlockFound.OperationBlock.compact_target;
|
|
|
- response_result.GetAsVariant('nonce').Value := FNodeNotifyEvents.Node.Bank.LastBlockFound.OperationBlock.nonce;
|
|
|
- response_result.GetAsVariant('payload').Value := TCrypto.ToHexaString( FNodeNotifyEvents.Node.Bank.LastBlockFound.OperationBlock.block_payload );
|
|
|
- response_result.GetAsVariant('initial_sbh').Value := TCrypto.ToHexaString( FNodeNotifyEvents.Node.Bank.LastBlockFound.OperationBlock.initial_safe_box_hash );
|
|
|
- response_result.GetAsVariant('operations_hash').Value := TCrypto.ToHexaString( FNodeNotifyEvents.Node.Bank.LastBlockFound.OperationBlock.operations_hash );
|
|
|
- response_result.GetAsVariant('pow').Value := TCrypto.ToHexaString( FNodeNotifyEvents.Node.Bank.LastBlockFound.OperationBlock.proof_of_work );
|
|
|
+ response_result.GetAsVariant('block').Value := FNodeNotifyEvents.Node.Bank.LastOperationBlock.block;
|
|
|
+ response_result.GetAsVariant('account_key').Value := TCrypto.ToHexaString( TAccountComp.AccountKey2RawString(FNodeNotifyEvents.Node.Bank.LastOperationBlock.account_key) );
|
|
|
+ response_result.GetAsVariant('reward').Value := FNodeNotifyEvents.Node.Bank.LastOperationBlock.reward;
|
|
|
+ response_result.GetAsVariant('fee').Value := FNodeNotifyEvents.Node.Bank.LastOperationBlock.fee;
|
|
|
+ response_result.GetAsVariant('p_version').Value := FNodeNotifyEvents.Node.Bank.LastOperationBlock.protocol_version;
|
|
|
+ response_result.GetAsVariant('p_available').Value := FNodeNotifyEvents.Node.Bank.LastOperationBlock.protocol_available;
|
|
|
+ response_result.GetAsVariant('timestamp').Value := FNodeNotifyEvents.Node.Bank.LastOperationBlock.timestamp;
|
|
|
+ response_result.GetAsVariant('target').Value := FNodeNotifyEvents.Node.Bank.LastOperationBlock.compact_target;
|
|
|
+ response_result.GetAsVariant('nonce').Value := FNodeNotifyEvents.Node.Bank.LastOperationBlock.nonce;
|
|
|
+ response_result.GetAsVariant('payload').Value := TCrypto.ToHexaString( FNodeNotifyEvents.Node.Bank.LastOperationBlock.block_payload );
|
|
|
+ response_result.GetAsVariant('initial_sbh').Value := TCrypto.ToHexaString( FNodeNotifyEvents.Node.Bank.LastOperationBlock.initial_safe_box_hash );
|
|
|
+ response_result.GetAsVariant('operations_hash').Value := TCrypto.ToHexaString( FNodeNotifyEvents.Node.Bank.LastOperationBlock.operations_hash );
|
|
|
+ response_result.GetAsVariant('pow').Value := TCrypto.ToHexaString( FNodeNotifyEvents.Node.Bank.LastOperationBlock.proof_of_work );
|
|
|
Client.SendJSONRPCResponse(response_result,id_value);
|
|
|
Finally
|
|
|
response_result.Free;
|
|
@@ -931,8 +931,8 @@ begin
|
|
|
New(P);
|
|
|
P^.SentDateTime := now;
|
|
|
P^.SentMinTimestamp := TNetData.NetData.NetworkAdjustedTime.GetAdjustedTime;
|
|
|
- if (P^.SentMinTimestamp<FNodeNotifyEvents.Node.Bank.LastBlockFound.OperationBlock.timestamp) then begin
|
|
|
- P^.SentMinTimestamp := FNodeNotifyEvents.Node.Bank.LastBlockFound.OperationBlock.timestamp;
|
|
|
+ if (P^.SentMinTimestamp<FNodeNotifyEvents.Node.Bank.LastOperationBlock.timestamp) then begin
|
|
|
+ P^.SentMinTimestamp := FNodeNotifyEvents.Node.Bank.LastOperationBlock.timestamp;
|
|
|
end;
|
|
|
FillMinerOperations;
|
|
|
P^.OperationsComp := TPCOperationsComp.Create(Nil);
|
|
@@ -940,8 +940,8 @@ begin
|
|
|
P^.OperationsComp.AccountKey := FMinerAccountKey;
|
|
|
P^.OperationsComp.BlockPayload := FMinerPayload;
|
|
|
P^.OperationsComp.timestamp := P^.SentMinTimestamp; // Best practices 1.5.3
|
|
|
- if (P^.OperationsComp.OperationBlock.block<>0) And (P^.OperationsComp.OperationBlock.block <> (FNodeNotifyEvents.Node.Bank.LastBlockFound.OperationBlock.block+1)) then begin
|
|
|
- TLog.NewLog(ltError,ClassName,'ERROR DEV 20170228-2 '+TPCOperationsComp.OperationBlockToText(P^.OperationsComp.OperationBlock)+'<>'+TPCOperationsComp.OperationBlockToText(FNodeNotifyEvents.Node.Bank.LastBlockFound.OperationBlock));
|
|
|
+ if (P^.OperationsComp.OperationBlock.block<>0) And (P^.OperationsComp.OperationBlock.block <> (FNodeNotifyEvents.Node.Bank.LastOperationBlock.block+1)) then begin
|
|
|
+ TLog.NewLog(ltError,ClassName,'ERROR DEV 20170228-2 '+TPCOperationsComp.OperationBlockToText(P^.OperationsComp.OperationBlock)+'<>'+TPCOperationsComp.OperationBlockToText(FNodeNotifyEvents.Node.Bank.LastOperationBlock));
|
|
|
P^.OperationsComp.Free;
|
|
|
Dispose(P);
|
|
|
raise Exception.Create('ERROR DEV 20170228-2');
|
|
@@ -972,8 +972,8 @@ begin
|
|
|
params.GetAsVariant('target_pow').Value := TCrypto.ToHexaString(TPascalCoinProtocol.TargetFromCompact(Operations.OperationBlock.compact_target,Operations.OperationBlock.protocol_version));
|
|
|
|
|
|
ts := TNetData.NetData.NetworkAdjustedTime.GetAdjustedTime;
|
|
|
- if (ts<FNodeNotifyEvents.Node.Bank.LastBlockFound.OperationBlock.timestamp) then begin
|
|
|
- ts := FNodeNotifyEvents.Node.Bank.LastBlockFound.OperationBlock.timestamp;
|
|
|
+ if (ts<FNodeNotifyEvents.Node.Bank.LastOperationBlock.timestamp) then begin
|
|
|
+ ts := FNodeNotifyEvents.Node.Bank.LastOperationBlock.timestamp;
|
|
|
end;
|
|
|
params.GetAsVariant('timestamp').Value := ts;
|
|
|
|