Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
whqwjb
go-ethereum
提交
c2181fdb
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,发现更多精彩内容 >>
提交
c2181fdb
编写于
3月 11, 2015
作者:
T
Taylor Gerring
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
block&index args unmarshal plus test
上级
5a9f7121
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
96 addition
and
0 deletion
+96
-0
rpc/args.go
rpc/args.go
+56
-0
rpc/args_test.go
rpc/args_test.go
+40
-0
未找到文件。
rpc/args.go
浏览文件 @
c2181fdb
...
@@ -227,11 +227,67 @@ type BlockNumIndexArgs struct {
...
@@ -227,11 +227,67 @@ type BlockNumIndexArgs struct {
Index
int64
Index
int64
}
}
func
(
args
*
BlockNumIndexArgs
)
UnmarshalJSON
(
b
[]
byte
)
(
err
error
)
{
var
obj
[]
interface
{}
r
:=
bytes
.
NewReader
(
b
)
if
err
:=
json
.
NewDecoder
(
r
)
.
Decode
(
&
obj
);
err
!=
nil
{
return
errDecodeArgs
}
if
len
(
obj
)
<
1
{
return
errArguments
}
arg0
,
ok
:=
obj
[
0
]
.
(
string
)
if
!
ok
{
return
errDecodeArgs
}
args
.
BlockNumber
=
ethutil
.
Big
(
arg0
)
.
Int64
()
if
len
(
obj
)
>
1
{
arg1
,
ok
:=
obj
[
1
]
.
(
string
)
if
!
ok
{
return
errDecodeArgs
}
args
.
Index
=
ethutil
.
Big
(
arg1
)
.
Int64
()
}
return
nil
}
type
HashIndexArgs
struct
{
type
HashIndexArgs
struct
{
BlockHash
string
BlockHash
string
Index
int64
Index
int64
}
}
func
(
args
*
HashIndexArgs
)
UnmarshalJSON
(
b
[]
byte
)
(
err
error
)
{
var
obj
[]
interface
{}
r
:=
bytes
.
NewReader
(
b
)
if
err
:=
json
.
NewDecoder
(
r
)
.
Decode
(
&
obj
);
err
!=
nil
{
return
errDecodeArgs
}
if
len
(
obj
)
<
1
{
return
errArguments
}
arg0
,
ok
:=
obj
[
0
]
.
(
string
)
if
!
ok
{
return
errDecodeArgs
}
args
.
BlockHash
=
arg0
if
len
(
obj
)
>
1
{
arg1
,
ok
:=
obj
[
1
]
.
(
string
)
if
!
ok
{
return
errDecodeArgs
}
args
.
Index
=
ethutil
.
Big
(
arg1
)
.
Int64
()
}
return
nil
}
type
Sha3Args
struct
{
type
Sha3Args
struct
{
Data
string
Data
string
}
}
...
...
rpc/args_test.go
浏览文件 @
c2181fdb
...
@@ -432,3 +432,43 @@ func TestWhisperIdentityArgs(t *testing.T) {
...
@@ -432,3 +432,43 @@ func TestWhisperIdentityArgs(t *testing.T) {
t
.
Errorf
(
"Identity shoud be %#v but is %#v"
,
expected
.
Identity
,
args
.
Identity
)
t
.
Errorf
(
"Identity shoud be %#v but is %#v"
,
expected
.
Identity
,
args
.
Identity
)
}
}
}
}
func
TestBlockNumIndexArgs
(
t
*
testing
.
T
)
{
input
:=
`["0x29a", "0x0"]`
expected
:=
new
(
BlockNumIndexArgs
)
expected
.
BlockNumber
=
666
expected
.
Index
=
0
args
:=
new
(
BlockNumIndexArgs
)
if
err
:=
json
.
Unmarshal
([]
byte
(
input
),
&
args
);
err
!=
nil
{
t
.
Error
(
err
)
}
if
expected
.
BlockNumber
!=
args
.
BlockNumber
{
t
.
Errorf
(
"BlockNumber shoud be %#v but is %#v"
,
expected
.
BlockNumber
,
args
.
BlockNumber
)
}
if
expected
.
Index
!=
args
.
Index
{
t
.
Errorf
(
"Index shoud be %#v but is %#v"
,
expected
.
Index
,
args
.
Index
)
}
}
func
TestHashIndexArgs
(
t
*
testing
.
T
)
{
input
:=
`["0xc6ef2fc5426d6ad6fd9e2a26abeab0aa2411b7ab17f30a99d3cb96aed1d1055b", "0x1"]`
expected
:=
new
(
HashIndexArgs
)
expected
.
BlockHash
=
"0xc6ef2fc5426d6ad6fd9e2a26abeab0aa2411b7ab17f30a99d3cb96aed1d1055b"
expected
.
Index
=
1
args
:=
new
(
HashIndexArgs
)
if
err
:=
json
.
Unmarshal
([]
byte
(
input
),
&
args
);
err
!=
nil
{
t
.
Error
(
err
)
}
if
expected
.
BlockHash
!=
args
.
BlockHash
{
t
.
Errorf
(
"BlockHash shoud be %#v but is %#v"
,
expected
.
BlockHash
,
args
.
BlockHash
)
}
if
expected
.
Index
!=
args
.
Index
{
t
.
Errorf
(
"Index shoud be %#v but is %#v"
,
expected
.
Index
,
args
.
Index
)
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录