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
bd1a54f0
Commit
bd1a54f0
authored
Mar 26, 2015
by
Taylor Gerring
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
GetStorageArgs
parent
966cfa4b
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
56 additions
and
21 deletions
+56
-21
api.go
rpc/api.go
+1
-5
args.go
rpc/args.go
+3
-10
args_test.go
rpc/args_test.go
+52
-6
No files found.
rpc/api.go
View file @
bd1a54f0
...
@@ -106,11 +106,7 @@ func (api *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) err
...
@@ -106,11 +106,7 @@ func (api *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) err
return
err
return
err
}
}
if
err
:=
args
.
requirements
();
err
!=
nil
{
*
reply
=
api
.
xethAtStateNum
(
args
.
BlockNumber
)
.
State
()
.
SafeGet
(
args
.
Address
.
Hex
())
.
Storage
()
return
err
}
*
reply
=
api
.
xethAtStateNum
(
args
.
BlockNumber
)
.
State
()
.
SafeGet
(
args
.
Address
)
.
Storage
()
case
"eth_getStorageAt"
:
case
"eth_getStorageAt"
:
args
:=
new
(
GetStorageAtArgs
)
args
:=
new
(
GetStorageAtArgs
)
if
err
:=
json
.
Unmarshal
(
req
.
Params
,
&
args
);
err
!=
nil
{
if
err
:=
json
.
Unmarshal
(
req
.
Params
,
&
args
);
err
!=
nil
{
...
...
rpc/args.go
View file @
bd1a54f0
...
@@ -149,7 +149,7 @@ func (args *NewTxArgs) UnmarshalJSON(b []byte) (err error) {
...
@@ -149,7 +149,7 @@ func (args *NewTxArgs) UnmarshalJSON(b []byte) (err error) {
}
}
type
GetStorageArgs
struct
{
type
GetStorageArgs
struct
{
Address
string
Address
common
.
Address
BlockNumber
int64
BlockNumber
int64
}
}
...
@@ -165,9 +165,9 @@ func (args *GetStorageArgs) UnmarshalJSON(b []byte) (err error) {
...
@@ -165,9 +165,9 @@ func (args *GetStorageArgs) UnmarshalJSON(b []byte) (err error) {
addstr
,
ok
:=
obj
[
0
]
.
(
string
)
addstr
,
ok
:=
obj
[
0
]
.
(
string
)
if
!
ok
{
if
!
ok
{
return
NewDecodeParamError
(
"
A
ddress is not a string"
)
return
NewDecodeParamError
(
"
a
ddress is not a string"
)
}
}
args
.
Address
=
addstr
args
.
Address
=
common
.
HexToAddress
(
addstr
)
if
len
(
obj
)
>
1
{
if
len
(
obj
)
>
1
{
if
err
:=
blockHeight
(
obj
[
1
],
&
args
.
BlockNumber
);
err
!=
nil
{
if
err
:=
blockHeight
(
obj
[
1
],
&
args
.
BlockNumber
);
err
!=
nil
{
...
@@ -178,13 +178,6 @@ func (args *GetStorageArgs) UnmarshalJSON(b []byte) (err error) {
...
@@ -178,13 +178,6 @@ func (args *GetStorageArgs) UnmarshalJSON(b []byte) (err error) {
return
nil
return
nil
}
}
func
(
args
*
GetStorageArgs
)
requirements
()
error
{
if
len
(
args
.
Address
)
==
0
{
return
NewValidationError
(
"Address"
,
"cannot be blank"
)
}
return
nil
}
type
GetStorageAtArgs
struct
{
type
GetStorageAtArgs
struct
{
Address
string
Address
string
Key
string
Key
string
...
...
rpc/args_test.go
View file @
bd1a54f0
...
@@ -239,7 +239,7 @@ func TestNewTxArgsFromEmpty(t *testing.T) {
...
@@ -239,7 +239,7 @@ func TestNewTxArgsFromEmpty(t *testing.T) {
func
TestGetStorageArgs
(
t
*
testing
.
T
)
{
func
TestGetStorageArgs
(
t
*
testing
.
T
)
{
input
:=
`["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "latest"]`
input
:=
`["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "latest"]`
expected
:=
new
(
GetStorageArgs
)
expected
:=
new
(
GetStorageArgs
)
expected
.
Address
=
"0x407d73d8a49eeb85d32cf465507dd71d507100c1"
expected
.
Address
=
common
.
HexToAddress
(
"0x407d73d8a49eeb85d32cf465507dd71d507100c1"
)
expected
.
BlockNumber
=
-
1
expected
.
BlockNumber
=
-
1
args
:=
new
(
GetStorageArgs
)
args
:=
new
(
GetStorageArgs
)
...
@@ -247,10 +247,6 @@ func TestGetStorageArgs(t *testing.T) {
...
@@ -247,10 +247,6 @@ func TestGetStorageArgs(t *testing.T) {
t
.
Error
(
err
)
t
.
Error
(
err
)
}
}
if
err
:=
args
.
requirements
();
err
!=
nil
{
t
.
Error
(
err
)
}
if
expected
.
Address
!=
args
.
Address
{
if
expected
.
Address
!=
args
.
Address
{
t
.
Errorf
(
"Address shoud be %#v but is %#v"
,
expected
.
Address
,
args
.
Address
)
t
.
Errorf
(
"Address shoud be %#v but is %#v"
,
expected
.
Address
,
args
.
Address
)
}
}
...
@@ -260,13 +256,63 @@ func TestGetStorageArgs(t *testing.T) {
...
@@ -260,13 +256,63 @@ func TestGetStorageArgs(t *testing.T) {
}
}
}
}
func
TestGetStorageInvalidArgs
(
t
*
testing
.
T
)
{
input
:=
`{}`
args
:=
new
(
GetStorageArgs
)
err
:=
json
.
Unmarshal
([]
byte
(
input
),
&
args
)
switch
err
.
(
type
)
{
case
nil
:
t
.
Error
(
"Expected error but didn't get one"
)
case
*
DecodeParamError
:
break
default
:
t
.
Errorf
(
"Expected *rpc.DecodeParamError but got %T with message `%s`"
,
err
,
err
.
Error
())
}
}
func
TestGetStorageInvalidBlockheight
(
t
*
testing
.
T
)
{
input
:=
`["0x407d73d8a49eeb85d32cf465507dd71d507100c1", {}]`
args
:=
new
(
GetStorageArgs
)
err
:=
json
.
Unmarshal
([]
byte
(
input
),
&
args
)
switch
err
.
(
type
)
{
case
nil
:
t
.
Error
(
"Expected error but didn't get one"
)
case
*
DecodeParamError
:
break
default
:
t
.
Errorf
(
"Expected *rpc.DecodeParamError but got %T with message `%s`"
,
err
,
err
.
Error
())
}
}
func
TestGetStorageEmptyArgs
(
t
*
testing
.
T
)
{
func
TestGetStorageEmptyArgs
(
t
*
testing
.
T
)
{
input
:=
`[]`
input
:=
`[]`
args
:=
new
(
GetStorageArgs
)
args
:=
new
(
GetStorageArgs
)
err
:=
json
.
Unmarshal
([]
byte
(
input
),
&
args
)
err
:=
json
.
Unmarshal
([]
byte
(
input
),
&
args
)
if
err
==
nil
{
switch
err
.
(
type
)
{
case
nil
:
t
.
Error
(
"Expected error but didn't get one"
)
t
.
Error
(
"Expected error but didn't get one"
)
case
*
InsufficientParamsError
:
break
default
:
t
.
Errorf
(
"Expected *rpc.InsufficientParamsError but got %T with message `%s`"
,
err
,
err
.
Error
())
}
}
func
TestGetStorageAddressInt
(
t
*
testing
.
T
)
{
input
:=
`[32456785432456, "latest"]`
args
:=
new
(
GetStorageArgs
)
err
:=
json
.
Unmarshal
([]
byte
(
input
),
&
args
)
switch
err
.
(
type
)
{
case
nil
:
t
.
Error
(
"Expected error but didn't get one"
)
case
*
DecodeParamError
:
break
default
:
t
.
Errorf
(
"Expected *rpc.DecodeParamError but got %T with message `%s`"
,
err
,
err
.
Error
())
}
}
}
}
...
...
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