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
c519a35d
Commit
c519a35d
authored
Jan 18, 2017
by
yann300
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
return typename together with the value
parent
0de74536
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
307 additions
and
283 deletions
+307
-283
ArrayType.js
src/solidity/types/ArrayType.js
+7
-2
DynamicByteArray.js
src/solidity/types/DynamicByteArray.js
+4
-2
Struct.js
src/solidity/types/Struct.js
+8
-2
ValueType.js
src/solidity/types/ValueType.js
+15
-4
int.js
test/solidity/localsTests/int.js
+16
-16
misc.js
test/solidity/localsTests/misc.js
+32
-32
structArray.js
test/solidity/localsTests/structArray.js
+47
-47
storageDecoder.js
test/solidity/storageDecoder.js
+178
-178
No files found.
src/solidity/types/ArrayType.js
View file @
c519a35d
...
...
@@ -52,7 +52,8 @@ class ArrayType extends RefType {
}
return
{
value
:
ret
,
length
:
'0x'
+
size
.
toString
(
16
)
length
:
'0x'
+
size
.
toString
(
16
),
type
:
this
.
typeName
}
}
...
...
@@ -69,7 +70,11 @@ class ArrayType extends RefType {
ret
.
push
(
this
.
underlyingType
.
decodeFromMemory
(
contentOffset
,
memory
))
offset
+=
32
}
return
ret
return
{
value
:
ret
,
length
:
'0x'
+
length
.
toString
(
16
),
type
:
this
.
typeName
}
}
}
...
...
src/solidity/types/DynamicByteArray.js
View file @
c519a35d
...
...
@@ -30,7 +30,8 @@ class DynamicByteArray extends RefType {
var
size
=
parseInt
(
value
.
substr
(
value
.
length
-
2
,
2
),
16
)
/
2
return
{
value
:
'0x'
+
value
.
substr
(
0
,
size
*
2
),
length
:
'0x'
+
size
.
toString
(
16
)
length
:
'0x'
+
size
.
toString
(
16
),
type
:
this
.
typeName
}
}
}
...
...
@@ -41,7 +42,8 @@ class DynamicByteArray extends RefType {
length
=
2
*
parseInt
(
length
,
16
)
return
{
length
:
'0x'
+
length
.
toString
(
16
),
value
:
'0x'
+
memory
.
substr
(
offset
+
64
,
length
)
value
:
'0x'
+
memory
.
substr
(
offset
+
64
,
length
),
type
:
this
.
typeName
}
}
}
...
...
src/solidity/types/Struct.js
View file @
c519a35d
...
...
@@ -17,7 +17,10 @@ class Struct extends RefType {
}
ret
[
item
.
name
]
=
item
.
type
.
decodeFromStorage
(
globalLocation
,
storageContent
)
})
return
ret
return
{
value
:
ret
,
type
:
this
.
typeName
}
}
decodeFromMemoryInternal
(
offset
,
memory
)
{
...
...
@@ -28,7 +31,10 @@ class Struct extends RefType {
ret
[
item
.
name
]
=
member
offset
+=
32
})
return
ret
return
{
value
:
ret
,
type
:
this
.
typeName
}
}
}
...
...
src/solidity/types/ValueType.js
View file @
c519a35d
...
...
@@ -18,7 +18,10 @@ class ValueType {
*/
decodeFromStorage
(
location
,
storageContent
)
{
var
value
=
util
.
extractHexValue
(
location
,
storageContent
,
this
.
storageBytes
)
return
this
.
decodeValue
(
value
)
return
{
value
:
this
.
decodeValue
(
value
),
type
:
this
.
typeName
}
}
/**
...
...
@@ -30,10 +33,15 @@ class ValueType {
* @return {Object} - decoded value
*/
decodeFromStack
(
stackDepth
,
stack
,
memory
)
{
var
value
if
(
stackDepth
>=
stack
.
length
)
{
return
this
.
decodeValue
(
''
)
value
=
this
.
decodeValue
(
''
)
}
else
{
return
this
.
decodeValue
(
stack
[
stack
.
length
-
1
-
stackDepth
].
replace
(
'0x'
,
''
))
value
=
this
.
decodeValue
(
stack
[
stack
.
length
-
1
-
stackDepth
].
replace
(
'0x'
,
''
))
}
return
{
value
:
value
,
type
:
this
.
typeName
}
}
...
...
@@ -46,7 +54,10 @@ class ValueType {
*/
decodeFromMemory
(
offset
,
memory
)
{
var
value
=
memory
.
substr
(
2
*
offset
,
64
)
return
this
.
decodeValue
(
util
.
extractHexByteSlice
(
value
,
this
.
storageBytes
,
0
))
return
{
value
:
this
.
decodeValue
(
util
.
extractHexByteSlice
(
value
,
this
.
storageBytes
,
0
)),
type
:
this
.
typeName
}
}
}
...
...
test/solidity/localsTests/int.js
View file @
c519a35d
...
...
@@ -63,26 +63,26 @@ module.exports = function (st, vm, privateKey, contractBytecode, compilationResu
helper
.
decodeLocals
(
st
,
125
,
traceManager
,
callTree
,
function
(
locals
)
{
st
.
equals
(
Object
.
keys
(
locals
).
length
,
16
)
st
.
equals
(
locals
[
'ui8'
],
'130'
)
st
.
equals
(
locals
[
'ui16'
],
'456'
)
st
.
equals
(
locals
[
'ui32'
],
'4356'
)
st
.
equals
(
locals
[
'ui64'
],
'3543543543'
)
st
.
equals
(
locals
[
'ui128'
],
'234567'
)
st
.
equals
(
locals
[
'ui256'
],
'115792089237316195423570985008687907853269984665640564039457584007880697216513'
)
st
.
equals
(
locals
[
'ui'
],
'123545666'
)
st
.
equals
(
locals
[
'i8'
],
'-45'
)
st
.
equals
(
locals
[
'i16'
],
'-1234'
)
st
.
equals
(
locals
[
'i32'
],
'3455'
)
st
.
equals
(
locals
[
'i64'
],
'-35566'
)
st
.
equals
(
locals
[
'i128'
],
'-444444'
)
st
.
equals
(
locals
[
'i256'
],
'3434343'
)
st
.
equals
(
locals
[
'i'
],
'-32432423423'
)
st
.
equals
(
locals
[
'ishrink'
],
'2'
)
st
.
equals
(
locals
[
'ui8'
]
.
value
,
'130'
)
st
.
equals
(
locals
[
'ui16'
]
.
value
,
'456'
)
st
.
equals
(
locals
[
'ui32'
]
.
value
,
'4356'
)
st
.
equals
(
locals
[
'ui64'
]
.
value
,
'3543543543'
)
st
.
equals
(
locals
[
'ui128'
]
.
value
,
'234567'
)
st
.
equals
(
locals
[
'ui256'
]
.
value
,
'115792089237316195423570985008687907853269984665640564039457584007880697216513'
)
st
.
equals
(
locals
[
'ui'
]
.
value
,
'123545666'
)
st
.
equals
(
locals
[
'i8'
]
.
value
,
'-45'
)
st
.
equals
(
locals
[
'i16'
]
.
value
,
'-1234'
)
st
.
equals
(
locals
[
'i32'
]
.
value
,
'3455'
)
st
.
equals
(
locals
[
'i64'
]
.
value
,
'-35566'
)
st
.
equals
(
locals
[
'i128'
]
.
value
,
'-444444'
)
st
.
equals
(
locals
[
'i256'
]
.
value
,
'3434343'
)
st
.
equals
(
locals
[
'i'
]
.
value
,
'-32432423423'
)
st
.
equals
(
locals
[
'ishrink'
]
.
value
,
'2'
)
})
helper
.
decodeLocals
(
st
,
177
,
traceManager
,
callTree
,
function
(
locals
)
{
try
{
st
.
equals
(
locals
[
'ui8'
],
'123'
)
st
.
equals
(
locals
[
'ui8'
]
.
value
,
'123'
)
st
.
equals
(
Object
.
keys
(
locals
).
length
,
1
)
}
catch
(
e
)
{
st
.
fail
(
e
.
message
)
...
...
test/solidity/localsTests/misc.js
View file @
c519a35d
...
...
@@ -32,22 +32,22 @@ module.exports = function (st, vm, privateKey, contractBytecode, compilationResu
callTree
.
event
.
register
(
'callTreeReady'
,
(
scopes
,
scopeStarts
)
=>
{
helper
.
decodeLocals
(
st
,
70
,
traceManager
,
callTree
,
function
(
locals
)
{
try
{
st
.
equals
(
locals
[
'boolFalse'
],
false
)
st
.
equals
(
locals
[
'boolTrue'
],
true
)
st
.
equals
(
locals
[
'testEnum'
],
'three'
)
st
.
equals
(
locals
[
'sender'
],
'0x4B0897B0513FDC7C541B6D9D7E929C4E5364D2DB'
)
st
.
equals
(
locals
[
'_bytes1'
],
'0x99'
)
st
.
equals
(
locals
[
'__bytes1'
],
'0x99'
)
st
.
equals
(
locals
[
'__bytes2'
],
'0x99AB'
)
st
.
equals
(
locals
[
'__bytes4'
],
'0x99FA0000'
)
st
.
equals
(
locals
[
'__bytes6'
],
'0x990000000000'
)
st
.
equals
(
locals
[
'__bytes7'
],
'0x99356700000000'
)
st
.
equals
(
locals
[
'__bytes8'
],
'0x99ABD41700000000'
)
st
.
equals
(
locals
[
'__bytes9'
],
'0x99156744AF00000000'
)
st
.
equals
(
locals
[
'__bytes13'
],
'0x99123423425300000000000000'
)
st
.
equals
(
locals
[
'__bytes16'
],
'0x99AFAD23432400000000000000000000'
)
st
.
equals
(
locals
[
'__bytes24'
],
'0x99AFAD234324000000000000000000000000000000000000'
)
st
.
equals
(
locals
[
'__bytes32'
],
'0x9999ABD41799ABD4170000000000000000000000000000000000000000000000'
)
st
.
equals
(
locals
[
'boolFalse'
]
.
value
,
false
)
st
.
equals
(
locals
[
'boolTrue'
]
.
value
,
true
)
st
.
equals
(
locals
[
'testEnum'
]
.
value
,
'three'
)
st
.
equals
(
locals
[
'sender'
]
.
value
,
'0x4B0897B0513FDC7C541B6D9D7E929C4E5364D2DB'
)
st
.
equals
(
locals
[
'_bytes1'
]
.
value
,
'0x99'
)
st
.
equals
(
locals
[
'__bytes1'
]
.
value
,
'0x99'
)
st
.
equals
(
locals
[
'__bytes2'
]
.
value
,
'0x99AB'
)
st
.
equals
(
locals
[
'__bytes4'
]
.
value
,
'0x99FA0000'
)
st
.
equals
(
locals
[
'__bytes6'
]
.
value
,
'0x990000000000'
)
st
.
equals
(
locals
[
'__bytes7'
]
.
value
,
'0x99356700000000'
)
st
.
equals
(
locals
[
'__bytes8'
]
.
value
,
'0x99ABD41700000000'
)
st
.
equals
(
locals
[
'__bytes9'
]
.
value
,
'0x99156744AF00000000'
)
st
.
equals
(
locals
[
'__bytes13'
]
.
value
,
'0x99123423425300000000000000'
)
st
.
equals
(
locals
[
'__bytes16'
]
.
value
,
'0x99AFAD23432400000000000000000000'
)
st
.
equals
(
locals
[
'__bytes24'
]
.
value
,
'0x99AFAD234324000000000000000000000000000000000000'
)
st
.
equals
(
locals
[
'__bytes32'
]
.
value
,
'0x9999ABD41799ABD4170000000000000000000000000000000000000000000000'
)
st
.
equals
(
Object
.
keys
(
locals
).
length
,
16
)
}
catch
(
e
)
{
st
.
fail
(
e
.
message
)
...
...
@@ -56,22 +56,22 @@ module.exports = function (st, vm, privateKey, contractBytecode, compilationResu
helper
.
decodeLocals
(
st
,
7
,
traceManager
,
callTree
,
function
(
locals
)
{
try
{
st
.
equals
(
locals
[
'boolFalse'
],
false
)
st
.
equals
(
locals
[
'boolTrue'
],
false
)
st
.
equals
(
locals
[
'testEnum'
],
'one'
)
st
.
equals
(
locals
[
'sender'
],
'0x0000000000000000000000000000000000000000'
)
st
.
equals
(
locals
[
'_bytes1'
],
'0x'
)
st
.
equals
(
locals
[
'__bytes1'
],
'0x'
)
st
.
equals
(
locals
[
'__bytes2'
],
'0x'
)
st
.
equals
(
locals
[
'__bytes4'
],
'0x'
)
st
.
equals
(
locals
[
'__bytes6'
],
'0x'
)
st
.
equals
(
locals
[
'__bytes7'
],
'0x'
)
st
.
equals
(
locals
[
'__bytes8'
],
'0x'
)
st
.
equals
(
locals
[
'__bytes9'
],
'0x'
)
st
.
equals
(
locals
[
'__bytes13'
],
'0x'
)
st
.
equals
(
locals
[
'__bytes16'
],
'0x'
)
st
.
equals
(
locals
[
'__bytes24'
],
'0x'
)
st
.
equals
(
locals
[
'__bytes32'
],
'0x'
)
st
.
equals
(
locals
[
'boolFalse'
]
.
value
,
false
)
st
.
equals
(
locals
[
'boolTrue'
]
.
value
,
false
)
st
.
equals
(
locals
[
'testEnum'
]
.
value
,
'one'
)
st
.
equals
(
locals
[
'sender'
]
.
value
,
'0x0000000000000000000000000000000000000000'
)
st
.
equals
(
locals
[
'_bytes1'
]
.
value
,
'0x'
)
st
.
equals
(
locals
[
'__bytes1'
]
.
value
,
'0x'
)
st
.
equals
(
locals
[
'__bytes2'
]
.
value
,
'0x'
)
st
.
equals
(
locals
[
'__bytes4'
]
.
value
,
'0x'
)
st
.
equals
(
locals
[
'__bytes6'
]
.
value
,
'0x'
)
st
.
equals
(
locals
[
'__bytes7'
]
.
value
,
'0x'
)
st
.
equals
(
locals
[
'__bytes8'
]
.
value
,
'0x'
)
st
.
equals
(
locals
[
'__bytes9'
]
.
value
,
'0x'
)
st
.
equals
(
locals
[
'__bytes13'
]
.
value
,
'0x'
)
st
.
equals
(
locals
[
'__bytes16'
]
.
value
,
'0x'
)
st
.
equals
(
locals
[
'__bytes24'
]
.
value
,
'0x'
)
st
.
equals
(
locals
[
'__bytes32'
]
.
value
,
'0x'
)
st
.
equals
(
Object
.
keys
(
locals
).
length
,
16
)
}
catch
(
e
)
{
st
.
fail
(
e
.
message
)
...
...
test/solidity/localsTests/structArray.js
View file @
c519a35d
...
...
@@ -34,63 +34,63 @@ module.exports = function (st, vm, privateKey, contractBytecode, compilationResu
try
{
st
.
equals
(
locals
[
'bytesSimple'
].
length
,
'0x14'
)
st
.
equals
(
locals
[
'bytesSimple'
].
value
,
'0x746573745f7375706572'
)
st
.
equals
(
locals
[
'e'
][
'a'
].
value
,
'test'
)
st
.
equals
(
locals
[
'e'
][
'a'
].
length
,
'0x8'
)
st
.
equals
(
locals
[
'e'
][
'a'
].
raw
,
'0x74657374'
)
st
.
equals
(
locals
[
'e'
]
[
'b'
]
,
'5'
)
st
.
equals
(
locals
[
'e'
][
'c'
].
length
,
'0x220'
)
st
.
equals
(
locals
[
'e'
][
'c'
].
raw
,
'0x746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374'
)
st
.
equals
(
locals
[
'e'
][
'c'
].
value
,
'test_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_test'
)
st
.
equals
(
locals
[
'e'
]
[
'd'
]
,
'3'
)
st
.
equals
(
locals
[
'e'
]
.
value
[
'a'
].
value
,
'test'
)
st
.
equals
(
locals
[
'e'
]
.
value
[
'a'
].
length
,
'0x8'
)
st
.
equals
(
locals
[
'e'
]
.
value
[
'a'
].
raw
,
'0x74657374'
)
st
.
equals
(
locals
[
'e'
]
.
value
[
'b'
].
value
,
'5'
)
st
.
equals
(
locals
[
'e'
]
.
value
[
'c'
].
length
,
'0x220'
)
st
.
equals
(
locals
[
'e'
]
.
value
[
'c'
].
raw
,
'0x746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374'
)
st
.
equals
(
locals
[
'e'
]
.
value
[
'c'
].
value
,
'test_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_test'
)
st
.
equals
(
locals
[
'e'
]
.
value
[
'd'
].
value
,
'3'
)
st
.
equals
(
locals
[
'f'
].
length
,
'0x1b8'
)
st
.
equals
(
locals
[
'f'
].
raw
,
'0x746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f'
)
st
.
equals
(
locals
[
'f'
].
value
,
'test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_test_long_'
)
st
.
equals
(
locals
[
'e'
]
[
'e'
]
,
true
)
st
.
equals
(
locals
[
'e'
]
.
value
[
'e'
].
value
,
true
)
st
.
equals
(
locals
[
'simpleArray'
]
[
0
]
,
'45'
)
st
.
equals
(
locals
[
'simpleArray'
]
[
1
]
,
'324324'
)
st
.
equals
(
locals
[
'simpleArray'
]
[
2
]
,
'-333'
)
st
.
equals
(
locals
[
'simpleArray'
]
[
3
]
,
'5656'
)
st
.
equals
(
locals
[
'simpleArray'
]
[
4
]
,
'-1111'
)
st
.
equals
(
locals
[
'simpleArray'
]
.
value
[
0
].
value
,
'45'
)
st
.
equals
(
locals
[
'simpleArray'
]
.
value
[
1
].
value
,
'324324'
)
st
.
equals
(
locals
[
'simpleArray'
]
.
value
[
2
].
value
,
'-333'
)
st
.
equals
(
locals
[
'simpleArray'
]
.
value
[
3
].
value
,
'5656'
)
st
.
equals
(
locals
[
'simpleArray'
]
.
value
[
4
].
value
,
'-1111'
)
st
.
equals
(
locals
[
'stringArray'
][
0
].
value
,
'long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_'
)
st
.
equals
(
locals
[
'stringArray'
][
1
].
value
,
'two'
)
st
.
equals
(
locals
[
'stringArray'
][
2
].
value
,
'three'
)
st
.
equals
(
locals
[
'stringArray'
]
.
value
[
0
].
value
,
'long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_long_one_'
)
st
.
equals
(
locals
[
'stringArray'
]
.
value
[
1
].
value
,
'two'
)
st
.
equals
(
locals
[
'stringArray'
]
.
value
[
2
].
value
,
'three'
)
st
.
equals
(
locals
[
'dynArray'
]
[
0
][
0
]
,
'3423423532'
)
st
.
equals
(
locals
[
'dynArray'
]
[
1
][
0
]
,
'-342343323532'
)
st
.
equals
(
locals
[
'dynArray'
]
[
1
][
1
]
,
'23432'
)
st
.
equals
(
locals
[
'dynArray'
]
[
2
][
0
]
,
'-432432'
)
st
.
equals
(
locals
[
'dynArray'
]
[
2
][
1
]
,
'3423423532'
)
st
.
equals
(
locals
[
'dynArray'
]
[
2
][
2
]
,
'-432432'
)
st
.
equals
(
locals
[
'dynArray'
]
.
value
[
0
].
value
[
0
].
value
,
'3423423532'
)
st
.
equals
(
locals
[
'dynArray'
]
.
value
[
1
].
value
[
0
].
value
,
'-342343323532'
)
st
.
equals
(
locals
[
'dynArray'
]
.
value
[
1
].
value
[
1
].
value
,
'23432'
)
st
.
equals
(
locals
[
'dynArray'
]
.
value
[
2
].
value
[
0
].
value
,
'-432432'
)
st
.
equals
(
locals
[
'dynArray'
]
.
value
[
2
].
value
[
1
].
value
,
'3423423532'
)
st
.
equals
(
locals
[
'dynArray'
]
.
value
[
2
].
value
[
2
].
value
,
'-432432'
)
st
.
equals
(
locals
[
'structArray'
]
[
0
]
[
'a'
].
value
,
'test'
)
st
.
equals
(
locals
[
'structArray'
]
[
0
]
[
'a'
].
length
,
'0x8'
)
st
.
equals
(
locals
[
'structArray'
]
[
0
]
[
'a'
].
raw
,
'0x74657374'
)
st
.
equals
(
locals
[
'structArray'
]
[
0
][
'b'
]
,
'5'
)
st
.
equals
(
locals
[
'structArray'
]
[
0
]
[
'c'
].
length
,
'0x220'
)
st
.
equals
(
locals
[
'structArray'
]
[
0
]
[
'c'
].
raw
,
'0x746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374'
)
st
.
equals
(
locals
[
'structArray'
]
[
0
]
[
'c'
].
value
,
'test_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_test'
)
st
.
equals
(
locals
[
'structArray'
]
[
0
][
'd'
]
,
'3'
)
st
.
equals
(
locals
[
'structArray'
]
[
0
][
'e'
]
,
true
)
st
.
equals
(
locals
[
'structArray'
]
.
value
[
0
].
value
[
'a'
].
value
,
'test'
)
st
.
equals
(
locals
[
'structArray'
]
.
value
[
0
].
value
[
'a'
].
length
,
'0x8'
)
st
.
equals
(
locals
[
'structArray'
]
.
value
[
0
].
value
[
'a'
].
raw
,
'0x74657374'
)
st
.
equals
(
locals
[
'structArray'
]
.
value
[
0
].
value
[
'b'
].
value
,
'5'
)
st
.
equals
(
locals
[
'structArray'
]
.
value
[
0
].
value
[
'c'
].
length
,
'0x220'
)
st
.
equals
(
locals
[
'structArray'
]
.
value
[
0
].
value
[
'c'
].
raw
,
'0x746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374746573745f6c6f6e675f746573745f6c6f6e675f746573745f6c6f6e675f74657374'
)
st
.
equals
(
locals
[
'structArray'
]
.
value
[
0
].
value
[
'c'
].
value
,
'test_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_testtest_long_test_long_test_long_test'
)
st
.
equals
(
locals
[
'structArray'
]
.
value
[
0
].
value
[
'd'
].
value
,
'3'
)
st
.
equals
(
locals
[
'structArray'
]
.
value
[
0
].
value
[
'e'
].
value
,
true
)
st
.
equals
(
locals
[
'structArray'
]
[
1
]
[
'a'
].
value
,
'item1 a'
)
st
.
equals
(
locals
[
'structArray'
]
[
1
][
'b'
]
,
'20'
)
st
.
equals
(
locals
[
'structArray'
]
[
1
]
[
'c'
].
value
,
'item1 c'
)
st
.
equals
(
locals
[
'structArray'
]
[
1
][
'd'
]
,
'-45'
)
st
.
equals
(
locals
[
'structArray'
]
[
1
][
'e'
]
,
false
)
st
.
equals
(
locals
[
'structArray'
]
.
value
[
1
].
value
[
'a'
].
value
,
'item1 a'
)
st
.
equals
(
locals
[
'structArray'
]
.
value
[
1
].
value
[
'b'
].
value
,
'20'
)
st
.
equals
(
locals
[
'structArray'
]
.
value
[
1
].
value
[
'c'
].
value
,
'item1 c'
)
st
.
equals
(
locals
[
'structArray'
]
.
value
[
1
].
value
[
'd'
].
value
,
'-45'
)
st
.
equals
(
locals
[
'structArray'
]
.
value
[
1
].
value
[
'e'
].
value
,
false
)
st
.
equals
(
locals
[
'structArray'
]
[
2
]
[
'a'
].
value
,
'item2 a'
)
st
.
equals
(
locals
[
'structArray'
]
[
2
][
'b'
]
,
'200'
)
st
.
equals
(
locals
[
'structArray'
]
[
2
]
[
'c'
].
value
,
'item2 c'
)
st
.
equals
(
locals
[
'structArray'
]
[
2
][
'd'
]
,
'-450'
)
st
.
equals
(
locals
[
'structArray'
]
[
2
][
'e'
]
,
true
)
st
.
equals
(
locals
[
'structArray'
]
.
value
[
2
].
value
[
'a'
].
value
,
'item2 a'
)
st
.
equals
(
locals
[
'structArray'
]
.
value
[
2
].
value
[
'b'
].
value
,
'200'
)
st
.
equals
(
locals
[
'structArray'
]
.
value
[
2
].
value
[
'c'
].
value
,
'item2 c'
)
st
.
equals
(
locals
[
'structArray'
]
.
value
[
2
].
value
[
'd'
].
value
,
'-450'
)
st
.
equals
(
locals
[
'structArray'
]
.
value
[
2
].
value
[
'e'
].
value
,
true
)
st
.
equals
(
locals
[
'arrayStruct'
].
a
[
0
].
value
,
'string'
)
st
.
equals
(
locals
[
'arrayStruct'
].
b
[
0
]
,
'34'
)
st
.
equals
(
locals
[
'arrayStruct'
].
b
[
1
]
,
'-23'
)
st
.
equals
(
locals
[
'arrayStruct'
].
b
[
2
]
,
'-3'
)
st
.
equals
(
locals
[
'arrayStruct'
].
c
,
'three'
)
st
.
equals
(
locals
[
'arrayStruct'
].
value
.
a
.
value
[
0
].
value
,
'string'
)
st
.
equals
(
locals
[
'arrayStruct'
].
value
.
b
.
value
[
0
].
value
,
'34'
)
st
.
equals
(
locals
[
'arrayStruct'
].
value
.
b
.
value
[
1
].
value
,
'-23'
)
st
.
equals
(
locals
[
'arrayStruct'
].
value
.
b
.
value
[
2
].
value
,
'-3'
)
st
.
equals
(
locals
[
'arrayStruct'
].
value
.
c
.
value
,
'three'
)
st
.
equals
(
Object
.
keys
(
locals
).
length
,
8
)
}
catch
(
e
)
{
...
...
test/solidity/storageDecoder.js
View file @
c519a35d
...
...
@@ -17,39 +17,39 @@ function testIntStorage (st) {
var
output
=
compiler
.
compile
(
intStorage
.
contract
,
0
)
for
(
var
storage
of
[
intStorage
.
fullStorage
,
shrinkStorage
(
intStorage
.
fullStorage
)])
{
var
decoded
=
stateDecoder
.
solidityState
(
storage
,
output
.
sources
,
'intStorage'
)
st
.
equal
(
decoded
[
'ui8'
],
'130'
)
st
.
equal
(
decoded
[
'ui16'
],
'456'
)
st
.
equal
(
decoded
[
'ui32'
],
'4356'
)
st
.
equal
(
decoded
[
'ui64'
],
'3543543543'
)
st
.
equal
(
decoded
[
'ui128'
],
'234567'
)
st
.
equal
(
decoded
[
'ui256'
],
'115792089237316195423570985008687907853269984665640564039457584007880697216513'
)
st
.
equal
(
decoded
[
'ui'
],
'123545666'
)
st
.
equal
(
decoded
[
'i8'
],
'-45'
)
st
.
equal
(
decoded
[
'i16'
],
'-1234'
)
st
.
equal
(
decoded
[
'i32'
],
'3455'
)
st
.
equal
(
decoded
[
'i64'
],
'-35566'
)
st
.
equal
(
decoded
[
'i128'
],
'-444444'
)
st
.
equal
(
decoded
[
'i256'
],
'3434343'
)
st
.
equal
(
decoded
[
'i'
],
'-32432423423'
)
st
.
equal
(
decoded
[
'ishrink'
],
'2'
)
st
.
equal
(
decoded
[
'ui8'
]
.
value
,
'130'
)
st
.
equal
(
decoded
[
'ui16'
]
.
value
,
'456'
)
st
.
equal
(
decoded
[
'ui32'
]
.
value
,
'4356'
)
st
.
equal
(
decoded
[
'ui64'
]
.
value
,
'3543543543'
)
st
.
equal
(
decoded
[
'ui128'
]
.
value
,
'234567'
)
st
.
equal
(
decoded
[
'ui256'
]
.
value
,
'115792089237316195423570985008687907853269984665640564039457584007880697216513'
)
st
.
equal
(
decoded
[
'ui'
]
.
value
,
'123545666'
)
st
.
equal
(
decoded
[
'i8'
]
.
value
,
'-45'
)
st
.
equal
(
decoded
[
'i16'
]
.
value
,
'-1234'
)
st
.
equal
(
decoded
[
'i32'
]
.
value
,
'3455'
)
st
.
equal
(
decoded
[
'i64'
]
.
value
,
'-35566'
)
st
.
equal
(
decoded
[
'i128'
]
.
value
,
'-444444'
)
st
.
equal
(
decoded
[
'i256'
]
.
value
,
'3434343'
)
st
.
equal
(
decoded
[
'i'
]
.
value
,
'-32432423423'
)
st
.
equal
(
decoded
[
'ishrink'
]
.
value
,
'2'
)
}
decoded
=
stateDecoder
.
solidityState
({},
output
.
sources
,
'intStorage'
)
st
.
equal
(
decoded
[
'ui8'
],
'0'
)
st
.
equal
(
decoded
[
'ui16'
],
'0'
)
st
.
equal
(
decoded
[
'ui32'
],
'0'
)
st
.
equal
(
decoded
[
'ui64'
],
'0'
)
st
.
equal
(
decoded
[
'ui128'
],
'0'
)
st
.
equal
(
decoded
[
'ui256'
],
'0'
)
st
.
equal
(
decoded
[
'ui'
],
'0'
)
st
.
equal
(
decoded
[
'i8'
],
'0'
)
st
.
equal
(
decoded
[
'i16'
],
'0'
)
st
.
equal
(
decoded
[
'i32'
],
'0'
)
st
.
equal
(
decoded
[
'i64'
],
'0'
)
st
.
equal
(
decoded
[
'i128'
],
'0'
)
st
.
equal
(
decoded
[
'i256'
],
'0'
)
st
.
equal
(
decoded
[
'i'
],
'0'
)
st
.
equal
(
decoded
[
'ishrink'
],
'0'
)
st
.
equal
(
decoded
[
'ui8'
]
.
value
,
'0'
)
st
.
equal
(
decoded
[
'ui16'
]
.
value
,
'0'
)
st
.
equal
(
decoded
[
'ui32'
]
.
value
,
'0'
)
st
.
equal
(
decoded
[
'ui64'
]
.
value
,
'0'
)
st
.
equal
(
decoded
[
'ui128'
]
.
value
,
'0'
)
st
.
equal
(
decoded
[
'ui256'
]
.
value
,
'0'
)
st
.
equal
(
decoded
[
'ui'
]
.
value
,
'0'
)
st
.
equal
(
decoded
[
'i8'
]
.
value
,
'0'
)
st
.
equal
(
decoded
[
'i16'
]
.
value
,
'0'
)
st
.
equal
(
decoded
[
'i32'
]
.
value
,
'0'
)
st
.
equal
(
decoded
[
'i64'
]
.
value
,
'0'
)
st
.
equal
(
decoded
[
'i128'
]
.
value
,
'0'
)
st
.
equal
(
decoded
[
'i256'
]
.
value
,
'0'
)
st
.
equal
(
decoded
[
'i'
]
.
value
,
'0'
)
st
.
equal
(
decoded
[
'ishrink'
]
.
value
,
'0'
)
}
function
testByteStorage
(
st
)
{
...
...
@@ -57,90 +57,90 @@ function testByteStorage (st) {
var
output
=
compiler
.
compile
(
byteStorage
.
contract
,
0
)
for
(
var
storage
of
[
byteStorage
.
storage
,
shrinkStorage
(
byteStorage
.
storage
)])
{
var
decoded
=
stateDecoder
.
solidityState
(
storage
,
output
.
sources
,
'byteStorage'
)
st
.
equal
(
decoded
[
'b1'
],
false
)
st
.
equal
(
decoded
[
'a1'
],
'0xFE350F199F244AC9A79038D254400B632A633225'
)
st
.
equal
(
decoded
[
'b2'
],
true
)
st
.
equal
(
decoded
[
'b1'
]
.
value
,
false
)
st
.
equal
(
decoded
[
'a1'
]
.
value
,
'0xFE350F199F244AC9A79038D254400B632A633225'
)
st
.
equal
(
decoded
[
'b2'
]
.
value
,
true
)
st
.
equal
(
decoded
[
'dynb1'
].
value
,
'0x64796e616d69636279746573'
)
st
.
equal
(
decoded
[
'dynb1'
].
length
,
'0xc'
)
st
.
equal
(
decoded
[
'stab'
],
'0x01'
)
st
.
equal
(
decoded
[
'stab1'
],
'0x12'
)
st
.
equal
(
decoded
[
'stab2'
],
'0x1579'
)
st
.
equal
(
decoded
[
'stab3'
],
'0x359356'
)
st
.
equal
(
decoded
[
'stab4'
],
'0x23750000'
)
st
.
equal
(
decoded
[
'stab5'
],
'0x0235764500'
)
st
.
equal
(
decoded
[
'stab6'
],
'0x324435000000'
)
st
.
equal
(
decoded
[
'stab7'
],
'0x00432400000000'
)
st
.
equal
(
decoded
[
'stab8'
],
'0x3245546457650000'
)
st
.
equal
(
decoded
[
'stab9'
],
'0x034345430000000000'
)
st
.
equal
(
decoded
[
'stab10'
],
'0x04543543654657000000'
)
st
.
equal
(
decoded
[
'stab11'
],
'0x5435465400000000000000'
)
st
.
equal
(
decoded
[
'stab12'
],
'0x030000000000000000000000'
)
st
.
equal
(
decoded
[
'stab13'
],
'0x03243242345435000000000000'
)
st
.
equal
(
decoded
[
'stab14'
],
'0x3245435435435300000000000000'
)
st
.
equal
(
decoded
[
'stab15'
],
'0x032454434435000000000000000000'
)
st
.
equal
(
decoded
[
'stab16'
],
'0x32454354440000000000000000000000'
)
st
.
equal
(
decoded
[
'stab17'
],
'0x0324543432432432450000000000000000'
)
st
.
equal
(
decoded
[
'stab18'
],
'0x032453432543543500000000000000000000'
)
st
.
equal
(
decoded
[
'stab19'
],
'0x03245434354354350000000000000000000000'
)
st
.
equal
(
decoded
[
'stab20'
],
'0x032454543543AB35000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab21'
],
'0x324544324234350000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab22'
],
'0x324543AEF50000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab23'
],
'0x3245435FFF000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab24'
],
'0x3245435F0000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab25'
],
'0x3245435F000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab26'
],
'0x3245435F00000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab27'
],
'0x03245FFFFFFF000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab28'
],
'0x03241235000000000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab29'
],
'0x0325213213000000000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab30'
],
'0x032454352324230000000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab31'
],
'0x32454351230000000000000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab32'
],
'0x324324423432543543AB00000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'enumDec'
],
'e240'
)
st
.
equal
(
decoded
[
'stab'
]
.
value
,
'0x01'
)
st
.
equal
(
decoded
[
'stab1'
]
.
value
,
'0x12'
)
st
.
equal
(
decoded
[
'stab2'
]
.
value
,
'0x1579'
)
st
.
equal
(
decoded
[
'stab3'
]
.
value
,
'0x359356'
)
st
.
equal
(
decoded
[
'stab4'
]
.
value
,
'0x23750000'
)
st
.
equal
(
decoded
[
'stab5'
]
.
value
,
'0x0235764500'
)
st
.
equal
(
decoded
[
'stab6'
]
.
value
,
'0x324435000000'
)
st
.
equal
(
decoded
[
'stab7'
]
.
value
,
'0x00432400000000'
)
st
.
equal
(
decoded
[
'stab8'
]
.
value
,
'0x3245546457650000'
)
st
.
equal
(
decoded
[
'stab9'
]
.
value
,
'0x034345430000000000'
)
st
.
equal
(
decoded
[
'stab10'
]
.
value
,
'0x04543543654657000000'
)
st
.
equal
(
decoded
[
'stab11'
]
.
value
,
'0x5435465400000000000000'
)
st
.
equal
(
decoded
[
'stab12'
]
.
value
,
'0x030000000000000000000000'
)
st
.
equal
(
decoded
[
'stab13'
]
.
value
,
'0x03243242345435000000000000'
)
st
.
equal
(
decoded
[
'stab14'
]
.
value
,
'0x3245435435435300000000000000'
)
st
.
equal
(
decoded
[
'stab15'
]
.
value
,
'0x032454434435000000000000000000'
)
st
.
equal
(
decoded
[
'stab16'
]
.
value
,
'0x32454354440000000000000000000000'
)
st
.
equal
(
decoded
[
'stab17'
]
.
value
,
'0x0324543432432432450000000000000000'
)
st
.
equal
(
decoded
[
'stab18'
]
.
value
,
'0x032453432543543500000000000000000000'
)
st
.
equal
(
decoded
[
'stab19'
]
.
value
,
'0x03245434354354350000000000000000000000'
)
st
.
equal
(
decoded
[
'stab20'
]
.
value
,
'0x032454543543AB35000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab21'
]
.
value
,
'0x324544324234350000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab22'
]
.
value
,
'0x324543AEF50000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab23'
]
.
value
,
'0x3245435FFF000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab24'
]
.
value
,
'0x3245435F0000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab25'
]
.
value
,
'0x3245435F000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab26'
]
.
value
,
'0x3245435F00000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab27'
]
.
value
,
'0x03245FFFFFFF000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab28'
]
.
value
,
'0x03241235000000000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab29'
]
.
value
,
'0x0325213213000000000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab30'
]
.
value
,
'0x032454352324230000000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab31'
]
.
value
,
'0x32454351230000000000000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab32'
]
.
value
,
'0x324324423432543543AB00000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'enumDec'
]
.
value
,
'e240'
)
st
.
equal
(
decoded
[
'str1'
].
value
,
'short'
)
st
.
equal
(
decoded
[
'str12'
].
value
,
'шеллы'
)
st
.
equal
(
decoded
[
'str2'
].
value
,
'long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long'
)
}
decoded
=
stateDecoder
.
solidityState
({},
output
.
sources
,
'byteStorage'
)
st
.
equal
(
decoded
[
'b1'
],
false
)
st
.
equal
(
decoded
[
'a1'
],
'0x0000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'b2'
],
false
)
st
.
equal
(
decoded
[
'b1'
]
.
value
,
false
)
st
.
equal
(
decoded
[
'a1'
]
.
value
,
'0x0000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'b2'
]
.
value
,
false
)
st
.
equal
(
decoded
[
'dynb1'
].
value
,
'0x'
)
st
.
equal
(
decoded
[
'dynb1'
].
length
,
'0x0'
)
st
.
equal
(
decoded
[
'stab'
],
'0x00'
)
st
.
equal
(
decoded
[
'stab1'
],
'0x00'
)
st
.
equal
(
decoded
[
'stab2'
],
'0x0000'
)
st
.
equal
(
decoded
[
'stab3'
],
'0x000000'
)
st
.
equal
(
decoded
[
'stab4'
],
'0x00000000'
)
st
.
equal
(
decoded
[
'stab5'
],
'0x0000000000'
)
st
.
equal
(
decoded
[
'stab6'
],
'0x000000000000'
)
st
.
equal
(
decoded
[
'stab7'
],
'0x00000000000000'
)
st
.
equal
(
decoded
[
'stab8'
],
'0x0000000000000000'
)
st
.
equal
(
decoded
[
'stab9'
],
'0x000000000000000000'
)
st
.
equal
(
decoded
[
'stab10'
],
'0x00000000000000000000'
)
st
.
equal
(
decoded
[
'stab11'
],
'0x0000000000000000000000'
)
st
.
equal
(
decoded
[
'stab12'
],
'0x000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab13'
],
'0x00000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab14'
],
'0x0000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab15'
],
'0x000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab16'
],
'0x00000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab17'
],
'0x0000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab18'
],
'0x000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab19'
],
'0x00000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab20'
],
'0x0000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab21'
],
'0x000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab22'
],
'0x00000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab23'
],
'0x0000000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab24'
],
'0x000000000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab25'
],
'0x00000000000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab26'
],
'0x0000000000000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab27'
],
'0x000000000000000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab28'
],
'0x00000000000000000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab29'
],
'0x0000000000000000000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab30'
],
'0x000000000000000000000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab31'
],
'0x00000000000000000000000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab32'
],
'0x0000000000000000000000000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'enumDec'
],
'e0'
)
st
.
equal
(
decoded
[
'stab'
]
.
value
,
'0x00'
)
st
.
equal
(
decoded
[
'stab1'
]
.
value
,
'0x00'
)
st
.
equal
(
decoded
[
'stab2'
]
.
value
,
'0x0000'
)
st
.
equal
(
decoded
[
'stab3'
]
.
value
,
'0x000000'
)
st
.
equal
(
decoded
[
'stab4'
]
.
value
,
'0x00000000'
)
st
.
equal
(
decoded
[
'stab5'
]
.
value
,
'0x0000000000'
)
st
.
equal
(
decoded
[
'stab6'
]
.
value
,
'0x000000000000'
)
st
.
equal
(
decoded
[
'stab7'
]
.
value
,
'0x00000000000000'
)
st
.
equal
(
decoded
[
'stab8'
]
.
value
,
'0x0000000000000000'
)
st
.
equal
(
decoded
[
'stab9'
]
.
value
,
'0x000000000000000000'
)
st
.
equal
(
decoded
[
'stab10'
]
.
value
,
'0x00000000000000000000'
)
st
.
equal
(
decoded
[
'stab11'
]
.
value
,
'0x0000000000000000000000'
)
st
.
equal
(
decoded
[
'stab12'
]
.
value
,
'0x000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab13'
]
.
value
,
'0x00000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab14'
]
.
value
,
'0x0000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab15'
]
.
value
,
'0x000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab16'
]
.
value
,
'0x00000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab17'
]
.
value
,
'0x0000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab18'
]
.
value
,
'0x000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab19'
]
.
value
,
'0x00000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab20'
]
.
value
,
'0x0000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab21'
]
.
value
,
'0x000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab22'
]
.
value
,
'0x00000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab23'
]
.
value
,
'0x0000000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab24'
]
.
value
,
'0x000000000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab25'
]
.
value
,
'0x00000000000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab26'
]
.
value
,
'0x0000000000000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab27'
]
.
value
,
'0x000000000000000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab28'
]
.
value
,
'0x00000000000000000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab29'
]
.
value
,
'0x0000000000000000000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab30'
]
.
value
,
'0x000000000000000000000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab31'
]
.
value
,
'0x00000000000000000000000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'stab32'
]
.
value
,
'0x0000000000000000000000000000000000000000000000000000000000000000'
)
st
.
equal
(
decoded
[
'enumDec'
]
.
value
,
'e0'
)
st
.
equal
(
decoded
[
'str1'
].
length
,
'0x0'
)
st
.
equal
(
decoded
[
'str2'
].
length
,
'0x0'
)
st
.
equal
(
decoded
[
'str1'
].
value
,
''
)
...
...
@@ -162,95 +162,95 @@ function testStructArrayStorage (st) {
var
structArrayStorage
=
require
(
'./contracts/structArrayStorage'
)
var
output
=
compiler
.
compile
(
structArrayStorage
.
contract
,
0
)
var
decoded
=
stateDecoder
.
solidityState
(
structArrayStorage
.
storage
,
output
.
sources
,
'structArrayStorage'
)
st
.
equal
(
decoded
[
'intStructDec'
]
[
'i8'
]
,
'32'
)
st
.
equal
(
decoded
[
'intStructDec'
]
[
'i16'
]
,
'-54'
)
st
.
equal
(
decoded
[
'intStructDec'
]
[
'ui32'
]
,
'128'
)
st
.
equal
(
decoded
[
'intStructDec'
]
[
'i256'
]
,
'-1243565465756'
)
st
.
equal
(
decoded
[
'intStructDec'
]
[
'ui16'
]
,
'34556'
)
st
.
equal
(
decoded
[
'intStructDec'
]
[
'i32'
]
,
'-345446546'
)
st
.
equal
(
decoded
[
'intStructDec'
]
.
value
[
'i8'
].
value
,
'32'
)
st
.
equal
(
decoded
[
'intStructDec'
]
.
value
[
'i16'
].
value
,
'-54'
)
st
.
equal
(
decoded
[
'intStructDec'
]
.
value
[
'ui32'
].
value
,
'128'
)
st
.
equal
(
decoded
[
'intStructDec'
]
.
value
[
'i256'
].
value
,
'-1243565465756'
)
st
.
equal
(
decoded
[
'intStructDec'
]
.
value
[
'ui16'
].
value
,
'34556'
)
st
.
equal
(
decoded
[
'intStructDec'
]
.
value
[
'i32'
].
value
,
'-345446546'
)
st
.
equal
(
decoded
[
'i5'
].
length
,
'0x7'
)
st
.
equal
(
decoded
[
'i5'
].
value
[
0
],
'-2134'
)
st
.
equal
(
decoded
[
'i5'
].
value
[
1
],
'345'
)
st
.
equal
(
decoded
[
'i5'
].
value
[
2
],
'-3246'
)
st
.
equal
(
decoded
[
'i5'
].
value
[
3
],
'4357'
)
st
.
equal
(
decoded
[
'i5'
].
value
[
4
],
'324'
)
st
.
equal
(
decoded
[
'i5'
].
value
[
5
],
'-2344'
)
st
.
equal
(
decoded
[
'i5'
].
value
[
6
],
'3254'
)
st
.
equal
(
decoded
[
'i5'
].
value
[
0
]
.
value
,
'-2134'
)
st
.
equal
(
decoded
[
'i5'
].
value
[
1
]
.
value
,
'345'
)
st
.
equal
(
decoded
[
'i5'
].
value
[
2
]
.
value
,
'-3246'
)
st
.
equal
(
decoded
[
'i5'
].
value
[
3
]
.
value
,
'4357'
)
st
.
equal
(
decoded
[
'i5'
].
value
[
4
]
.
value
,
'324'
)
st
.
equal
(
decoded
[
'i5'
].
value
[
5
]
.
value
,
'-2344'
)
st
.
equal
(
decoded
[
'i5'
].
value
[
6
]
.
value
,
'3254'
)
st
.
equal
(
decoded
[
'idyn5'
].
length
,
'0x9'
)
st
.
equal
(
decoded
[
'idyn5'
].
value
[
0
],
'-2134'
)
st
.
equal
(
decoded
[
'idyn5'
].
value
[
1
],
'345'
)
st
.
equal
(
decoded
[
'idyn5'
].
value
[
2
],
'-3246'
)
st
.
equal
(
decoded
[
'idyn5'
].
value
[
3
],
'4357'
)
st
.
equal
(
decoded
[
'idyn5'
].
value
[
4
],
'324'
)
st
.
equal
(
decoded
[
'idyn5'
].
value
[
5
],
'-2344'
)
st
.
equal
(
decoded
[
'idyn5'
].
value
[
6
],
'3254'
)
st
.
equal
(
decoded
[
'idyn5'
].
value
[
7
],
'-254'
)
st
.
equal
(
decoded
[
'idyn5'
].
value
[
8
],
'-2354'
)
st
.
equal
(
decoded
[
'idyn5'
].
value
[
0
]
.
value
,
'-2134'
)
st
.
equal
(
decoded
[
'idyn5'
].
value
[
1
]
.
value
,
'345'
)
st
.
equal
(
decoded
[
'idyn5'
].
value
[
2
]
.
value
,
'-3246'
)
st
.
equal
(
decoded
[
'idyn5'
].
value
[
3
]
.
value
,
'4357'
)
st
.
equal
(
decoded
[
'idyn5'
].
value
[
4
]
.
value
,
'324'
)
st
.
equal
(
decoded
[
'idyn5'
].
value
[
5
]
.
value
,
'-2344'
)
st
.
equal
(
decoded
[
'idyn5'
].
value
[
6
]
.
value
,
'3254'
)
st
.
equal
(
decoded
[
'idyn5'
].
value
[
7
]
.
value
,
'-254'
)
st
.
equal
(
decoded
[
'idyn5'
].
value
[
8
]
.
value
,
'-2354'
)
st
.
equal
(
decoded
[
'dyn1'
].
length
,
'0x4'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
0
].
length
,
'0x1'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
0
].
value
[
0
],
'3'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
0
].
value
[
0
]
.
value
,
'3'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
1
].
length
,
'0x3'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
1
].
value
[
0
],
'12'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
1
].
value
[
1
],
'-12'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
1
].
value
[
2
],
'-1234'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
1
].
value
[
0
]
.
value
,
'12'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
1
].
value
[
1
]
.
value
,
'-12'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
1
].
value
[
2
]
.
value
,
'-1234'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
2
].
length
,
'0xa'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
2
].
value
[
0
],
'1'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
2
].
value
[
1
],
'12'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
2
].
value
[
2
],
'1235'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
2
].
value
[
3
],
'-12'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
2
].
value
[
4
],
'-123456'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
2
].
value
[
5
],
'-23435435'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
2
].
value
[
6
],
'543543'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
2
].
value
[
7
],
'2'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
2
].
value
[
8
],
'-1'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
2
].
value
[
9
],
'232432'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
2
].
value
[
0
]
.
value
,
'1'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
2
].
value
[
1
]
.
value
,
'12'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
2
].
value
[
2
]
.
value
,
'1235'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
2
].
value
[
3
]
.
value
,
'-12'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
2
].
value
[
4
]
.
value
,
'-123456'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
2
].
value
[
5
]
.
value
,
'-23435435'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
2
].
value
[
6
]
.
value
,
'543543'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
2
].
value
[
7
]
.
value
,
'2'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
2
].
value
[
8
]
.
value
,
'-1'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
2
].
value
[
9
]
.
value
,
'232432'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
3
].
length
,
'0x2'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
3
].
value
[
0
],
'232432'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
3
].
value
[
0
],
'232432'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
3
].
value
[
0
]
.
value
,
'232432'
)
st
.
equal
(
decoded
[
'dyn1'
].
value
[
3
].
value
[
0
]
.
value
,
'232432'
)
st
.
equal
(
decoded
[
'dyn2'
].
length
,
'0x2'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
0
].
length
,
'0x4'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
0
].
value
[
0
].
value
[
0
],
'23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
0
].
value
[
0
].
value
[
1
],
'-23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
0
].
value
[
0
].
value
[
2
],
'-28'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
0
].
value
[
1
].
value
[
0
],
'23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
0
].
value
[
1
].
value
[
1
],
'-23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
0
].
value
[
1
].
value
[
2
],
'-28'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
0
].
value
[
2
].
value
[
0
],
'23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
0
].
value
[
2
].
value
[
1
],
'-23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
0
].
value
[
2
].
value
[
2
],
'-28'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
0
].
value
[
3
].
value
[
0
],
'23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
0
].
value
[
3
].
value
[
1
],
'-23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
0
].
value
[
3
].
value
[
2
],
'-28'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
0
].
value
[
0
].
value
[
0
]
.
value
,
'23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
0
].
value
[
0
].
value
[
1
]
.
value
,
'-23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
0
].
value
[
0
].
value
[
2
]
.
value
,
'-28'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
0
].
value
[
1
].
value
[
0
]
.
value
,
'23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
0
].
value
[
1
].
value
[
1
]
.
value
,
'-23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
0
].
value
[
1
].
value
[
2
]
.
value
,
'-28'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
0
].
value
[
2
].
value
[
0
]
.
value
,
'23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
0
].
value
[
2
].
value
[
1
]
.
value
,
'-23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
0
].
value
[
2
].
value
[
2
]
.
value
,
'-28'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
0
].
value
[
3
].
value
[
0
]
.
value
,
'23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
0
].
value
[
3
].
value
[
1
]
.
value
,
'-23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
0
].
value
[
3
].
value
[
2
]
.
value
,
'-28'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
1
].
length
,
'0x4'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
1
].
value
[
0
].
value
[
0
],
'23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
1
].
value
[
0
].
value
[
1
],
'-23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
1
].
value
[
0
].
value
[
2
],
'-28'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
1
].
value
[
1
].
value
[
0
],
'23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
1
].
value
[
1
].
value
[
1
],
'-23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
1
].
value
[
1
].
value
[
2
],
'-28'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
1
].
value
[
2
].
value
[
0
],
'23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
1
].
value
[
2
].
value
[
1
],
'-23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
1
].
value
[
2
].
value
[
2
],
'-28'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
1
].
value
[
3
].
value
[
0
],
'23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
1
].
value
[
3
].
value
[
1
],
'-23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
1
].
value
[
3
].
value
[
2
],
'-28'
)
st
.
equal
(
decoded
[
'arrayStruct'
].
value
[
0
].
value
[
0
].
i8
,
'34'
)
st
.
equal
(
decoded
[
'arrayStruct'
].
value
[
0
].
value
[
0
].
str
.
value
,
'test_str_short'
)
st
.
equal
(
decoded
[
'arrayStruct'
].
value
[
0
].
value
[
1
].
i8
,
'-123'
)
st
.
equal
(
decoded
[
'arrayStruct'
].
value
[
0
].
value
[
1
].
str
.
value
,
'test_str_long test_str_lo ngtest_str_longtest_str_ longtest_str_longtest_ str_longtest_str_l ongtest_str_long'
)
st
.
equal
(
decoded
[
'arrayStruct'
].
value
[
1
].
value
[
0
].
i8
,
'50'
)
st
.
equal
(
decoded
[
'arrayStruct'
].
value
[
1
].
value
[
0
].
str
.
value
,
'test_str_short'
)
st
.
equal
(
decoded
[
'arrayStruct'
].
value
[
2
].
value
[
0
].
i8
,
'60'
)
st
.
equal
(
decoded
[
'arrayStruct'
].
value
[
2
].
value
[
0
].
str
.
value
,
'test_str_short'
)
st
.
equal
(
decoded
[
'arrayStruct'
].
value
[
2
].
value
[
1
].
i8
,
'84'
)
st
.
equal
(
decoded
[
'arrayStruct'
].
value
[
2
].
value
[
1
].
str
.
value
,
'test_str_long test_str_lo ngtest_str_longtest_str_ longtest_str_longtest_ str_longtest_str_l ongtest_str_long'
)
st
.
equal
(
decoded
[
'arrayStruct'
].
value
[
2
].
value
[
2
].
i8
,
'-34'
)
st
.
equal
(
decoded
[
'arrayStruct'
].
value
[
2
].
value
[
2
].
str
.
value
,
'test_str_short'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
1
].
value
[
0
].
value
[
0
]
.
value
,
'23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
1
].
value
[
0
].
value
[
1
]
.
value
,
'-23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
1
].
value
[
0
].
value
[
2
]
.
value
,
'-28'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
1
].
value
[
1
].
value
[
0
]
.
value
,
'23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
1
].
value
[
1
].
value
[
1
]
.
value
,
'-23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
1
].
value
[
1
].
value
[
2
]
.
value
,
'-28'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
1
].
value
[
2
].
value
[
0
]
.
value
,
'23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
1
].
value
[
2
].
value
[
1
]
.
value
,
'-23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
1
].
value
[
2
].
value
[
2
]
.
value
,
'-28'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
1
].
value
[
3
].
value
[
0
]
.
value
,
'23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
1
].
value
[
3
].
value
[
1
]
.
value
,
'-23'
)
st
.
equal
(
decoded
[
'dyn2'
].
value
[
1
].
value
[
3
].
value
[
2
]
.
value
,
'-28'
)
st
.
equal
(
decoded
[
'arrayStruct'
].
value
[
0
].
value
[
0
].
value
.
i8
.
value
,
'34'
)
st
.
equal
(
decoded
[
'arrayStruct'
].
value
[
0
].
value
[
0
].
value
.
str
.
value
,
'test_str_short'
)
st
.
equal
(
decoded
[
'arrayStruct'
].
value
[
0
].
value
[
1
].
value
.
i8
.
value
,
'-123'
)
st
.
equal
(
decoded
[
'arrayStruct'
].
value
[
0
].
value
[
1
].
value
.
str
.
value
,
'test_str_long test_str_lo ngtest_str_longtest_str_ longtest_str_longtest_ str_longtest_str_l ongtest_str_long'
)
st
.
equal
(
decoded
[
'arrayStruct'
].
value
[
1
].
value
[
0
].
value
.
i8
.
value
,
'50'
)
st
.
equal
(
decoded
[
'arrayStruct'
].
value
[
1
].
value
[
0
].
value
.
str
.
value
,
'test_str_short'
)
st
.
equal
(
decoded
[
'arrayStruct'
].
value
[
2
].
value
[
0
].
value
.
i8
.
value
,
'60'
)
st
.
equal
(
decoded
[
'arrayStruct'
].
value
[
2
].
value
[
0
].
value
.
str
.
value
,
'test_str_short'
)
st
.
equal
(
decoded
[
'arrayStruct'
].
value
[
2
].
value
[
1
].
value
.
i8
.
value
,
'84'
)
st
.
equal
(
decoded
[
'arrayStruct'
].
value
[
2
].
value
[
1
].
value
.
str
.
value
,
'test_str_long test_str_lo ngtest_str_longtest_str_ longtest_str_longtest_ str_longtest_str_l ongtest_str_long'
)
st
.
equal
(
decoded
[
'arrayStruct'
].
value
[
2
].
value
[
2
].
value
.
i8
.
value
,
'-34'
)
st
.
equal
(
decoded
[
'arrayStruct'
].
value
[
2
].
value
[
2
].
value
.
str
.
value
,
'test_str_short'
)
}
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