forked from PlatONnetwork/client-sdk-python
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathshh.py
79 lines (57 loc) · 2.73 KB
/
shh.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
from client_sdk_python.module import (
Module,
)
from client_sdk_python.utils.filters import (
ShhFilter,
)
class Shh(Module):
@property
def version(self):
return self.web3.manager.request_blocking("shh_version", [])
@property
def info(self):
return self.web3.manager.request_blocking("shh_info", [])
def setMaxMessageSize(self, size):
return self.web3.manager.request_blocking("shh_setMaxMessageSize", [size])
def setMinPoW(self, min_pow):
return self.web3.manager.request_blocking("shh_setMinPoW", [min_pow])
def markTrustedPeer(self, enode):
return self.web3.manager.request_blocking("shh_markTrustedPeer", [enode])
def newKeyPair(self):
return self.web3.manager.request_blocking("shh_newKeyPair", [])
def addPrivateKey(self, key):
return self.web3.manager.request_blocking("shh_addPrivateKey", [key])
def deleteKeyPair(self, id):
return self.web3.manager.request_blocking("shh_deleteKeyPair", [id])
def hasKeyPair(self, id):
return self.web3.manager.request_blocking("shh_hasKeyPair", [id])
def getPublicKey(self, id):
return self.web3.manager.request_blocking("shh_getPublicKey", [id])
def getPrivateKey(self, id):
return self.web3.manager.request_blocking("shh_getPrivateKey", [id])
def newSymKey(self):
return self.web3.manager.request_blocking("shh_newSymKey", [])
def addSymKey(self, key):
return self.web3.manager.request_blocking("shh_addSymKey", [key])
def generateSymKeyFromPassword(self, password):
return self.web3.manager.request_blocking("shh_generateSymKeyFromPassword", [password])
def hasSymKey(self, id):
return self.web3.manager.request_blocking("shh_hasSymKey", [id])
def getSymKey(self, id):
return self.web3.manager.request_blocking("shh_getSymKey", [id])
def deleteSymKey(self, id):
return self.web3.manager.request_blocking("shh_deleteSymKey", [id])
def post(self, message):
if message and ("payload" in message):
return self.web3.manager.request_blocking("shh_post", [message])
else:
raise ValueError(
"message cannot be None or does not contain field 'payload'"
)
def newMessageFilter(self, criteria, poll_interval=None):
filter_id = self.web3.manager.request_blocking("shh_newMessageFilter", [criteria])
return ShhFilter(self.web3, filter_id, poll_interval=poll_interval)
def deleteMessageFilter(self, filter_id):
return self.web3.manager.request_blocking("shh_deleteMessageFilter", [filter_id])
def getMessages(self, filter_id):
return self.web3.manager.request_blocking("shh_getFilterMessages", [filter_id])