status-go/services/ext
Samuel Hawksby-Robinson 7f149f93c1
Get preferred network IP and refactor server package to increase reusability (#2626)
* Added function to get preffered network IP

Also done some refactor work oon server package to make a lot more reusable

* Added server.Option and simplified handler funcs

* Added serial number deterministically generated from pk

* Debugging TLS server connection

* Implemented configurable server ip

When accessing over the network the server needs to listen on the network port and not localhost or 127.0.0.1 . Also the cert can now have a dedicated IP

* Refactor of URL funcs to use the url package

* Removed redundant Options pattern in favour of config param

* Added full server test using GetOutboundIP

* Remove references and usage of Server.port

The application does not need to set the port, we rely on the net.Listener to pick a port.

* Version bump

* Added ToECDSA func and improved cert testing

* Added error check in test

* Split Server types, embedding raw Server funcs into specialised server types

* localhost

* Implemented DNS and IP based cert gen

ios doesn't allow for restricted ip addresses to be used in a valid tls cert

* Replace listener handling with original port store

Also added handlers as a parameter of the Server
2022-06-15 15:49:31 +01:00
..
mailservers Split shhext into shhext and wakuext (#1803) 2020-01-20 21:56:06 +01:00
README.md Split shhext into shhext and wakuext (#1803) 2020-01-20 21:56:06 +01:00
api.go feat: fetch curated communities from smart contract on optimism (#2685) 2022-06-02 08:17:52 -04:00
api_test.go Split shhext into shhext and wakuext (#1803) 2020-01-20 21:56:06 +01:00
context.go Split shhext into shhext and wakuext (#1803) 2020-01-20 21:56:06 +01:00
handler_mock.go Split shhext into shhext and wakuext (#1803) 2020-01-20 21:56:06 +01:00
mailrequests.go remove nimbus 2021-05-21 07:22:58 +02:00
mailrequests_test.go remove nimbus 2021-05-21 07:22:58 +02:00
node_mock.go go-waku integration (#2247) 2021-06-16 16:19:45 -04:00
requests.go Split shhext into shhext and wakuext (#1803) 2020-01-20 21:56:06 +01:00
requests_test.go Split shhext into shhext and wakuext (#1803) 2020-01-20 21:56:06 +01:00
rpc.go Split shhext into shhext and wakuext (#1803) 2020-01-20 21:56:06 +01:00
service.go Get preferred network IP and refactor server package to increase reusability (#2626) 2022-06-15 15:49:31 +01:00
signal.go Introduce community history archive routine 2022-04-06 13:00:33 +02:00

README.md

Whisper API Extension

API

shhext_getNewFilterMessages

Accepts the same input as shh_getFilterMessages.

Returns

Returns a list of whisper messages matching the specified filter. Filters out the messages already confirmed received by shhext_confirmMessagesProcessed

Deduplication is made using the whisper envelope content and topic only, so the same content received in different whisper envelopes will be deduplicated.

shhext_confirmMessagesProcessed

Confirms whisper messages received and processed on the client side. These messages won't appear anymore when shhext_getNewFilterMessages is called.

Parameters

Gets a list of whisper envelopes.

shhext_post

Accepts same input as shh_post.

Returns

DATA, 32 Bytes - the envelope hash

shhext_requestMessages

Sends a request for historic messages to a mail server.

Parameters
  1. Object - The message request object:
  • mailServerPeer:URL - Mail servers' enode addess
  • from:QUANTITY - (optional) Lower bound of time range as unix timestamp, default is 24 hours back from now
  • to:QUANTITY- (optional) Upper bound of time range as unix timestamp, default is now
  • topic:DATA, 4 Bytes - Regular whisper topic
  • symKeyID:DATA- ID of a symmetric key to authenticate to mail server, derived from mail server password
Returns

Boolean - returns true if the request was send, otherwise false.

Signals

Sends sent signal once per envelope.

{
  "type": "envelope.sent",
  "event": {
    "hash": "0xea0b93079ed32588628f1cabbbb5ed9e4d50b7571064c2962c3853972db67790"
  }
}

Sends expired signal if envelope dropped from whisper local queue before it was sent to any peer on the network.

{
  "type": "envelope.expired",
  "event": {
    "hash": "0x754f4c12dccb14886f791abfeb77ffb86330d03d5a4ba6f37a8c21281988b69e"
  }
}