Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
whqwjb
go-ethereum
提交
6539ccae
G
go-ethereum
项目概览
whqwjb
/
go-ethereum
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
go-ethereum
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
6539ccae
编写于
5月 22, 2015
作者:
O
obscuren
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
core: added RPC sign back in
上级
054abe20
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
42 addition
and
42 deletion
+42
-42
rpc/api.go
rpc/api.go
+10
-10
rpc/args.go
rpc/args.go
+32
-32
未找到文件。
rpc/api.go
浏览文件 @
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
浏览文件 @
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
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录