Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
baas-ide
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
guxukai
baas-ide
Commits
cdc7045a
Commit
cdc7045a
authored
Dec 08, 2016
by
yann300
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add tests
parent
2374330f
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
34 additions
and
0 deletions
+34
-0
localDecoder.js
test/solidity/localDecoder.js
+34
-0
No files found.
test/solidity/localDecoder.js
View file @
cdc7045a
...
...
@@ -15,6 +15,7 @@ var util = require('../../src/helpers/global')
var
SolidityProxy
=
require
(
'../../src/solidity/solidityProxy'
)
var
InternalCallTree
=
require
(
'../../src/util/internalCallTree'
)
var
EventManager
=
require
(
'../../src/lib/eventManager'
)
var
localDecoder
=
require
(
'../../src/solidity/localDecoder'
)
tape
(
'solidity'
,
function
(
t
)
{
t
.
test
(
'local decoder'
,
function
(
st
)
{
...
...
@@ -65,6 +66,18 @@ tape('solidity', function (t) {
st
.
equals
(
scopes
[
'2'
].
locals
[
'ui81'
].
type
.
typeName
,
'uint'
)
st
.
equals
(
scopes
[
'3'
].
locals
[
'ui8'
].
type
.
typeName
,
'uint'
)
st
.
equals
(
scopes
[
'3.1'
].
locals
[
'ui81'
].
type
.
typeName
,
'uint'
)
decodeLocal
(
st
,
105
,
traceManager
,
callTree
,
function
(
locals
)
{
st
.
equals
(
Object
.
keys
(
locals
).
length
,
15
)
})
decodeLocal
(
st
,
157
,
traceManager
,
callTree
,
function
(
locals
)
{
try
{
st
.
equals
(
locals
[
'ui8'
],
''
)
}
catch
(
e
)
{
st
.
fail
(
e
.
message
)
}
})
})
traceManager
.
resolveTrace
(
tx
,
(
error
,
result
)
=>
{
if
(
error
)
{
...
...
@@ -80,6 +93,27 @@ tape('solidity', function (t) {
})
})
/*
Decode local variable
*/
function
decodeLocal
(
st
,
index
,
traceManager
,
callTree
,
verifier
)
{
traceManager
.
waterfall
([
traceManager
.
getStackAt
,
traceManager
.
getMemoryAt
],
index
,
function
(
error
,
result
)
{
if
(
!
error
)
{
var
locals
=
localDecoder
.
solidityLocals
(
index
,
callTree
,
result
[
0
].
value
,
result
[
1
].
value
)
verifier
(
locals
)
}
else
{
st
.
fail
(
error
)
}
})
}
/*
Init VM / Send Transaction
*/
function
initVM
(
st
,
address
)
{
var
vm
=
new
VM
({
enableHomestead
:
true
,
...
...
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