package types // GenerateInput represents the input for the generate function type GenerateInput struct { Credential string `json:"credential"` // Base64-encoded WebAuthn credential // MPC keyshare data (optional - if provided, creates initial keyshare and account) KeyShare *KeyShareInput `json:"key_share,omitempty"` } // KeyShareInput represents MPC keyshare data for initialization type KeyShareInput struct { KeyID string `json:"key_id"` PartyIndex int64 `json:"party_index"` Threshold int64 `json:"threshold"` TotalParties int64 `json:"total_parties"` Curve string `json:"curve"` ShareData string `json:"share_data"` PublicKey string `json:"public_key"` ChainCode string `json:"chain_code,omitempty"` DerivationPath string `json:"derivation_path,omitempty"` } // GenerateOutput represents the output of the generate function type GenerateOutput struct { DID string `json:"did"` Database []byte `json:"database"` // KeyShare info if a keyshare was provided KeyShareID string `json:"key_share_id,omitempty"` // Account info if an account was created Account *AccountInfo `json:"account,omitempty"` } // AccountInfo represents created account information type AccountInfo struct { Address string `json:"address"` ChainID string `json:"chain_id"` CoinType int64 `json:"coin_type"` }