Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
YottaChain
YTBP
提交
a41b4d56
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,发现更多精彩内容 >>
提交
a41b4d56
编写于
3月 08, 2018
作者:
K
Kevin Heifner
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add context_free_data to packed_transaction and transaction_metadata
上级
3b135e8c
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
12 addition
and
4 deletion
+12
-4
libraries/chain/include/eosio/chain/contracts/abi_serializer.hpp
...es/chain/include/eosio/chain/contracts/abi_serializer.hpp
+3
-0
libraries/chain/include/eosio/chain/transaction.hpp
libraries/chain/include/eosio/chain/transaction.hpp
+6
-2
libraries/chain/include/eosio/chain/transaction_metadata.hpp
libraries/chain/include/eosio/chain/transaction_metadata.hpp
+1
-1
libraries/chain/transaction.cpp
libraries/chain/transaction.cpp
+1
-1
libraries/chain/transaction_metadata.cpp
libraries/chain/transaction_metadata.cpp
+1
-0
未找到文件。
libraries/chain/include/eosio/chain/contracts/abi_serializer.hpp
浏览文件 @
a41b4d56
...
...
@@ -212,6 +212,7 @@ namespace impl {
static
void
add
(
mutable_variant_object
&
out
,
const
char
*
name
,
const
packed_transaction
&
ptrx
,
Resolver
resolver
)
{
mutable_variant_object
mvo
;
mvo
(
"signatures"
,
ptrx
.
signatures
);
mvo
(
"context_free_data"
,
ptrx
.
context_free_data
);
mvo
(
"compression"
,
ptrx
.
compression
);
mvo
(
"hex_data"
,
ptrx
.
data
);
...
...
@@ -339,8 +340,10 @@ namespace impl {
static
void
extract
(
const
variant
&
v
,
packed_transaction
&
ptrx
,
Resolver
resolver
)
{
const
variant_object
&
vo
=
v
.
get_object
();
FC_ASSERT
(
vo
.
contains
(
"signatures"
));
FC_ASSERT
(
vo
.
contains
(
"context_free_data"
));
FC_ASSERT
(
vo
.
contains
(
"compression"
));
from_variant
(
vo
[
"signatures"
],
ptrx
.
signatures
);
from_variant
(
vo
[
"context_free_data"
],
ptrx
.
context_free_data
);
from_variant
(
vo
[
"compression"
],
ptrx
.
compression
);
if
(
vo
.
contains
(
"hex_data"
)
&&
vo
[
"hex_data"
].
is_string
()
&&
!
vo
[
"hex_data"
].
as_string
().
empty
())
{
...
...
libraries/chain/include/eosio/chain/transaction.hpp
浏览文件 @
a41b4d56
...
...
@@ -148,14 +148,15 @@ namespace eosio { namespace chain {
signed_transaction
()
=
default
;
// signed_transaction( const signed_transaction& ) = default;
// signed_transaction( signed_transaction&& ) = default;
signed_transaction
(
transaction
&&
trx
,
const
vector
<
signature_type
>&
signatures
)
signed_transaction
(
transaction
&&
trx
,
const
vector
<
signature_type
>&
signatures
,
const
vector
<
bytes
>&
context_free_data
)
:
transaction
(
std
::
forward
<
transaction
>
(
trx
))
,
signatures
(
signatures
)
,
context_free_data
(
context_free_data
)
{
}
vector
<
signature_type
>
signatures
;
vector
<
vector
<
char
>>
context_free_data
;
///< for each context-free action, there is an entry here
vector
<
bytes
>
context_free_data
;
///< for each context-free action, there is an entry here
const
signature_type
&
sign
(
const
private_key_type
&
key
,
const
chain_id_type
&
chain_id
);
signature_type
sign
(
const
private_key_type
&
key
,
const
chain_id_type
&
chain_id
)
const
;
...
...
@@ -177,17 +178,20 @@ namespace eosio { namespace chain {
explicit
packed_transaction
(
const
signed_transaction
&
t
,
compression_type
_compression
=
none
)
:
signatures
(
t
.
signatures
)
,
context_free_data
(
t
.
context_free_data
)
{
set_transaction
(
t
,
_compression
);
}
explicit
packed_transaction
(
signed_transaction
&&
t
,
compression_type
_compression
=
none
)
:
signatures
(
std
::
move
(
t
.
signatures
))
,
context_free_data
(
std
::
move
(
t
.
context_free_data
))
{
set_transaction
(
t
,
_compression
);
}
vector
<
signature_type
>
signatures
;
vector
<
bytes
>
context_free_data
;
compression_type
compression
;
bytes
data
;
...
...
libraries/chain/include/eosio/chain/transaction_metadata.hpp
浏览文件 @
a41b4d56
...
...
@@ -27,7 +27,7 @@ class transaction_metadata {
// things for packed_transaction
optional
<
bytes
>
raw_trx
;
optional
<
transaction
>
decompressed_trx
;
vector
<
vector
<
char
>>
context_free_data
;
vector
<
bytes
>
context_free_data
;
// things for signed/packed transactions
optional
<
flat_set
<
public_key_type
>>
signing_keys
;
...
...
libraries/chain/transaction.cpp
浏览文件 @
a41b4d56
...
...
@@ -204,7 +204,7 @@ transaction packed_transaction::get_transaction()const
signed_transaction
packed_transaction
::
get_signed_transaction
()
const
{
return
signed_transaction
(
get_transaction
(),
signatures
);
return
signed_transaction
(
get_transaction
(),
signatures
,
context_free_data
);
}
void
packed_transaction
::
set_transaction
(
const
transaction
&
t
,
packed_transaction
::
compression_type
_compression
)
...
...
libraries/chain/transaction_metadata.cpp
浏览文件 @
a41b4d56
...
...
@@ -7,6 +7,7 @@ namespace eosio { namespace chain {
transaction_metadata
::
transaction_metadata
(
const
packed_transaction
&
t
,
chain_id_type
chainid
,
const
time_point
&
published
)
:
raw_trx
(
t
.
get_raw_transaction
())
,
decompressed_trx
(
fc
::
raw
::
unpack
<
transaction
>
(
*
raw_trx
))
,
context_free_data
(
t
.
context_free_data
)
,
id
(
decompressed_trx
->
id
())
,
bandwidth_usage
(
(
uint32_t
)
fc
::
raw
::
pack_size
(
t
)
)
,
published
(
published
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录