Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
YottaChain
YTBP
提交
d64dc596
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,发现更多精彩内容 >>
提交
d64dc596
编写于
12月 13, 2019
作者:
W
wangxxzhiyy
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update hddpool contract
上级
619f5fae
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
64 addition
and
20 deletion
+64
-20
contracts/hddpool/hddpool.abi
contracts/hddpool/hddpool.abi
+33
-0
contracts/hddpool/hddpool.cpp
contracts/hddpool/hddpool.cpp
+12
-17
contracts/hddpool/hddpool.hpp
contracts/hddpool/hddpool.hpp
+19
-3
未找到文件。
contracts/hddpool/hddpool.abi
浏览文件 @
d64dc596
...
...
@@ -313,7 +313,40 @@
{
"name": "last_duprmv_ratio_guard_time2",
"type": "uint64"
},
{
"name": "yta_price_delta_1",
"type": "uint64"
},
{
"name": "yta_price_timespan_1",
"type": "uint64"
},
{
"name": "yta_price_delta_2",
"type": "uint64"
},
{
"name": "yta_price_timespan_2",
"type": "uint64"
},
{
"name": "duprmv_ratio_delta_1",
"type": "uint64"
},
{
"name": "duprmv_ratio_timespan_1",
"type": "uint64"
},
{
"name": "duprmv_ratio_delta_2",
"type": "uint64"
},
{
"name": "duprmv_ratio_timespan_2",
"type": "uint64"
}
]
},
{
...
...
contracts/hddpool/hddpool.cpp
浏览文件 @
d64dc596
...
...
@@ -910,32 +910,29 @@ void hddpool::setytaprice(uint64_t price, uint8_t acc_type) {
uint64_t
tmp_t
;
uint64_t
delta
;
uint64_t
ct
=
current_time
();
uint64_t
guard_time1
=
8
*
60
;
uint64_t
guard_time2
=
60
*
60
*
24
;
tmp_t
=
(
ct
-
_paramguard_state
.
last_ytaprice_guard_time1
)
/
1000000ll
;
//seconds
delta
=
(
uint64_t
)(
abs
((
int64_t
)
price
-
(
int64_t
)
_paramguard_state
.
last_yta_guard_price1
))
*
100
/
_paramguard_state
.
last_yta_guard_price1
;
if
(
tmp_t
<
guard_time
1
)
{
if
(
delta
>
15
)
break
;
//8分钟内波动小于15%
if
(
tmp_t
<
_paramguard_state
.
yta_price_timespan_
1
)
{
if
(
delta
>
_paramguard_state
.
yta_price_delta_1
)
break
;
}
tmp_t
=
(
ct
-
_paramguard_state
.
last_ytaprice_guard_time2
)
/
1000000ll
;
//seconds
delta
=
(
uint64_t
)(
abs
((
int64_t
)
price
-
(
int64_t
)
_paramguard_state
.
last_yta_guard_price2
))
*
100
/
_paramguard_state
.
last_yta_guard_price2
;
if
(
tmp_t
<
guard_time
2
)
{
if
(
delta
>
50
)
break
;
//24小时内波动小于50%
if
(
tmp_t
<
_paramguard_state
.
yta_price_timespan_
2
)
{
if
(
delta
>
_paramguard_state
.
yta_price_delta_2
)
break
;
}
_gparmas_state
.
yta_price
=
price
;
tmp_t
=
(
ct
-
_paramguard_state
.
last_ytaprice_guard_time1
)
/
1000000ll
;
//seconds
if
(
tmp_t
>
guard_time
1
)
{
if
(
tmp_t
>
_paramguard_state
.
yta_price_timespan_
1
)
{
_paramguard_state
.
last_yta_guard_price1
=
price
;
_paramguard_state
.
last_ytaprice_guard_time1
=
ct
;
}
tmp_t
=
(
ct
-
_paramguard_state
.
last_ytaprice_guard_time2
)
/
1000000ll
;
//seconds
if
(
tmp_t
>
guard_time
2
)
{
if
(
tmp_t
>
_paramguard_state
.
yta_price_timespan_
2
)
{
_paramguard_state
.
last_yta_guard_price2
=
price
;
_paramguard_state
.
last_ytaprice_guard_time2
=
ct
;
}
...
...
@@ -986,32 +983,30 @@ void hddpool::setdrratio(uint64_t ratio, uint8_t acc_type) {
uint64_t
tmp_t
;
uint64_t
delta
;
uint64_t
ct
=
current_time
();
uint64_t
guard_time1
=
60
*
60
*
24
;
//1天
uint64_t
guard_time2
=
60
*
60
*
240
;
//10天
tmp_t
=
(
ct
-
_paramguard_state
.
last_duprmv_ratio_guard_time1
)
/
1000000ll
;
//seconds
delta
=
(
uint64_t
)(
abs
((
int64_t
)
ratio
-
(
int64_t
)
_paramguard_state
.
last_dup_remove_guard_ratio1
))
*
100
/
_paramguard_state
.
last_dup_remove_guard_ratio1
;
if
(
tmp_t
<
guard_time
1
)
{
if
(
delta
>
10
)
break
;
//1天内波动小于10%
if
(
tmp_t
<
_paramguard_state
.
duprmv_ratio_timespan_
1
)
{
if
(
delta
>
_paramguard_state
.
duprmv_ratio_delta_1
)
break
;
}
tmp_t
=
(
ct
-
_paramguard_state
.
last_duprmv_ratio_guard_time2
)
/
1000000ll
;
//seconds
delta
=
(
uint64_t
)(
abs
((
int64_t
)
ratio
-
(
int64_t
)
_paramguard_state
.
last_dup_remove_guard_ratio2
))
*
100
/
_paramguard_state
.
last_dup_remove_guard_ratio2
;
if
(
tmp_t
<
guard_time
2
)
{
if
(
delta
>
50
)
break
;
//10天内波动小于50%
if
(
tmp_t
<
_paramguard_state
.
duprmv_ratio_timespan_
2
)
{
if
(
delta
>
_paramguard_state
.
duprmv_ratio_delta_2
)
break
;
}
_gparmas_state
.
dup_remove_ratio
=
ratio
;
tmp_t
=
(
ct
-
_paramguard_state
.
last_duprmv_ratio_guard_time1
)
/
1000000ll
;
//seconds
if
(
tmp_t
>
guard_time
1
)
{
if
(
tmp_t
>
_paramguard_state
.
duprmv_ratio_timespan_
1
)
{
_paramguard_state
.
last_dup_remove_guard_ratio1
=
ratio
;
_paramguard_state
.
last_duprmv_ratio_guard_time1
=
ct
;
}
tmp_t
=
(
ct
-
_paramguard_state
.
last_duprmv_ratio_guard_time2
)
/
1000000ll
;
//seconds
if
(
tmp_t
>
guard_time
2
)
{
if
(
tmp_t
>
_paramguard_state
.
duprmv_ratio_timespan_
2
)
{
_paramguard_state
.
last_dup_remove_guard_ratio2
=
ratio
;
_paramguard_state
.
last_duprmv_ratio_guard_time2
=
ct
;
}
...
...
contracts/hddpool/hddpool.hpp
浏览文件 @
d64dc596
...
...
@@ -140,9 +140,25 @@ private:
uint64_t
last_dup_remove_guard_ratio1
=
10000
;
uint64_t
last_duprmv_ratio_guard_time1
=
current_time
();
uint64_t
last_dup_remove_guard_ratio2
=
10000
;
uint64_t
last_duprmv_ratio_guard_time2
=
current_time
();
EOSLIB_SERIALIZE
(
hdd_price_guard
,
(
last_ytaprice_guard_time1
)(
last_ytaprice_guard_time2
)(
last_duprmv_ratio_guard_time1
)(
last_duprmv_ratio_guard_time2
))
uint64_t
last_duprmv_ratio_guard_time2
=
current_time
();
uint64_t
yta_price_delta_1
=
15
;
uint64_t
yta_price_timespan_1
=
8
*
60
;
uint64_t
yta_price_delta_2
=
50
;
uint64_t
yta_price_timespan_2
=
60
*
60
*
24
;
uint64_t
duprmv_ratio_delta_1
=
10
;
uint64_t
duprmv_ratio_timespan_1
=
60
*
60
*
24
;
uint64_t
duprmv_ratio_delta_2
=
50
;
uint64_t
duprmv_ratio_timespan_2
=
60
*
60
*
240
;
EOSLIB_SERIALIZE
(
hdd_price_guard
,
(
last_yta_guard_price1
)(
last_ytaprice_guard_time1
)
(
last_yta_guard_price2
)(
last_ytaprice_guard_time2
)
(
last_dup_remove_guard_ratio1
)(
last_duprmv_ratio_guard_time1
)
(
last_dup_remove_guard_ratio2
)(
last_duprmv_ratio_guard_time2
)
(
yta_price_delta_1
)(
yta_price_timespan_1
)
(
yta_price_delta_2
)(
yta_price_timespan_2
)
(
duprmv_ratio_delta_1
)(
duprmv_ratio_timespan_1
)
(
duprmv_ratio_delta_2
)(
duprmv_ratio_timespan_2
))
};
struct
hdd_global_state2
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录