github.com/status-im/status-go@v1.1.0/signal/events_sign.go (about)

     1  package signal
     2  
     3  const (
     4  	// EventSignRequestAdded is triggered when send transaction request is queued
     5  	EventSignRequestAdded = "sign-request.queued"
     6  	// EventSignRequestFailed is triggered when send transaction request fails
     7  	EventSignRequestFailed = "sign-request.failed"
     8  )
     9  
    10  // PendingRequestEvent is a signal sent when a sign request is added
    11  type PendingRequestEvent struct {
    12  	ID        string      `json:"id"`
    13  	Method    string      `json:"method"`
    14  	Args      interface{} `json:"args"`
    15  	MessageID string      `json:"message_id"`
    16  }
    17  
    18  // SendSignRequestAdded sends a signal when a sign request is added.
    19  func SendSignRequestAdded(event PendingRequestEvent) {
    20  	send(EventSignRequestAdded, event)
    21  }
    22  
    23  // PendingRequestErrorEvent is a signal sent when sign request has failed
    24  type PendingRequestErrorEvent struct {
    25  	PendingRequestEvent
    26  	ErrorMessage string `json:"error_message"`
    27  	ErrorCode    int    `json:"error_code,string"`
    28  }
    29  
    30  // SendSignRequestFailed sends a signal of failed sign request.
    31  func SendSignRequestFailed(event PendingRequestEvent, err error, errCode int) {
    32  	send(EventSignRequestFailed,
    33  		PendingRequestErrorEvent{
    34  			PendingRequestEvent: event,
    35  			ErrorMessage:        err.Error(),
    36  			ErrorCode:           errCode,
    37  		})
    38  }