From 391448063f8e5bdda5ffcb4d374d0e0976666a75 Mon Sep 17 00:00:00 2001 From: hailin Date: Sat, 6 Dec 2025 05:50:01 -0800 Subject: [PATCH] feat(db): add delegate_party_id column to mpc_sessions table MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add delegate_party_id column to track which party is acting as delegate (generates and returns user share instead of storing it). Changes: - Add delegate_party_id VARCHAR(255) column with default empty string - Add partial index for faster lookups when delegate party is present - Include up and down migrations This fixes the issue where delegate party selection worked but the delegate_party field was not being returned in API responses due to missing database column. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../migrations/005_add_delegate_party_id.down.sql | 3 +++ .../migrations/005_add_delegate_party_id.up.sql | 10 ++++++++++ 2 files changed, 13 insertions(+) create mode 100644 backend/mpc-system/migrations/005_add_delegate_party_id.down.sql create mode 100644 backend/mpc-system/migrations/005_add_delegate_party_id.up.sql diff --git a/backend/mpc-system/migrations/005_add_delegate_party_id.down.sql b/backend/mpc-system/migrations/005_add_delegate_party_id.down.sql new file mode 100644 index 00000000..b7a5180a --- /dev/null +++ b/backend/mpc-system/migrations/005_add_delegate_party_id.down.sql @@ -0,0 +1,3 @@ +-- Remove delegate_party_id column from mpc_sessions table +DROP INDEX IF EXISTS idx_mpc_sessions_delegate_party; +ALTER TABLE mpc_sessions DROP COLUMN IF EXISTS delegate_party_id; diff --git a/backend/mpc-system/migrations/005_add_delegate_party_id.up.sql b/backend/mpc-system/migrations/005_add_delegate_party_id.up.sql new file mode 100644 index 00000000..6d793310 --- /dev/null +++ b/backend/mpc-system/migrations/005_add_delegate_party_id.up.sql @@ -0,0 +1,10 @@ +-- Add delegate_party_id column to mpc_sessions table +-- This column stores the ID of the delegate party that will return user's share +-- Only populated for keygen sessions with require_delegate=true +ALTER TABLE mpc_sessions ADD COLUMN delegate_party_id VARCHAR(255) DEFAULT ''; + +-- Add index for faster lookups by delegate party +CREATE INDEX idx_mpc_sessions_delegate_party ON mpc_sessions(delegate_party_id) WHERE delegate_party_id != ''; + +-- Add comment +COMMENT ON COLUMN mpc_sessions.delegate_party_id IS 'The delegate party ID that generates and returns user share (for keygen sessions with delegate)';