Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
YottaChain
YTBP
提交
d4989d49
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,发现更多精彩内容 >>
提交
d4989d49
编写于
8月 03, 2017
作者:
N
Nathan Hourt
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Ref #123: Write tests, fix bugs
上级
d6f89ca4
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
13 addition
and
4 deletion
+13
-4
libraries/native_contract/eos_contract.cpp
libraries/native_contract/eos_contract.cpp
+2
-0
tests/common/macro_support.hpp
tests/common/macro_support.hpp
+2
-2
tests/common/testing_macros.hpp
tests/common/testing_macros.hpp
+7
-2
tests/tests/native_contract_tests.cpp
tests/tests/native_contract_tests.cpp
+2
-0
未找到文件。
libraries/native_contract/eos_contract.cpp
浏览文件 @
d4989d49
...
...
@@ -364,6 +364,8 @@ void apply_eos_setproxy(apply_context& context) {
void
apply_eos_updateauth
(
apply_context
&
context
)
{
auto
update
=
context
.
msg
.
as
<
types
::
updateauth
>
();
EOS_ASSERT
(
!
update
.
permission
.
empty
(),
message_validate_exception
,
"Cannot create authority with empty name"
);
EOS_ASSERT
(
update
.
permission
!=
update
.
parent
,
message_validate_exception
,
"Cannot set an authority as its own parent"
);
EOS_ASSERT
(
validate
(
update
.
authority
),
message_validate_exception
,
"Invalid authority: ${auth}"
,
(
"auth"
,
update
.
authority
));
if
(
update
.
permission
==
"active"
)
...
...
tests/common/macro_support.hpp
浏览文件 @
d4989d49
...
...
@@ -80,7 +80,7 @@ inline std::vector<Name> sort_names( std::vector<Name>&& names ) {
trx.scope = {#account}; \
trx.emplaceMessage(config::EosContractName, \
vector<types::AccountPermission>{{#account,"active"}}, \
"updateauth", types::updateauth{#account,
#
authname, parentname, auth}); \
"updateauth", types::updateauth{#account, authname, parentname, auth}); \
trx.expiration = chain.head_block_time() + 100; \
trx.set_reference_block(chain.head_block_id()); \
chain.push_transaction(trx, chain_controller::skip_transaction_signatures); \
...
...
@@ -93,7 +93,7 @@ inline std::vector<Name> sort_names( std::vector<Name>&& names ) {
trx.scope = {#account}; \
trx.emplaceMessage(config::EosContractName, \
vector<types::AccountPermission>{{#account,"active"}}, \
"deleteauth", types::deleteauth{#account,
#
authname}); \
"deleteauth", types::deleteauth{#account, authname}); \
trx.expiration = chain.head_block_time() + 100; \
trx.set_reference_block(chain.head_block_id()); \
chain.push_transaction(trx, chain_controller::skip_transaction_signatures); \
...
...
tests/common/testing_macros.hpp
浏览文件 @
d4989d49
...
...
@@ -171,7 +171,7 @@
#define Make_Account(...) BOOST_PP_OVERLOAD(MKACCT, __VA_ARGS__)(__VA_ARGS__)
/**
* @brief Shorthand way to create or update
a
named authority on an account
* @brief Shorthand way to create or update named authority on an account
*
* @code{.cpp}
* // Add a new authority named "money" to account "alice" as a child of her active authority
...
...
@@ -181,7 +181,12 @@
*/
#define Set_Authority(...) BOOST_PP_OVERLOAD(SETAUTH, __VA_ARGS__)(__VA_ARGS__)
/**
* @brief Shorthand way to delete a named authority from an account
* @brief Shorthand way to delete named authority from an account
*
* @code{.cpp}
* // Delete authority named "money" from account "alice"
* Delete_Authority(chain, alice, "money");
* @endcode
*/
#define Delete_Authority(...) BOOST_PP_OVERLOAD(DELAUTH, __VA_ARGS__)(__VA_ARGS__)
...
...
tests/tests/native_contract_tests.cpp
浏览文件 @
d4989d49
...
...
@@ -392,6 +392,8 @@ BOOST_FIXTURE_TEST_CASE(auth_tests, testing_fixture) {
Make_Key
(
k1
);
Set_Authority
(
chain
,
alice
,
"spending"
,
"active"
,
Key_Authority
(
k1_public_key
));
BOOST_CHECK_THROW
(
Set_Authority
(
chain
,
alice
,
"spending"
,
"spending"
,
Key_Authority
(
k1_public_key
)),
message_validate_exception
);
Set_Authority
(
chain
,
alice
,
"spending"
,
"owner"
,
Key_Authority
(
k1_public_key
));
Delete_Authority
(
chain
,
alice
,
"spending"
);
}
FC_LOG_AND_RETHROW
()
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录