Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
Geth-Modification
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张蕾
Geth-Modification
Commits
03ac0f18
Commit
03ac0f18
authored
Mar 16, 2015
by
Taylor Gerring
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Initial support to remove Whisper identities per #491
parent
e5e265d0
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
26 additions
and
2 deletions
+26
-2
api.go
rpc/api.go
+12
-1
whisper.go
whisper/whisper.go
+9
-0
whisper.go
xeth/whisper.go
+5
-1
No files found.
rpc/api.go
View file @
03ac0f18
...
@@ -9,11 +9,11 @@ import (
...
@@ -9,11 +9,11 @@ import (
"sync"
"sync"
"time"
"time"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/core"
"github.com/ethereum/go-ethereum/core"
"github.com/ethereum/go-ethereum/core/types"
"github.com/ethereum/go-ethereum/core/types"
"github.com/ethereum/go-ethereum/crypto"
"github.com/ethereum/go-ethereum/crypto"
"github.com/ethereum/go-ethereum/ethdb"
"github.com/ethereum/go-ethereum/ethdb"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/event"
"github.com/ethereum/go-ethereum/event"
"github.com/ethereum/go-ethereum/event/filter"
"github.com/ethereum/go-ethereum/event/filter"
"github.com/ethereum/go-ethereum/state"
"github.com/ethereum/go-ethereum/state"
...
@@ -371,6 +371,11 @@ func (p *EthereumApi) NewWhisperIdentity(reply *interface{}) error {
...
@@ -371,6 +371,11 @@ func (p *EthereumApi) NewWhisperIdentity(reply *interface{}) error {
return
nil
return
nil
}
}
func
(
p
*
EthereumApi
)
RemoveWhisperIdentity
(
args
*
WhisperIdentityArgs
,
reply
*
interface
{})
error
{
*
reply
=
p
.
xeth
()
.
Whisper
()
.
RemoveIdentity
(
args
.
Identity
)
return
nil
}
func
(
p
*
EthereumApi
)
NewWhisperFilter
(
args
*
WhisperFilterArgs
,
reply
*
interface
{})
error
{
func
(
p
*
EthereumApi
)
NewWhisperFilter
(
args
*
WhisperFilterArgs
,
reply
*
interface
{})
error
{
var
id
int
var
id
int
opts
:=
new
(
xeth
.
Options
)
opts
:=
new
(
xeth
.
Options
)
...
@@ -751,6 +756,12 @@ func (p *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) error
...
@@ -751,6 +756,12 @@ func (p *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) error
return
p
.
WhisperPost
(
args
,
reply
)
return
p
.
WhisperPost
(
args
,
reply
)
case
"shh_newIdentity"
:
case
"shh_newIdentity"
:
return
p
.
NewWhisperIdentity
(
reply
)
return
p
.
NewWhisperIdentity
(
reply
)
case
"shh_removeIdentity"
:
args
:=
new
(
WhisperIdentityArgs
)
if
err
:=
json
.
Unmarshal
(
req
.
Params
,
&
args
);
err
!=
nil
{
return
err
}
return
p
.
RemoveWhisperIdentity
(
args
,
reply
)
case
"shh_hasIdentity"
:
case
"shh_hasIdentity"
:
args
:=
new
(
WhisperIdentityArgs
)
args
:=
new
(
WhisperIdentityArgs
)
if
err
:=
json
.
Unmarshal
(
req
.
Params
,
&
args
);
err
!=
nil
{
if
err
:=
json
.
Unmarshal
(
req
.
Params
,
&
args
);
err
!=
nil
{
...
...
whisper/whisper.go
View file @
03ac0f18
...
@@ -116,6 +116,15 @@ func (self *Whisper) GetIdentity(key *ecdsa.PublicKey) *ecdsa.PrivateKey {
...
@@ -116,6 +116,15 @@ func (self *Whisper) GetIdentity(key *ecdsa.PublicKey) *ecdsa.PrivateKey {
return
self
.
keys
[
string
(
crypto
.
FromECDSAPub
(
key
))]
return
self
.
keys
[
string
(
crypto
.
FromECDSAPub
(
key
))]
}
}
func
(
self
*
Whisper
)
RemoveIdentity
(
key
*
ecdsa
.
PublicKey
)
bool
{
k
:=
string
(
crypto
.
FromECDSAPub
(
key
))
if
_
,
ok
:=
self
.
keys
[
k
];
ok
{
delete
(
self
.
keys
,
k
)
return
true
}
return
false
}
func
(
self
*
Whisper
)
Watch
(
opts
Filter
)
int
{
func
(
self
*
Whisper
)
Watch
(
opts
Filter
)
int
{
return
self
.
filters
.
Install
(
filter
.
Generic
{
return
self
.
filters
.
Install
(
filter
.
Generic
{
Str1
:
string
(
crypto
.
FromECDSAPub
(
opts
.
To
)),
Str1
:
string
(
crypto
.
FromECDSAPub
(
opts
.
To
)),
...
...
xeth/whisper.go
View file @
03ac0f18
...
@@ -4,8 +4,8 @@ import (
...
@@ -4,8 +4,8 @@ import (
"errors"
"errors"
"time"
"time"
"github.com/ethereum/go-ethereum/crypto"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/crypto"
"github.com/ethereum/go-ethereum/logger"
"github.com/ethereum/go-ethereum/logger"
"github.com/ethereum/go-ethereum/whisper"
"github.com/ethereum/go-ethereum/whisper"
)
)
...
@@ -63,6 +63,10 @@ func (self *Whisper) HasIdentity(key string) bool {
...
@@ -63,6 +63,10 @@ func (self *Whisper) HasIdentity(key string) bool {
return
self
.
Whisper
.
HasIdentity
(
crypto
.
ToECDSAPub
(
common
.
FromHex
(
key
)))
return
self
.
Whisper
.
HasIdentity
(
crypto
.
ToECDSAPub
(
common
.
FromHex
(
key
)))
}
}
func
(
self
*
Whisper
)
RemoveIdentity
(
key
string
)
bool
{
return
self
.
Whisper
.
RemoveIdentity
(
crypto
.
ToECDSAPub
(
common
.
FromHex
(
key
)))
}
func
(
self
*
Whisper
)
Watch
(
opts
*
Options
)
int
{
func
(
self
*
Whisper
)
Watch
(
opts
*
Options
)
int
{
filter
:=
whisper
.
Filter
{
filter
:=
whisper
.
Filter
{
To
:
crypto
.
ToECDSAPub
(
common
.
FromHex
(
opts
.
To
)),
To
:
crypto
.
ToECDSAPub
(
common
.
FromHex
(
opts
.
To
)),
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment