mirror of https://github.com/certusone/dc4bc.git
fix handleStateAwaitParticipantsConfirmations
This commit is contained in:
parent
83b86b132b
commit
915f5b6ef9
|
@ -6,6 +6,7 @@ import (
|
||||||
client "github.com/depools/dc4bc/client/types"
|
client "github.com/depools/dc4bc/client/types"
|
||||||
"github.com/depools/dc4bc/dkg"
|
"github.com/depools/dc4bc/dkg"
|
||||||
"github.com/depools/dc4bc/fsm/state_machines/dkg_proposal_fsm"
|
"github.com/depools/dc4bc/fsm/state_machines/dkg_proposal_fsm"
|
||||||
|
"github.com/depools/dc4bc/fsm/state_machines/signature_proposal_fsm"
|
||||||
"github.com/depools/dc4bc/fsm/types/requests"
|
"github.com/depools/dc4bc/fsm/types/requests"
|
||||||
"github.com/depools/dc4bc/fsm/types/responses"
|
"github.com/depools/dc4bc/fsm/types/responses"
|
||||||
"go.dedis.ch/kyber/v3"
|
"go.dedis.ch/kyber/v3"
|
||||||
|
@ -14,7 +15,6 @@ import (
|
||||||
"log"
|
"log"
|
||||||
)
|
)
|
||||||
|
|
||||||
// It seems that this handler is not needed, but i'll remove it after client testing
|
|
||||||
func (am *AirgappedMachine) handleStateAwaitParticipantsConfirmations(o *client.Operation) error {
|
func (am *AirgappedMachine) handleStateAwaitParticipantsConfirmations(o *client.Operation) error {
|
||||||
var (
|
var (
|
||||||
payload responses.SignatureProposalParticipantInvitationsResponse
|
payload responses.SignatureProposalParticipantInvitationsResponse
|
||||||
|
@ -38,6 +38,17 @@ func (am *AirgappedMachine) handleStateAwaitParticipantsConfirmations(o *client.
|
||||||
|
|
||||||
am.dkgInstances[o.DKGIdentifier] = dkgInstance
|
am.dkgInstances[o.DKGIdentifier] = dkgInstance
|
||||||
|
|
||||||
|
req := requests.SignatureProposalParticipantRequest{
|
||||||
|
ParticipantId: dkgInstance.ParticipantID,
|
||||||
|
CreatedAt: o.CreatedAt,
|
||||||
|
}
|
||||||
|
reqBz, err := json.Marshal(req)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("failed to generate fsm request: %w", err)
|
||||||
|
}
|
||||||
|
o.Result = reqBz
|
||||||
|
o.Event = signature_proposal_fsm.EventConfirmSignatureProposal
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -94,7 +94,10 @@ func (c *Client) Poll() error {
|
||||||
|
|
||||||
for _, message := range messages {
|
for _, message := range messages {
|
||||||
if err := c.ProcessMessage(message); err != nil {
|
if err := c.ProcessMessage(message); err != nil {
|
||||||
log.Println("Failed to process message:", err)
|
log.Println("Failed to process message:", c.userName, err)
|
||||||
|
fmt.Println("Not processed", c.userName, message.Event)
|
||||||
|
} else {
|
||||||
|
fmt.Println("Processed", c.userName, message.Event)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -133,6 +136,8 @@ func (c *Client) ProcessMessage(message storage.Message) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("failed to getFSMInstance: %w", err)
|
return fmt.Errorf("failed to getFSMInstance: %w", err)
|
||||||
}
|
}
|
||||||
|
state, _ := fsmInstance.State()
|
||||||
|
fmt.Printf("Do msg %s for username %s with init state: %s\n", message.Event, c.userName, state)
|
||||||
|
|
||||||
if fsm.Event(message.Event) != signature_proposal_fsm.EventInitProposal {
|
if fsm.Event(message.Event) != signature_proposal_fsm.EventInitProposal {
|
||||||
if err := c.verifyMessage(fsmInstance, message); err != nil {
|
if err := c.verifyMessage(fsmInstance, message); err != nil {
|
||||||
|
@ -150,6 +155,9 @@ func (c *Client) ProcessMessage(message storage.Message) error {
|
||||||
return fmt.Errorf("failed to Do operation in FSM: %w", err)
|
return fmt.Errorf("failed to Do operation in FSM: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
state, _ = fsmInstance.State()
|
||||||
|
fmt.Printf("Done msg %s for username %s with state after Do: %s\n", message.Event, c.userName, state)
|
||||||
|
|
||||||
var operation *types.Operation
|
var operation *types.Operation
|
||||||
switch resp.State {
|
switch resp.State {
|
||||||
// if the new state is waiting for RPC to airgapped machine
|
// if the new state is waiting for RPC to airgapped machine
|
||||||
|
@ -168,7 +176,6 @@ func (c *Client) ProcessMessage(message storage.Message) error {
|
||||||
Payload: bz,
|
Payload: bz,
|
||||||
DKGIdentifier: message.DkgRoundID,
|
DKGIdentifier: message.DkgRoundID,
|
||||||
}
|
}
|
||||||
fmt.Println("DKG - ", message.DkgRoundID)
|
|
||||||
default:
|
default:
|
||||||
log.Printf("State %s does not require an operation", resp.State)
|
log.Printf("State %s does not require an operation", resp.State)
|
||||||
}
|
}
|
||||||
|
@ -286,7 +293,6 @@ func (c *Client) getFSMInstance(dkgRoundID string) (*state_machines.FSMInstance,
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("failed to create FSM instance: %w", err)
|
return nil, fmt.Errorf("failed to create FSM instance: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
bz, err := fsmInstance.Dump()
|
bz, err := fsmInstance.Dump()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("failed to Dump FSM instance: %w", err)
|
return nil, fmt.Errorf("failed to Dump FSM instance: %w", err)
|
||||||
|
|
Loading…
Reference in New Issue