Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
YottaChain
YTBP
提交
8c822d37
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,发现更多精彩内容 >>
提交
8c822d37
编写于
3月 09, 2018
作者:
A
Anton Perkov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
unit test for system contract
上级
498bdc13
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
52 addition
and
1 deletion
+52
-1
contracts/eosio.system/eosio.system.abi
contracts/eosio.system/eosio.system.abi
+12
-1
tests/wasm_tests/eosio.system_tests.cpp
tests/wasm_tests/eosio.system_tests.cpp
+40
-0
未找到文件。
contracts/eosio.system/eosio.system.abi
浏览文件 @
8c822d37
...
...
@@ -93,7 +93,7 @@
{"name":"max_inline_action_size", "type":"uint32"},
{"name":"max_generated_transaction_size", "type":"uint32"},
{"name":"inflation_rate", "type":"uint32"},
{"name":"storage_reserve_ratio", "type":"uint32"}
,
{"name":"storage_reserve_ratio", "type":"uint32"}
]
},{
"name": "eosio_global_state",
...
...
@@ -139,6 +139,14 @@
{"name":"voter", "type":"account_name"},
{"name":"amount", "type":"asset"}
]
},{
"name": "voteproducer",
"base": "",
"fields": [
{"name":"voter", "type":"account_name"},
{"name":"proxy", "type":"account_name"},
{"name":"producers", "type":"account_name[]"}
]
},{
"name": "voter_info",
"base": "",
...
...
@@ -181,6 +189,9 @@
},{
"name": "unstakevote",
"type": "unstakevote"
},{
"name": "voteproducer",
"type": "voteproducer"
}
],
"tables": [
...
...
tests/wasm_tests/eosio.system_tests.cpp
浏览文件 @
8c822d37
...
...
@@ -620,4 +620,44 @@ BOOST_FIXTURE_TEST_CASE( producer_register_unregister, eosio_system_tester ) try
}
FC_LOG_AND_RETHROW
()
BOOST_FIXTURE_TEST_CASE
(
vote_for_producer
,
eosio_system_tester
)
try
{
issue
(
"alice"
,
"1000.0000 EOS"
,
config
::
system_account_name
);
fc
::
variant
params
=
producer_parameters_example
(
1
);
vector
<
char
>
key
=
fc
::
raw
::
pack
(
fc
::
crypto
::
public_key
(
std
::
string
(
"EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV"
)
)
);
BOOST_REQUIRE_EQUAL
(
success
(),
push_action
(
N
(
alice
),
N
(
regproducer
),
mvo
()
(
"producer"
,
"alice"
)
(
"producer_key"
,
key
)
(
"prefs"
,
params
)
)
);
auto
prod_initial
=
get_producer_info
(
"alice"
);
BOOST_REQUIRE_EQUAL
(
0
,
prod_initial
[
"total_votes"
].
as_uint64
()
);
REQUIRE_EQUAL_OBJECTS
(
params
,
prod_initial
[
"prefs"
]);
issue
(
"bob"
,
"2000.0000 EOS"
,
config
::
system_account_name
);
issue
(
"carol"
,
"3000.0000 EOS"
,
config
::
system_account_name
);
BOOST_REQUIRE_EQUAL
(
success
(),
push_action
(
N
(
bob
),
N
(
stakevote
),
mvo
()
(
"voter"
,
"bob"
)
(
"amount"
,
"11.1111 EOS"
)
)
);
REQUIRE_EQUAL_OBJECTS
(
simple_voter
(
"bob"
,
"11.1111 EOS"
,
last_block_time
()
),
get_voter_info
(
"bob"
)
);
BOOST_REQUIRE_EQUAL
(
success
(),
push_action
(
N
(
bob
),
N
(
voteproducer
),
mvo
()
(
"voter"
,
"bob"
)
(
"proxy"
,
name
(
0
).
to_string
()
)
(
"producers"
,
vector
<
account_name
>
()
)
)
);
/*
auto prod_after_vote = get_producer_info( "alice" );
BOOST_REQUIRE_EQUAL( 111111, prod_initial["total_votes"].as_uint64() );
BOOST_REQUIRE_EQUAL( prod_initial["owner"].as_uint64(), prod_after_vote["owner"].as_uint64() );
REQUIRE_EQUAL_OBJECTS( prod_initial["prefs"], prod_after_vote["prefs"]);
BOOST_REQUIRE_EQUAL( to_string(prod_initial["packed_key"]), to_string(prod_after_vote["packed_key"]) );
*/
}
FC_LOG_AND_RETHROW
()
BOOST_AUTO_TEST_SUITE_END
()
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录