Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
YottaChain
YTBP
提交
e55c7cb7
Y
YTBP
项目概览
YottaChain
/
YTBP
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Y
YTBP
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
e55c7cb7
编写于
9月 24, 2018
作者:
B
Brian Johnson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fixed processing for paths that only have transaction id instead of transaction. GH #5674
上级
272a7e31
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
28 addition
and
6 deletion
+28
-6
tests/Node.py
tests/Node.py
+28
-6
未找到文件。
tests/Node.py
浏览文件 @
e55c7cb7
...
...
@@ -326,8 +326,14 @@ class Node(object):
return
self
.
isBlockPresent
(
blockNum
,
blockType
=
BlockType
.
lib
)
class
BlockWalker
:
def
__init__
(
self
,
node
,
trans
,
startBlockNum
=
None
,
endBlockNum
=
None
):
self
.
trans
=
trans
def
__init__
(
self
,
node
,
transOrTransId
,
startBlockNum
=
None
,
endBlockNum
=
None
):
assert
(
isinstance
(
transOrTransId
,
(
str
,
dict
)))
if
isinstance
(
transOrTransId
,
str
):
self
.
trans
=
None
self
.
transId
=
transOrTransId
else
:
self
.
trans
=
transOrTransId
self
.
transId
=
Node
.
getTransId
(
trans
)
self
.
node
=
node
self
.
startBlockNum
=
startBlockNum
self
.
endBlockNum
=
endBlockNum
...
...
@@ -335,18 +341,34 @@ class Node(object):
def
walkBlocks
(
self
):
start
=
None
end
=
None
blockNum
=
self
.
trans
[
"processed"
][
"action_traces"
][
0
][
"block_num"
]
if
self
.
trans
is
not
None
:
cntxt
=
Node
.
Context
(
self
.
trans
,
"trans"
)
cntxt
.
add
(
"processed"
)
cntxt
.
add
(
"action_traces"
)
cntxt
.
index
(
0
)
blockNum
=
cntxt
.
add
(
"block_num"
)
else
:
blockNum
=
None
# it should be blockNum or later, but just in case the block leading up have any clues...
start
=
None
if
self
.
startBlockNum
is
not
None
:
start
=
self
.
startBlockNum
el
s
e
:
el
if
blockNum
is
not
Non
e
:
start
=
blockNum
-
5
if
self
.
endBlockNum
is
not
None
:
end
=
self
.
endBlockNum
else
:
info
=
self
.
node
.
getInfo
()
end
=
info
[
"head_block_num"
]
msg
=
"Original transaction=
\n
%s
\n
Expected block_num=%s
\n
"
%
(
json
.
dumps
(
trans
,
indent
=
2
,
sort_keys
=
True
),
blockNum
)
if
start
is
None
:
if
end
>
100
:
start
=
end
-
100
else
:
start
=
0
transDesc
=
" id =%s"
%
(
self
.
transId
)
if
self
.
trans
is
not
None
:
transDesc
=
"=%s"
%
(
json
.
dumps
(
self
.
trans
,
indent
=
2
,
sort_keys
=
True
))
msg
=
"Original transaction%s
\n
Expected block_num=%s
\n
"
%
(
transDesc
,
blockNum
)
for
blockNum
in
range
(
start
,
end
+
1
):
block
=
self
.
node
.
getBlock
(
blockNum
)
msg
+=
json
.
dumps
(
block
,
indent
=
2
,
sort_keys
=
True
)
+
"
\n
"
...
...
@@ -373,7 +395,7 @@ class Node(object):
if
trans
is
not
None
or
not
delayedRetry
:
return
trans
if
blockWalker
is
None
:
blockWalker
=
Node
.
BlockWalker
(
self
,
trans
)
blockWalker
=
Node
.
BlockWalker
(
self
,
trans
OrTransId
)
if
Utils
.
Debug
:
Utils
.
Print
(
"Could not find transaction with id %s, delay and retry"
%
(
transId
))
time
.
sleep
(
timeout
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录