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
6539ccae
Commit
6539ccae
authored
May 22, 2015
by
obscuren
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
core: added RPC sign back in
parent
054abe20
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
42 additions
and
42 deletions
+42
-42
api.go
rpc/api.go
+10
-10
args.go
rpc/args.go
+32
-32
No files found.
rpc/api.go
View file @
6539ccae
...
...
@@ -158,16 +158,16 @@ func (api *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) err
v
:=
api
.
xethAtStateNum
(
args
.
BlockNumber
)
.
CodeAtBytes
(
args
.
Address
)
*
reply
=
newHexData
(
v
)
//
case "eth_sign":
//
args := new(NewSigArgs)
//
if err := json.Unmarshal(req.Params, &args); err != nil {
//
return err
//
}
//
v, err := api.xeth().Sign(args.From, args.Data, false)
//
if err != nil {
//
return err
//
}
//
*reply = v
case
"eth_sign"
:
args
:=
new
(
NewSigArgs
)
if
err
:=
json
.
Unmarshal
(
req
.
Params
,
&
args
);
err
!=
nil
{
return
err
}
v
,
err
:=
api
.
xeth
()
.
Sign
(
args
.
From
,
args
.
Data
,
false
)
if
err
!=
nil
{
return
err
}
*
reply
=
v
case
"eth_sendTransaction"
,
"eth_transact"
:
args
:=
new
(
NewTxArgs
)
...
...
rpc/args.go
View file @
6539ccae
...
...
@@ -166,45 +166,45 @@ type NewTxArgs struct {
BlockNumber
int64
}
//
type NewSigArgs struct {
//
From string
//
Data string
//
}
type
NewSigArgs
struct
{
From
string
Data
string
}
//
func (args *NewSigArgs) UnmarshalJSON(b []byte) (err error) {
//
var obj []json.RawMessage
//
var ext struct {
//
From string
//
Data string
//
}
func
(
args
*
NewSigArgs
)
UnmarshalJSON
(
b
[]
byte
)
(
err
error
)
{
var
obj
[]
json
.
RawMessage
var
ext
struct
{
From
string
Data
string
}
//
// Decode byte slice to array of RawMessages
//
if err := json.Unmarshal(b, &obj); err != nil {
//
return NewDecodeParamError(err.Error())
//
}
// Decode byte slice to array of RawMessages
if
err
:=
json
.
Unmarshal
(
b
,
&
obj
);
err
!=
nil
{
return
NewDecodeParamError
(
err
.
Error
())
}
//
// Check for sufficient params
//
if len(obj) < 1 {
//
return NewInsufficientParamsError(len(obj), 1)
//
}
// Check for sufficient params
if
len
(
obj
)
<
1
{
return
NewInsufficientParamsError
(
len
(
obj
),
1
)
}
//
// Decode 0th RawMessage to temporary struct
//
if err := json.Unmarshal(obj[0], &ext); err != nil {
//
return NewDecodeParamError(err.Error())
//
}
// Decode 0th RawMessage to temporary struct
if
err
:=
json
.
Unmarshal
(
obj
[
0
],
&
ext
);
err
!=
nil
{
return
NewDecodeParamError
(
err
.
Error
())
}
//
if len(ext.From) == 0 {
//
return NewValidationError("from", "is required")
//
}
if
len
(
ext
.
From
)
==
0
{
return
NewValidationError
(
"from"
,
"is required"
)
}
//
if len(ext.Data) == 0 {
//
return NewValidationError("data", "is required")
//
}
if
len
(
ext
.
Data
)
==
0
{
return
NewValidationError
(
"data"
,
"is required"
)
}
//
args.From = ext.From
//
args.Data = ext.Data
//
return nil
//
}
args
.
From
=
ext
.
From
args
.
Data
=
ext
.
Data
return
nil
}
func
(
args
*
NewTxArgs
)
UnmarshalJSON
(
b
[]
byte
)
(
err
error
)
{
var
obj
[]
json
.
RawMessage
...
...
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