Skip to content

geoprobe: shared library — LocationOffset types, signing, and UDP transport #2898

@nikw9944

Description

@nikw9944

RFC Reference: rfc16-geolocation-verification.md — LocationOffset struct, Offset signing
Tracking issue: #2893

Goal

Create the shared Go package that all three Phase 1 binaries depend on: LocationOffset type definitions, Ed25519 offset signing/verification, and UDP offset transport.

Scope

  • New package controlplane/telemetry/internal/geoprobe/
  • offset.go: LocationOffset struct (matching RFC definition — signature, pubkey, measurement slot, lat/lng, RTT fields, references chain), serialization/deserialization
  • signer.go: Ed25519 offset signing (wrapping existing solana.PrivateKey patterns from internal/state/signer.go), signature verification
  • transport.go: UDP send/receive helpers for LocationOffset datagrams
  • Unit tests for signing round-trip, serialization round-trip, verification of invalid signatures

Files to create

  • controlplane/telemetry/internal/geoprobe/offset.go
  • controlplane/telemetry/internal/geoprobe/signer.go
  • controlplane/telemetry/internal/geoprobe/transport.go
  • controlplane/telemetry/internal/geoprobe/offset_test.go
  • controlplane/telemetry/internal/geoprobe/signer_test.go

Estimated scope

Small–Medium (~200–300 lines)

Dependencies

None — this is the foundation issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions