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
2875a5bb
Commit
2875a5bb
authored
Apr 26, 2016
by
chriseth
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #143 from axic/patch/decodeabi-v2
Format output of decoded ABI more nicely
parents
312098ba
65530a82
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
41 additions
and
11 deletions
+41
-11
universal-dapp.js
assets/js/universal-dapp.js
+41
-11
No files found.
assets/js/universal-dapp.js
View file @
2875a5bb
...
...
@@ -264,6 +264,19 @@ UniversalDApp.prototype.getCallButton = function(args) {
return
$gasUsed
;
}
var
getDecodedOutput
=
function
(
result
)
{
var
$decoded
;
if
(
Array
.
isArray
(
result
))
{
$decoded
=
$
(
'<ol>'
);
for
(
var
i
=
0
;
i
<
result
.
length
;
i
++
)
{
$decoded
.
append
(
$
(
'<li>'
).
text
(
result
[
i
]));
}
}
else
{
$decoded
=
result
;
}
return
$
(
'<div class="decoded">'
).
html
(
'<strong>Decoded:</strong> '
).
append
(
$decoded
);
}
var
getOutput
=
function
()
{
var
$result
=
$
(
'<div class="result" />'
);
var
$close
=
$
(
'<div class="udapp-close" />'
);
...
...
@@ -340,20 +353,37 @@ UniversalDApp.prototype.getCallButton = function(args) {
replaceOutput
(
$result
,
getGasUsedOutput
(
result
));
args
.
appendFunctions
(
result
.
createdAddress
);
}
else
if
(
self
.
options
.
vm
){
var
outputObj
;
var
outputObj
=
'0x'
+
result
.
vm
.
return
.
toString
(
'hex'
);
clearOutput
(
$result
);
$result
.
append
(
getReturnOutput
(
outputObj
)).
append
(
getGasUsedOutput
(
result
.
vm
));
try
{
var
outputTypes
=
[];
for
(
var
i
=
0
;
i
<
args
.
abi
.
outputs
.
length
;
i
++
)
{
outputTypes
.
push
(
args
.
abi
.
outputs
[
i
].
type
);
// Only decode if there supposed to be fields
if
(
args
.
abi
.
outputs
.
length
>
0
)
{
try
{
var
outputTypes
=
[];
for
(
var
i
=
0
;
i
<
args
.
abi
.
outputs
.
length
;
i
++
)
{
outputTypes
.
push
(
args
.
abi
.
outputs
[
i
].
type
);
}
// decode data
var
decodedObj
=
EthJS
.
ABI
.
rawDecode
(
outputTypes
,
result
.
vm
.
return
);
// format decoded data
decodedObj
=
EthJS
.
ABI
.
stringify
(
outputTypes
,
decodedObj
);
for
(
var
i
=
0
;
i
<
outputTypes
.
length
;
i
++
)
{
var
name
=
args
.
abi
.
outputs
[
i
].
name
;
if
(
name
.
length
>
0
)
{
decodedObj
[
i
]
=
outputTypes
[
i
]
+
' '
+
name
+
': '
+
decodedObj
[
i
];
}
else
{
decodedObj
[
i
]
=
outputTypes
[
i
]
+
': '
+
decodedObj
[
i
];
}
}
$result
.
append
(
getDecodedOutput
(
decodedObj
));
}
catch
(
e
)
{
$result
.
append
(
getDecodedOutput
(
'Failed to decode output: '
+
e
));
}
outputObj
=
EthJS
.
ABI
.
rawDecode
(
null
,
null
,
outputTypes
,
result
.
vm
.
return
);
}
catch
(
e
)
{
outputObj
=
'0x'
+
result
.
vm
.
return
.
toString
(
'hex'
);
}
clearOutput
(
$result
);
$result
.
append
(
getReturnOutput
(
outputObj
)).
append
(
getGasUsedOutput
(
result
.
vm
));
}
else
if
(
args
.
abi
.
constant
&&
!
isConstructor
)
{
replaceOutput
(
$result
,
getReturnOutput
(
result
));
}
else
{
...
...
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