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
c2181fdb
Commit
c2181fdb
authored
Mar 11, 2015
by
Taylor Gerring
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
block&index args unmarshal plus test
parent
5a9f7121
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
96 additions
and
0 deletions
+96
-0
args.go
rpc/args.go
+56
-0
args_test.go
rpc/args_test.go
+40
-0
No files found.
rpc/args.go
View file @
c2181fdb
...
...
@@ -227,11 +227,67 @@ type BlockNumIndexArgs struct {
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
{
BlockHash
string
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
{
Data
string
}
...
...
rpc/args_test.go
View file @
c2181fdb
...
...
@@ -432,3 +432,43 @@ func TestWhisperIdentityArgs(t *testing.T) {
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
)
}
}
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