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
ef9d825c
Commit
ef9d825c
authored
Mar 06, 2015
by
Taylor Gerring
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Refactor & cleanup
parent
9f5e9eb3
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
543 additions
and
657 deletions
+543
-657
types.go
javascript/types.go
+1
-1
api.go
rpc/api.go
+110
-172
args.go
rpc/args.go
+402
-112
messages.go
rpc/messages.go
+26
-364
xeth.go
xeth/xeth.go
+4
-8
No files found.
javascript/types.go
View file @
ef9d825c
...
@@ -62,7 +62,7 @@ type JSEthereum struct {
...
@@ -62,7 +62,7 @@ type JSEthereum struct {
func
(
self
*
JSEthereum
)
Block
(
v
interface
{})
otto
.
Value
{
func
(
self
*
JSEthereum
)
Block
(
v
interface
{})
otto
.
Value
{
if
number
,
ok
:=
v
.
(
int64
);
ok
{
if
number
,
ok
:=
v
.
(
int64
);
ok
{
return
self
.
toVal
(
&
JSBlock
{
self
.
XEth
.
BlockByNumber
(
int32
(
number
)),
self
})
return
self
.
toVal
(
&
JSBlock
{
self
.
XEth
.
BlockByNumber
(
uint64
(
number
)),
self
})
}
else
if
hash
,
ok
:=
v
.
(
string
);
ok
{
}
else
if
hash
,
ok
:=
v
.
(
string
);
ok
{
return
self
.
toVal
(
&
JSBlock
{
self
.
XEth
.
BlockByHash
(
hash
),
self
})
return
self
.
toVal
(
&
JSBlock
{
self
.
XEth
.
BlockByHash
(
hash
),
self
})
}
}
...
...
rpc/api.go
View file @
ef9d825c
This diff is collapsed.
Click to expand it.
rpc/args.go
View file @
ef9d825c
This diff is collapsed.
Click to expand it.
rpc/messages.go
View file @
ef9d825c
...
@@ -17,7 +17,6 @@
...
@@ -17,7 +17,6 @@
package
rpc
package
rpc
import
(
import
(
"bytes"
"encoding/json"
"encoding/json"
"errors"
"errors"
"fmt"
"fmt"
...
@@ -33,10 +32,10 @@ var (
...
@@ -33,10 +32,10 @@ var (
)
)
type
RpcRequest
struct
{
type
RpcRequest
struct
{
ID
interface
{}
`json:"id"`
ID
interface
{}
`json:"id"`
JsonRpc
string
`json:"jsonrpc"`
JsonRpc
string
`json:"jsonrpc"`
Method
string
`json:"method"`
Method
string
`json:"method"`
Params
[]
json
.
RawMessage
`json:"params"`
Params
json
.
RawMessage
`json:"params"`
}
}
type
RpcSuccessResponse
struct
{
type
RpcSuccessResponse
struct
{
...
@@ -61,367 +60,30 @@ func NewErrorWithMessage(err error, msg string) error {
...
@@ -61,367 +60,30 @@ func NewErrorWithMessage(err error, msg string) error {
return
fmt
.
Errorf
(
"%s: %s"
,
err
.
Error
(),
msg
)
return
fmt
.
Errorf
(
"%s: %s"
,
err
.
Error
(),
msg
)
}
}
func
(
req
*
RpcRequest
)
ToSha3Args
()
(
*
Sha3Args
,
error
)
{
// func (req *RpcRequest) ToRegisterArgs() (string, error) {
if
len
(
req
.
Params
)
<
1
{
// if len(req.Params) < 1 {
return
nil
,
errArguments
// return "", errArguments
}
// }
args
:=
new
(
Sha3Args
)
r
:=
bytes
.
NewReader
(
req
.
Params
[
0
])
if
err
:=
json
.
NewDecoder
(
r
)
.
Decode
(
args
);
err
!=
nil
{
return
nil
,
errDecodeArgs
}
return
args
,
nil
}
func
(
req
*
RpcRequest
)
ToGetBlockArgs
()
(
*
GetBlockArgs
,
error
)
{
if
len
(
req
.
Params
)
<
1
{
return
nil
,
errArguments
}
args
:=
new
(
GetBlockArgs
)
r
:=
bytes
.
NewReader
(
req
.
Params
[
0
])
err
:=
json
.
NewDecoder
(
r
)
.
Decode
(
args
)
if
err
!=
nil
{
return
nil
,
errDecodeArgs
}
return
args
,
nil
}
func
(
req
*
RpcRequest
)
ToNewTxArgs
()
(
*
NewTxArgs
,
error
)
{
if
len
(
req
.
Params
)
<
1
{
return
nil
,
errArguments
}
args
:=
new
(
NewTxArgs
)
r
:=
bytes
.
NewReader
(
req
.
Params
[
0
])
err
:=
json
.
NewDecoder
(
r
)
.
Decode
(
args
)
if
err
!=
nil
{
return
nil
,
NewErrorWithMessage
(
errDecodeArgs
,
err
.
Error
())
}
return
args
,
nil
}
func
(
req
*
RpcRequest
)
ToPushTxArgs
()
(
*
PushTxArgs
,
error
)
{
if
len
(
req
.
Params
)
<
1
{
return
nil
,
errArguments
}
args
:=
new
(
PushTxArgs
)
r
:=
bytes
.
NewReader
(
req
.
Params
[
0
])
err
:=
json
.
NewDecoder
(
r
)
.
Decode
(
args
)
if
err
!=
nil
{
return
nil
,
errDecodeArgs
}
return
args
,
nil
}
func
(
req
*
RpcRequest
)
ToGetStorageAtArgs
()
(
*
GetStorageAtArgs
,
error
)
{
if
len
(
req
.
Params
)
<
2
{
return
nil
,
errArguments
}
args
:=
new
(
GetStorageAtArgs
)
var
arg0
,
arg1
string
r0
:=
bytes
.
NewReader
(
req
.
Params
[
0
])
if
err
:=
json
.
NewDecoder
(
r0
)
.
Decode
(
arg0
);
err
!=
nil
{
return
nil
,
errDecodeArgs
}
r1
:=
bytes
.
NewReader
(
req
.
Params
[
1
])
if
err
:=
json
.
NewDecoder
(
r1
)
.
Decode
(
arg1
);
err
!=
nil
{
return
nil
,
errDecodeArgs
}
args
.
Address
=
arg0
args
.
Key
=
arg1
return
args
,
nil
}
func
(
req
*
RpcRequest
)
ToStorageArgs
()
(
*
GetStorageArgs
,
error
)
{
if
len
(
req
.
Params
)
<
1
{
return
nil
,
errArguments
}
args
:=
new
(
GetStorageArgs
)
r
:=
bytes
.
NewReader
(
req
.
Params
[
0
])
err
:=
json
.
NewDecoder
(
r
)
.
Decode
(
args
)
if
err
!=
nil
{
return
nil
,
errDecodeArgs
}
return
args
,
nil
}
func
(
req
*
RpcRequest
)
ToGetTxCountArgs
()
(
*
GetTxCountArgs
,
error
)
{
if
len
(
req
.
Params
)
<
1
{
return
nil
,
errArguments
}
args
:=
new
(
GetTxCountArgs
)
r
:=
bytes
.
NewReader
(
req
.
Params
[
0
])
err
:=
json
.
NewDecoder
(
r
)
.
Decode
(
args
)
if
err
!=
nil
{
return
nil
,
errDecodeArgs
}
return
args
,
nil
}
func
(
req
*
RpcRequest
)
ToGetBalanceArgs
()
(
*
GetBalanceArgs
,
error
)
{
if
len
(
req
.
Params
)
<
1
{
return
nil
,
errArguments
}
args
:=
new
(
GetBalanceArgs
)
r
:=
bytes
.
NewReader
(
req
.
Params
[
0
])
err
:=
json
.
NewDecoder
(
r
)
.
Decode
(
args
)
if
err
!=
nil
{
return
nil
,
errDecodeArgs
}
return
args
,
nil
}
func
(
req
*
RpcRequest
)
ToGetCodeAtArgs
()
(
*
GetCodeAtArgs
,
error
)
{
if
len
(
req
.
Params
)
<
1
{
return
nil
,
errArguments
}
args
:=
new
(
GetCodeAtArgs
)
r
:=
bytes
.
NewReader
(
req
.
Params
[
0
])
err
:=
json
.
NewDecoder
(
r
)
.
Decode
(
args
)
if
err
!=
nil
{
return
nil
,
errDecodeArgs
}
return
args
,
nil
}
func
(
req
*
RpcRequest
)
ToBoolArgs
()
(
bool
,
error
)
{
if
len
(
req
.
Params
)
<
1
{
return
false
,
errArguments
}
var
args
bool
err
:=
json
.
Unmarshal
(
req
.
Params
[
0
],
&
args
)
if
err
!=
nil
{
return
false
,
errDecodeArgs
}
return
args
,
nil
}
func
(
req
*
RpcRequest
)
ToIntArgs
()
(
int
,
error
)
{
if
len
(
req
.
Params
)
<
1
{
return
0
,
errArguments
}
var
args
int
if
err
:=
json
.
Unmarshal
(
req
.
Params
[
0
],
&
args
);
err
!=
nil
{
return
0
,
errArguments
}
return
args
,
nil
}
func
(
req
*
RpcRequest
)
ToCompileArgs
()
(
string
,
error
)
{
if
len
(
req
.
Params
)
<
1
{
return
""
,
errArguments
}
var
args
string
err
:=
json
.
Unmarshal
(
req
.
Params
[
0
],
&
args
)
if
err
!=
nil
{
return
""
,
errDecodeArgs
}
return
args
,
nil
}
func
(
req
*
RpcRequest
)
ToFilterArgs
()
(
*
FilterOptions
,
error
)
{
if
len
(
req
.
Params
)
<
1
{
return
nil
,
errArguments
}
args
:=
new
(
FilterOptions
)
r
:=
bytes
.
NewReader
(
req
.
Params
[
0
])
err
:=
json
.
NewDecoder
(
r
)
.
Decode
(
args
)
if
err
!=
nil
{
return
nil
,
errDecodeArgs
}
return
args
,
nil
}
func
(
req
*
RpcRequest
)
ToFilterStringArgs
()
(
string
,
error
)
{
if
len
(
req
.
Params
)
<
1
{
return
""
,
errArguments
}
var
args
string
err
:=
json
.
Unmarshal
(
req
.
Params
[
0
],
&
args
)
if
err
!=
nil
{
return
""
,
errDecodeArgs
}
return
args
,
nil
}
func
(
req
*
RpcRequest
)
ToUninstallFilterArgs
()
(
int
,
error
)
{
if
len
(
req
.
Params
)
<
1
{
return
0
,
errArguments
}
var
args
int
err
:=
json
.
Unmarshal
(
req
.
Params
[
0
],
&
args
)
if
err
!=
nil
{
return
0
,
errDecodeArgs
}
return
args
,
nil
}
func
(
req
*
RpcRequest
)
ToFilterChangedArgs
()
(
int
,
error
)
{
if
len
(
req
.
Params
)
<
1
{
return
0
,
errArguments
}
var
id
int
r
:=
bytes
.
NewReader
(
req
.
Params
[
0
])
err
:=
json
.
NewDecoder
(
r
)
.
Decode
(
&
id
)
if
err
!=
nil
{
return
0
,
errDecodeArgs
}
return
id
,
nil
}
func
(
req
*
RpcRequest
)
ToDbPutArgs
()
(
*
DbArgs
,
error
)
{
if
len
(
req
.
Params
)
<
3
{
return
nil
,
errArguments
}
var
args
DbArgs
err
:=
json
.
Unmarshal
(
req
.
Params
[
0
],
&
args
.
Database
)
if
err
!=
nil
{
return
nil
,
NewErrorWithMessage
(
errDecodeArgs
,
err
.
Error
())
}
err
=
json
.
Unmarshal
(
req
.
Params
[
1
],
&
args
.
Key
)
if
err
!=
nil
{
return
nil
,
NewErrorWithMessage
(
errDecodeArgs
,
err
.
Error
())
}
err
=
json
.
Unmarshal
(
req
.
Params
[
2
],
&
args
.
Value
)
if
err
!=
nil
{
return
nil
,
NewErrorWithMessage
(
errDecodeArgs
,
err
.
Error
())
}
return
&
args
,
nil
// var args string
}
// err := json.Unmarshal(req.Params, &args)
// if err != nil {
func
(
req
*
RpcRequest
)
ToDbGetArgs
()
(
*
DbArgs
,
error
)
{
// return "", err
if
len
(
req
.
Params
)
<
2
{
// }
return
nil
,
errArguments
}
var
args
DbArgs
// return args, nil
err
:=
json
.
Unmarshal
(
req
.
Params
[
0
],
&
args
.
Database
)
// }
if
err
!=
nil
{
return
nil
,
NewErrorWithMessage
(
errDecodeArgs
,
err
.
Error
())
}
err
=
json
.
Unmarshal
(
req
.
Params
[
1
],
&
args
.
Key
)
// func (req *RpcRequest) ToWatchTxArgs() (string, error) {
if
err
!=
nil
{
// if len(req.Params) < 1
{
return
nil
,
NewErrorWithMessage
(
errDecodeArgs
,
err
.
Error
())
// return "", errArguments
}
//
}
return
&
args
,
nil
// var args string
}
// err := json.Unmarshal(req.Params, &args)
// if err != nil {
// return "", err
// }
func
(
req
*
RpcRequest
)
ToWhisperFilterArgs
()
(
*
xeth
.
Options
,
error
)
{
// return args, nil
if
len
(
req
.
Params
)
<
1
{
// }
return
nil
,
errArguments
}
var
args
xeth
.
Options
err
:=
json
.
Unmarshal
(
req
.
Params
[
0
],
&
args
)
if
err
!=
nil
{
return
nil
,
NewErrorWithMessage
(
errDecodeArgs
,
err
.
Error
())
}
return
&
args
,
nil
}
func
(
req
*
RpcRequest
)
ToIdArgs
()
(
int
,
error
)
{
if
len
(
req
.
Params
)
<
1
{
return
0
,
errArguments
}
var
id
int
err
:=
json
.
Unmarshal
(
req
.
Params
[
0
],
&
id
)
if
err
!=
nil
{
return
0
,
errDecodeArgs
}
return
id
,
nil
}
func
(
req
*
RpcRequest
)
ToWhisperPostArgs
()
(
*
WhisperMessageArgs
,
error
)
{
if
len
(
req
.
Params
)
<
1
{
return
nil
,
errArguments
}
var
args
WhisperMessageArgs
err
:=
json
.
Unmarshal
(
req
.
Params
[
0
],
&
args
)
if
err
!=
nil
{
return
nil
,
err
}
return
&
args
,
nil
}
func
(
req
*
RpcRequest
)
ToWhisperHasIdentityArgs
()
(
string
,
error
)
{
if
len
(
req
.
Params
)
<
1
{
return
""
,
errArguments
}
var
args
string
err
:=
json
.
Unmarshal
(
req
.
Params
[
0
],
&
args
)
if
err
!=
nil
{
return
""
,
err
}
return
args
,
nil
}
func
(
req
*
RpcRequest
)
ToRegisterArgs
()
(
string
,
error
)
{
if
len
(
req
.
Params
)
<
1
{
return
""
,
errArguments
}
var
args
string
err
:=
json
.
Unmarshal
(
req
.
Params
[
0
],
&
args
)
if
err
!=
nil
{
return
""
,
err
}
return
args
,
nil
}
func
(
req
*
RpcRequest
)
ToWatchTxArgs
()
(
string
,
error
)
{
if
len
(
req
.
Params
)
<
1
{
return
""
,
errArguments
}
var
args
string
err
:=
json
.
Unmarshal
(
req
.
Params
[
0
],
&
args
)
if
err
!=
nil
{
return
""
,
err
}
return
args
,
nil
}
xeth/xeth.go
View file @
ef9d825c
...
@@ -86,21 +86,17 @@ func (self *XEth) BlockByHash(strHash string) *Block {
...
@@ -86,21 +86,17 @@ func (self *XEth) BlockByHash(strHash string) *Block {
return
NewBlock
(
block
)
return
NewBlock
(
block
)
}
}
func
(
self
*
XEth
)
BlockByNumber
(
num
int32
)
*
Block
{
func
(
self
*
XEth
)
BlockByNumber
(
num
uint64
)
*
Block
{
if
num
==
-
1
{
return
NewBlock
(
self
.
chainManager
.
GetBlockByNumber
(
num
))
return
NewBlock
(
self
.
chainManager
.
CurrentBlock
())
}
return
NewBlock
(
self
.
chainManager
.
GetBlockByNumber
(
uint64
(
num
)))
}
}
func
(
self
*
XEth
)
Block
(
v
interface
{})
*
Block
{
func
(
self
*
XEth
)
Block
(
v
interface
{})
*
Block
{
if
n
,
ok
:=
v
.
(
int32
);
ok
{
if
n
,
ok
:=
v
.
(
int32
);
ok
{
return
self
.
BlockByNumber
(
n
)
return
self
.
BlockByNumber
(
uint64
(
n
)
)
}
else
if
str
,
ok
:=
v
.
(
string
);
ok
{
}
else
if
str
,
ok
:=
v
.
(
string
);
ok
{
return
self
.
BlockByHash
(
str
)
return
self
.
BlockByHash
(
str
)
}
else
if
f
,
ok
:=
v
.
(
float64
);
ok
{
// Don't ask ...
}
else
if
f
,
ok
:=
v
.
(
float64
);
ok
{
// Don't ask ...
return
self
.
BlockByNumber
(
int32
(
f
))
return
self
.
BlockByNumber
(
uint64
(
f
))
}
}
return
nil
return
nil
...
...
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