Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
YottaChain
YTBP
提交
e0afab19
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,发现更多精彩内容 >>
未验证
提交
e0afab19
编写于
8月 10, 2018
作者:
K
Kevin Heifner
提交者:
GitHub
8月 10, 2018
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #5066 from EOSIO/gh#4968-inline-actions
Gh#4968 inline actions
上级
0d63eb94
cbd3a3c1
变更
5
展开全部
隐藏空白更改
内联
并排
Showing
5 changed file
with
426 addition
and
357 deletion
+426
-357
libraries/chain/abi_serializer.cpp
libraries/chain/abi_serializer.cpp
+5
-0
libraries/chain/include/eosio/chain/abi_serializer.hpp
libraries/chain/include/eosio/chain/abi_serializer.hpp
+5
-2
plugins/mongo_db_plugin/mongo_db_plugin.cpp
plugins/mongo_db_plugin/mongo_db_plugin.cpp
+410
-349
tests/Node.py
tests/Node.py
+5
-5
tests/nodeos_run_test.py
tests/nodeos_run_test.py
+1
-1
未找到文件。
libraries/chain/abi_serializer.cpp
浏览文件 @
e0afab19
...
...
@@ -55,6 +55,11 @@ namespace eosio { namespace chain {
set_abi
(
abi
,
max_serialization_time
);
}
void
abi_serializer
::
add_specialized_unpack_pack
(
const
string
&
name
,
std
::
pair
<
abi_serializer
::
unpack_function
,
abi_serializer
::
pack_function
>
unpack_pack
)
{
built_in_types
[
name
]
=
std
::
move
(
unpack_pack
);
}
void
abi_serializer
::
configure_built_in_types
()
{
built_in_types
.
emplace
(
"bool"
,
pack_unpack
<
uint8_t
>
());
...
...
libraries/chain/include/eosio/chain/abi_serializer.hpp
浏览文件 @
e0afab19
...
...
@@ -86,11 +86,13 @@ struct abi_serializer {
return
false
;
}
static
const
size_t
max_recursion_depth
=
32
;
// arbitrary depth to prevent infinite recursion
typedef
std
::
function
<
fc
::
variant
(
fc
::
datastream
<
const
char
*>&
,
bool
,
bool
)
>
unpack_function
;
typedef
std
::
function
<
void
(
const
fc
::
variant
&
,
fc
::
datastream
<
char
*>&
,
bool
,
bool
)
>
pack_function
;
void
add_specialized_unpack_pack
(
const
string
&
name
,
std
::
pair
<
abi_serializer
::
unpack_function
,
abi_serializer
::
pack_function
>
unpack_pack
);
static
const
size_t
max_recursion_depth
=
32
;
// arbitrary depth to prevent infinite recursion
private:
map
<
type_name
,
type_name
>
typedefs
;
...
...
@@ -134,6 +136,7 @@ namespace impl {
std
::
is_same
<
T
,
packed_transaction
>::
value
||
std
::
is_same
<
T
,
transaction_trace
>::
value
||
std
::
is_same
<
T
,
transaction_receipt
>::
value
||
std
::
is_same
<
T
,
base_action_trace
>::
value
||
std
::
is_same
<
T
,
action_trace
>::
value
||
std
::
is_same
<
T
,
signed_transaction
>::
value
||
std
::
is_same
<
T
,
signed_block
>::
value
||
...
...
plugins/mongo_db_plugin/mongo_db_plugin.cpp
浏览文件 @
e0afab19
此差异已折叠。
点击以展开。
tests/Node.py
浏览文件 @
e0afab19
...
...
@@ -334,8 +334,8 @@ class Node(object):
key
=
"[trx][trx][ref_block_num]"
refBlockNum
=
trans
[
"trx"
][
"trx"
][
"ref_block_num"
]
else
:
key
=
"[
transaction_header][
ref_block_num]"
refBlockNum
=
trans
[
"
transaction_header"
][
"
ref_block_num"
]
key
=
"[ref_block_num]"
refBlockNum
=
trans
[
"ref_block_num"
]
refBlockNum
=
int
(
refBlockNum
)
+
1
except
(
TypeError
,
ValueError
,
KeyError
)
as
_
:
Utils
.
Print
(
"transaction%s not found. Transaction: %s"
%
(
key
,
trans
))
...
...
@@ -366,10 +366,10 @@ class Node(object):
refBlockNum
=
None
try
:
refBlockNum
=
trans
[
"
transaction_header"
][
"
ref_block_num"
]
refBlockNum
=
trans
[
"ref_block_num"
]
refBlockNum
=
int
(
refBlockNum
)
+
1
except
(
TypeError
,
ValueError
,
KeyError
)
as
_
:
Utils
.
Print
(
"transaction[
transaction_header][
ref_block_num] not found. Transaction: %s"
%
(
trans
))
Utils
.
Print
(
"transaction[ref_block_num] not found. Transaction: %s"
%
(
trans
))
return
None
headBlockNum
=
self
.
getHeadBlockNum
()
...
...
@@ -688,7 +688,7 @@ class Node(object):
assert
(
isinstance
(
offset
,
int
))
cmd
=
"%s %s"
%
(
Utils
.
MongoPath
,
self
.
mongoEndpointArgs
)
subcommand
=
'db.action
s.find({$or: [{"data.from":"%s"},{"
data.to":"%s"}]}).sort({"_id":%d}).limit(%d)'
%
(
account
.
name
,
account
.
name
,
pos
,
abs
(
offset
))
subcommand
=
'db.action
_traces.find({$or: [{"act.data.from":"%s"},{"act.
data.to":"%s"}]}).sort({"_id":%d}).limit(%d)'
%
(
account
.
name
,
account
.
name
,
pos
,
abs
(
offset
))
if
Utils
.
Debug
:
Utils
.
Print
(
"cmd: echo '%s' | %s"
%
(
subcommand
,
cmd
))
try
:
actions
=
Node
.
runMongoCmdReturnJson
(
cmd
.
split
(),
subcommand
,
exitOnError
=
exitOnError
)
...
...
tests/nodeos_run_test.py
浏览文件 @
e0afab19
...
...
@@ -275,7 +275,7 @@ try:
if
not
enableMongo
:
assert
(
actions
[
"actions"
][
0
][
"action_trace"
][
"act"
][
"name"
]
==
"transfer"
)
else
:
assert
(
actions
[
"name"
]
==
"transfer"
)
assert
(
actions
[
"
act"
][
"
name"
]
==
"transfer"
)
except
(
AssertionError
,
TypeError
,
KeyError
)
as
_
:
Print
(
"Action validation failed. Actions: %s"
%
(
actions
))
raise
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录