Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
YottaChain
YTBP
提交
9505a309
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,发现更多精彩内容 >>
未验证
提交
9505a309
编写于
5月 04, 2018
作者:
K
Kevin Heifner
提交者:
GitHub
5月 04, 2018
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #2763 from EOSIO/slim_nonce_on_nobody
Remove nonce from system contracts; use nonce on nobody
上级
7c1827cd
bad60b4d
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
12 addition
and
54 deletion
+12
-54
contracts/eosio.bios/eosio.bios.abi
contracts/eosio.bios/eosio.bios.abi
+0
-10
contracts/eosio.system/eosio.system.abi
contracts/eosio.system/eosio.system.abi
+0
-10
contracts/eosio.system/eosio.system.cpp
contracts/eosio.system/eosio.system.cpp
+0
-2
contracts/eosio.system/eosio.system.hpp
contracts/eosio.system/eosio.system.hpp
+0
-2
libraries/testing/tester.cpp
libraries/testing/tester.cpp
+2
-4
plugins/txn_test_gen_plugin/txn_test_gen_plugin.cpp
plugins/txn_test_gen_plugin/txn_test_gen_plugin.cpp
+5
-10
programs/cleos/main.cpp
programs/cleos/main.cpp
+5
-16
未找到文件。
contracts/eosio.bios/eosio.bios.abi
浏览文件 @
9505a309
...
...
@@ -41,12 +41,6 @@
"fields": [
{"name":"from", "type":"account_name"}
]
},{
"name": "nonce",
"base": "",
"fields": [
{"name":"value", "type":"string"}
]
}],
"actions": [{
"name": "setalimits",
...
...
@@ -68,10 +62,6 @@
"name": "reqauth",
"type": "require_auth",
"ricardian_contract": ""
},{
"name": "nonce",
"type": "nonce",
"ricardian_contract": ""
}
],
"tables": [],
...
...
contracts/eosio.system/eosio.system.abi
浏览文件 @
9505a309
{
"types": [],
"structs": [{
"name": "nonce",
"base": "",
"fields": [
{"name":"value", "type":"string"}
]
},{
"name": "buyrambytes",
"base": "",
"fields": [
...
...
@@ -243,10 +237,6 @@
"name": "claimrewards",
"type": "claimrewards",
"ricardian_contract": ""
},{
"name": "nonce",
"type": "nonce",
"ricardian_contract": ""
}
],
"tables": [{
...
...
contracts/eosio.system/eosio.system.cpp
浏览文件 @
9505a309
...
...
@@ -65,6 +65,4 @@ EOSIO_ABI( eosiosystem::system_contract,
//XXX
(
onblock
)
(
newaccount
)(
updateauth
)(
deleteauth
)(
linkauth
)(
unlinkauth
)(
postrecovery
)(
passrecovery
)(
vetorecovery
)(
onerror
)(
canceldelay
)
// defined in eosio.system.hpp
(
nonce
)
)
contracts/eosio.system/eosio.system.hpp
浏览文件 @
9505a309
...
...
@@ -184,8 +184,6 @@ namespace eosiosystem {
void
regproxy
(
const
account_name
proxy
,
bool
isproxy
);
void
nonce
(
const
std
::
string
&
/*value*/
)
{}
// functions defined in producer_pay.cpp
void
claimrewards
(
const
account_name
&
owner
);
...
...
libraries/testing/tester.cpp
浏览文件 @
9505a309
...
...
@@ -373,11 +373,9 @@ namespace eosio { namespace testing {
// lets also push a context free action, the multi chain test will then also include a context free action
(
"context_free_actions"
,
fc
::
variants
({
fc
::
mutable_variant_object
()
(
"account"
,
name
(
config
::
system
_account_name
))
(
"account"
,
name
(
config
::
nobody
_account_name
))
(
"name"
,
"nonce"
)
(
"data"
,
fc
::
mutable_variant_object
()
(
"value"
,
v
)
)
(
"data"
,
fc
::
raw
::
pack
(
v
))
})
);
...
...
plugins/txn_test_gen_plugin/txn_test_gen_plugin.cpp
浏览文件 @
9505a309
...
...
@@ -252,9 +252,6 @@ struct txn_test_gen_plugin_impl {
fc
::
crypto
::
private_key
a_priv_key
=
fc
::
crypto
::
private_key
::
regenerate
(
fc
::
sha256
(
std
::
string
(
64
,
'a'
)));
fc
::
crypto
::
private_key
b_priv_key
=
fc
::
crypto
::
private_key
::
regenerate
(
fc
::
sha256
(
std
::
string
(
64
,
'b'
)));
static
uint64_t
nonce
=
static_cast
<
uint64_t
>
(
fc
::
time_point
::
now
().
sec_since_epoch
())
<<
32
;
abi_serializer
eosio_serializer
(
cc
.
get_database
().
find
<
account_object
,
by_name
>
(
config
::
system_account_name
)
->
get_abi
());
uint32_t
reference_block_num
=
cc
.
last_irreversible_block_num
();
if
(
txn_reference_block_lag
>=
0
)
{
reference_block_num
=
cc
.
head_block_num
();
...
...
@@ -269,11 +266,9 @@ struct txn_test_gen_plugin_impl {
for
(
unsigned
int
i
=
0
;
i
<
batch
;
++
i
)
{
{
variant
nonce_vo
=
fc
::
mutable_variant_object
()
(
"value"
,
fc
::
to_string
(
nonce
++
));
signed_transaction
trx
;
trx
.
actions
.
push_back
(
act_a_to_b
);
trx
.
context_free_actions
.
emplace_back
(
action
({},
config
::
system_account_name
,
"nonce"
,
eosio_serializer
.
variant_to_binary
(
"nonce"
,
nonce_vo
)));
trx
.
context_free_actions
.
emplace_back
(
action
({},
config
::
nobody_account_name
,
"nonce"
,
fc
::
raw
::
pack
(
nonce
++
)));
trx
.
set_reference_block
(
reference_block_id
);
trx
.
expiration
=
cc
.
head_block_time
()
+
fc
::
seconds
(
30
);
trx
.
max_net_usage_words
=
100
;
...
...
@@ -282,11 +277,9 @@ struct txn_test_gen_plugin_impl {
}
{
variant
nonce_vo
=
fc
::
mutable_variant_object
()
(
"value"
,
fc
::
to_string
(
nonce
++
));
signed_transaction
trx
;
trx
.
actions
.
push_back
(
act_b_to_a
);
trx
.
context_free_actions
.
emplace_back
(
action
({},
config
::
system_account_name
,
"nonce"
,
eosio_serializer
.
variant_to_binary
(
"nonce"
,
nonce_vo
)));
trx
.
context_free_actions
.
emplace_back
(
action
({},
config
::
nobody_account_name
,
"nonce"
,
fc
::
raw
::
pack
(
nonce
++
)));
trx
.
set_reference_block
(
reference_block_id
);
trx
.
expiration
=
cc
.
head_block_time
()
+
fc
::
seconds
(
30
);
trx
.
max_net_usage_words
=
100
;
...
...
@@ -313,7 +306,9 @@ struct txn_test_gen_plugin_impl {
action
act_a_to_b
;
action
act_b_to_a
;
abi_serializer
currency_serializer
=
fc
::
json
::
from_string
(
eosio_token_abi
).
as
<
abi_def
>
();
uint64_t
nonce
=
static_cast
<
uint64_t
>
(
fc
::
time_point
::
now
().
sec_since_epoch
())
<<
32
;
abi_serializer
eosio_token_serializer
=
fc
::
json
::
from_string
(
eosio_token_abi
).
as
<
contracts
::
abi_def
>
();
};
txn_test_gen_plugin
::
txn_test_gen_plugin
()
{}
...
...
programs/cleos/main.cpp
浏览文件 @
9505a309
...
...
@@ -214,23 +214,12 @@ eosio::chain_apis::read_only::get_info_results get_info() {
return
::
call
(
url
,
get_info_func
,
fc
::
variant
()).
as
<
eosio
::
chain_apis
::
read_only
::
get_info_results
>
();
}
string
generate_nonce_
value
()
{
string
generate_nonce_
string
()
{
return
fc
::
to_string
(
fc
::
time_point
::
now
().
time_since_epoch
().
count
());
}
chain
::
action
generate_nonce
()
{
auto
v
=
generate_nonce_value
();
variant
nonce
=
fc
::
mutable_variant_object
()
(
"value"
,
v
);
try
{
auto
result
=
call
(
get_code_func
,
fc
::
mutable_variant_object
(
"account_name"
,
name
(
config
::
system_account_name
)));
abi_serializer
eosio_serializer
(
result
[
"abi"
].
as
<
abi_def
>
());
return
chain
::
action
(
{},
config
::
system_account_name
,
"nonce"
,
eosio_serializer
.
variant_to_binary
(
"nonce"
,
nonce
));
}
catch
(...)
{
EOS_THROW
(
account_query_exception
,
"A system contract is required to use nonce"
);
}
chain
::
action
generate_nonce_action
()
{
return
chain
::
action
(
{},
config
::
nobody_account_name
,
"nonce"
,
fc
::
raw
::
pack
(
fc
::
time_point
::
now
().
time_since_epoch
().
count
()));
}
fc
::
variant
determine_required_keys
(
const
signed_transaction
&
trx
)
{
...
...
@@ -267,7 +256,7 @@ fc::variant push_transaction( signed_transaction& trx, int32_t extra_kcpu = 1000
trx
.
set_reference_block
(
ref_block_id
);
if
(
tx_force_unique
)
{
trx
.
context_free_actions
.
emplace_back
(
generate_nonce
()
);
trx
.
context_free_actions
.
emplace_back
(
generate_nonce
_action
()
);
}
auto
required_keys
=
determine_required_keys
(
trx
);
...
...
@@ -1386,7 +1375,7 @@ int main( int argc, char** argv ) {
signed_transaction
trx
;
if
(
tx_force_unique
&&
memo
.
size
()
==
0
)
{
// use the memo to add a nonce
memo
=
generate_nonce_
value
();
memo
=
generate_nonce_
string
();
tx_force_unique
=
false
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录