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
a3fb7008
Commit
a3fb7008
authored
Feb 24, 2014
by
obscuren
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added make contract
parent
55c1c220
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
28 additions
and
0 deletions
+28
-0
contract.go
ethchain/contract.go
+28
-0
No files found.
ethchain/contract.go
View file @
a3fb7008
...
...
@@ -41,3 +41,31 @@ func (c *Contract) SetAddr(addr []byte, value interface{}) {
func
(
c
*
Contract
)
State
()
*
ethutil
.
Trie
{
return
c
.
state
}
func
(
c
*
Contract
)
GetMem
(
num
int
)
*
ethutil
.
Value
{
nb
:=
ethutil
.
BigToBytes
(
big
.
NewInt
(
int64
(
num
)),
256
)
return
c
.
Addr
(
nb
)
}
func
MakeContract
(
tx
*
Transaction
,
state
*
State
)
*
Contract
{
// Create contract if there's no recipient
if
tx
.
IsContract
()
{
addr
:=
tx
.
Hash
()[
12
:
]
value
:=
tx
.
Value
contract
:=
NewContract
(
value
,
[]
byte
(
""
))
state
.
trie
.
Update
(
string
(
addr
),
string
(
contract
.
RlpEncode
()))
for
i
,
val
:=
range
tx
.
Data
{
if
len
(
val
)
>
0
{
bytNum
:=
ethutil
.
BigToBytes
(
big
.
NewInt
(
int64
(
i
)),
256
)
contract
.
state
.
Update
(
string
(
bytNum
),
string
(
ethutil
.
Encode
(
val
)))
}
}
state
.
trie
.
Update
(
string
(
addr
),
string
(
contract
.
RlpEncode
()))
return
contract
}
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