2cbced95c5
This adds checks to `HandleCommunityRequestToJoin` and `AcceptRequestToJoinCommunity` that ensure a given user's revealed wallet addresses own the token funds required by a community. When community has token permissions of type `BECOME_MEMBER`, the following happens when the owner receives a request: 1. Upon verifying provided wallet addresses by the requester, the owner node accumulates all token funds related to the given wallets that match the token criteria in the configured permissions 2. If the requester does not meet the necessary requirements, the request to join will be declined. If the requester does have the funds, he'll either be automatically accepted to the community, or enters the next stage where an owner needs to manually accept the request. 3. The the community does not automatically accept users, then the funds check will happen again, when the owner tries to manually accept the request. If the necessary funds do not exist at this stage, the request will be declined 4. Upon accepting, whether automatically or manually, the owner adds the requester's wallet addresses to the `CommunityDescription`, such that they can be retrieved later when doing periodic checks or when permissions have changed. |
||
---|---|---|
.. | ||
mailservers | ||
README.md | ||
api.go | ||
api_test.go | ||
context.go | ||
handler_mock.go | ||
mailrequests.go | ||
mailrequests_test.go | ||
node_mock.go | ||
requests.go | ||
requests_test.go | ||
rpc.go | ||
service.go | ||
signal.go |
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
Object
- The message request object:
mailServerPeer
:URL
- Mail servers' enode addessfrom
:QUANTITY
- (optional) Lower bound of time range as unix timestamp, default is 24 hours back from nowto
:QUANTITY
- (optional) Upper bound of time range as unix timestamp, default is nowtopic
:DATA
, 4 Bytes - Regular whisper topicsymKeyID
: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"
}
}