Commit fd703948 authored by pengjun's avatar pengjun

#627 删除清算罚金;增加借贷超时时间和超时清算

parent c9fbaf73
...@@ -139,4 +139,17 @@ func (c *Collateralize) deleteCollateralizeRecordStatus(collateralizelog *pty.Re ...@@ -139,4 +139,17 @@ func (c *Collateralize) deleteCollateralizeRecordStatus(collateralizelog *pty.Re
kv := &types.KeyValue{Key: key, Value: nil} kv := &types.KeyValue{Key: key, Value: nil}
kvs = append(kvs, kv) kvs = append(kvs, kv)
return kvs return kvs
}
// CheckReceiptExecOk return true to check if receipt ty is ok
func (c *Collateralize) CheckReceiptExecOk() bool {
return true
}
// ExecutorOrder 设置localdb的EnableRead
func (c *Collateralize) ExecutorOrder() int64 {
if types.IsFork(c.GetHeight(), "ForkLocalDBAccess") {
return drivers.ExecLocalSameTime
}
return c.DriverBase.ExecutorOrder()
} }
\ No newline at end of file
...@@ -21,7 +21,6 @@ func (c *Collateralize) Query_CollateralizeInfoByID(req *pty.ReqCollateralizeInf ...@@ -21,7 +21,6 @@ func (c *Collateralize) Query_CollateralizeInfoByID(req *pty.ReqCollateralizeInf
TotalBalance: coll.TotalBalance, TotalBalance: coll.TotalBalance,
DebtCeiling: coll.DebtCeiling, DebtCeiling: coll.DebtCeiling,
LiquidationRatio: coll.LiquidationRatio, LiquidationRatio: coll.LiquidationRatio,
LiquidationPenalty: coll.LiquidationPenalty,
StabilityFee: coll.StabilityFee, StabilityFee: coll.StabilityFee,
CreateAddr: coll.CreateAddr, CreateAddr: coll.CreateAddr,
Balance: coll.Balance, Balance: coll.Balance,
...@@ -42,7 +41,6 @@ func (c *Collateralize) Query_CollateralizeInfoByIDs(req *pty.ReqCollateralizeIn ...@@ -42,7 +41,6 @@ func (c *Collateralize) Query_CollateralizeInfoByIDs(req *pty.ReqCollateralizeIn
TotalBalance: coll.TotalBalance, TotalBalance: coll.TotalBalance,
DebtCeiling: coll.DebtCeiling, DebtCeiling: coll.DebtCeiling,
LiquidationRatio: coll.LiquidationRatio, LiquidationRatio: coll.LiquidationRatio,
LiquidationPenalty: coll.LiquidationPenalty,
StabilityFee: coll.StabilityFee, StabilityFee: coll.StabilityFee,
CreateAddr: coll.CreateAddr, CreateAddr: coll.CreateAddr,
Balance: coll.Balance, Balance: coll.Balance,
...@@ -89,6 +87,7 @@ func (c *Collateralize) Query_CollateralizeBorrowInfoByAddr(req *pty.ReqCollater ...@@ -89,6 +87,7 @@ func (c *Collateralize) Query_CollateralizeBorrowInfoByAddr(req *pty.ReqCollater
return nil, err return nil, err
} }
ret := &pty.RepCollateralizeBorrowInfos{}
for _, record := range records { for _, record := range records {
if record.CollateralizeId == req.CollateralizeId { if record.CollateralizeId == req.CollateralizeId {
coll, err := queryCollateralizeByID(c.GetStateDB(), record.CollateralizeId) coll, err := queryCollateralizeByID(c.GetStateDB(), record.CollateralizeId)
...@@ -99,9 +98,13 @@ func (c *Collateralize) Query_CollateralizeBorrowInfoByAddr(req *pty.ReqCollater ...@@ -99,9 +98,13 @@ func (c *Collateralize) Query_CollateralizeBorrowInfoByAddr(req *pty.ReqCollater
for _, borrowRecord := range coll.BorrowRecords { for _, borrowRecord := range coll.BorrowRecords {
if borrowRecord.AccountAddr == req.Addr { if borrowRecord.AccountAddr == req.Addr {
ret := &pty.RepCollateralizeBorrowInfo{} ret.Record = append(ret.Record, borrowRecord)
ret.Record = borrowRecord }
return ret, nil }
for _, borrowRecord := range coll.InvalidRecords {
if borrowRecord.AccountAddr == req.Addr {
ret.Record = append(ret.Record, borrowRecord)
} }
} }
} }
...@@ -130,6 +133,12 @@ func (c *Collateralize) Query_CollateralizeBorrowInfoByStatus(req *pty.ReqCollat ...@@ -130,6 +133,12 @@ func (c *Collateralize) Query_CollateralizeBorrowInfoByStatus(req *pty.ReqCollat
ret.Record = append(ret.Record, borrowRecord) ret.Record = append(ret.Record, borrowRecord)
} }
} }
for _, borrowRecord := range coll.InvalidRecords {
if borrowRecord.Status == req.Status {
ret.Record = append(ret.Record, borrowRecord)
}
}
} }
return ret, nil return ret, nil
......
...@@ -4,18 +4,20 @@ package types; ...@@ -4,18 +4,20 @@ package types;
// 借贷信息 // 借贷信息
message Collateralize { message Collateralize {
string collateralizeId = 1; //借贷ID,一期借贷对应一个ID string collateralizeId = 1; //借贷ID,一期借贷对应一个ID
int64 totalBalance = 2; //当期可借贷的总金额(ccny) int64 totalBalance = 2; //当期可借贷的总金额(ccny)
int64 debtCeiling = 3; //单用户可借出的限额(ccny) int64 debtCeiling = 3; //单用户可借出的限额(ccny)
float liquidationRatio = 4; //清算比例 float liquidationRatio = 4; //清算比例
int64 stabilityFee = 5; //稳定费 int64 stabilityFee = 5; //稳定费
int64 liquidationPenalty = 6; //清算罚金 string createAddr = 6; //创建人地址
string createAddr = 7; //创建人地址 int64 balance = 7; //剩余可借贷金额(ccny)
int64 balance = 8; //剩余可借贷金额(ccny) repeated BorrowRecord borrowRecords = 8; //借贷记录
repeated BorrowRecord borrowRecords = 9; //借贷记录 repeated BorrowRecord InvalidRecords = 9; //失效的借贷记录
int32 status = 10;//当期借贷的状态,是否关闭 int32 status = 10;//当期借贷的状态,是否关闭
int32 collType = 11;//质押资产类型(1,bty,2,btc,3,eth...) int32 collType = 11;//质押资产类型(1,bty,2,btc,3,eth...)
float latestLiquidationPrice = 12;//最大清算价格 float latestLiquidationPrice = 12;//最高清算价格
int64 period = 13;//借贷最大期限
int64 latestExpireTime = 14;//最近超期时间
} }
// 借出记录 // 借出记录
...@@ -28,6 +30,7 @@ message BorrowRecord { ...@@ -28,6 +30,7 @@ message BorrowRecord {
float liquidationPrice = 6; //抵押物清算价格 float liquidationPrice = 6; //抵押物清算价格
int32 status = 7; //抵押状态,是否被清算 int32 status = 7; //抵押状态,是否被清算
int64 liquidateTime = 8; //清算时间 int64 liquidateTime = 8; //清算时间
int64 expireTime = 9; //超时清算时间
} }
// 资产价格记录 // 资产价格记录
...@@ -57,8 +60,7 @@ message CollateralizeCreate { ...@@ -57,8 +60,7 @@ message CollateralizeCreate {
int64 debtCeiling = 1; //单用户可借出的限额(ccny) int64 debtCeiling = 1; //单用户可借出的限额(ccny)
float liquidationRatio = 2; //清算比例 float liquidationRatio = 2; //清算比例
int64 stabilityFee = 3; //稳定费 int64 stabilityFee = 3; //稳定费
int64 liquidationPenalty = 4; //清算罚金 int64 totalBalance = 4; //可借贷总金额
int64 totalBalance = 5; //可借贷总金额
} }
// 质押借出 // 质押借出
...@@ -162,11 +164,6 @@ message ReqCollateralizeBorrowInfoByAddr { ...@@ -162,11 +164,6 @@ message ReqCollateralizeBorrowInfoByAddr {
string addr = 2; string addr = 2;
} }
// 返回借贷记录
message RepCollateralizeBorrowInfo {
BorrowRecord record = 1;
}
// 根据状态和借贷ID混合查询具体借贷记录 // 根据状态和借贷ID混合查询具体借贷记录
message ReqCollateralizeBorrowInfoByStatus { message ReqCollateralizeBorrowInfoByStatus {
string collateralizeId = 1; string collateralizeId = 1;
......
...@@ -137,7 +137,6 @@ func CreateRawCollateralizeCreateTx(parm *CollateralizeCreateTx) (*types.Transac ...@@ -137,7 +137,6 @@ func CreateRawCollateralizeCreateTx(parm *CollateralizeCreateTx) (*types.Transac
DebtCeiling: parm.DebtCeiling, DebtCeiling: parm.DebtCeiling,
LiquidationRatio: parm.LiquidationRatio, LiquidationRatio: parm.LiquidationRatio,
StabilityFee: parm.StabilityFee, StabilityFee: parm.StabilityFee,
LiquidationPenalty: parm.LiquidationPenalty,
TotalBalance: parm.TotalBalance, TotalBalance: parm.TotalBalance,
} }
create := &CollateralizeAction{ create := &CollateralizeAction{
......
...@@ -9,7 +9,6 @@ type CollateralizeCreateTx struct { ...@@ -9,7 +9,6 @@ type CollateralizeCreateTx struct {
DebtCeiling int64 `json:"debtCeiling"` DebtCeiling int64 `json:"debtCeiling"`
LiquidationRatio float32 `json:"liquidationRatio"` LiquidationRatio float32 `json:"liquidationRatio"`
StabilityFee int64 `json:"stabilityFee"` StabilityFee int64 `json:"stabilityFee"`
LiquidationPenalty int64 `json:"liquidationPenalty"`
TotalBalance int64 `json:"totalBalance"` TotalBalance int64 `json:"totalBalance"`
Fee int64 `json:"fee"` Fee int64 `json:"fee"`
} }
...@@ -37,7 +36,7 @@ type CollateralizeAppendTx struct { ...@@ -37,7 +36,7 @@ type CollateralizeAppendTx struct {
// CollateralizeFeedTx for construction // CollateralizeFeedTx for construction
type CollateralizeFeedTx struct { type CollateralizeFeedTx struct {
Price []int64 `json:"price"` Price []float32 `json:"price"`
Volume []int64 `json:"volume"` Volume []int64 `json:"volume"`
Fee int64 `json:"fee"` Fee int64 `json:"fee"`
} }
......
...@@ -45,5 +45,6 @@ const ( ...@@ -45,5 +45,6 @@ const (
CollateralizeUserStatusCreate = 1 + iota CollateralizeUserStatusCreate = 1 + iota
CollateralizeUserStatusWarning CollateralizeUserStatusWarning
CollateralizeUserStatusSystemLiquidate CollateralizeUserStatusSystemLiquidate
CollateralizeUserStatusExpire
CollateralizeUserStatusClose CollateralizeUserStatusClose
) )
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment