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

     1  package signal
     2  
     3  const (
     4  	EventConnectorSendRequestAccounts   = "connector.sendRequestAccounts"
     5  	EventConnectorSendTransaction       = "connector.sendTransaction"
     6  	EventConnectorPersonalSign          = "connector.personalSign"
     7  	EventConnectorDAppPermissionGranted = "connector.dAppPermissionGranted"
     8  	EventConnectorDAppPermissionRevoked = "connector.dAppPermissionRevoked"
     9  	EventConnectorDAppChainIdSwitched   = "connector.dAppChainIdSwitched"
    10  )
    11  
    12  type ConnectorDApp struct {
    13  	URL     string `json:"url"`
    14  	Name    string `json:"name"`
    15  	IconURL string `json:"iconUrl"`
    16  }
    17  
    18  // ConnectorSendRequestAccountsSignal is triggered when a request for accounts is sent.
    19  type ConnectorSendRequestAccountsSignal struct {
    20  	ConnectorDApp
    21  	RequestID string `json:"requestId"`
    22  }
    23  
    24  // ConnectorSendTransactionSignal is triggered when a transaction is requested to be sent.
    25  type ConnectorSendTransactionSignal struct {
    26  	ConnectorDApp
    27  	RequestID string `json:"requestId"`
    28  	ChainID   uint64 `json:"chainId"`
    29  	TxArgs    string `json:"txArgs"`
    30  }
    31  
    32  type ConnectorPersonalSignSignal struct {
    33  	ConnectorDApp
    34  	RequestID string `json:"requestId"`
    35  	Challenge string `json:"challenge"`
    36  	Address   string `json:"address"`
    37  }
    38  
    39  type ConnectorDAppChainIdSwitchedSignal struct {
    40  	URL     string `json:"url"`
    41  	ChainId string `json:"chainId"`
    42  }
    43  
    44  func SendConnectorSendRequestAccounts(dApp ConnectorDApp, requestID string) {
    45  	send(EventConnectorSendRequestAccounts, ConnectorSendRequestAccountsSignal{
    46  		ConnectorDApp: dApp,
    47  		RequestID:     requestID,
    48  	})
    49  }
    50  
    51  func SendConnectorSendTransaction(dApp ConnectorDApp, chainID uint64, txArgs string, requestID string) {
    52  	send(EventConnectorSendTransaction, ConnectorSendTransactionSignal{
    53  		ConnectorDApp: dApp,
    54  		RequestID:     requestID,
    55  		ChainID:       chainID,
    56  		TxArgs:        txArgs,
    57  	})
    58  }
    59  
    60  func SendConnectorPersonalSign(dApp ConnectorDApp, requestID, challenge, address string) {
    61  	send(EventConnectorPersonalSign, ConnectorPersonalSignSignal{
    62  		ConnectorDApp: dApp,
    63  		RequestID:     requestID,
    64  		Challenge:     challenge,
    65  		Address:       address,
    66  	})
    67  }
    68  
    69  func SendConnectorDAppPermissionGranted(dApp ConnectorDApp) {
    70  	send(EventConnectorDAppPermissionGranted, dApp)
    71  }
    72  
    73  func SendConnectorDAppPermissionRevoked(dApp ConnectorDApp) {
    74  	send(EventConnectorDAppPermissionRevoked, dApp)
    75  }
    76  
    77  func SendConnectorDAppChainIdSwitched(payload ConnectorDAppChainIdSwitchedSignal) {
    78  	send(EventConnectorDAppChainIdSwitched, payload)
    79  }