syntax = "proto3";

package web3auth;

option go_package = "github.com/echofi-ai/schema/v2/types/web3auth";

// WalletAuthProof represents a verified wallet ownership proof valid for 30 days
// This allows users to authenticate multiple times without re-signing
message WalletAuthProof {
  // Unique identifier for the proof
  string id = 1;

  // Wallet address that was verified
  string wallet_address = 2;

  // User ID associated with this wallet
  string user_id = 3;

  // Challenge that was signed to create this proof
  string challenge = 4;

  // Signature that verified wallet ownership
  string signature = 5;

  // Timestamp when proof was created (Unix timestamp)
  int64 created_at = 6;

  // Timestamp when proof expires (Unix timestamp)
  int64 expires_at = 7;

  // Whether this proof is still valid
  bool is_valid = 8;

  // Last time this proof was used for authentication
  optional int64 last_used_at = 9;
}


