@@ -21,6 +21,18 @@ func main() {
2121 config .InitViperConfig ()
2222 logger .Init (environment , true )
2323
24+ algorithm := viper .GetString ("event_initiator_algorithm" )
25+ if algorithm == "" {
26+ algorithm = "ed25519"
27+ }
28+
29+ // Validate algorithm
30+ if algorithm != "ed25519" && algorithm != "p256" {
31+ logger .Fatal (
32+ "Invalid event_initiator_algorithm in config. Must be 'ed25519' or 'p256'" ,
33+ nil ,
34+ )
35+ }
2436 natsURL := viper .GetString ("nats.url" )
2537 natsConn , err := nats .Connect (natsURL )
2638 if err != nil {
@@ -30,8 +42,9 @@ func main() {
3042 defer natsConn .Close ()
3143
3244 mpcClient := client .NewMPCClient (client.Options {
33- NatsConn : natsConn ,
34- KeyPath : "./event_initiator.key" ,
45+ Algorithm : algorithm ,
46+ NatsConn : natsConn ,
47+ KeyPath : "./event_initiator.key" ,
3548 })
3649
3750 // 3) Listen for signing results
@@ -46,14 +59,27 @@ func main() {
4659 if err != nil {
4760 logger .Fatal ("Failed to subscribe to OnResharingResult" , err )
4861 }
62+ // Determine key type based on algorithm
63+ var keyType types.KeyType
64+ switch algorithm {
65+ case "ed25519" :
66+ keyType = types .KeyTypeEd25519
67+ case "p256" :
68+ keyType = types .KeyTypeP256
69+ default :
70+ logger .Fatal ("Unsupported algorithm" , nil )
71+ }
4972
5073 resharingMsg := & types.ResharingMessage {
5174 SessionID : uuid .NewString (),
5275 WalletID : "506d2d40-483a-49f1-93c8-27dd4fe9740c" ,
53- NodeIDs : []string {"c95c340e-5a18-472d-b9b0-5ac68218213a" , "ac37e85f-caca-4bee-8a3a-49a0fe35abff" }, // new peer IDs
76+ NodeIDs : []string {
77+ "c95c340e-5a18-472d-b9b0-5ac68218213a" ,
78+ "ac37e85f-caca-4bee-8a3a-49a0fe35abff" ,
79+ }, // new peer IDs
5480
5581 NewThreshold : 1 , // t+1 <= len(NodeIDs)
56- KeyType : types . KeyTypeEd25519 ,
82+ KeyType : keyType ,
5783 }
5884 err = mpcClient .Resharing (resharingMsg )
5985 if err != nil {
0 commit comments