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
c17381b8
Commit
c17381b8
authored
Mar 20, 2014
by
obscuren
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Moved code around
parent
59d8dc39
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
29 additions
and
11 deletions
+29
-11
state.go
ethchain/state.go
+29
-11
No files found.
ethchain/state.go
View file @
c17381b8
...
...
@@ -79,20 +79,10 @@ func (s *State) GetContract(addr []byte) *Contract {
}
func
(
s
*
State
)
UpdateContract
(
addr
[]
byte
,
contract
*
Contract
)
{
s
.
states
[
string
(
addr
)]
=
contract
.
state
s
.
trie
.
Update
(
string
(
addr
),
string
(
contract
.
RlpEncode
()))
}
func
Compile
(
code
[]
string
)
(
script
[]
string
)
{
script
=
make
([]
string
,
len
(
code
))
for
i
,
val
:=
range
code
{
instr
,
_
:=
ethutil
.
CompileInstr
(
val
)
script
[
i
]
=
string
(
instr
)
}
return
}
func
(
s
*
State
)
GetAccount
(
addr
[]
byte
)
(
account
*
Account
)
{
data
:=
s
.
trie
.
Get
(
string
(
addr
))
if
data
==
""
{
...
...
@@ -153,3 +143,31 @@ func (s *State) Get(key []byte) (*ethutil.Value, ObjType) {
return
val
,
typ
}
func
(
s
*
State
)
Put
(
key
,
object
[]
byte
)
{
s
.
trie
.
Update
(
string
(
key
),
string
(
object
))
}
// Script compilation functions
// Compiles strings to machine code
func
Compile
(
code
[]
string
)
(
script
[]
string
)
{
script
=
make
([]
string
,
len
(
code
))
for
i
,
val
:=
range
code
{
instr
,
_
:=
ethutil
.
CompileInstr
(
val
)
script
[
i
]
=
string
(
instr
)
}
return
}
func
CompileToValues
(
code
[]
string
)
(
script
[]
*
ethutil
.
Value
)
{
script
=
make
([]
*
ethutil
.
Value
,
len
(
code
))
for
i
,
val
:=
range
code
{
instr
,
_
:=
ethutil
.
CompileInstr
(
val
)
script
[
i
]
=
ethutil
.
NewValue
(
instr
)
}
return
}
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