status-go/signal/events_connector.go

80 lines
2.4 KiB
Go

package signal
const (
EventConnectorSendRequestAccounts = "connector.sendRequestAccounts"
EventConnectorSendTransaction = "connector.sendTransaction"
EventConnectorPersonalSign = "connector.personalSign"
EventConnectorDAppPermissionGranted = "connector.dAppPermissionGranted"
EventConnectorDAppPermissionRevoked = "connector.dAppPermissionRevoked"
EventConnectorDAppChainIdSwitched = "connector.dAppChainIdSwitched"
)
type ConnectorDApp struct {
URL string `json:"url"`
Name string `json:"name"`
IconURL string `json:"iconUrl"`
}
// ConnectorSendRequestAccountsSignal is triggered when a request for accounts is sent.
type ConnectorSendRequestAccountsSignal struct {
ConnectorDApp
RequestID string `json:"requestId"`
}
// ConnectorSendTransactionSignal is triggered when a transaction is requested to be sent.
type ConnectorSendTransactionSignal struct {
ConnectorDApp
RequestID string `json:"requestId"`
ChainID uint64 `json:"chainId"`
TxArgs string `json:"txArgs"`
}
type ConnectorPersonalSignSignal struct {
ConnectorDApp
RequestID string `json:"requestId"`
Challenge string `json:"challenge"`
Address string `json:"address"`
}
type ConnectorDAppChainIdSwitchedSignal struct {
URL string `json:"url"`
ChainId string `json:"chainId"`
}
func SendConnectorSendRequestAccounts(dApp ConnectorDApp, requestID string) {
send(EventConnectorSendRequestAccounts, ConnectorSendRequestAccountsSignal{
ConnectorDApp: dApp,
RequestID: requestID,
})
}
func SendConnectorSendTransaction(dApp ConnectorDApp, chainID uint64, txArgs string, requestID string) {
send(EventConnectorSendTransaction, ConnectorSendTransactionSignal{
ConnectorDApp: dApp,
RequestID: requestID,
ChainID: chainID,
TxArgs: txArgs,
})
}
func SendConnectorPersonalSign(dApp ConnectorDApp, requestID, challenge, address string) {
send(EventConnectorPersonalSign, ConnectorPersonalSignSignal{
ConnectorDApp: dApp,
RequestID: requestID,
Challenge: challenge,
Address: address,
})
}
func SendConnectorDAppPermissionGranted(dApp ConnectorDApp) {
send(EventConnectorDAppPermissionGranted, dApp)
}
func SendConnectorDAppPermissionRevoked(dApp ConnectorDApp) {
send(EventConnectorDAppPermissionRevoked, dApp)
}
func SendConnectorDAppChainIdSwitched(payload ConnectorDAppChainIdSwitchedSignal) {
send(EventConnectorDAppChainIdSwitched, payload)
}