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
7cf1ddeb
Commit
7cf1ddeb
authored
Jun 22, 2016
by
yann300
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix tests
parent
b8bed49f
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
49 additions
and
43 deletions
+49
-43
package.json
package.json
+1
-1
codeManager.js
src/code/codeManager.js
+1
-0
traceRetriever.js
src/trace/traceRetriever.js
+0
-1
TestTraceRetriever.js
test/TestTraceRetriever.js
+38
-0
codeManager.js
test/codeManager.js
+5
-2
contractInvokationCode.js
test/resources/contractInvokationCode.js
+2
-0
contractInvokationTrace.js
test/resources/contractInvokationTrace.js
+0
-0
contractInvokationTx.js
test/resources/contractInvokationTx.js
+0
-0
traceManager.js
test/traceManager.js
+2
-39
No files found.
package.json
View file @
7cf1ddeb
...
@@ -46,7 +46,7 @@
...
@@ -46,7 +46,7 @@
"ignore"
:
[
"ignore"
:
[
"node_modules/*"
,
"node_modules/*"
,
"build/*"
,
"build/*"
,
"test/
trace
/*"
"test/
resources
/*"
]
]
}
}
}
}
src/code/codeManager.js
View file @
7cf1ddeb
...
@@ -20,6 +20,7 @@ function CodeManager (_web3, _traceManager) {
...
@@ -20,6 +20,7 @@ function CodeManager (_web3, _traceManager) {
this
.
traceManager
=
_traceManager
this
.
traceManager
=
_traceManager
this
.
currentAddress
=
''
this
.
currentAddress
=
''
codeResolver
.
setWeb3
(
_web3
)
codeResolver
.
setWeb3
(
_web3
)
this
.
codeResolver
=
codeResolver
}
}
CodeManager
.
prototype
.
resolveStep
=
function
(
stepIndex
,
tx
)
{
CodeManager
.
prototype
.
resolveStep
=
function
(
stepIndex
,
tx
)
{
...
...
src/trace/traceRetriever.js
View file @
7cf1ddeb
...
@@ -14,7 +14,6 @@ TraceRetriever.prototype.getTrace = function (txHash, callback) {
...
@@ -14,7 +14,6 @@ TraceRetriever.prototype.getTrace = function (txHash, callback) {
fullStorage
:
!
this
.
debugStorageAtAvailable
()
fullStorage
:
!
this
.
debugStorageAtAvailable
()
}
}
this
.
web3
.
debug
.
traceTransaction
(
txHash
,
options
,
function
(
error
,
result
)
{
this
.
web3
.
debug
.
traceTransaction
(
txHash
,
options
,
function
(
error
,
result
)
{
console
.
log
(
JSON
.
stringify
(
result
))
callback
(
error
,
result
)
callback
(
error
,
result
)
})
})
}
}
...
...
test/TestTraceRetriever.js
0 → 100644
View file @
7cf1ddeb
'use strict'
var
traceHelper
=
require
(
'../src/helpers/traceHelper'
)
var
traceInvokation
=
require
(
'./resources/contractInvokationTrace'
)
function
TestTraceRetriever
()
{
this
.
storages
=
{}
// contains all intial storage (by addresses)
}
TestTraceRetriever
.
prototype
.
getTrace
=
function
(
txHash
,
callback
)
{
console
.
log
(
traceInvokation
)
callback
(
null
,
traceInvokation
)
}
/* not used */
TestTraceRetriever
.
prototype
.
getStorage
=
function
(
tx
,
address
,
callback
)
{
if
(
traceHelper
.
isContractCreation
(
address
))
{
callback
(
null
,
{})
}
else
if
(
this
.
storages
[
address
])
{
callback
(
null
,
this
.
storages
[
address
])
}
else
{
/*
return storage
*/
/*
var self = this
this.web3.debug.storageAt(tx.blockNumber.toString(), tx.transactionIndex, address, function (error, result) {
self.storages[address] = result
callback(error, result)
})
*/
}
}
TestTraceRetriever
.
prototype
.
debugStorageAtAvailable
=
function
()
{
return
false
// storageAt not available if using geth
}
module
.
exports
=
TestTraceRetriever
test/codeManager.js
View file @
7cf1ddeb
'use strict'
'use strict'
var
tape
=
require
(
'tape'
)
var
tape
=
require
(
'tape'
)
var
init
=
require
(
'../src/helpers/init'
)
var
init
=
require
(
'../src/helpers/init'
)
// var traceInvokation = require('./trace/contractInvokationTrace')
var
txInvokation
=
require
(
'./resources/contractInvokationTx'
)
var
txInvokation
=
require
(
'./trace/contractInvokationTx'
)
var
TestTraceRetriever
=
require
(
'./TestTraceRetriever'
)
var
contractCode
=
require
(
'./resources/contractInvokationCode'
)
tape
(
'CodeManager'
,
function
(
t
)
{
tape
(
'CodeManager'
,
function
(
t
)
{
var
codeManager
var
codeManager
var
context
=
init
.
loadContext
()
var
context
=
init
.
loadContext
()
codeManager
=
context
.
codeManager
codeManager
=
context
.
codeManager
context
.
traceManager
.
traceRetriever
=
new
TestTraceRetriever
()
codeManager
.
codeResolver
.
cacheExecutingCode
(
'0x0d3a18d64dfe4f927832ab58d6451cecc4e517c5'
,
contractCode
)
// so a call to web3 is not necessary
context
.
traceManager
.
resolveTrace
(
txInvokation
,
function
(
success
)
{
context
.
traceManager
.
resolveTrace
(
txInvokation
,
function
(
success
)
{
if
(
!
success
)
{
if
(
!
success
)
{
t
.
fail
(
' - traceManager.resolveTrace - failed'
)
t
.
fail
(
' - traceManager.resolveTrace - failed'
)
...
...
test/resources/contractInvokationCode.js
0 → 100644
View file @
7cf1ddeb
module
.
exports
=
'0x60606040526000357c01000000000000000000000000000000000000000000000000000000009004806360fe47b11460415780636d4ce63c14605757603f565b005b605560048080359060200190919050506089565b005b606260048050506078565b6040518082815260200191505060405180910390f35b600060006000505490506086565b90565b80600060005081905550602d6040516045806100f083390180828152602001915050604051809103906000f0600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff02191690830217905550602281016000600050819055505b505660606040526040516020806045833981016040528080519060200190919050505b806001016000600050819055505b50600a80603b6000396000f360606040526008565b00'
\ No newline at end of file
test/
trace
/contractInvokationTrace.js
→
test/
resources
/contractInvokationTrace.js
View file @
7cf1ddeb
File moved
test/
trace
/contractInvokationTx.js
→
test/
resources
/contractInvokationTx.js
View file @
7cf1ddeb
File moved
test/traceManager.js
View file @
7cf1ddeb
...
@@ -2,9 +2,8 @@
...
@@ -2,9 +2,8 @@
var
TraceManager
=
require
(
'../src/trace/traceManager'
)
var
TraceManager
=
require
(
'../src/trace/traceManager'
)
var
tape
=
require
(
'tape'
)
var
tape
=
require
(
'tape'
)
var
init
=
require
(
'../src/helpers/init'
)
var
init
=
require
(
'../src/helpers/init'
)
var
traceHelper
=
require
(
'../src/helpers/traceHelper'
)
var
TestTraceRetriever
=
require
(
'./TestTraceRetriever'
)
var
traceInvokation
=
require
(
'./trace/contractInvokationTrace'
)
var
txInvokation
=
require
(
'./resources/contractInvokationTx'
)
var
txInvokation
=
require
(
'./trace/contractInvokationTx'
)
tape
(
'TraceManager'
,
function
(
t
)
{
tape
(
'TraceManager'
,
function
(
t
)
{
var
traceManager
var
traceManager
...
@@ -297,39 +296,3 @@ tape('TraceManager', function (t) {
...
@@ -297,39 +296,3 @@ tape('TraceManager', function (t) {
st
.
end
()
st
.
end
()
})
})
})
})
/*
TestTraceRetriever
*/
function
TestTraceRetriever
()
{
this
.
storages
=
{}
// contains all intial storage (by addresses)
}
TestTraceRetriever
.
prototype
.
getTrace
=
function
(
txHash
,
callback
)
{
console
.
log
(
traceInvokation
)
callback
(
null
,
traceInvokation
)
}
/* not used */
TestTraceRetriever
.
prototype
.
getStorage
=
function
(
tx
,
address
,
callback
)
{
if
(
traceHelper
.
isContractCreation
(
address
))
{
callback
(
null
,
{})
}
else
if
(
this
.
storages
[
address
])
{
callback
(
null
,
this
.
storages
[
address
])
}
else
{
/*
return storage
*/
/*
var self = this
this.web3.debug.storageAt(tx.blockNumber.toString(), tx.transactionIndex, address, function (error, result) {
self.storages[address] = result
callback(error, result)
})
*/
}
}
TestTraceRetriever
.
prototype
.
debugStorageAtAvailable
=
function
()
{
return
false
// storageAt not available if using geth
}
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