From dbd36374b22cc7f1d6bcc83c9a1eb7beb89619b4 Mon Sep 17 00:00:00 2001 From: Snider Date: Sat, 3 Jan 2026 16:00:41 +0000 Subject: [PATCH] Add SendEthicalPacket method for secure packet sending Implemented SendEthicalPacket method to send packets securely using a shared secret. --- pkg/node/peer.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/pkg/node/peer.go b/pkg/node/peer.go index f616078..4c76962 100644 --- a/pkg/node/peer.go +++ b/pkg/node/peer.go @@ -704,3 +704,25 @@ func (r *PeerRegistry) load() error { return nil } + +// Example usage inside a connection handler +func (n *NodeManager) SendEthicalPacket(peerID string, intent uint8, data []byte) error { + // 1. Get the shared secret for this specific peer (derived from ECDH) + secret, err := n.DeriveSharedSecret(peerID) + if err != nil { + return err + } + + // 2. Construct the UEPS frame + // Intent 0x20 = e.g., "Distributed Compute" + pkt := ueps.NewBuilder(intent, data) + + // 3. Seal it + wireBytes, err := pkt.MarshalAndSign(secret) + if err != nil { + return err + } + + // 4. Send wireBytes over your TCP connection... + return nil +}