Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
YottaChain
YTBP
提交
3eda8b07
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,发现更多精彩内容 >>
提交
3eda8b07
编写于
3月 14, 2018
作者:
A
arhag
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
rename is_whitelist for clarity and check if all transfers are frozen
上级
ff9b8bfd
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
11 addition
and
13 deletion
+11
-13
contracts/eosiolib/currency.hpp
contracts/eosiolib/currency.hpp
+11
-13
未找到文件。
contracts/eosiolib/currency.hpp
浏览文件 @
3eda8b07
...
...
@@ -71,11 +71,11 @@ namespace eosio {
bool
can_recall
=
true
;
bool
can_whitelist
=
true
;
bool
is_frozen
=
false
;
bool
is
_whitelist
=
false
;
bool
enforce
_whitelist
=
false
;
uint64_t
primary_key
()
const
{
return
supply
.
symbol
.
name
();
}
EOSLIB_SERIALIZE
(
currency_stats
,
(
supply
)(
max_supply
)(
issuer
)(
can_freeze
)(
can_recall
)(
can_whitelist
)(
is_frozen
)(
is
_whitelist
)
)
EOSLIB_SERIALIZE
(
currency_stats
,
(
supply
)(
max_supply
)(
issuer
)(
can_freeze
)(
can_recall
)(
can_whitelist
)(
is_frozen
)(
enforce
_whitelist
)
)
};
typedef
eosio
::
multi_index
<
N
(
accounts
),
account
>
accounts
;
...
...
@@ -215,7 +215,8 @@ namespace eosio {
if
(
has_auth
(
owner
)
)
{
eosio_assert
(
!
st
.
can_freeze
||
!
from
.
frozen
,
"account is frozen by issuer"
);
eosio_assert
(
!
st
.
is_whitelist
||
from
.
whitelist
,
"account is not white listed"
);
eosio_assert
(
!
st
.
can_freeze
||
!
st
.
is_frozen
,
"all transfers are frozen by issuer"
);
eosio_assert
(
!
st
.
enforce_whitelist
||
from
.
whitelist
,
"account is not white listed"
);
}
else
if
(
has_auth
(
st
.
issuer
)
)
{
eosio_assert
(
st
.
can_recall
,
"issuer may not recall token"
);
}
else
{
...
...
@@ -232,21 +233,18 @@ namespace eosio {
accounts
to_acnts
(
_contract
,
owner
);
auto
to
=
to_acnts
.
find
(
value
.
symbol
);
if
(
to
==
to_acnts
.
end
()
)
{
eosio_assert
(
!
st
.
is
_whitelist
,
"can only transfer to white listed accounts"
);
eosio_assert
(
!
st
.
enforce
_whitelist
,
"can only transfer to white listed accounts"
);
to_acnts
.
emplace
(
ram_payer
,
[
&
](
auto
&
a
){
a
.
balance
=
value
;
});
}
else
{
eosio_assert
(
!
st
.
is
_whitelist
||
to
->
whitelist
,
"receiver requires whitelist by issuer"
);
eosio_assert
(
!
st
.
enforce
_whitelist
||
to
->
whitelist
,
"receiver requires whitelist by issuer"
);
to_acnts
.
modify
(
to
,
0
,
[
&
](
auto
&
a
)
{
a
.
balance
.
amount
+=
value
.
amount
;
});
}
}
private:
account_name
_contract
;
};
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录