Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
plugin
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
link33
plugin
Commits
6cd7e2b2
Commit
6cd7e2b2
authored
Oct 15, 2019
by
pengjun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
#627 add price feed & system liquidation
parent
961263a5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
135 additions
and
51 deletions
+135
-51
collateralize.go
plugin/dapp/collateralize/executor/collateralize.go
+48
-5
collateralizedb.go
plugin/dapp/collateralize/executor/collateralizedb.go
+0
-0
exec_del_local.go
plugin/dapp/collateralize/executor/exec_del_local.go
+14
-9
exec_local.go
plugin/dapp/collateralize/executor/exec_local.go
+15
-12
keys.go
plugin/dapp/collateralize/executor/keys.go
+18
-2
collateralize.proto
plugin/dapp/collateralize/proto/collateralize.proto
+28
-14
collateralize.pb.go
plugin/dapp/collateralize/types/collateralize.pb.go
+0
-0
errors.go
plugin/dapp/collateralize/types/errors.go
+3
-1
types.go
plugin/dapp/collateralize/types/types.go
+9
-8
No files found.
plugin/dapp/collateralize/executor/collateralize.go
View file @
6cd7e2b2
...
@@ -55,11 +55,31 @@ func newCollateralize() drivers.Driver {
...
@@ -55,11 +55,31 @@ func newCollateralize() drivers.Driver {
}
}
// GetDriverName for Collateralize
// GetDriverName for Collateralize
func
(
Coll
*
Collateralize
)
GetDriverName
()
string
{
func
(
c
*
Collateralize
)
GetDriverName
()
string
{
return
pty
.
CollateralizeX
return
pty
.
CollateralizeX
}
}
func
(
Coll
*
Collateralize
)
addCollateralizeStatus
(
collateralizelog
*
pty
.
ReceiptCollateralize
)
(
kvs
[]
*
types
.
KeyValue
)
{
func
(
c
*
Collateralize
)
addCollateralizeID
(
collateralizelog
*
pty
.
ReceiptCollateralize
)
(
kvs
[]
*
types
.
KeyValue
)
{
key
:=
calcCollateralizeKey
(
collateralizelog
.
CollateralizeId
,
collateralizelog
.
Index
)
record
:=
&
pty
.
CollateralizeRecord
{
CollateralizeId
:
collateralizelog
.
CollateralizeId
,
Index
:
collateralizelog
.
Index
,
}
kv
:=
&
types
.
KeyValue
{
Key
:
key
,
Value
:
types
.
Encode
(
record
)}
kvs
=
append
(
kvs
,
kv
)
return
kvs
}
func
(
c
*
Collateralize
)
deleteCollateralizeID
(
collateralizelog
*
pty
.
ReceiptCollateralize
)
(
kvs
[]
*
types
.
KeyValue
)
{
key
:=
calcCollateralizeKey
(
collateralizelog
.
CollateralizeId
,
collateralizelog
.
Index
)
kv
:=
&
types
.
KeyValue
{
Key
:
key
,
Value
:
nil
}
kvs
=
append
(
kvs
,
kv
)
return
kvs
}
func
(
c
*
Collateralize
)
addCollateralizeStatus
(
collateralizelog
*
pty
.
ReceiptCollateralize
)
(
kvs
[]
*
types
.
KeyValue
)
{
key
:=
calcCollateralizeStatusKey
(
collateralizelog
.
Status
,
collateralizelog
.
Index
)
key
:=
calcCollateralizeStatusKey
(
collateralizelog
.
Status
,
collateralizelog
.
Index
)
record
:=
&
pty
.
CollateralizeRecord
{
record
:=
&
pty
.
CollateralizeRecord
{
CollateralizeId
:
collateralizelog
.
CollateralizeId
,
CollateralizeId
:
collateralizelog
.
CollateralizeId
,
...
@@ -71,7 +91,7 @@ func (Coll *Collateralize) addCollateralizeStatus(collateralizelog *pty.ReceiptC
...
@@ -71,7 +91,7 @@ func (Coll *Collateralize) addCollateralizeStatus(collateralizelog *pty.ReceiptC
return
kvs
return
kvs
}
}
func
(
Coll
*
Collateralize
)
deleteCollateralizeStatus
(
collateralizelog
*
pty
.
ReceiptCollateralize
)
(
kvs
[]
*
types
.
KeyValue
)
{
func
(
c
*
Collateralize
)
deleteCollateralizeStatus
(
collateralizelog
*
pty
.
ReceiptCollateralize
)
(
kvs
[]
*
types
.
KeyValue
)
{
key
:=
calcCollateralizeStatusKey
(
collateralizelog
.
Status
,
collateralizelog
.
Index
)
key
:=
calcCollateralizeStatusKey
(
collateralizelog
.
Status
,
collateralizelog
.
Index
)
kv
:=
&
types
.
KeyValue
{
Key
:
key
,
Value
:
nil
}
kv
:=
&
types
.
KeyValue
{
Key
:
key
,
Value
:
nil
}
...
@@ -79,7 +99,7 @@ func (Coll *Collateralize) deleteCollateralizeStatus(collateralizelog *pty.Recei
...
@@ -79,7 +99,7 @@ func (Coll *Collateralize) deleteCollateralizeStatus(collateralizelog *pty.Recei
return
kvs
return
kvs
}
}
func
(
Coll
*
Collateralize
)
addCollateralizeAddr
(
collateralizelog
*
pty
.
ReceiptCollateralize
)
(
kvs
[]
*
types
.
KeyValue
)
{
func
(
c
*
Collateralize
)
addCollateralizeAddr
(
collateralizelog
*
pty
.
ReceiptCollateralize
)
(
kvs
[]
*
types
.
KeyValue
)
{
key
:=
calcCollateralizeAddrKey
(
collateralizelog
.
AccountAddr
,
collateralizelog
.
Index
)
key
:=
calcCollateralizeAddrKey
(
collateralizelog
.
AccountAddr
,
collateralizelog
.
Index
)
record
:=
&
pty
.
CollateralizeRecord
{
record
:=
&
pty
.
CollateralizeRecord
{
CollateralizeId
:
collateralizelog
.
CollateralizeId
,
CollateralizeId
:
collateralizelog
.
CollateralizeId
,
...
@@ -91,10 +111,32 @@ func (Coll *Collateralize) addCollateralizeAddr(collateralizelog *pty.ReceiptCol
...
@@ -91,10 +111,32 @@ func (Coll *Collateralize) addCollateralizeAddr(collateralizelog *pty.ReceiptCol
return
kvs
return
kvs
}
}
func
(
Coll
*
Collateralize
)
deleteCollateralizeAddr
(
collateralizelog
*
pty
.
ReceiptCollateralize
)
(
kvs
[]
*
types
.
KeyValue
)
{
func
(
c
*
Collateralize
)
deleteCollateralizeAddr
(
collateralizelog
*
pty
.
ReceiptCollateralize
)
(
kvs
[]
*
types
.
KeyValue
)
{
key
:=
calcCollateralizeAddrKey
(
collateralizelog
.
AccountAddr
,
collateralizelog
.
Index
)
key
:=
calcCollateralizeAddrKey
(
collateralizelog
.
AccountAddr
,
collateralizelog
.
Index
)
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
}
}
func
(
c
*
Collateralize
)
addCollateralizeRecordStatus
(
collateralizelog
*
pty
.
ReceiptCollateralize
)
(
kvs
[]
*
types
.
KeyValue
)
{
key
:=
calcCollateralizeRecordStatusKey
(
collateralizelog
.
RecordStatus
,
collateralizelog
.
Index
)
record
:=
&
pty
.
CollateralizeRecord
{
CollateralizeId
:
collateralizelog
.
CollateralizeId
,
Addr
:
collateralizelog
.
AccountAddr
,
Index
:
collateralizelog
.
Index
,
}
kv
:=
&
types
.
KeyValue
{
Key
:
key
,
Value
:
types
.
Encode
(
record
)}
kvs
=
append
(
kvs
,
kv
)
return
kvs
}
func
(
c
*
Collateralize
)
deleteCollateralizeRecordStatus
(
collateralizelog
*
pty
.
ReceiptCollateralize
)
(
kvs
[]
*
types
.
KeyValue
)
{
key
:=
calcCollateralizeRecordStatusKey
(
collateralizelog
.
RecordStatus
,
collateralizelog
.
Index
)
kv
:=
&
types
.
KeyValue
{
Key
:
key
,
Value
:
nil
}
kvs
=
append
(
kvs
,
kv
)
return
kvs
}
\ No newline at end of file
plugin/dapp/collateralize/executor/collateralizedb.go
View file @
6cd7e2b2
This diff is collapsed.
Click to expand it.
plugin/dapp/collateralize/executor/exec_del_local.go
View file @
6cd7e2b2
...
@@ -13,30 +13,35 @@ import (
...
@@ -13,30 +13,35 @@ import (
func
(
c
*
Collateralize
)
execDelLocal
(
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
)
(
*
types
.
LocalDBSet
,
error
)
{
func
(
c
*
Collateralize
)
execDelLocal
(
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
)
(
*
types
.
LocalDBSet
,
error
)
{
set
:=
&
types
.
LocalDBSet
{}
set
:=
&
types
.
LocalDBSet
{}
for
_
,
item
:=
range
receiptData
.
Logs
{
for
_
,
item
:=
range
receiptData
.
Logs
{
var
collateralize
l
og
pty
.
ReceiptCollateralize
var
collateralize
L
og
pty
.
ReceiptCollateralize
err
:=
types
.
Decode
(
item
.
Log
,
&
collateralize
l
og
)
err
:=
types
.
Decode
(
item
.
Log
,
&
collateralize
L
og
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
switch
item
.
Ty
{
switch
item
.
Ty
{
case
pty
.
TyLogCollateralizeCreate
:
case
pty
.
TyLogCollateralizeCreate
:
kv
:=
c
.
deleteCollateralizeStatus
(
&
collateralize
l
og
)
kv
:=
c
.
deleteCollateralizeStatus
(
&
collateralize
L
og
)
set
.
KV
=
append
(
set
.
KV
,
kv
...
)
set
.
KV
=
append
(
set
.
KV
,
kv
...
)
break
break
case
pty
.
TyLogCollateralizeBorrow
:
case
pty
.
TyLogCollateralizeBorrow
:
kv
:=
c
.
deleteCollateralizeAddr
(
&
collateralizelog
)
set
.
KV
=
append
(
set
.
KV
,
c
.
deleteCollateralizeRecordStatus
(
&
collateralizeLog
)
...
)
set
.
KV
=
append
(
set
.
KV
,
kv
...
)
set
.
KV
=
append
(
set
.
KV
,
c
.
deleteCollateralizeAddr
(
&
collateralizeLog
)
...
)
break
break
case
pty
.
TyLogCollateralizeAppend
:
// append没有状态变化
case
pty
.
TyLogCollateralizeAppend
:
// append没有状态变化
break
break
case
pty
.
TyLogCollateralizeRepay
:
case
pty
.
TyLogCollateralizeRepay
:
kv
:=
c
.
addCollateralizeAddr
(
&
collateralizelog
)
set
.
KV
=
append
(
set
.
KV
,
c
.
deleteCollateralizeRecordStatus
(
&
collateralizeLog
)
...
)
set
.
KV
=
append
(
set
.
KV
,
kv
...
)
set
.
KV
=
append
(
set
.
KV
,
c
.
addCollateralizeAddr
(
&
collateralizeLog
)
...
)
break
case
pty
.
TyLogCollateralizeFeed
:
set
.
KV
=
append
(
set
.
KV
,
c
.
deleteCollateralizeRecordStatus
(
&
collateralizeLog
)
...
)
if
collateralizeLog
.
RecordStatus
==
pty
.
CollateralizeUserStatusSystemLiquidate
{
set
.
KV
=
append
(
set
.
KV
,
c
.
addCollateralizeAddr
(
&
collateralizeLog
)
...
)
}
break
break
/*case pty.TyLogCollateralizeFeed:*/
// TODO
case
pty
.
TyLogCollateralizeClose
:
case
pty
.
TyLogCollateralizeClose
:
kv
:=
c
.
addCollateralizeStatus
(
&
collateralize
l
og
)
kv
:=
c
.
addCollateralizeStatus
(
&
collateralize
L
og
)
set
.
KV
=
append
(
set
.
KV
,
kv
...
)
set
.
KV
=
append
(
set
.
KV
,
kv
...
)
break
break
}
}
...
...
plugin/dapp/collateralize/executor/exec_local.go
View file @
6cd7e2b2
...
@@ -13,31 +13,34 @@ import (
...
@@ -13,31 +13,34 @@ import (
func
(
c
*
Collateralize
)
execLocal
(
tx
*
types
.
Transaction
,
receipt
*
types
.
ReceiptData
)
(
*
types
.
LocalDBSet
,
error
)
{
func
(
c
*
Collateralize
)
execLocal
(
tx
*
types
.
Transaction
,
receipt
*
types
.
ReceiptData
)
(
*
types
.
LocalDBSet
,
error
)
{
set
:=
&
types
.
LocalDBSet
{}
set
:=
&
types
.
LocalDBSet
{}
for
_
,
item
:=
range
receipt
.
Logs
{
for
_
,
item
:=
range
receipt
.
Logs
{
var
collateralize
l
og
pty
.
ReceiptCollateralize
var
collateralize
L
og
pty
.
ReceiptCollateralize
err
:=
types
.
Decode
(
item
.
Log
,
&
collateralize
l
og
)
err
:=
types
.
Decode
(
item
.
Log
,
&
collateralize
L
og
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
switch
item
.
Ty
{
switch
item
.
Ty
{
case
pty
.
TyLogCollateralizeCreate
:
case
pty
.
TyLogCollateralizeCreate
:
kv
:=
c
.
addCollateralizeStatus
(
&
collateralizelog
)
set
.
KV
=
append
(
set
.
KV
,
c
.
addCollateralizeStatus
(
&
collateralizeLog
)
...
)
set
.
KV
=
append
(
set
.
KV
,
kv
...
)
break
break
case
pty
.
TyLogCollateralizeBorrow
:
case
pty
.
TyLogCollateralizeBorrow
:
kv
:=
c
.
addCollateralizeAddr
(
&
collateralizelog
)
set
.
KV
=
append
(
set
.
KV
,
c
.
addCollateralizeRecordStatus
(
&
collateralizeLog
)
...
)
set
.
KV
=
append
(
set
.
KV
,
kv
...
)
set
.
KV
=
append
(
set
.
KV
,
c
.
addCollateralizeAddr
(
&
collateralizeLog
)
...
)
break
break
case
pty
.
TyLogCollateralizeAppend
:
//append没有状态变化
case
pty
.
TyLogCollateralizeAppend
:
//append没有状态变化
break
break
case
pty
.
TyLogCollateralizeRepay
:
case
pty
.
TyLogCollateralizeRepay
:
kv
:=
c
.
deleteCollateralizeAddr
(
&
collateralizelog
)
set
.
KV
=
append
(
set
.
KV
,
c
.
addCollateralizeRecordStatus
(
&
collateralizeLog
)
...
)
set
.
KV
=
append
(
set
.
KV
,
kv
...
)
set
.
KV
=
append
(
set
.
KV
,
c
.
deleteCollateralizeAddr
(
&
collateralizeLog
)
...
)
break
case
pty
.
TyLogCollateralizeFeed
:
set
.
KV
=
append
(
set
.
KV
,
c
.
addCollateralizeRecordStatus
(
&
collateralizeLog
)
...
)
if
collateralizeLog
.
RecordStatus
==
pty
.
CollateralizeUserStatusSystemLiquidate
{
set
.
KV
=
append
(
set
.
KV
,
c
.
deleteCollateralizeAddr
(
&
collateralizeLog
)
...
)
}
break
break
/*case pty.TyLogCollateralizeFeed:*/
// TODO
case
pty
.
TyLogCollateralizeClose
:
case
pty
.
TyLogCollateralizeClose
:
kv
:=
c
.
deleteCollateralizeStatus
(
&
collateralizelog
)
set
.
KV
=
append
(
set
.
KV
,
c
.
deleteCollateralizeStatus
(
&
collateralizeLog
)
...
)
set
.
KV
=
append
(
set
.
KV
,
kv
...
)
break
break
}
}
}
}
...
...
plugin/dapp/collateralize/executor/keys.go
View file @
6cd7e2b2
...
@@ -6,8 +6,13 @@ package executor
...
@@ -6,8 +6,13 @@ package executor
import
"fmt"
import
"fmt"
func
calcCollateralizeKey
(
CollateralizeID
string
)
[]
byte
{
func
calcCollateralizeKey
(
collateralizeID
string
,
index
int64
)
[]
byte
{
key
:=
fmt
.
Sprintf
(
"LODB-Collateralize-ID:%s"
,
CollateralizeID
)
key
:=
fmt
.
Sprintf
(
"LODB-Collateralize-ID:%s:%018d"
,
collateralizeID
,
index
)
return
[]
byte
(
key
)
}
func
calcCollateralizePrefix
()
[]
byte
{
key
:=
fmt
.
Sprintf
(
"LODB-Collateralize-ID:"
)
return
[]
byte
(
key
)
return
[]
byte
(
key
)
}
}
...
@@ -40,3 +45,13 @@ func calcCollateralizeLatestPriceKey() []byte {
...
@@ -40,3 +45,13 @@ func calcCollateralizeLatestPriceKey() []byte {
key
:=
fmt
.
Sprintf
(
"LODB-Collateralize-latest-price"
)
key
:=
fmt
.
Sprintf
(
"LODB-Collateralize-latest-price"
)
return
[]
byte
(
key
)
return
[]
byte
(
key
)
}
}
func
calcCollateralizeRecordStatusPrefix
(
status
int32
)
[]
byte
{
key
:=
fmt
.
Sprintf
(
"LODB-Collateralize-record-status:%d"
,
status
)
return
[]
byte
(
key
)
}
func
calcCollateralizeRecordStatusKey
(
status
int32
,
index
int64
)
[]
byte
{
key
:=
fmt
.
Sprintf
(
"LODB-Collateralize-record-status:%d:%018d"
,
status
,
index
)
return
[]
byte
(
key
)
}
\ No newline at end of file
plugin/dapp/collateralize/proto/collateralize.proto
View file @
6cd7e2b2
...
@@ -2,6 +2,7 @@ syntax = "proto3";
...
@@ -2,6 +2,7 @@ syntax = "proto3";
package
types
;
package
types
;
// 借贷信息
message
Collateralize
{
message
Collateralize
{
string
collateralizeId
=
1
;
//借贷ID,一期借贷对应一个ID
string
collateralizeId
=
1
;
//借贷ID,一期借贷对应一个ID
int64
totalBalance
=
2
;
//当期可借贷的总金额(ccny)
int64
totalBalance
=
2
;
//当期可借贷的总金额(ccny)
...
@@ -12,12 +13,12 @@ message Collateralize {
...
@@ -12,12 +13,12 @@ message Collateralize {
string
createAddr
=
7
;
//创建人地址
string
createAddr
=
7
;
//创建人地址
int64
balance
=
8
;
//剩余可借贷金额(ccny)
int64
balance
=
8
;
//剩余可借贷金额(ccny)
repeated
BorrowRecord
borrowRecords
=
9
;
//借贷记录
repeated
BorrowRecord
borrowRecords
=
9
;
//借贷记录
repeated
BorrowRecord
badRecords
=
10
;
//被系统清算的借贷
int32
status
=
10
;
//当期借贷的状态,是否关闭
int32
status
=
11
;
//当期借贷的状态,是否关闭
int32
collType
=
11
;
//质押资产类型(1,bty,2,btc,3,eth...)
int32
collType
=
12
;
//质押资产类型(1,bty,2,btc,3,eth...)
float
latestLiquidationPrice
=
12
;
//最大清算价格
float
latestRepayPrice
=
13
;
//最大清算价格
}
}
// 借出记录
message
BorrowRecord
{
message
BorrowRecord
{
string
accountAddr
=
1
;
//借贷人地址
string
accountAddr
=
1
;
//借贷人地址
int64
startTime
=
2
;
//借贷时间
int64
startTime
=
2
;
//借贷时间
...
@@ -26,16 +27,19 @@ message BorrowRecord {
...
@@ -26,16 +27,19 @@ message BorrowRecord {
int64
debtValue
=
5
;
//债务价值(ccny)
int64
debtValue
=
5
;
//债务价值(ccny)
float
liquidationPrice
=
6
;
//抵押物清算价格
float
liquidationPrice
=
6
;
//抵押物清算价格
int32
status
=
7
;
//抵押状态,是否被清算
int32
status
=
7
;
//抵押状态,是否被清算
int64
liquidateTime
=
8
;
//清算时间
}
}
// 资产价格记录
message
AssetPriceRecord
{
message
AssetPriceRecord
{
string
recordTime
=
1
;
//价格记录时间
int64
recordTime
=
1
;
//价格记录时间
float
btyPrice
=
2
;
//bty价格
float
btyPrice
=
2
;
//bty价格
float
btcPrice
=
3
;
//btc价格
float
btcPrice
=
3
;
//btc价格
float
ethPrice
=
4
;
//eth价格
float
ethPrice
=
4
;
//eth价格
string
preRecordTime
=
5
;
//上一次记录时间
int64
preRecordTime
=
5
;
//上一次记录时间
}
}
// action
message
CollateralizeAction
{
message
CollateralizeAction
{
oneof
value
{
oneof
value
{
CollateralizeCreate
create
=
1
;
//创建一期借贷
CollateralizeCreate
create
=
1
;
//创建一期借贷
...
@@ -48,6 +52,7 @@ message CollateralizeAction {
...
@@ -48,6 +52,7 @@ message CollateralizeAction {
int32
ty
=
10
;
int32
ty
=
10
;
}
}
// 创建借贷
message
CollateralizeCreate
{
message
CollateralizeCreate
{
int64
debtCeiling
=
1
;
//单用户可借出的限额(ccny)
int64
debtCeiling
=
1
;
//单用户可借出的限额(ccny)
float
liquidationRatio
=
2
;
//清算比例
float
liquidationRatio
=
2
;
//清算比例
...
@@ -56,37 +61,45 @@ message CollateralizeCreate {
...
@@ -56,37 +61,45 @@ message CollateralizeCreate {
int64
totalBalance
=
5
;
//可借贷总金额
int64
totalBalance
=
5
;
//可借贷总金额
}
}
// 质押借出
message
CollateralizeBorrow
{
message
CollateralizeBorrow
{
string
collateralizeId
=
1
;
//借贷期数ID
string
collateralizeId
=
1
;
//借贷期数ID
int64
value
=
2
;
//借贷价值(ccny)
int64
value
=
2
;
//借贷价值(ccny)
}
}
// 质押清算
message
CollateralizeRepay
{
message
CollateralizeRepay
{
string
collateralizeId
=
1
;
//借贷期数ID
string
collateralizeId
=
1
;
//借贷期数ID
int64
value
=
2
;
//借贷价值(ccny)
int64
value
=
2
;
//借贷价值(ccny)
}
}
// 追加抵押物
message
CollateralizeAppend
{
message
CollateralizeAppend
{
string
collateralizeId
=
1
;
//借贷期数ID
string
collateralizeId
=
1
;
//借贷期数ID
int64
collateralValue
=
2
;
//追加价值(bty)
int64
collateralValue
=
2
;
//追加价值(bty)
}
}
// 喂价
message
CollateralizeFeed
{
message
CollateralizeFeed
{
repeated
int64
price
=
1
;
//喂价
int32
collType
=
1
;
//抵押物价格类型(1,bty,2,btc,3,eth...)
repeated
int64
volume
=
2
;
//成交量
repeated
float
price
=
2
;
//喂价
repeated
int64
volume
=
3
;
//成交量
}
}
// 喂价关闭
message
CollateralizeClose
{
message
CollateralizeClose
{
string
collateralizeId
=
1
;
//借贷期数ID
string
collateralizeId
=
1
;
//借贷期数ID
}
}
// exec_local记录信息
message
ReceiptCollateralize
{
message
ReceiptCollateralize
{
string
collateralizeId
=
1
;
string
collateralizeId
=
1
;
string
createAddr
=
3
;
string
createAddr
=
2
;
string
accountAddr
=
4
;
string
accountAddr
=
3
;
int32
status
=
5
;
int32
status
=
4
;
int32
preStatus
=
6
;
int32
preStatus
=
5
;
int64
index
=
7
;
int64
index
=
6
;
int32
recordStatus
=
7
;
}
}
message
ReqCollateralizeInfo
{
message
ReqCollateralizeInfo
{
...
@@ -128,7 +141,8 @@ message ReplyCollateralizeBadDebt {
...
@@ -128,7 +141,8 @@ message ReplyCollateralizeBadDebt {
// used for execlocal
// used for execlocal
message
CollateralizeRecord
{
message
CollateralizeRecord
{
string
collateralizeId
=
1
;
string
collateralizeId
=
1
;
int64
index
=
3
;
string
addr
=
2
;
int64
index
=
3
;
}
}
message
CollateralizeRecords
{
message
CollateralizeRecords
{
...
...
plugin/dapp/collateralize/types/collateralize.pb.go
View file @
6cd7e2b2
This diff is collapsed.
Click to expand it.
plugin/dapp/collateralize/types/errors.go
View file @
6cd7e2b2
...
@@ -12,7 +12,7 @@ var (
...
@@ -12,7 +12,7 @@ var (
ErrCollateralizeRepeatHash
=
errors
.
New
(
"ErrCollateralizeRepeatHash"
)
ErrCollateralizeRepeatHash
=
errors
.
New
(
"ErrCollateralizeRepeatHash"
)
ErrCollateralizeStatus
=
errors
.
New
(
"ErrCollateralizeStatus"
)
ErrCollateralizeStatus
=
errors
.
New
(
"ErrCollateralizeStatus"
)
ErrCollateralizeExceedDebtCeiling
=
errors
.
New
(
"ErrCollateralizeExceedDebtCeiling"
)
ErrCollateralizeExceedDebtCeiling
=
errors
.
New
(
"ErrCollateralizeExceedDebtCeiling"
)
ErrPrice
Zero
=
errors
.
New
(
"ErrPriceZero
"
)
ErrPrice
Invalid
=
errors
.
New
(
"ErrPriceInvalid
"
)
ErrAssetType
=
errors
.
New
(
"ErrAssetType"
)
ErrAssetType
=
errors
.
New
(
"ErrAssetType"
)
ErrRecordNotExist
=
errors
.
New
(
"ErrRecordNotExist"
)
ErrRecordNotExist
=
errors
.
New
(
"ErrRecordNotExist"
)
ErrCollateralizeErrCloser
=
errors
.
New
(
"ErrCollateralizeErrCloser"
)
ErrCollateralizeErrCloser
=
errors
.
New
(
"ErrCollateralizeErrCloser"
)
...
@@ -20,4 +20,6 @@ var (
...
@@ -20,4 +20,6 @@ var (
ErrCollateralizeAccountExist
=
errors
.
New
(
"ErrCollateralizeAccountExist"
)
ErrCollateralizeAccountExist
=
errors
.
New
(
"ErrCollateralizeAccountExist"
)
ErrCollateralizeLowBalance
=
errors
.
New
(
"ErrCollateralizeLowBalance"
)
ErrCollateralizeLowBalance
=
errors
.
New
(
"ErrCollateralizeLowBalance"
)
ErrCollateralizeBalanceInvalid
=
errors
.
New
(
"ErrCollateralizeBalanceInvalid"
)
ErrCollateralizeBalanceInvalid
=
errors
.
New
(
"ErrCollateralizeBalanceInvalid"
)
ErrPriceFeedPermissionDeny
=
errors
.
New
(
"ErrPriceFeedPermissionDeny"
)
ErrCollateralizeRecordNotEmpty
=
errors
.
New
(
"ErrCollateralizeRecordNotEmpty"
)
)
)
plugin/dapp/collateralize/types/types.go
View file @
6cd7e2b2
...
@@ -14,19 +14,19 @@ const (
...
@@ -14,19 +14,19 @@ const (
CollateralizeActionClose
CollateralizeActionClose
//log for Collateralize
//log for Collateralize
TyLogCollateralizeCreate
=
80
1
TyLogCollateralizeCreate
=
73
1
TyLogCollateralizeBorrow
=
80
2
TyLogCollateralizeBorrow
=
73
2
TyLogCollateralizeRepay
=
80
3
TyLogCollateralizeRepay
=
73
3
TyLogCollateralizeAppend
=
80
4
TyLogCollateralizeAppend
=
73
4
TyLogCollateralizeFeed
=
80
5
TyLogCollateralizeFeed
=
73
5
TyLogCollateralizeClose
=
80
6
TyLogCollateralizeClose
=
73
6
)
)
// Collateralize name
// Collateralize name
const
(
const
(
CollateralizeX
=
"collateralize"
CollateralizeX
=
"collateralize"
CCNYTokenName
=
"ccny"
CCNYTokenName
=
"ccny"
Collateralize
RepayRatio
=
1.1
//TODO
清算比例,抵押物价值跌到借出ccny价值110%的时候开始清算
Collateralize
PreLiquidationRatio
=
1.1
//TODO 预
清算比例,抵押物价值跌到借出ccny价值110%的时候开始清算
)
)
//Collateralize status
//Collateralize status
...
@@ -44,6 +44,6 @@ const (
...
@@ -44,6 +44,6 @@ const (
const
(
const
(
CollateralizeUserStatusCreate
=
1
+
iota
CollateralizeUserStatusCreate
=
1
+
iota
CollateralizeUserStatusWarning
CollateralizeUserStatusWarning
CollateralizeUserStatusSystem
Repayed
CollateralizeUserStatusSystem
Liquidate
CollateralizeUserStatusClose
CollateralizeUserStatusClose
)
)
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment