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
30cc1c3b
Commit
30cc1c3b
authored
May 23, 2017
by
Nicolas Guillaume
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mobile: Add management methods to {Addresses,Topics,Hashes} structures
parent
da636c53
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
60 additions
and
0 deletions
+60
-0
common.go
mobile/common.go
+43
-0
ethereum.go
mobile/ethereum.go
+17
-0
No files found.
mobile/common.go
View file @
30cc1c3b
...
...
@@ -89,6 +89,18 @@ func (h *Hash) GetHex() string {
// Hashes represents a slice of hashes.
type
Hashes
struct
{
hashes
[]
common
.
Hash
}
// NewHashes creates a slice of uninitialized Hashes.
func
NewHashes
(
size
int
)
*
Hashes
{
return
&
Hashes
{
hashes
:
make
([]
common
.
Hash
,
size
),
}
}
// NewHashesEmpty creates an empty slice of Hashes values.
func
NewHashesEmpty
()
*
Hashes
{
return
NewHashes
(
0
)
}
// Size returns the number of hashes in the slice.
func
(
h
*
Hashes
)
Size
()
int
{
return
len
(
h
.
hashes
)
...
...
@@ -102,6 +114,20 @@ func (h *Hashes) Get(index int) (hash *Hash, _ error) {
return
&
Hash
{
h
.
hashes
[
index
]},
nil
}
// Set sets the Hash at the given index in the slice.
func
(
h
*
Hashes
)
Set
(
index
int
,
hash
*
Hash
)
error
{
if
index
<
0
||
index
>=
len
(
h
.
hashes
)
{
return
errors
.
New
(
"index out of bounds"
)
}
h
.
hashes
[
index
]
=
hash
.
hash
return
nil
}
// Append adds a new Hash element to the end of the slice.
func
(
h
*
Hashes
)
Append
(
hash
*
Hash
)
{
h
.
hashes
=
append
(
h
.
hashes
,
hash
.
hash
)
}
// Address represents the 20 byte address of an Ethereum account.
type
Address
struct
{
address
common
.
Address
...
...
@@ -164,6 +190,18 @@ func (a *Address) GetHex() string {
// Addresses represents a slice of addresses.
type
Addresses
struct
{
addresses
[]
common
.
Address
}
// NewAddresses creates a slice of uninitialized addresses.
func
NewAddresses
(
size
int
)
*
Addresses
{
return
&
Addresses
{
addresses
:
make
([]
common
.
Address
,
size
),
}
}
// NewAddressesEmpty creates an empty slice of Addresses values.
func
NewAddressesEmpty
()
*
Addresses
{
return
NewAddresses
(
0
)
}
// Size returns the number of addresses in the slice.
func
(
a
*
Addresses
)
Size
()
int
{
return
len
(
a
.
addresses
)
...
...
@@ -185,3 +223,8 @@ func (a *Addresses) Set(index int, address *Address) error {
a
.
addresses
[
index
]
=
address
.
address
return
nil
}
// Append adds a new address element to the end of the slice.
func
(
a
*
Addresses
)
Append
(
address
*
Address
)
{
a
.
addresses
=
append
(
a
.
addresses
,
address
.
address
)
}
mobile/ethereum.go
View file @
30cc1c3b
...
...
@@ -87,6 +87,18 @@ func (p *SyncProgress) GetKnownStates() int64 { return int64(p.progress.KnownS
// Topics is a set of topic lists to filter events with.
type
Topics
struct
{
topics
[][]
common
.
Hash
}
// NewTopics creates a slice of uninitialized Topics.
func
NewTopics
(
size
int
)
*
Topics
{
return
&
Topics
{
topics
:
make
([][]
common
.
Hash
,
size
),
}
}
// NewTopicsEmpty creates an empty slice of Topics values.
func
NewTopicsEmpty
()
*
Topics
{
return
NewTopics
(
0
)
}
// Size returns the number of topic lists inside the set
func
(
t
*
Topics
)
Size
()
int
{
return
len
(
t
.
topics
)
...
...
@@ -109,6 +121,11 @@ func (t *Topics) Set(index int, topics *Hashes) error {
return
nil
}
// Append adds a new topic list to the end of the slice.
func
(
t
*
Topics
)
Append
(
topics
*
Hashes
)
{
t
.
topics
=
append
(
t
.
topics
,
topics
.
hashes
)
}
// FilterQuery contains options for contact log filtering.
type
FilterQuery
struct
{
query
ethereum
.
FilterQuery
...
...
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