Skip to main content

ResQ.Blockchain.MockNeoClient

MockNeoClient.RecordLocationAttestationAsync(LocationAttestation, CancellationToken) Method

Records a mock location attestation in memory.
public System.Threading.Tasks.Task<ResQ.Blockchain.TransactionResult> RecordLocationAttestationAsync(ResQ.Blockchain.LocationAttestation attestation, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

attestation LocationAttestation The location attestation to record. cancellationToken System.Threading.CancellationToken Cancellation token for the operation. Implements RecordLocationAttestationAsync(LocationAttestation, CancellationToken)

Returns

System.Threading.Tasks.Task<TransactionResult>
A TransactionResult with a generated transaction hash and confirmed status.

Example

var attestation = new LocationAttestation(
    DroneId: "drn-001",
    Latitude: 37.7749,
    Longitude: -122.4194,
    Altitude: 100.0,
    Timestamp: DateTimeOffset.UtcNow,
    Signature: "0x..."
);

var result = await mockClient.RecordLocationAttestationAsync(attestation);
// Logs: "MOCK: Recorded location attestation for drn-001 at (37.7749, -122.4194), TxHash: 0x..."

Remarks

This mock implementation generates a transaction hash and increments the block height, logging the attestation details including drone ID and coordinates.