Commit 4a057142 authored by pengjun's avatar pengjun

#627 add table to issuance & collateralize

parent 8cbc6018
...@@ -54,111 +54,6 @@ func (c *Collateralize) GetDriverName() string { ...@@ -54,111 +54,6 @@ func (c *Collateralize) GetDriverName() string {
return pty.CollateralizeX return pty.CollateralizeX
} }
func (c *Collateralize) addCollateralizeID(collateralizeID string, index int64) (kvs []*types.KeyValue) {
key := calcCollateralizeKey(collateralizeID, index)
record := &pty.CollateralizeRecord{
CollateralizeId: collateralizeID,
Index: index,
}
kv := &types.KeyValue{Key: key, Value: types.Encode(record)}
kvs = append(kvs, kv)
return kvs
}
func (c *Collateralize) deleteCollateralizeID(collateralizeID string, index int64) (kvs []*types.KeyValue) {
key := calcCollateralizeKey(collateralizeID, index)
kv := &types.KeyValue{Key: key, Value: nil}
kvs = append(kvs, kv)
return kvs
}
func (c *Collateralize) addCollateralizeStatus(status int32, collateralizeID string, index int64) (kvs []*types.KeyValue) {
key := calcCollateralizeStatusKey(status, index)
record := &pty.CollateralizeRecord{
CollateralizeId: collateralizeID,
Index: index,
}
kv := &types.KeyValue{Key: key, Value: types.Encode(record)}
kvs = append(kvs, kv)
return kvs
}
func (c *Collateralize) deleteCollateralizeStatus(status int32, index int64) (kvs []*types.KeyValue) {
key := calcCollateralizeStatusKey(status, index)
kv := &types.KeyValue{Key: key, Value: nil}
kvs = append(kvs, kv)
return kvs
}
func (c *Collateralize) addCollateralizeAddr(addr string, collateralizeID string, status int32, index int64) (kvs []*types.KeyValue) {
key := calcCollateralizeAddrKey(addr, index)
record := &pty.CollateralizeRecord{
CollateralizeId: collateralizeID,
Status: status,
Index: index,
}
kv := &types.KeyValue{Key: key, Value: types.Encode(record)}
kvs = append(kvs, kv)
return kvs
}
func (c *Collateralize) deleteCollateralizeAddr(addr string, index int64) (kvs []*types.KeyValue) {
key := calcCollateralizeAddrKey(addr, index)
kv := &types.KeyValue{Key: key, Value: nil}
kvs = append(kvs, kv)
return kvs
}
func (c *Collateralize) addCollateralizeRecordStatus(recordStatus int32, collateralizeID string, recordID string, index int64) (kvs []*types.KeyValue) {
key := calcCollateralizeRecordStatusKey(recordStatus, index)
record := &pty.CollateralizeRecord{
CollateralizeId: collateralizeID,
RecordId: recordID,
Index: index,
}
kv := &types.KeyValue{Key: key, Value: types.Encode(record)}
kvs = append(kvs, kv)
return kvs
}
func (c *Collateralize) deleteCollateralizeRecordStatus(recordStatus int32, index int64) (kvs []*types.KeyValue) {
key := calcCollateralizeRecordStatusKey(recordStatus, index)
kv := &types.KeyValue{Key: key, Value: nil}
kvs = append(kvs, kv)
return kvs
}
func (c *Collateralize) addCollateralizeRecordAddr(recordAddr string, collateralizeID string, recordID string, index int64) (kvs []*types.KeyValue) {
key := calcCollateralizeRecordAddrKey(recordAddr, index)
record := &pty.CollateralizeRecord{
CollateralizeId: collateralizeID,
RecordId: recordID,
Index: index,
}
kv := &types.KeyValue{Key: key, Value: types.Encode(record)}
kvs = append(kvs, kv)
return kvs
}
func (c *Collateralize) deleteCollateralizeRecordAddr(recordAddr string, index int64) (kvs []*types.KeyValue) {
key := calcCollateralizeRecordAddrKey(recordAddr, index)
kv := &types.KeyValue{Key: key, Value: nil}
kvs = append(kvs, kv)
return kvs
}
// CheckReceiptExecOk return true to check if receipt ty is ok // CheckReceiptExecOk return true to check if receipt ty is ok
func (c *Collateralize) CheckReceiptExecOk() bool { func (c *Collateralize) CheckReceiptExecOk() bool {
return true return true
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
package executor package executor
import ( import (
"fmt" "github.com/33cn/chain33/common/db/table"
"math" "math"
"github.com/33cn/chain33/account" "github.com/33cn/chain33/account"
...@@ -87,7 +87,7 @@ type Action struct { ...@@ -87,7 +87,7 @@ type Action struct {
coinsAccount *account.DB // bty账户 coinsAccount *account.DB // bty账户
tokenAccount *account.DB // ccny账户 tokenAccount *account.DB // ccny账户
db dbm.KV db dbm.KV
localDB dbm.Lister localDB dbm.KVDB
txhash []byte txhash []byte
fromaddr string fromaddr string
blocktime int64 blocktime int64
...@@ -122,11 +122,8 @@ func (action *Action) GetCreateReceiptLog(collateralize *pty.Collateralize) *typ ...@@ -122,11 +122,8 @@ func (action *Action) GetCreateReceiptLog(collateralize *pty.Collateralize) *typ
c := &pty.ReceiptCollateralize{} c := &pty.ReceiptCollateralize{}
c.CollateralizeId = collateralize.CollateralizeId c.CollateralizeId = collateralize.CollateralizeId
c.PreStatus = collateralize.PreStatus
c.Status = collateralize.Status c.Status = collateralize.Status
c.CreateAddr = action.fromaddr c.AccountAddr = action.fromaddr
c.Index = collateralize.Index
c.PreIndex = collateralize.PreIndex
log.Log = types.Encode(c) log.Log = types.Encode(c)
...@@ -143,7 +140,6 @@ func (action *Action) GetBorrowReceiptLog(collateralize *pty.Collateralize, reco ...@@ -143,7 +140,6 @@ func (action *Action) GetBorrowReceiptLog(collateralize *pty.Collateralize, reco
c.AccountAddr = action.fromaddr c.AccountAddr = action.fromaddr
c.RecordId = record.RecordId c.RecordId = record.RecordId
c.Status = record.Status c.Status = record.Status
c.Index = record.Index
log.Log = types.Encode(c) log.Log = types.Encode(c)
...@@ -160,9 +156,6 @@ func (action *Action) GetRepayReceiptLog(collateralize *pty.Collateralize, recor ...@@ -160,9 +156,6 @@ func (action *Action) GetRepayReceiptLog(collateralize *pty.Collateralize, recor
c.AccountAddr = action.fromaddr c.AccountAddr = action.fromaddr
c.RecordId = record.RecordId c.RecordId = record.RecordId
c.Status = record.Status c.Status = record.Status
c.PreStatus = record.PreStatus
c.PreIndex = record.PreIndex
c.Index = record.Index
log.Log = types.Encode(c) log.Log = types.Encode(c)
...@@ -179,9 +172,6 @@ func (action *Action) GetAppendReceiptLog(collateralize *pty.Collateralize, reco ...@@ -179,9 +172,6 @@ func (action *Action) GetAppendReceiptLog(collateralize *pty.Collateralize, reco
c.AccountAddr = action.fromaddr c.AccountAddr = action.fromaddr
c.RecordId = record.RecordId c.RecordId = record.RecordId
c.Status = record.Status c.Status = record.Status
c.PreStatus = record.PreStatus
c.PreIndex = record.PreIndex
c.Index = record.Index
log.Log = types.Encode(c) log.Log = types.Encode(c)
...@@ -198,9 +188,6 @@ func (action *Action) GetFeedReceiptLog(collateralize *pty.Collateralize, record ...@@ -198,9 +188,6 @@ func (action *Action) GetFeedReceiptLog(collateralize *pty.Collateralize, record
c.AccountAddr = record.AccountAddr c.AccountAddr = record.AccountAddr
c.RecordId = record.RecordId c.RecordId = record.RecordId
c.Status = record.Status c.Status = record.Status
c.PreStatus = record.PreStatus
c.PreIndex = record.PreIndex
c.Index = record.Index
log.Log = types.Encode(c) log.Log = types.Encode(c)
...@@ -215,10 +202,7 @@ func (action *Action) GetRetrieveReceiptLog(collateralize *pty.Collateralize) *t ...@@ -215,10 +202,7 @@ func (action *Action) GetRetrieveReceiptLog(collateralize *pty.Collateralize) *t
c := &pty.ReceiptCollateralize{} c := &pty.ReceiptCollateralize{}
c.CollateralizeId = collateralize.CollateralizeId c.CollateralizeId = collateralize.CollateralizeId
c.Status = collateralize.Status c.Status = collateralize.Status
c.PreStatus = collateralize.PreStatus c.AccountAddr = action.fromaddr
c.CreateAddr = action.fromaddr
c.PreIndex = collateralize.PreIndex
c.Index = collateralize.Index
log.Log = types.Encode(c) log.Log = types.Encode(c)
...@@ -361,8 +345,8 @@ func isSuperAddr(addr string, db dbm.KV) bool { ...@@ -361,8 +345,8 @@ func isSuperAddr(addr string, db dbm.KV) bool {
} }
// 获取可放贷金额 // 获取可放贷金额
func getCollBalance(totalBalance int64, localdb dbm.Lister, db dbm.KV) (int64, error) { func getCollBalance(totalBalance int64, localdb dbm.KVDB, db dbm.KV) (int64, error) {
collIDRecords, err := queryCollateralizeByStatus(localdb, pty.CollateralizeStatusCreated, 0) collIDRecords, err := queryCollateralizeByStatus(localdb, pty.CollateralizeStatusCreated, "")
if err != nil { if err != nil {
clog.Debug("Query_CollateralizeByStatus", "get collateralize record error", err) clog.Debug("Query_CollateralizeByStatus", "get collateralize record error", err)
} }
...@@ -423,7 +407,7 @@ func (action *Action) CollateralizeCreate(create *pty.CollateralizeCreate) (*typ ...@@ -423,7 +407,7 @@ func (action *Action) CollateralizeCreate(create *pty.CollateralizeCreate) (*typ
} }
// 根据地址查找ID // 根据地址查找ID
collateralizeIDs, err := queryCollateralizeByAddr(action.localDB, action.fromaddr, pty.CollateralizeStatusCreated, 0) collateralizeIDs, err := queryCollateralizeByAddr(action.localDB, action.fromaddr, pty.CollateralizeStatusCreated, "")
if err != nil && err != types.ErrNotFound { if err != nil && err != types.ErrNotFound {
clog.Error("CollateralizeCreate.queryCollateralizeByAddr", "addr", action.fromaddr, "error", err) clog.Error("CollateralizeCreate.queryCollateralizeByAddr", "addr", action.fromaddr, "error", err)
return nil, err return nil, err
...@@ -453,7 +437,6 @@ func (action *Action) CollateralizeCreate(create *pty.CollateralizeCreate) (*typ ...@@ -453,7 +437,6 @@ func (action *Action) CollateralizeCreate(create *pty.CollateralizeCreate) (*typ
coll.Balance = create.TotalBalance coll.Balance = create.TotalBalance
coll.CreateAddr = action.fromaddr coll.CreateAddr = action.fromaddr
coll.Status = pty.CollateralizeActionCreate coll.Status = pty.CollateralizeActionCreate
coll.Index = action.GetIndex()
coll.CollBalance = 0 coll.CollBalance = 0
} else { } else {
collateralize, err := queryCollateralizeByID(action.db, collateralizeIDs[0]) collateralize, err := queryCollateralizeByID(action.db, collateralizeIDs[0])
...@@ -464,9 +447,7 @@ func (action *Action) CollateralizeCreate(create *pty.CollateralizeCreate) (*typ ...@@ -464,9 +447,7 @@ func (action *Action) CollateralizeCreate(create *pty.CollateralizeCreate) (*typ
coll.Collateralize = *collateralize coll.Collateralize = *collateralize
coll.TotalBalance += create.TotalBalance coll.TotalBalance += create.TotalBalance
coll.Balance += create.TotalBalance coll.Balance += create.TotalBalance
coll.PreIndex = coll.Index
coll.PreStatus = coll.Status coll.PreStatus = coll.Status
coll.Index = action.GetIndex()
} }
clog.Debug("CollateralizeCreate created", "CollateralizeID", collateralizeID, "TotalBalance", create.TotalBalance) clog.Debug("CollateralizeCreate created", "CollateralizeID", collateralizeID, "TotalBalance", create.TotalBalance)
...@@ -497,7 +478,7 @@ func getBtyNumToFrozen(value int64, price float64, ratio float64) (int64, error) ...@@ -497,7 +478,7 @@ func getBtyNumToFrozen(value int64, price float64, ratio float64) (int64, error)
// value:借出ccny数量, colValue:抵押物数量, price:抵押物价格 // value:借出ccny数量, colValue:抵押物数量, price:抵押物价格
func calcLiquidationPrice(value int64, colValue int64) float64 { func calcLiquidationPrice(value int64, colValue int64) float64 {
liquidationRation := float64(value) / float64(colValue) liquidationRation := float64(value) / float64(colValue)
liquidationPrice := liquidationRation * pty.CollateralizePreLiquidationRatio liquidationPrice := math.Trunc(liquidationRation * pty.CollateralizePreLiquidationRatio * 1e4)/1e4
return liquidationPrice return liquidationPrice
} }
...@@ -639,10 +620,9 @@ func (action *Action) CollateralizeBorrow(borrow *pty.CollateralizeBorrow) (*typ ...@@ -639,10 +620,9 @@ func (action *Action) CollateralizeBorrow(borrow *pty.CollateralizeBorrow) (*typ
borrowRecord.StartTime = action.blocktime borrowRecord.StartTime = action.blocktime
borrowRecord.CollateralPrice = lastPrice borrowRecord.CollateralPrice = lastPrice
borrowRecord.DebtValue = borrow.GetValue() borrowRecord.DebtValue = borrow.GetValue()
borrowRecord.LiquidationPrice = coll.LiquidationRatio * lastPrice * pty.CollateralizePreLiquidationRatio borrowRecord.LiquidationPrice = math.Trunc(coll.LiquidationRatio * lastPrice * pty.CollateralizePreLiquidationRatio * 1e4)/1e4
borrowRecord.Status = pty.CollateralizeUserStatusCreate borrowRecord.Status = pty.CollateralizeUserStatusCreate
borrowRecord.ExpireTime = action.blocktime + coll.Period borrowRecord.ExpireTime = action.blocktime + coll.Period
borrowRecord.Index = action.GetIndex()
// 记录当前借贷的最高自动清算价格 // 记录当前借贷的最高自动清算价格
if coll.LatestLiquidationPrice < borrowRecord.LiquidationPrice { if coll.LatestLiquidationPrice < borrowRecord.LiquidationPrice {
...@@ -742,8 +722,6 @@ func (action *Action) CollateralizeRepay(repay *pty.CollateralizeRepay) (*types. ...@@ -742,8 +722,6 @@ func (action *Action) CollateralizeRepay(repay *pty.CollateralizeRepay) (*types.
// 借贷记录关闭 // 借贷记录关闭
borrowRecord.PreStatus = borrowRecord.Status borrowRecord.PreStatus = borrowRecord.Status
borrowRecord.Status = pty.CollateralizeUserStatusClose borrowRecord.Status = pty.CollateralizeUserStatusClose
borrowRecord.PreIndex = borrowRecord.Index
borrowRecord.Index = action.GetIndex()
// 保存 // 保存
coll.Balance += borrowRecord.DebtValue coll.Balance += borrowRecord.DebtValue
...@@ -843,8 +821,6 @@ func (action *Action) CollateralizeAppend(cAppend *pty.CollateralizeAppend) (*ty ...@@ -843,8 +821,6 @@ func (action *Action) CollateralizeAppend(cAppend *pty.CollateralizeAppend) (*ty
if borrowRecord.Status == pty.CollateralizeUserStatusWarning { if borrowRecord.Status == pty.CollateralizeUserStatusWarning {
borrowRecord.PreStatus = borrowRecord.Status borrowRecord.PreStatus = borrowRecord.Status
borrowRecord.Status = pty.CollateralizeStatusCreated borrowRecord.Status = pty.CollateralizeStatusCreated
borrowRecord.PreIndex = borrowRecord.Index
borrowRecord.Index = action.GetIndex()
} }
} }
...@@ -957,16 +933,12 @@ func (action *Action) systemLiquidation(coll *pty.Collateralize, price float64) ...@@ -957,16 +933,12 @@ func (action *Action) systemLiquidation(coll *pty.Collateralize, price float64)
borrowRecord.LiquidateTime = action.blocktime borrowRecord.LiquidateTime = action.blocktime
borrowRecord.PreStatus = borrowRecord.Status borrowRecord.PreStatus = borrowRecord.Status
borrowRecord.Status = pty.CollateralizeUserStatusSystemLiquidate borrowRecord.Status = pty.CollateralizeUserStatusSystemLiquidate
borrowRecord.PreIndex = borrowRecord.Index
borrowRecord.Index = action.GetIndex()
coll.InvalidRecords = append(coll.InvalidRecords, borrowRecord) coll.InvalidRecords = append(coll.InvalidRecords, borrowRecord)
coll.BorrowRecords = append(coll.BorrowRecords[:index], coll.BorrowRecords[index+1:]...) coll.BorrowRecords = append(coll.BorrowRecords[:index], coll.BorrowRecords[index+1:]...)
coll.CollBalance -= borrowRecord.CollateralValue coll.CollBalance -= borrowRecord.CollateralValue
} else { } else {
borrowRecord.PreStatus = borrowRecord.Status borrowRecord.PreStatus = borrowRecord.Status
borrowRecord.Status = pty.CollateralizeUserStatusWarning borrowRecord.Status = pty.CollateralizeUserStatusWarning
borrowRecord.PreIndex = borrowRecord.Index
borrowRecord.Index = action.GetIndex()
} }
log := action.GetFeedReceiptLog(coll, borrowRecord) log := action.GetFeedReceiptLog(coll, borrowRecord)
...@@ -1016,14 +988,10 @@ func (action *Action) expireLiquidation(coll *pty.Collateralize) (*types.Receipt ...@@ -1016,14 +988,10 @@ func (action *Action) expireLiquidation(coll *pty.Collateralize) (*types.Receipt
borrowRecord.LiquidateTime = action.blocktime borrowRecord.LiquidateTime = action.blocktime
borrowRecord.PreStatus = borrowRecord.Status borrowRecord.PreStatus = borrowRecord.Status
borrowRecord.Status = pty.CollateralizeUserStatusExpireLiquidate borrowRecord.Status = pty.CollateralizeUserStatusExpireLiquidate
borrowRecord.PreIndex = borrowRecord.Index
borrowRecord.Index = action.GetIndex()
coll.InvalidRecords = append(coll.InvalidRecords, borrowRecord) coll.InvalidRecords = append(coll.InvalidRecords, borrowRecord)
coll.BorrowRecords = append(coll.BorrowRecords[:index], coll.BorrowRecords[index+1:]...) coll.BorrowRecords = append(coll.BorrowRecords[:index], coll.BorrowRecords[index+1:]...)
coll.CollBalance -= borrowRecord.CollateralValue coll.CollBalance -= borrowRecord.CollateralValue
} else { } else {
borrowRecord.PreIndex = borrowRecord.Index
borrowRecord.Index = action.GetIndex()
borrowRecord.PreStatus = borrowRecord.Status borrowRecord.PreStatus = borrowRecord.Status
borrowRecord.Status = pty.CollateralizeUserStatusExpire borrowRecord.Status = pty.CollateralizeUserStatusExpire
} }
...@@ -1085,7 +1053,7 @@ func (action *Action) CollateralizeFeed(feed *pty.CollateralizeFeed) (*types.Rec ...@@ -1085,7 +1053,7 @@ func (action *Action) CollateralizeFeed(feed *pty.CollateralizeFeed) (*types.Rec
return nil, pty.ErrPriceInvalid return nil, pty.ErrPriceInvalid
} }
ids, err := queryCollateralizeByStatus(action.localDB, pty.CollateralizeStatusCreated, 0) ids, err := queryCollateralizeByStatus(action.localDB, pty.CollateralizeStatusCreated, "")
if err != nil { if err != nil {
clog.Debug("CollateralizePriceFeed", "get collateralize record error", err) clog.Debug("CollateralizePriceFeed", "get collateralize record error", err)
} }
...@@ -1172,8 +1140,6 @@ func (action *Action) CollateralizeRetrieve(retrieve *pty.CollateralizeRetrieve) ...@@ -1172,8 +1140,6 @@ func (action *Action) CollateralizeRetrieve(retrieve *pty.CollateralizeRetrieve)
if coll.TotalBalance == 0 { if coll.TotalBalance == 0 {
coll.Status = pty.CollateralizeStatusClose coll.Status = pty.CollateralizeStatusClose
} }
coll.PreIndex = coll.Index
coll.Index = action.GetIndex()
coll.Save(action.db) coll.Save(action.db)
kv = append(kv, coll.GetKVSet()...) kv = append(kv, coll.GetKVSet()...)
...@@ -1200,58 +1166,62 @@ func queryCollateralizeByID(db dbm.KV, collateralizeID string) (*pty.Collaterali ...@@ -1200,58 +1166,62 @@ func queryCollateralizeByID(db dbm.KV, collateralizeID string) (*pty.Collaterali
return &coll, nil return &coll, nil
} }
func queryCollateralizeByStatus(localdb dbm.Lister, status int32, index int64) ([]string, error) { func queryCollateralizeByStatus(localdb dbm.KVDB, status int32, collID string) ([]string, error) {
var data [][]byte query := pty.NewCollateralizeTable(localdb).GetQuery(localdb)
var err error var primary []byte
if index != 0 { if len(collID) > 0 {
data, err = localdb.List(calcCollateralizeStatusPrefix(status), calcCollateralizeStatusKey(status, index), DefultCount, ListDESC) primary = []byte(collID)
} else {
data, err = localdb.List(calcCollateralizeStatusPrefix(status), nil, DefultCount, ListDESC)
} }
var data = &pty.ReceiptCollateralize{
CollateralizeId:collID,
Status:status,
}
rows, err := query.List("status", data, primary, DefultCount, ListDESC)
if err != nil { if err != nil {
clog.Debug("queryCollateralizesByStatus", "error", err) clog.Debug("queryCollateralizeByStatus.List", "error", err)
return nil, err return nil, err
} }
var ids []string var ids []string
var coll pty.CollateralizeRecord for _, row := range rows {
for _, collBytes := range data { ids = append(ids, string(row.Primary))
err = types.Decode(collBytes, &coll)
if err != nil {
clog.Debug("queryCollateralizesByStatus", "decode", err)
return nil, err
}
ids = append(ids, coll.CollateralizeId)
} }
return ids, nil return ids, nil
} }
func queryCollateralizeByAddr(localdb dbm.Lister, addr string, status int32, index int64) ([]string, error) { func queryCollateralizeByAddr(localdb dbm.KVDB, addr string, status int32, collID string) ([]string, error) {
var data [][]byte query := pty.NewCollateralizeTable(localdb).GetQuery(localdb)
var err error var primary []byte
if index != 0 { if len(collID) > 0 {
data, err = localdb.List(calcCollateralizeAddrPrefix(addr), calcCollateralizeAddrKey(addr, index), DefultCount, ListDESC) primary = []byte(collID)
} else {
data, err = localdb.List(calcCollateralizeAddrPrefix(addr), nil, DefultCount, ListDESC)
}
if err != nil {
clog.Debug("queryCollateralizesByAddr", "error", err)
return nil, err
} }
var ids []string var data = &pty.ReceiptCollateralize{
var coll pty.CollateralizeRecord CollateralizeId:collID,
for _, collBytes := range data { Status:status,
err = types.Decode(collBytes, &coll) AccountAddr:addr,
}
var rows []*table.Row
var err error
if status == 0 {
rows, err = query.List("addr", data, primary, DefultCount, ListDESC)
if err != nil { if err != nil {
clog.Debug("queryCollateralizesByAddr", "decode", err) clog.Debug("queryCollateralizeByAddr.List", "index", "addr", "error", err)
return nil, err return nil, err
} }
if status == 0 || coll.Status == status { } else {
ids = append(ids, coll.CollateralizeId) rows, err = query.List("addr_status", data, primary, DefultCount, ListDESC)
if err != nil {
clog.Debug("queryCollateralizeByAddr.List", "index", "addr_status", "error", err)
return nil, err
} }
} }
var ids []string
for _, row := range rows {
ids = append(ids, string(row.Primary))
}
return ids, nil return ids, nil
} }
...@@ -1260,7 +1230,7 @@ func queryCollateralizeByAddr(localdb dbm.Lister, addr string, status int32, ind ...@@ -1260,7 +1230,7 @@ func queryCollateralizeByAddr(localdb dbm.Lister, addr string, status int32, ind
func queryCollateralizeRecordByID(db dbm.KV, collateralizeID string, recordID string) (*pty.BorrowRecord, error) { func queryCollateralizeRecordByID(db dbm.KV, collateralizeID string, recordID string) (*pty.BorrowRecord, error) {
coll, err := queryCollateralizeByID(db, collateralizeID) coll, err := queryCollateralizeByID(db, collateralizeID)
if err != nil { if err != nil {
clog.Error("queryIssuanceRecordByID", "error", err) clog.Debug("queryCollateralizeRecordByID", "error", err)
return nil, err return nil, err
} }
...@@ -1279,75 +1249,84 @@ func queryCollateralizeRecordByID(db dbm.KV, collateralizeID string, recordID st ...@@ -1279,75 +1249,84 @@ func queryCollateralizeRecordByID(db dbm.KV, collateralizeID string, recordID st
return nil, types.ErrNotFound return nil, types.ErrNotFound
} }
func queryCollateralizeRecordByAddr(db dbm.KV, localdb dbm.Lister, addr string, index int64) ([]*pty.BorrowRecord, error) { func queryCollateralizeRecordByAddr(db dbm.KV, localdb dbm.KVDB, addr string, collID string, recordID string) ([]*pty.BorrowRecord, error) {
var data [][]byte query := pty.NewRecordTable(localdb).GetQuery(localdb)
var err error var primary []byte
if index != 0 { if len(recordID) > 0 {
data, err = localdb.List(calcCollateralizeRecordAddrPrefix(addr), calcCollateralizeRecordAddrKey(addr, index), DefultCount, ListDESC) primary = []byte(recordID)
} else {
data, err = localdb.List(calcCollateralizeRecordAddrPrefix(addr), nil, DefultCount, ListDESC)
} }
if err != nil {
clog.Debug("queryCollateralizeRecordByAddr", "error", err) var data = &pty.ReceiptCollateralize{
return nil, err AccountAddr:addr,
CollateralizeId:collID,
} }
var records []*pty.BorrowRecord var rows []*table.Row
var coll pty.CollateralizeRecord var err error
for _, collBytes := range data { if len(collID) == 0 {
err = types.Decode(collBytes, &coll) rows, err = query.List("addr", data, primary, DefultCount, ListDESC)
if err != nil { if err != nil {
clog.Debug("queryCollateralizeRecordByAddr", "decode", err) clog.Debug("queryCollateralizeRecordByAddr.List", "index", "addr", "error", err)
return nil, err return nil, err
} }
} else {
record, err := queryCollateralizeRecordByID(db, coll.CollateralizeId, coll.RecordId) rows, err = query.List("id_addr", data, primary, DefultCount, ListDESC)
if err != nil { if err != nil {
clog.Error("queryIssuanceRecordsByStatus", "decode", err) clog.Debug("queryCollateralizeRecordByAddr.List", "index", "id_addr", "error", err)
return nil, err return nil, err
} }
}
var records []*pty.BorrowRecord
for _, row := range rows {
record, err := queryCollateralizeRecordByID(db, row.Data.(*pty.ReceiptCollateralize).CollateralizeId, row.Data.(*pty.ReceiptCollateralize).RecordId)
if err != nil {
clog.Debug("queryCollateralizeRecordByAddr.queryCollateralizeRecordByID", "error", err)
continue
}
records = append(records, record) records = append(records, record)
} }
return records, nil return records, nil
} }
func queryCollateralizeRecordByStatus(db dbm.KV, localdb dbm.Lister, status int32, index int64) ([]*pty.BorrowRecord, error) { func queryCollateralizeRecordByStatus(db dbm.KV, localdb dbm.KVDB, status int32, collID string, recordID string) ([]*pty.BorrowRecord, error) {
var statusKey string query := pty.NewRecordTable(localdb).GetQuery(localdb)
if status == 0 { var primary []byte
statusKey = "" if len(recordID) > 0 {
} else { primary = []byte(recordID)
statusKey = fmt.Sprintf("%d", status)
} }
var data [][]byte var data = &pty.ReceiptCollateralize{
var err error Status:status,
if index != 0 { CollateralizeId:collID,
data, err = localdb.List(calcCollateralizeRecordStatusPrefix(statusKey), calcCollateralizeRecordStatusKey(status, index), DefultCount, ListDESC)
} else {
data, err = localdb.List(calcCollateralizeRecordStatusPrefix(statusKey), nil, DefultCount, ListDESC)
}
if err != nil {
clog.Debug("queryCollateralizeRecordByStatus", "error", err)
return nil, err
} }
var records []*pty.BorrowRecord var rows []*table.Row
var coll pty.CollateralizeRecord var err error
for _, collBytes := range data { if len(collID) == 0 {
err = types.Decode(collBytes, &coll) rows, err = query.List("status", data, primary, DefultCount, ListDESC)
if err != nil { if err != nil {
clog.Debug("queryCollateralizesByStatus", "decode", err) clog.Debug("queryCollateralizeRecordByStatus.List", "index", "status", "error", err)
continue return nil, err
} }
} else {
rows, err = query.List("id_status", data, primary, DefultCount, ListDESC)
if err != nil {
clog.Debug("queryCollateralizeRecordByStatus.List", "index", "id_status", "error", err)
return nil, err
}
}
record, err := queryCollateralizeRecordByID(db, coll.CollateralizeId, coll.RecordId) var records []*pty.BorrowRecord
for _, row := range rows {
record, err := queryCollateralizeRecordByID(db, row.Data.(*pty.ReceiptCollateralize).CollateralizeId, row.Data.(*pty.ReceiptCollateralize).RecordId)
if err != nil { if err != nil {
clog.Error("queryIssuanceRecordsByStatus", "decode", err) clog.Debug("queryCollateralizeRecordByStatus.queryCollateralizeRecordByID", "error", err)
continue continue
} }
records = append(records, record) records = append(records, record)
} }
return records, nil return records, nil
} }
\ No newline at end of file
...@@ -10,60 +10,13 @@ import ( ...@@ -10,60 +10,13 @@ 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{} kvs, err := c.DelRollbackKV(tx, tx.Execer)
for _, item := range receiptData.Logs { if err != nil {
if item.Ty == pty.TyLogCollateralizeCreate || item.Ty == pty.TyLogCollateralizeBorrow || item.Ty == pty.TyLogCollateralizeAppend || return nil, err
item.Ty == pty.TyLogCollateralizeRepay || item.Ty == pty.TyLogCollateralizeFeed || item.Ty == pty.TyLogCollateralizeRetrieve {
var collateralizeLog pty.ReceiptCollateralize
err := types.Decode(item.Log, &collateralizeLog)
if err != nil {
return nil, err
}
switch item.Ty {
case pty.TyLogCollateralizeCreate:
set.KV = append(set.KV, c.deleteCollateralizeStatus(collateralizeLog.Status, collateralizeLog.Index)...)
set.KV = append(set.KV, c.deleteCollateralizeAddr(collateralizeLog.CreateAddr, collateralizeLog.Index)...)
set.KV = append(set.KV, c.addCollateralizeStatus(collateralizeLog.PreStatus, collateralizeLog.CollateralizeId, collateralizeLog.PreIndex)...)
set.KV = append(set.KV, c.addCollateralizeAddr(collateralizeLog.CreateAddr, collateralizeLog.CollateralizeId, collateralizeLog.PreStatus, collateralizeLog.PreIndex)...)
case pty.TyLogCollateralizeBorrow:
set.KV = append(set.KV, c.deleteCollateralizeRecordStatus(collateralizeLog.Status, collateralizeLog.Index)...)
set.KV = append(set.KV, c.deleteCollateralizeRecordAddr(collateralizeLog.AccountAddr, collateralizeLog.Index)...)
case pty.TyLogCollateralizeAppend:
if collateralizeLog.Status == pty.CollateralizeUserStatusWarning {
set.KV = append(set.KV, c.addCollateralizeRecordStatus(collateralizeLog.PreStatus, collateralizeLog.CollateralizeId,
collateralizeLog.RecordId, collateralizeLog.PreIndex)...)
set.KV = append(set.KV, c.deleteCollateralizeRecordStatus(collateralizeLog.Status, collateralizeLog.Index)...)
//set.KV = append(set.KV, c.addCollateralizeRecordAddr(collateralizeLog.AccountAddr, collateralizeLog.CollateralizeId,
// collateralizeLog.RecordId, collateralizeLog.PreIndex)...)
//set.KV = append(set.KV, c.deleteCollateralizeRecordAddr(collateralizeLog.AccountAddr, collateralizeLog.Index)...)
}
case pty.TyLogCollateralizeRepay:
set.KV = append(set.KV, c.addCollateralizeRecordStatus(collateralizeLog.PreStatus, collateralizeLog.CollateralizeId,
collateralizeLog.RecordId, collateralizeLog.PreIndex)...)
set.KV = append(set.KV, c.deleteCollateralizeRecordStatus(collateralizeLog.Status, collateralizeLog.Index)...)
//set.KV = append(set.KV, c.addCollateralizeRecordAddr(collateralizeLog.AccountAddr, collateralizeLog.CollateralizeId,
// collateralizeLog.RecordId, collateralizeLog.PreIndex)...)
case pty.TyLogCollateralizeFeed:
set.KV = append(set.KV, c.addCollateralizeRecordStatus(collateralizeLog.Status, collateralizeLog.CollateralizeId,
collateralizeLog.RecordId, collateralizeLog.PreIndex)...)
set.KV = append(set.KV, c.deleteCollateralizeRecordStatus(collateralizeLog.Status, collateralizeLog.Index)...)
//set.KV = append(set.KV, c.addCollateralizeRecordAddr(collateralizeLog.AccountAddr, collateralizeLog.CollateralizeId,
// collateralizeLog.RecordId, collateralizeLog.PreIndex)...)
//// 如果没有被清算,需要把地址索引更新
//if collateralizeLog.Status == pty.CollateralizeUserStatusWarning || collateralizeLog.Status == pty.CollateralizeUserStatusExpire {
// set.KV = append(set.KV, c.deleteCollateralizeRecordAddr(collateralizeLog.AccountAddr, collateralizeLog.Index)...)
//}
case pty.TyLogCollateralizeRetrieve:
set.KV = append(set.KV, c.deleteCollateralizeStatus(collateralizeLog.Status, collateralizeLog.Index)...)
set.KV = append(set.KV, c.deleteCollateralizeAddr(collateralizeLog.CreateAddr, collateralizeLog.Index)...)
set.KV = append(set.KV, c.addCollateralizeStatus(collateralizeLog.PreStatus, collateralizeLog.CollateralizeId, collateralizeLog.PreIndex)...)
set.KV = append(set.KV, c.addCollateralizeAddr(collateralizeLog.CreateAddr, collateralizeLog.CollateralizeId, collateralizeLog.PreStatus, collateralizeLog.PreIndex)...)
}
}
} }
return set, nil dbSet := &types.LocalDBSet{}
dbSet.KV = append(dbSet.KV, kvs...)
return dbSet, nil
} }
// ExecDelLocal_Create Action // ExecDelLocal_Create Action
......
...@@ -13,57 +13,42 @@ import ( ...@@ -13,57 +13,42 @@ 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 {
if item.Ty == pty.TyLogCollateralizeCreate || item.Ty == pty.TyLogCollateralizeBorrow || item.Ty == pty.TyLogCollateralizeAppend || if item.Ty >= pty.TyLogCollateralizeCreate && item.Ty <= pty.TyLogCollateralizeRetrieve {
item.Ty == pty.TyLogCollateralizeRepay || item.Ty == pty.TyLogCollateralizeFeed || item.Ty == pty.TyLogCollateralizeRetrieve {
var collateralizeLog pty.ReceiptCollateralize var collateralizeLog pty.ReceiptCollateralize
err := types.Decode(item.Log, &collateralizeLog) err := types.Decode(item.Log, &collateralizeLog)
if err != nil { if err != nil {
return nil, err return nil, err
} }
switch item.Ty { if item.Ty == pty.TyLogCollateralizeCreate || item.Ty == pty.TyLogCollateralizeRetrieve {
case pty.TyLogCollateralizeCreate: collTable := pty.NewCollateralizeTable(c.GetLocalDB())
set.KV = append(set.KV, c.deleteCollateralizeStatus(collateralizeLog.PreStatus, collateralizeLog.PreIndex)...) err = collTable.Replace(&pty.ReceiptCollateralize{CollateralizeId: collateralizeLog.CollateralizeId, Status: collateralizeLog.Status,
set.KV = append(set.KV, c.deleteCollateralizeAddr(collateralizeLog.CreateAddr, collateralizeLog.PreIndex)...) AccountAddr:collateralizeLog.AccountAddr})
set.KV = append(set.KV, c.addCollateralizeStatus(collateralizeLog.Status, collateralizeLog.CollateralizeId, collateralizeLog.Index)...) if err != nil {
set.KV = append(set.KV, c.addCollateralizeAddr(collateralizeLog.CreateAddr, collateralizeLog.CollateralizeId, collateralizeLog.Status, collateralizeLog.Index)...) return nil, err
case pty.TyLogCollateralizeBorrow:
set.KV = append(set.KV, c.addCollateralizeRecordStatus(collateralizeLog.Status, collateralizeLog.CollateralizeId,
collateralizeLog.RecordId, collateralizeLog.Index)...)
set.KV = append(set.KV, c.addCollateralizeRecordAddr(collateralizeLog.AccountAddr, collateralizeLog.CollateralizeId,
collateralizeLog.RecordId, collateralizeLog.Index)...)
case pty.TyLogCollateralizeAppend:
if collateralizeLog.Status == pty.CollateralizeUserStatusWarning {
set.KV = append(set.KV, c.deleteCollateralizeRecordStatus(collateralizeLog.PreStatus, collateralizeLog.PreIndex)...)
set.KV = append(set.KV, c.addCollateralizeRecordStatus(collateralizeLog.Status, collateralizeLog.CollateralizeId,
collateralizeLog.RecordId, collateralizeLog.Index)...)
//set.KV = append(set.KV, c.deleteCollateralizeRecordAddr(collateralizeLog.AccountAddr, collateralizeLog.PreIndex)...)
//set.KV = append(set.KV, c.addCollateralizeRecordAddr(collateralizeLog.AccountAddr, collateralizeLog.CollateralizeId,
// collateralizeLog.RecordId, collateralizeLog.Index)...)
} }
case pty.TyLogCollateralizeRepay: kvs, err := collTable.Save()
set.KV = append(set.KV, c.deleteCollateralizeRecordStatus(collateralizeLog.PreStatus, collateralizeLog.PreIndex)...) if err != nil {
set.KV = append(set.KV, c.addCollateralizeRecordStatus(collateralizeLog.Status, collateralizeLog.CollateralizeId, return nil, err
collateralizeLog.RecordId, collateralizeLog.Index)...) }
//set.KV = append(set.KV, c.deleteCollateralizeRecordAddr(collateralizeLog.AccountAddr, collateralizeLog.PreIndex)...) set.KV = append(set.KV, kvs...)
case pty.TyLogCollateralizeFeed: } else {
set.KV = append(set.KV, c.deleteCollateralizeRecordStatus(collateralizeLog.PreStatus, collateralizeLog.PreIndex)...) recordTable := pty.NewRecordTable(c.GetLocalDB())
set.KV = append(set.KV, c.addCollateralizeRecordStatus(collateralizeLog.Status, collateralizeLog.CollateralizeId, err = recordTable.Replace(&pty.ReceiptCollateralize{CollateralizeId: collateralizeLog.CollateralizeId, Status: collateralizeLog.Status,
collateralizeLog.RecordId, collateralizeLog.Index)...) RecordId: collateralizeLog.RecordId, AccountAddr: collateralizeLog.AccountAddr})
//set.KV = append(set.KV, c.deleteCollateralizeRecordAddr(collateralizeLog.AccountAddr, collateralizeLog.PreIndex)...) if err != nil {
//// 如果没有被清算,需要把地址索引更新 return nil, err
//if collateralizeLog.Status == pty.CollateralizeUserStatusWarning || collateralizeLog.Status == pty.CollateralizeUserStatusExpire { }
// set.KV = append(set.KV, c.addCollateralizeRecordAddr(collateralizeLog.AccountAddr, collateralizeLog.CollateralizeId, kvs, err := recordTable.Save()
// collateralizeLog.RecordId, collateralizeLog.Index)...) if err != nil {
//} return nil, err
case pty.TyLogCollateralizeRetrieve: }
set.KV = append(set.KV, c.deleteCollateralizeStatus(collateralizeLog.PreStatus, collateralizeLog.PreIndex)...) set.KV = append(set.KV, kvs...)
set.KV = append(set.KV, c.deleteCollateralizeAddr(collateralizeLog.CreateAddr, collateralizeLog.PreIndex)...)
set.KV = append(set.KV, c.addCollateralizeStatus(collateralizeLog.Status, collateralizeLog.CollateralizeId, collateralizeLog.Index)...)
set.KV = append(set.KV, c.addCollateralizeAddr(collateralizeLog.CreateAddr, collateralizeLog.CollateralizeId, collateralizeLog.Status, collateralizeLog.Index)...)
} }
} }
} }
set.KV = c.AddRollbackKV(tx, []byte(pty.CollateralizeX), set.KV)
return set, nil return set, nil
} }
......
// Copyright Fuzamei Corp. 2018 All Rights Reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package executor
import "fmt"
func calcCollateralizeKey(collateralizeID string, index int64) []byte {
key := fmt.Sprintf("LODB-collateralize-ID:%s:%018d", collateralizeID, index)
return []byte(key)
}
func calcCollateralizeStatusPrefix(status int32) []byte {
key := fmt.Sprintf("LODB-collateralize-status:%d", status)
return []byte(key)
}
func calcCollateralizeStatusKey(status int32, index int64) []byte {
key := fmt.Sprintf("LODB-collateralize-status:%d:%018d", status, index)
return []byte(key)
}
func calcCollateralizeAddrPrefix(addr string) []byte {
key := fmt.Sprintf("LODB-collateralize-addr:%s", addr)
return []byte(key)
}
func calcCollateralizeAddrKey(addr string, index int64) []byte {
key := fmt.Sprintf("LODB-collateralize-addr:%s:%018d", addr, index)
return []byte(key)
}
func calcCollateralizeRecordAddrPrefix(addr string) []byte {
key := fmt.Sprintf("LODB-collateralize-record-addr:%s", addr)
return []byte(key)
}
func calcCollateralizeRecordAddrKey(addr string, index int64) []byte {
key := fmt.Sprintf("LODB-collateralize-record-addr:%s:%018d", addr, index)
return []byte(key)
}
func calcCollateralizeRecordStatusPrefix(status string) []byte {
key := fmt.Sprintf("LODB-collateralize-record-status:%s", 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)
}
...@@ -66,7 +66,7 @@ func (c *Collateralize) Query_CollateralizeInfoByIDs(req *pty.ReqCollateralizeIn ...@@ -66,7 +66,7 @@ func (c *Collateralize) Query_CollateralizeInfoByIDs(req *pty.ReqCollateralizeIn
func (c *Collateralize) Query_CollateralizeByStatus(req *pty.ReqCollateralizeByStatus) (types.Message, error) { func (c *Collateralize) Query_CollateralizeByStatus(req *pty.ReqCollateralizeByStatus) (types.Message, error) {
ids := &pty.RepCollateralizeIDs{} ids := &pty.RepCollateralizeIDs{}
collIDRecords, err := queryCollateralizeByStatus(c.GetLocalDB(), req.Status, req.Index) collIDRecords, err := queryCollateralizeByStatus(c.GetLocalDB(), req.Status, req.CollID)
if err != nil { if err != nil {
clog.Error("Query_CollateralizeByStatus", "get collateralize record error", err) clog.Error("Query_CollateralizeByStatus", "get collateralize record error", err)
return nil, err return nil, err
...@@ -78,7 +78,7 @@ func (c *Collateralize) Query_CollateralizeByStatus(req *pty.ReqCollateralizeByS ...@@ -78,7 +78,7 @@ func (c *Collateralize) Query_CollateralizeByStatus(req *pty.ReqCollateralizeByS
func (c *Collateralize) Query_CollateralizeByAddr(req *pty.ReqCollateralizeByAddr) (types.Message, error) { func (c *Collateralize) Query_CollateralizeByAddr(req *pty.ReqCollateralizeByAddr) (types.Message, error) {
ids := &pty.RepCollateralizeIDs{} ids := &pty.RepCollateralizeIDs{}
collIDRecords, err := queryCollateralizeByAddr(c.GetLocalDB(), req.Addr, req.Status, req.Index) collIDRecords, err := queryCollateralizeByAddr(c.GetLocalDB(), req.Addr, req.Status, req.CollID)
if err != nil { if err != nil {
clog.Error("Query_CollateralizeByAddr", "get collateralize record error", err) clog.Error("Query_CollateralizeByAddr", "get collateralize record error", err)
return nil, err return nil, err
...@@ -102,7 +102,7 @@ func (c *Collateralize) Query_CollateralizeRecordByID(req *pty.ReqCollateralizeR ...@@ -102,7 +102,7 @@ func (c *Collateralize) Query_CollateralizeRecordByID(req *pty.ReqCollateralizeR
func (c *Collateralize) Query_CollateralizeRecordByAddr(req *pty.ReqCollateralizeRecordByAddr) (types.Message, error) { func (c *Collateralize) Query_CollateralizeRecordByAddr(req *pty.ReqCollateralizeRecordByAddr) (types.Message, error) {
ret := &pty.RepCollateralizeRecords{} ret := &pty.RepCollateralizeRecords{}
records, err := queryCollateralizeRecordByAddr(c.GetStateDB(), c.GetLocalDB(), req.Addr, req.Index) records, err := queryCollateralizeRecordByAddr(c.GetStateDB(), c.GetLocalDB(), req.Addr, req.CollateralizeId, req.RecordId)
if err != nil { if err != nil {
clog.Error("Query_CollateralizeRecordByAddr", "get collateralize record error", err) clog.Error("Query_CollateralizeRecordByAddr", "get collateralize record error", err)
return nil, err return nil, err
...@@ -122,7 +122,7 @@ func (c *Collateralize) Query_CollateralizeRecordByAddr(req *pty.ReqCollateraliz ...@@ -122,7 +122,7 @@ func (c *Collateralize) Query_CollateralizeRecordByAddr(req *pty.ReqCollateraliz
func (c *Collateralize) Query_CollateralizeRecordByStatus(req *pty.ReqCollateralizeRecordByStatus) (types.Message, error) { func (c *Collateralize) Query_CollateralizeRecordByStatus(req *pty.ReqCollateralizeRecordByStatus) (types.Message, error) {
ret := &pty.RepCollateralizeRecords{} ret := &pty.RepCollateralizeRecords{}
records, err := queryCollateralizeRecordByStatus(c.GetStateDB(), c.GetLocalDB(), req.Status, req.Index) records, err := queryCollateralizeRecordByStatus(c.GetStateDB(), c.GetLocalDB(), req.Status, req.CollateralizeId, req.RecordId)
if err != nil { if err != nil {
clog.Error("Query_CollateralizeRecordByStatus", "get collateralize record error", err) clog.Error("Query_CollateralizeRecordByStatus", "get collateralize record error", err)
return nil, err return nil, err
......
...@@ -17,10 +17,8 @@ message Collateralize { ...@@ -17,10 +17,8 @@ message Collateralize {
double latestLiquidationPrice = 11;//最高清算价格 double latestLiquidationPrice = 11;//最高清算价格
int64 period = 12;//借贷最大期限 int64 period = 12;//借贷最大期限
int64 latestExpireTime = 13;//最近超期时间 int64 latestExpireTime = 13;//最近超期时间
int64 index = 14;//当前索引 int64 collBalance = 14;//抵押bty
int64 preIndex = 15;//上一个索引 int32 preStatus = 15;//上一个状态
int64 collBalance = 16;//抵押bty
int32 preStatus = 17;//上一个状态
} }
// 借出记录 // 借出记录
...@@ -37,8 +35,6 @@ message BorrowRecord { ...@@ -37,8 +35,6 @@ message BorrowRecord {
int32 preStatus = 10;//上一次抵押状态,用于告警恢复 int32 preStatus = 10;//上一次抵押状态,用于告警恢复
string recordId = 11;//借贷id,标识一次借出记录 string recordId = 11;//借贷id,标识一次借出记录
string collateralizeId = 12;//放贷id string collateralizeId = 12;//放贷id
int64 index = 13;//当前索引
int64 preIndex = 14;//上级索引
} }
// 资产价格记录 // 资产价格记录
...@@ -115,27 +111,14 @@ message CollateralizeRetrieve { ...@@ -115,27 +111,14 @@ message CollateralizeRetrieve {
// exec_local 放贷信息 // exec_local 放贷信息
message ReceiptCollateralize { message ReceiptCollateralize {
string collateralizeId = 1; string collateralizeId = 1;
string createAddr = 2;
string accountAddr = 3; string accountAddr = 3;
string recordId = 4; string recordId = 4;
int32 status = 5; int32 status = 5;
int32 PreStatus = 6;
int64 index = 7;
int64 preIndex = 8;
} }
// exec_local 放贷记录信息
message CollateralizeRecord {
string collateralizeId = 1;
string addr = 2;
string recordId = 3;
int32 status = 4;
int64 index = 5;
}
// exec_local 放贷记录信息列表 // exec_local 放贷记录信息列表
message CollateralizeRecords { message CollateralizeRecords {
repeated CollateralizeRecord records = 1; repeated ReceiptCollateralize records = 1;
} }
// 根据ID查询一期放贷信息 // 根据ID查询一期放贷信息
...@@ -171,14 +154,14 @@ message RepCollateralizeCurrentInfos { ...@@ -171,14 +154,14 @@ message RepCollateralizeCurrentInfos {
// 根据放贷状态查询 // 根据放贷状态查询
message ReqCollateralizeByStatus { message ReqCollateralizeByStatus {
int32 status = 1; int32 status = 1;
int64 index = 2; string collID = 2;
} }
// 根据用户地址查询 // 根据用户地址查询
message ReqCollateralizeByAddr { message ReqCollateralizeByAddr {
string addr = 1; string addr = 1;
int32 status = 2; int32 status = 2;
int64 index = 3; string collID = 3;
} }
// 返回放贷ID列表 // 返回放贷ID列表
...@@ -191,14 +174,14 @@ message ReqCollateralizeRecordByAddr { ...@@ -191,14 +174,14 @@ message ReqCollateralizeRecordByAddr {
string collateralizeId = 1; string collateralizeId = 1;
string addr = 2; string addr = 2;
int32 status = 3; int32 status = 3;
int64 index = 4; string recordId = 4;
} }
// 根据状态和借贷ID混合查询具体借贷记录 // 根据状态和借贷ID混合查询具体借贷记录
message ReqCollateralizeRecordByStatus { message ReqCollateralizeRecordByStatus {
string collateralizeId = 1; string collateralizeId = 1;
int32 status = 2; int32 status = 2;
int64 index = 3; string recordId = 3;
} }
// 返回借贷记录 // 返回借贷记录
......
...@@ -5,9 +5,7 @@ package types ...@@ -5,9 +5,7 @@ package types
import ( import (
fmt "fmt" fmt "fmt"
proto "github.com/golang/protobuf/proto" proto "github.com/golang/protobuf/proto"
math "math" math "math"
) )
...@@ -20,7 +18,7 @@ var _ = math.Inf ...@@ -20,7 +18,7 @@ var _ = math.Inf
// is compatible with the proto package it is being compiled against. // is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the // A compilation error at this line likely means your copy of the
// proto package needs to be updated. // proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
// 放贷信息 // 放贷信息
type Collateralize struct { type Collateralize struct {
...@@ -37,10 +35,8 @@ type Collateralize struct { ...@@ -37,10 +35,8 @@ type Collateralize struct {
LatestLiquidationPrice float64 `protobuf:"fixed64,11,opt,name=latestLiquidationPrice,proto3" json:"latestLiquidationPrice,omitempty"` LatestLiquidationPrice float64 `protobuf:"fixed64,11,opt,name=latestLiquidationPrice,proto3" json:"latestLiquidationPrice,omitempty"`
Period int64 `protobuf:"varint,12,opt,name=period,proto3" json:"period,omitempty"` Period int64 `protobuf:"varint,12,opt,name=period,proto3" json:"period,omitempty"`
LatestExpireTime int64 `protobuf:"varint,13,opt,name=latestExpireTime,proto3" json:"latestExpireTime,omitempty"` LatestExpireTime int64 `protobuf:"varint,13,opt,name=latestExpireTime,proto3" json:"latestExpireTime,omitempty"`
Index int64 `protobuf:"varint,14,opt,name=index,proto3" json:"index,omitempty"` CollBalance int64 `protobuf:"varint,14,opt,name=collBalance,proto3" json:"collBalance,omitempty"`
PreIndex int64 `protobuf:"varint,15,opt,name=preIndex,proto3" json:"preIndex,omitempty"` PreStatus int32 `protobuf:"varint,15,opt,name=preStatus,proto3" json:"preStatus,omitempty"`
CollBalance int64 `protobuf:"varint,16,opt,name=collBalance,proto3" json:"collBalance,omitempty"`
PreStatus int32 `protobuf:"varint,17,opt,name=preStatus,proto3" json:"preStatus,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
...@@ -50,16 +46,17 @@ func (m *Collateralize) Reset() { *m = Collateralize{} } ...@@ -50,16 +46,17 @@ func (m *Collateralize) Reset() { *m = Collateralize{} }
func (m *Collateralize) String() string { return proto.CompactTextString(m) } func (m *Collateralize) String() string { return proto.CompactTextString(m) }
func (*Collateralize) ProtoMessage() {} func (*Collateralize) ProtoMessage() {}
func (*Collateralize) Descriptor() ([]byte, []int) { func (*Collateralize) Descriptor() ([]byte, []int) {
return fileDescriptor_collateralize_d6354d2222298552, []int{0} return fileDescriptor_a988fb4a61381972, []int{0}
} }
func (m *Collateralize) XXX_Unmarshal(b []byte) error { func (m *Collateralize) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Collateralize.Unmarshal(m, b) return xxx_messageInfo_Collateralize.Unmarshal(m, b)
} }
func (m *Collateralize) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *Collateralize) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Collateralize.Marshal(b, m, deterministic) return xxx_messageInfo_Collateralize.Marshal(b, m, deterministic)
} }
func (dst *Collateralize) XXX_Merge(src proto.Message) { func (m *Collateralize) XXX_Merge(src proto.Message) {
xxx_messageInfo_Collateralize.Merge(dst, src) xxx_messageInfo_Collateralize.Merge(m, src)
} }
func (m *Collateralize) XXX_Size() int { func (m *Collateralize) XXX_Size() int {
return xxx_messageInfo_Collateralize.Size(m) return xxx_messageInfo_Collateralize.Size(m)
...@@ -161,20 +158,6 @@ func (m *Collateralize) GetLatestExpireTime() int64 { ...@@ -161,20 +158,6 @@ func (m *Collateralize) GetLatestExpireTime() int64 {
return 0 return 0
} }
func (m *Collateralize) GetIndex() int64 {
if m != nil {
return m.Index
}
return 0
}
func (m *Collateralize) GetPreIndex() int64 {
if m != nil {
return m.PreIndex
}
return 0
}
func (m *Collateralize) GetCollBalance() int64 { func (m *Collateralize) GetCollBalance() int64 {
if m != nil { if m != nil {
return m.CollBalance return m.CollBalance
...@@ -203,8 +186,6 @@ type BorrowRecord struct { ...@@ -203,8 +186,6 @@ type BorrowRecord struct {
PreStatus int32 `protobuf:"varint,10,opt,name=preStatus,proto3" json:"preStatus,omitempty"` PreStatus int32 `protobuf:"varint,10,opt,name=preStatus,proto3" json:"preStatus,omitempty"`
RecordId string `protobuf:"bytes,11,opt,name=recordId,proto3" json:"recordId,omitempty"` RecordId string `protobuf:"bytes,11,opt,name=recordId,proto3" json:"recordId,omitempty"`
CollateralizeId string `protobuf:"bytes,12,opt,name=collateralizeId,proto3" json:"collateralizeId,omitempty"` CollateralizeId string `protobuf:"bytes,12,opt,name=collateralizeId,proto3" json:"collateralizeId,omitempty"`
Index int64 `protobuf:"varint,13,opt,name=index,proto3" json:"index,omitempty"`
PreIndex int64 `protobuf:"varint,14,opt,name=preIndex,proto3" json:"preIndex,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
...@@ -214,16 +195,17 @@ func (m *BorrowRecord) Reset() { *m = BorrowRecord{} } ...@@ -214,16 +195,17 @@ func (m *BorrowRecord) Reset() { *m = BorrowRecord{} }
func (m *BorrowRecord) String() string { return proto.CompactTextString(m) } func (m *BorrowRecord) String() string { return proto.CompactTextString(m) }
func (*BorrowRecord) ProtoMessage() {} func (*BorrowRecord) ProtoMessage() {}
func (*BorrowRecord) Descriptor() ([]byte, []int) { func (*BorrowRecord) Descriptor() ([]byte, []int) {
return fileDescriptor_collateralize_d6354d2222298552, []int{1} return fileDescriptor_a988fb4a61381972, []int{1}
} }
func (m *BorrowRecord) XXX_Unmarshal(b []byte) error { func (m *BorrowRecord) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BorrowRecord.Unmarshal(m, b) return xxx_messageInfo_BorrowRecord.Unmarshal(m, b)
} }
func (m *BorrowRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *BorrowRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_BorrowRecord.Marshal(b, m, deterministic) return xxx_messageInfo_BorrowRecord.Marshal(b, m, deterministic)
} }
func (dst *BorrowRecord) XXX_Merge(src proto.Message) { func (m *BorrowRecord) XXX_Merge(src proto.Message) {
xxx_messageInfo_BorrowRecord.Merge(dst, src) xxx_messageInfo_BorrowRecord.Merge(m, src)
} }
func (m *BorrowRecord) XXX_Size() int { func (m *BorrowRecord) XXX_Size() int {
return xxx_messageInfo_BorrowRecord.Size(m) return xxx_messageInfo_BorrowRecord.Size(m)
...@@ -318,20 +300,6 @@ func (m *BorrowRecord) GetCollateralizeId() string { ...@@ -318,20 +300,6 @@ func (m *BorrowRecord) GetCollateralizeId() string {
return "" return ""
} }
func (m *BorrowRecord) GetIndex() int64 {
if m != nil {
return m.Index
}
return 0
}
func (m *BorrowRecord) GetPreIndex() int64 {
if m != nil {
return m.PreIndex
}
return 0
}
// 资产价格记录 // 资产价格记录
type AssetPriceRecord struct { type AssetPriceRecord struct {
RecordTime int64 `protobuf:"varint,1,opt,name=recordTime,proto3" json:"recordTime,omitempty"` RecordTime int64 `protobuf:"varint,1,opt,name=recordTime,proto3" json:"recordTime,omitempty"`
...@@ -347,16 +315,17 @@ func (m *AssetPriceRecord) Reset() { *m = AssetPriceRecord{} } ...@@ -347,16 +315,17 @@ func (m *AssetPriceRecord) Reset() { *m = AssetPriceRecord{} }
func (m *AssetPriceRecord) String() string { return proto.CompactTextString(m) } func (m *AssetPriceRecord) String() string { return proto.CompactTextString(m) }
func (*AssetPriceRecord) ProtoMessage() {} func (*AssetPriceRecord) ProtoMessage() {}
func (*AssetPriceRecord) Descriptor() ([]byte, []int) { func (*AssetPriceRecord) Descriptor() ([]byte, []int) {
return fileDescriptor_collateralize_d6354d2222298552, []int{2} return fileDescriptor_a988fb4a61381972, []int{2}
} }
func (m *AssetPriceRecord) XXX_Unmarshal(b []byte) error { func (m *AssetPriceRecord) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AssetPriceRecord.Unmarshal(m, b) return xxx_messageInfo_AssetPriceRecord.Unmarshal(m, b)
} }
func (m *AssetPriceRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *AssetPriceRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AssetPriceRecord.Marshal(b, m, deterministic) return xxx_messageInfo_AssetPriceRecord.Marshal(b, m, deterministic)
} }
func (dst *AssetPriceRecord) XXX_Merge(src proto.Message) { func (m *AssetPriceRecord) XXX_Merge(src proto.Message) {
xxx_messageInfo_AssetPriceRecord.Merge(dst, src) xxx_messageInfo_AssetPriceRecord.Merge(m, src)
} }
func (m *AssetPriceRecord) XXX_Size() int { func (m *AssetPriceRecord) XXX_Size() int {
return xxx_messageInfo_AssetPriceRecord.Size(m) return xxx_messageInfo_AssetPriceRecord.Size(m)
...@@ -416,16 +385,17 @@ func (m *CollateralizeAction) Reset() { *m = CollateralizeAction{} } ...@@ -416,16 +385,17 @@ func (m *CollateralizeAction) Reset() { *m = CollateralizeAction{} }
func (m *CollateralizeAction) String() string { return proto.CompactTextString(m) } func (m *CollateralizeAction) String() string { return proto.CompactTextString(m) }
func (*CollateralizeAction) ProtoMessage() {} func (*CollateralizeAction) ProtoMessage() {}
func (*CollateralizeAction) Descriptor() ([]byte, []int) { func (*CollateralizeAction) Descriptor() ([]byte, []int) {
return fileDescriptor_collateralize_d6354d2222298552, []int{3} return fileDescriptor_a988fb4a61381972, []int{3}
} }
func (m *CollateralizeAction) XXX_Unmarshal(b []byte) error { func (m *CollateralizeAction) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CollateralizeAction.Unmarshal(m, b) return xxx_messageInfo_CollateralizeAction.Unmarshal(m, b)
} }
func (m *CollateralizeAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *CollateralizeAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CollateralizeAction.Marshal(b, m, deterministic) return xxx_messageInfo_CollateralizeAction.Marshal(b, m, deterministic)
} }
func (dst *CollateralizeAction) XXX_Merge(src proto.Message) { func (m *CollateralizeAction) XXX_Merge(src proto.Message) {
xxx_messageInfo_CollateralizeAction.Merge(dst, src) xxx_messageInfo_CollateralizeAction.Merge(m, src)
} }
func (m *CollateralizeAction) XXX_Size() int { func (m *CollateralizeAction) XXX_Size() int {
return xxx_messageInfo_CollateralizeAction.Size(m) return xxx_messageInfo_CollateralizeAction.Size(m)
...@@ -545,9 +515,9 @@ func (m *CollateralizeAction) GetTy() int32 { ...@@ -545,9 +515,9 @@ func (m *CollateralizeAction) GetTy() int32 {
return 0 return 0
} }
// XXX_OneofFuncs is for the internal use of the proto package. // XXX_OneofWrappers is for the internal use of the proto package.
func (*CollateralizeAction) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { func (*CollateralizeAction) XXX_OneofWrappers() []interface{} {
return _CollateralizeAction_OneofMarshaler, _CollateralizeAction_OneofUnmarshaler, _CollateralizeAction_OneofSizer, []interface{}{ return []interface{}{
(*CollateralizeAction_Create)(nil), (*CollateralizeAction_Create)(nil),
(*CollateralizeAction_Borrow)(nil), (*CollateralizeAction_Borrow)(nil),
(*CollateralizeAction_Repay)(nil), (*CollateralizeAction_Repay)(nil),
...@@ -558,162 +528,6 @@ func (*CollateralizeAction) XXX_OneofFuncs() (func(msg proto.Message, b *proto.B ...@@ -558,162 +528,6 @@ func (*CollateralizeAction) XXX_OneofFuncs() (func(msg proto.Message, b *proto.B
} }
} }
func _CollateralizeAction_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*CollateralizeAction)
// value
switch x := m.Value.(type) {
case *CollateralizeAction_Create:
b.EncodeVarint(1<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.Create); err != nil {
return err
}
case *CollateralizeAction_Borrow:
b.EncodeVarint(2<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.Borrow); err != nil {
return err
}
case *CollateralizeAction_Repay:
b.EncodeVarint(3<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.Repay); err != nil {
return err
}
case *CollateralizeAction_Append:
b.EncodeVarint(4<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.Append); err != nil {
return err
}
case *CollateralizeAction_Feed:
b.EncodeVarint(5<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.Feed); err != nil {
return err
}
case *CollateralizeAction_Retrieve:
b.EncodeVarint(6<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.Retrieve); err != nil {
return err
}
case *CollateralizeAction_Manage:
b.EncodeVarint(7<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.Manage); err != nil {
return err
}
case nil:
default:
return fmt.Errorf("CollateralizeAction.Value has unexpected type %T", x)
}
return nil
}
func _CollateralizeAction_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*CollateralizeAction)
switch tag {
case 1: // value.create
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(CollateralizeCreate)
err := b.DecodeMessage(msg)
m.Value = &CollateralizeAction_Create{msg}
return true, err
case 2: // value.borrow
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(CollateralizeBorrow)
err := b.DecodeMessage(msg)
m.Value = &CollateralizeAction_Borrow{msg}
return true, err
case 3: // value.repay
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(CollateralizeRepay)
err := b.DecodeMessage(msg)
m.Value = &CollateralizeAction_Repay{msg}
return true, err
case 4: // value.append
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(CollateralizeAppend)
err := b.DecodeMessage(msg)
m.Value = &CollateralizeAction_Append{msg}
return true, err
case 5: // value.feed
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(CollateralizeFeed)
err := b.DecodeMessage(msg)
m.Value = &CollateralizeAction_Feed{msg}
return true, err
case 6: // value.retrieve
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(CollateralizeRetrieve)
err := b.DecodeMessage(msg)
m.Value = &CollateralizeAction_Retrieve{msg}
return true, err
case 7: // value.manage
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(CollateralizeManage)
err := b.DecodeMessage(msg)
m.Value = &CollateralizeAction_Manage{msg}
return true, err
default:
return false, nil
}
}
func _CollateralizeAction_OneofSizer(msg proto.Message) (n int) {
m := msg.(*CollateralizeAction)
// value
switch x := m.Value.(type) {
case *CollateralizeAction_Create:
s := proto.Size(x.Create)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *CollateralizeAction_Borrow:
s := proto.Size(x.Borrow)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *CollateralizeAction_Repay:
s := proto.Size(x.Repay)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *CollateralizeAction_Append:
s := proto.Size(x.Append)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *CollateralizeAction_Feed:
s := proto.Size(x.Feed)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *CollateralizeAction_Retrieve:
s := proto.Size(x.Retrieve)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *CollateralizeAction_Manage:
s := proto.Size(x.Manage)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
type CollateralizeManage struct { type CollateralizeManage struct {
DebtCeiling int64 `protobuf:"varint,1,opt,name=debtCeiling,proto3" json:"debtCeiling,omitempty"` DebtCeiling int64 `protobuf:"varint,1,opt,name=debtCeiling,proto3" json:"debtCeiling,omitempty"`
LiquidationRatio float64 `protobuf:"fixed64,2,opt,name=liquidationRatio,proto3" json:"liquidationRatio,omitempty"` LiquidationRatio float64 `protobuf:"fixed64,2,opt,name=liquidationRatio,proto3" json:"liquidationRatio,omitempty"`
...@@ -730,16 +544,17 @@ func (m *CollateralizeManage) Reset() { *m = CollateralizeManage{} } ...@@ -730,16 +544,17 @@ func (m *CollateralizeManage) Reset() { *m = CollateralizeManage{} }
func (m *CollateralizeManage) String() string { return proto.CompactTextString(m) } func (m *CollateralizeManage) String() string { return proto.CompactTextString(m) }
func (*CollateralizeManage) ProtoMessage() {} func (*CollateralizeManage) ProtoMessage() {}
func (*CollateralizeManage) Descriptor() ([]byte, []int) { func (*CollateralizeManage) Descriptor() ([]byte, []int) {
return fileDescriptor_collateralize_d6354d2222298552, []int{4} return fileDescriptor_a988fb4a61381972, []int{4}
} }
func (m *CollateralizeManage) XXX_Unmarshal(b []byte) error { func (m *CollateralizeManage) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CollateralizeManage.Unmarshal(m, b) return xxx_messageInfo_CollateralizeManage.Unmarshal(m, b)
} }
func (m *CollateralizeManage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *CollateralizeManage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CollateralizeManage.Marshal(b, m, deterministic) return xxx_messageInfo_CollateralizeManage.Marshal(b, m, deterministic)
} }
func (dst *CollateralizeManage) XXX_Merge(src proto.Message) { func (m *CollateralizeManage) XXX_Merge(src proto.Message) {
xxx_messageInfo_CollateralizeManage.Merge(dst, src) xxx_messageInfo_CollateralizeManage.Merge(m, src)
} }
func (m *CollateralizeManage) XXX_Size() int { func (m *CollateralizeManage) XXX_Size() int {
return xxx_messageInfo_CollateralizeManage.Size(m) return xxx_messageInfo_CollateralizeManage.Size(m)
...@@ -803,16 +618,17 @@ func (m *CollateralizeAddr) Reset() { *m = CollateralizeAddr{} } ...@@ -803,16 +618,17 @@ func (m *CollateralizeAddr) Reset() { *m = CollateralizeAddr{} }
func (m *CollateralizeAddr) String() string { return proto.CompactTextString(m) } func (m *CollateralizeAddr) String() string { return proto.CompactTextString(m) }
func (*CollateralizeAddr) ProtoMessage() {} func (*CollateralizeAddr) ProtoMessage() {}
func (*CollateralizeAddr) Descriptor() ([]byte, []int) { func (*CollateralizeAddr) Descriptor() ([]byte, []int) {
return fileDescriptor_collateralize_d6354d2222298552, []int{5} return fileDescriptor_a988fb4a61381972, []int{5}
} }
func (m *CollateralizeAddr) XXX_Unmarshal(b []byte) error { func (m *CollateralizeAddr) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CollateralizeAddr.Unmarshal(m, b) return xxx_messageInfo_CollateralizeAddr.Unmarshal(m, b)
} }
func (m *CollateralizeAddr) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *CollateralizeAddr) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CollateralizeAddr.Marshal(b, m, deterministic) return xxx_messageInfo_CollateralizeAddr.Marshal(b, m, deterministic)
} }
func (dst *CollateralizeAddr) XXX_Merge(src proto.Message) { func (m *CollateralizeAddr) XXX_Merge(src proto.Message) {
xxx_messageInfo_CollateralizeAddr.Merge(dst, src) xxx_messageInfo_CollateralizeAddr.Merge(m, src)
} }
func (m *CollateralizeAddr) XXX_Size() int { func (m *CollateralizeAddr) XXX_Size() int {
return xxx_messageInfo_CollateralizeAddr.Size(m) return xxx_messageInfo_CollateralizeAddr.Size(m)
...@@ -842,16 +658,17 @@ func (m *CollateralizeCreate) Reset() { *m = CollateralizeCreate{} } ...@@ -842,16 +658,17 @@ func (m *CollateralizeCreate) Reset() { *m = CollateralizeCreate{} }
func (m *CollateralizeCreate) String() string { return proto.CompactTextString(m) } func (m *CollateralizeCreate) String() string { return proto.CompactTextString(m) }
func (*CollateralizeCreate) ProtoMessage() {} func (*CollateralizeCreate) ProtoMessage() {}
func (*CollateralizeCreate) Descriptor() ([]byte, []int) { func (*CollateralizeCreate) Descriptor() ([]byte, []int) {
return fileDescriptor_collateralize_d6354d2222298552, []int{6} return fileDescriptor_a988fb4a61381972, []int{6}
} }
func (m *CollateralizeCreate) XXX_Unmarshal(b []byte) error { func (m *CollateralizeCreate) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CollateralizeCreate.Unmarshal(m, b) return xxx_messageInfo_CollateralizeCreate.Unmarshal(m, b)
} }
func (m *CollateralizeCreate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *CollateralizeCreate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CollateralizeCreate.Marshal(b, m, deterministic) return xxx_messageInfo_CollateralizeCreate.Marshal(b, m, deterministic)
} }
func (dst *CollateralizeCreate) XXX_Merge(src proto.Message) { func (m *CollateralizeCreate) XXX_Merge(src proto.Message) {
xxx_messageInfo_CollateralizeCreate.Merge(dst, src) xxx_messageInfo_CollateralizeCreate.Merge(m, src)
} }
func (m *CollateralizeCreate) XXX_Size() int { func (m *CollateralizeCreate) XXX_Size() int {
return xxx_messageInfo_CollateralizeCreate.Size(m) return xxx_messageInfo_CollateralizeCreate.Size(m)
...@@ -882,16 +699,17 @@ func (m *CollateralizeBorrow) Reset() { *m = CollateralizeBorrow{} } ...@@ -882,16 +699,17 @@ func (m *CollateralizeBorrow) Reset() { *m = CollateralizeBorrow{} }
func (m *CollateralizeBorrow) String() string { return proto.CompactTextString(m) } func (m *CollateralizeBorrow) String() string { return proto.CompactTextString(m) }
func (*CollateralizeBorrow) ProtoMessage() {} func (*CollateralizeBorrow) ProtoMessage() {}
func (*CollateralizeBorrow) Descriptor() ([]byte, []int) { func (*CollateralizeBorrow) Descriptor() ([]byte, []int) {
return fileDescriptor_collateralize_d6354d2222298552, []int{7} return fileDescriptor_a988fb4a61381972, []int{7}
} }
func (m *CollateralizeBorrow) XXX_Unmarshal(b []byte) error { func (m *CollateralizeBorrow) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CollateralizeBorrow.Unmarshal(m, b) return xxx_messageInfo_CollateralizeBorrow.Unmarshal(m, b)
} }
func (m *CollateralizeBorrow) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *CollateralizeBorrow) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CollateralizeBorrow.Marshal(b, m, deterministic) return xxx_messageInfo_CollateralizeBorrow.Marshal(b, m, deterministic)
} }
func (dst *CollateralizeBorrow) XXX_Merge(src proto.Message) { func (m *CollateralizeBorrow) XXX_Merge(src proto.Message) {
xxx_messageInfo_CollateralizeBorrow.Merge(dst, src) xxx_messageInfo_CollateralizeBorrow.Merge(m, src)
} }
func (m *CollateralizeBorrow) XXX_Size() int { func (m *CollateralizeBorrow) XXX_Size() int {
return xxx_messageInfo_CollateralizeBorrow.Size(m) return xxx_messageInfo_CollateralizeBorrow.Size(m)
...@@ -929,16 +747,17 @@ func (m *CollateralizeRepay) Reset() { *m = CollateralizeRepay{} } ...@@ -929,16 +747,17 @@ func (m *CollateralizeRepay) Reset() { *m = CollateralizeRepay{} }
func (m *CollateralizeRepay) String() string { return proto.CompactTextString(m) } func (m *CollateralizeRepay) String() string { return proto.CompactTextString(m) }
func (*CollateralizeRepay) ProtoMessage() {} func (*CollateralizeRepay) ProtoMessage() {}
func (*CollateralizeRepay) Descriptor() ([]byte, []int) { func (*CollateralizeRepay) Descriptor() ([]byte, []int) {
return fileDescriptor_collateralize_d6354d2222298552, []int{8} return fileDescriptor_a988fb4a61381972, []int{8}
} }
func (m *CollateralizeRepay) XXX_Unmarshal(b []byte) error { func (m *CollateralizeRepay) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CollateralizeRepay.Unmarshal(m, b) return xxx_messageInfo_CollateralizeRepay.Unmarshal(m, b)
} }
func (m *CollateralizeRepay) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *CollateralizeRepay) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CollateralizeRepay.Marshal(b, m, deterministic) return xxx_messageInfo_CollateralizeRepay.Marshal(b, m, deterministic)
} }
func (dst *CollateralizeRepay) XXX_Merge(src proto.Message) { func (m *CollateralizeRepay) XXX_Merge(src proto.Message) {
xxx_messageInfo_CollateralizeRepay.Merge(dst, src) xxx_messageInfo_CollateralizeRepay.Merge(m, src)
} }
func (m *CollateralizeRepay) XXX_Size() int { func (m *CollateralizeRepay) XXX_Size() int {
return xxx_messageInfo_CollateralizeRepay.Size(m) return xxx_messageInfo_CollateralizeRepay.Size(m)
...@@ -977,16 +796,17 @@ func (m *CollateralizeAppend) Reset() { *m = CollateralizeAppend{} } ...@@ -977,16 +796,17 @@ func (m *CollateralizeAppend) Reset() { *m = CollateralizeAppend{} }
func (m *CollateralizeAppend) String() string { return proto.CompactTextString(m) } func (m *CollateralizeAppend) String() string { return proto.CompactTextString(m) }
func (*CollateralizeAppend) ProtoMessage() {} func (*CollateralizeAppend) ProtoMessage() {}
func (*CollateralizeAppend) Descriptor() ([]byte, []int) { func (*CollateralizeAppend) Descriptor() ([]byte, []int) {
return fileDescriptor_collateralize_d6354d2222298552, []int{9} return fileDescriptor_a988fb4a61381972, []int{9}
} }
func (m *CollateralizeAppend) XXX_Unmarshal(b []byte) error { func (m *CollateralizeAppend) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CollateralizeAppend.Unmarshal(m, b) return xxx_messageInfo_CollateralizeAppend.Unmarshal(m, b)
} }
func (m *CollateralizeAppend) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *CollateralizeAppend) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CollateralizeAppend.Marshal(b, m, deterministic) return xxx_messageInfo_CollateralizeAppend.Marshal(b, m, deterministic)
} }
func (dst *CollateralizeAppend) XXX_Merge(src proto.Message) { func (m *CollateralizeAppend) XXX_Merge(src proto.Message) {
xxx_messageInfo_CollateralizeAppend.Merge(dst, src) xxx_messageInfo_CollateralizeAppend.Merge(m, src)
} }
func (m *CollateralizeAppend) XXX_Size() int { func (m *CollateralizeAppend) XXX_Size() int {
return xxx_messageInfo_CollateralizeAppend.Size(m) return xxx_messageInfo_CollateralizeAppend.Size(m)
...@@ -1032,16 +852,17 @@ func (m *CollateralizeFeed) Reset() { *m = CollateralizeFeed{} } ...@@ -1032,16 +852,17 @@ func (m *CollateralizeFeed) Reset() { *m = CollateralizeFeed{} }
func (m *CollateralizeFeed) String() string { return proto.CompactTextString(m) } func (m *CollateralizeFeed) String() string { return proto.CompactTextString(m) }
func (*CollateralizeFeed) ProtoMessage() {} func (*CollateralizeFeed) ProtoMessage() {}
func (*CollateralizeFeed) Descriptor() ([]byte, []int) { func (*CollateralizeFeed) Descriptor() ([]byte, []int) {
return fileDescriptor_collateralize_d6354d2222298552, []int{10} return fileDescriptor_a988fb4a61381972, []int{10}
} }
func (m *CollateralizeFeed) XXX_Unmarshal(b []byte) error { func (m *CollateralizeFeed) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CollateralizeFeed.Unmarshal(m, b) return xxx_messageInfo_CollateralizeFeed.Unmarshal(m, b)
} }
func (m *CollateralizeFeed) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *CollateralizeFeed) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CollateralizeFeed.Marshal(b, m, deterministic) return xxx_messageInfo_CollateralizeFeed.Marshal(b, m, deterministic)
} }
func (dst *CollateralizeFeed) XXX_Merge(src proto.Message) { func (m *CollateralizeFeed) XXX_Merge(src proto.Message) {
xxx_messageInfo_CollateralizeFeed.Merge(dst, src) xxx_messageInfo_CollateralizeFeed.Merge(m, src)
} }
func (m *CollateralizeFeed) XXX_Size() int { func (m *CollateralizeFeed) XXX_Size() int {
return xxx_messageInfo_CollateralizeFeed.Size(m) return xxx_messageInfo_CollateralizeFeed.Size(m)
...@@ -1086,16 +907,17 @@ func (m *CollateralizeRetrieve) Reset() { *m = CollateralizeRetrieve{} } ...@@ -1086,16 +907,17 @@ func (m *CollateralizeRetrieve) Reset() { *m = CollateralizeRetrieve{} }
func (m *CollateralizeRetrieve) String() string { return proto.CompactTextString(m) } func (m *CollateralizeRetrieve) String() string { return proto.CompactTextString(m) }
func (*CollateralizeRetrieve) ProtoMessage() {} func (*CollateralizeRetrieve) ProtoMessage() {}
func (*CollateralizeRetrieve) Descriptor() ([]byte, []int) { func (*CollateralizeRetrieve) Descriptor() ([]byte, []int) {
return fileDescriptor_collateralize_d6354d2222298552, []int{11} return fileDescriptor_a988fb4a61381972, []int{11}
} }
func (m *CollateralizeRetrieve) XXX_Unmarshal(b []byte) error { func (m *CollateralizeRetrieve) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CollateralizeRetrieve.Unmarshal(m, b) return xxx_messageInfo_CollateralizeRetrieve.Unmarshal(m, b)
} }
func (m *CollateralizeRetrieve) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *CollateralizeRetrieve) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CollateralizeRetrieve.Marshal(b, m, deterministic) return xxx_messageInfo_CollateralizeRetrieve.Marshal(b, m, deterministic)
} }
func (dst *CollateralizeRetrieve) XXX_Merge(src proto.Message) { func (m *CollateralizeRetrieve) XXX_Merge(src proto.Message) {
xxx_messageInfo_CollateralizeRetrieve.Merge(dst, src) xxx_messageInfo_CollateralizeRetrieve.Merge(m, src)
} }
func (m *CollateralizeRetrieve) XXX_Size() int { func (m *CollateralizeRetrieve) XXX_Size() int {
return xxx_messageInfo_CollateralizeRetrieve.Size(m) return xxx_messageInfo_CollateralizeRetrieve.Size(m)
...@@ -1123,13 +945,9 @@ func (m *CollateralizeRetrieve) GetBalance() int64 { ...@@ -1123,13 +945,9 @@ func (m *CollateralizeRetrieve) GetBalance() int64 {
// exec_local 放贷信息 // exec_local 放贷信息
type ReceiptCollateralize struct { type ReceiptCollateralize struct {
CollateralizeId string `protobuf:"bytes,1,opt,name=collateralizeId,proto3" json:"collateralizeId,omitempty"` CollateralizeId string `protobuf:"bytes,1,opt,name=collateralizeId,proto3" json:"collateralizeId,omitempty"`
CreateAddr string `protobuf:"bytes,2,opt,name=createAddr,proto3" json:"createAddr,omitempty"`
AccountAddr string `protobuf:"bytes,3,opt,name=accountAddr,proto3" json:"accountAddr,omitempty"` AccountAddr string `protobuf:"bytes,3,opt,name=accountAddr,proto3" json:"accountAddr,omitempty"`
RecordId string `protobuf:"bytes,4,opt,name=recordId,proto3" json:"recordId,omitempty"` RecordId string `protobuf:"bytes,4,opt,name=recordId,proto3" json:"recordId,omitempty"`
Status int32 `protobuf:"varint,5,opt,name=status,proto3" json:"status,omitempty"` Status int32 `protobuf:"varint,5,opt,name=status,proto3" json:"status,omitempty"`
PreStatus int32 `protobuf:"varint,6,opt,name=PreStatus,proto3" json:"PreStatus,omitempty"`
Index int64 `protobuf:"varint,7,opt,name=index,proto3" json:"index,omitempty"`
PreIndex int64 `protobuf:"varint,8,opt,name=preIndex,proto3" json:"preIndex,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
...@@ -1139,16 +957,17 @@ func (m *ReceiptCollateralize) Reset() { *m = ReceiptCollateralize{} } ...@@ -1139,16 +957,17 @@ func (m *ReceiptCollateralize) Reset() { *m = ReceiptCollateralize{} }
func (m *ReceiptCollateralize) String() string { return proto.CompactTextString(m) } func (m *ReceiptCollateralize) String() string { return proto.CompactTextString(m) }
func (*ReceiptCollateralize) ProtoMessage() {} func (*ReceiptCollateralize) ProtoMessage() {}
func (*ReceiptCollateralize) Descriptor() ([]byte, []int) { func (*ReceiptCollateralize) Descriptor() ([]byte, []int) {
return fileDescriptor_collateralize_d6354d2222298552, []int{12} return fileDescriptor_a988fb4a61381972, []int{12}
} }
func (m *ReceiptCollateralize) XXX_Unmarshal(b []byte) error { func (m *ReceiptCollateralize) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReceiptCollateralize.Unmarshal(m, b) return xxx_messageInfo_ReceiptCollateralize.Unmarshal(m, b)
} }
func (m *ReceiptCollateralize) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReceiptCollateralize) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReceiptCollateralize.Marshal(b, m, deterministic) return xxx_messageInfo_ReceiptCollateralize.Marshal(b, m, deterministic)
} }
func (dst *ReceiptCollateralize) XXX_Merge(src proto.Message) { func (m *ReceiptCollateralize) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReceiptCollateralize.Merge(dst, src) xxx_messageInfo_ReceiptCollateralize.Merge(m, src)
} }
func (m *ReceiptCollateralize) XXX_Size() int { func (m *ReceiptCollateralize) XXX_Size() int {
return xxx_messageInfo_ReceiptCollateralize.Size(m) return xxx_messageInfo_ReceiptCollateralize.Size(m)
...@@ -1166,13 +985,6 @@ func (m *ReceiptCollateralize) GetCollateralizeId() string { ...@@ -1166,13 +985,6 @@ func (m *ReceiptCollateralize) GetCollateralizeId() string {
return "" return ""
} }
func (m *ReceiptCollateralize) GetCreateAddr() string {
if m != nil {
return m.CreateAddr
}
return ""
}
func (m *ReceiptCollateralize) GetAccountAddr() string { func (m *ReceiptCollateralize) GetAccountAddr() string {
if m != nil { if m != nil {
return m.AccountAddr return m.AccountAddr
...@@ -1194,120 +1006,29 @@ func (m *ReceiptCollateralize) GetStatus() int32 { ...@@ -1194,120 +1006,29 @@ func (m *ReceiptCollateralize) GetStatus() int32 {
return 0 return 0
} }
func (m *ReceiptCollateralize) GetPreStatus() int32 {
if m != nil {
return m.PreStatus
}
return 0
}
func (m *ReceiptCollateralize) GetIndex() int64 {
if m != nil {
return m.Index
}
return 0
}
func (m *ReceiptCollateralize) GetPreIndex() int64 {
if m != nil {
return m.PreIndex
}
return 0
}
// exec_local 放贷记录信息
type CollateralizeRecord struct {
CollateralizeId string `protobuf:"bytes,1,opt,name=collateralizeId,proto3" json:"collateralizeId,omitempty"`
Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"`
RecordId string `protobuf:"bytes,3,opt,name=recordId,proto3" json:"recordId,omitempty"`
Status int32 `protobuf:"varint,4,opt,name=status,proto3" json:"status,omitempty"`
Index int64 `protobuf:"varint,5,opt,name=index,proto3" json:"index,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CollateralizeRecord) Reset() { *m = CollateralizeRecord{} }
func (m *CollateralizeRecord) String() string { return proto.CompactTextString(m) }
func (*CollateralizeRecord) ProtoMessage() {}
func (*CollateralizeRecord) Descriptor() ([]byte, []int) {
return fileDescriptor_collateralize_d6354d2222298552, []int{13}
}
func (m *CollateralizeRecord) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CollateralizeRecord.Unmarshal(m, b)
}
func (m *CollateralizeRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CollateralizeRecord.Marshal(b, m, deterministic)
}
func (dst *CollateralizeRecord) XXX_Merge(src proto.Message) {
xxx_messageInfo_CollateralizeRecord.Merge(dst, src)
}
func (m *CollateralizeRecord) XXX_Size() int {
return xxx_messageInfo_CollateralizeRecord.Size(m)
}
func (m *CollateralizeRecord) XXX_DiscardUnknown() {
xxx_messageInfo_CollateralizeRecord.DiscardUnknown(m)
}
var xxx_messageInfo_CollateralizeRecord proto.InternalMessageInfo
func (m *CollateralizeRecord) GetCollateralizeId() string {
if m != nil {
return m.CollateralizeId
}
return ""
}
func (m *CollateralizeRecord) GetAddr() string {
if m != nil {
return m.Addr
}
return ""
}
func (m *CollateralizeRecord) GetRecordId() string {
if m != nil {
return m.RecordId
}
return ""
}
func (m *CollateralizeRecord) GetStatus() int32 {
if m != nil {
return m.Status
}
return 0
}
func (m *CollateralizeRecord) GetIndex() int64 {
if m != nil {
return m.Index
}
return 0
}
// exec_local 放贷记录信息列表 // exec_local 放贷记录信息列表
type CollateralizeRecords struct { type CollateralizeRecords struct {
Records []*CollateralizeRecord `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"` Records []*ReceiptCollateralize `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
} }
func (m *CollateralizeRecords) Reset() { *m = CollateralizeRecords{} } func (m *CollateralizeRecords) Reset() { *m = CollateralizeRecords{} }
func (m *CollateralizeRecords) String() string { return proto.CompactTextString(m) } func (m *CollateralizeRecords) String() string { return proto.CompactTextString(m) }
func (*CollateralizeRecords) ProtoMessage() {} func (*CollateralizeRecords) ProtoMessage() {}
func (*CollateralizeRecords) Descriptor() ([]byte, []int) { func (*CollateralizeRecords) Descriptor() ([]byte, []int) {
return fileDescriptor_collateralize_d6354d2222298552, []int{14} return fileDescriptor_a988fb4a61381972, []int{13}
} }
func (m *CollateralizeRecords) XXX_Unmarshal(b []byte) error { func (m *CollateralizeRecords) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CollateralizeRecords.Unmarshal(m, b) return xxx_messageInfo_CollateralizeRecords.Unmarshal(m, b)
} }
func (m *CollateralizeRecords) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *CollateralizeRecords) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CollateralizeRecords.Marshal(b, m, deterministic) return xxx_messageInfo_CollateralizeRecords.Marshal(b, m, deterministic)
} }
func (dst *CollateralizeRecords) XXX_Merge(src proto.Message) { func (m *CollateralizeRecords) XXX_Merge(src proto.Message) {
xxx_messageInfo_CollateralizeRecords.Merge(dst, src) xxx_messageInfo_CollateralizeRecords.Merge(m, src)
} }
func (m *CollateralizeRecords) XXX_Size() int { func (m *CollateralizeRecords) XXX_Size() int {
return xxx_messageInfo_CollateralizeRecords.Size(m) return xxx_messageInfo_CollateralizeRecords.Size(m)
...@@ -1318,7 +1039,7 @@ func (m *CollateralizeRecords) XXX_DiscardUnknown() { ...@@ -1318,7 +1039,7 @@ func (m *CollateralizeRecords) XXX_DiscardUnknown() {
var xxx_messageInfo_CollateralizeRecords proto.InternalMessageInfo var xxx_messageInfo_CollateralizeRecords proto.InternalMessageInfo
func (m *CollateralizeRecords) GetRecords() []*CollateralizeRecord { func (m *CollateralizeRecords) GetRecords() []*ReceiptCollateralize {
if m != nil { if m != nil {
return m.Records return m.Records
} }
...@@ -1337,16 +1058,17 @@ func (m *ReqCollateralizeInfo) Reset() { *m = ReqCollateralizeInfo{} } ...@@ -1337,16 +1058,17 @@ func (m *ReqCollateralizeInfo) Reset() { *m = ReqCollateralizeInfo{} }
func (m *ReqCollateralizeInfo) String() string { return proto.CompactTextString(m) } func (m *ReqCollateralizeInfo) String() string { return proto.CompactTextString(m) }
func (*ReqCollateralizeInfo) ProtoMessage() {} func (*ReqCollateralizeInfo) ProtoMessage() {}
func (*ReqCollateralizeInfo) Descriptor() ([]byte, []int) { func (*ReqCollateralizeInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_collateralize_d6354d2222298552, []int{15} return fileDescriptor_a988fb4a61381972, []int{14}
} }
func (m *ReqCollateralizeInfo) XXX_Unmarshal(b []byte) error { func (m *ReqCollateralizeInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqCollateralizeInfo.Unmarshal(m, b) return xxx_messageInfo_ReqCollateralizeInfo.Unmarshal(m, b)
} }
func (m *ReqCollateralizeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqCollateralizeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqCollateralizeInfo.Marshal(b, m, deterministic) return xxx_messageInfo_ReqCollateralizeInfo.Marshal(b, m, deterministic)
} }
func (dst *ReqCollateralizeInfo) XXX_Merge(src proto.Message) { func (m *ReqCollateralizeInfo) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqCollateralizeInfo.Merge(dst, src) xxx_messageInfo_ReqCollateralizeInfo.Merge(m, src)
} }
func (m *ReqCollateralizeInfo) XXX_Size() int { func (m *ReqCollateralizeInfo) XXX_Size() int {
return xxx_messageInfo_ReqCollateralizeInfo.Size(m) return xxx_messageInfo_ReqCollateralizeInfo.Size(m)
...@@ -1386,16 +1108,17 @@ func (m *RepCollateralizeCurrentInfo) Reset() { *m = RepCollateralizeCur ...@@ -1386,16 +1108,17 @@ func (m *RepCollateralizeCurrentInfo) Reset() { *m = RepCollateralizeCur
func (m *RepCollateralizeCurrentInfo) String() string { return proto.CompactTextString(m) } func (m *RepCollateralizeCurrentInfo) String() string { return proto.CompactTextString(m) }
func (*RepCollateralizeCurrentInfo) ProtoMessage() {} func (*RepCollateralizeCurrentInfo) ProtoMessage() {}
func (*RepCollateralizeCurrentInfo) Descriptor() ([]byte, []int) { func (*RepCollateralizeCurrentInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_collateralize_d6354d2222298552, []int{16} return fileDescriptor_a988fb4a61381972, []int{15}
} }
func (m *RepCollateralizeCurrentInfo) XXX_Unmarshal(b []byte) error { func (m *RepCollateralizeCurrentInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RepCollateralizeCurrentInfo.Unmarshal(m, b) return xxx_messageInfo_RepCollateralizeCurrentInfo.Unmarshal(m, b)
} }
func (m *RepCollateralizeCurrentInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *RepCollateralizeCurrentInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RepCollateralizeCurrentInfo.Marshal(b, m, deterministic) return xxx_messageInfo_RepCollateralizeCurrentInfo.Marshal(b, m, deterministic)
} }
func (dst *RepCollateralizeCurrentInfo) XXX_Merge(src proto.Message) { func (m *RepCollateralizeCurrentInfo) XXX_Merge(src proto.Message) {
xxx_messageInfo_RepCollateralizeCurrentInfo.Merge(dst, src) xxx_messageInfo_RepCollateralizeCurrentInfo.Merge(m, src)
} }
func (m *RepCollateralizeCurrentInfo) XXX_Size() int { func (m *RepCollateralizeCurrentInfo) XXX_Size() int {
return xxx_messageInfo_RepCollateralizeCurrentInfo.Size(m) return xxx_messageInfo_RepCollateralizeCurrentInfo.Size(m)
...@@ -1495,16 +1218,17 @@ func (m *ReqCollateralizeInfos) Reset() { *m = ReqCollateralizeInfos{} } ...@@ -1495,16 +1218,17 @@ func (m *ReqCollateralizeInfos) Reset() { *m = ReqCollateralizeInfos{} }
func (m *ReqCollateralizeInfos) String() string { return proto.CompactTextString(m) } func (m *ReqCollateralizeInfos) String() string { return proto.CompactTextString(m) }
func (*ReqCollateralizeInfos) ProtoMessage() {} func (*ReqCollateralizeInfos) ProtoMessage() {}
func (*ReqCollateralizeInfos) Descriptor() ([]byte, []int) { func (*ReqCollateralizeInfos) Descriptor() ([]byte, []int) {
return fileDescriptor_collateralize_d6354d2222298552, []int{17} return fileDescriptor_a988fb4a61381972, []int{16}
} }
func (m *ReqCollateralizeInfos) XXX_Unmarshal(b []byte) error { func (m *ReqCollateralizeInfos) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqCollateralizeInfos.Unmarshal(m, b) return xxx_messageInfo_ReqCollateralizeInfos.Unmarshal(m, b)
} }
func (m *ReqCollateralizeInfos) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqCollateralizeInfos) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqCollateralizeInfos.Marshal(b, m, deterministic) return xxx_messageInfo_ReqCollateralizeInfos.Marshal(b, m, deterministic)
} }
func (dst *ReqCollateralizeInfos) XXX_Merge(src proto.Message) { func (m *ReqCollateralizeInfos) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqCollateralizeInfos.Merge(dst, src) xxx_messageInfo_ReqCollateralizeInfos.Merge(m, src)
} }
func (m *ReqCollateralizeInfos) XXX_Size() int { func (m *ReqCollateralizeInfos) XXX_Size() int {
return xxx_messageInfo_ReqCollateralizeInfos.Size(m) return xxx_messageInfo_ReqCollateralizeInfos.Size(m)
...@@ -1534,16 +1258,17 @@ func (m *RepCollateralizeCurrentInfos) Reset() { *m = RepCollateralizeCu ...@@ -1534,16 +1258,17 @@ func (m *RepCollateralizeCurrentInfos) Reset() { *m = RepCollateralizeCu
func (m *RepCollateralizeCurrentInfos) String() string { return proto.CompactTextString(m) } func (m *RepCollateralizeCurrentInfos) String() string { return proto.CompactTextString(m) }
func (*RepCollateralizeCurrentInfos) ProtoMessage() {} func (*RepCollateralizeCurrentInfos) ProtoMessage() {}
func (*RepCollateralizeCurrentInfos) Descriptor() ([]byte, []int) { func (*RepCollateralizeCurrentInfos) Descriptor() ([]byte, []int) {
return fileDescriptor_collateralize_d6354d2222298552, []int{18} return fileDescriptor_a988fb4a61381972, []int{17}
} }
func (m *RepCollateralizeCurrentInfos) XXX_Unmarshal(b []byte) error { func (m *RepCollateralizeCurrentInfos) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RepCollateralizeCurrentInfos.Unmarshal(m, b) return xxx_messageInfo_RepCollateralizeCurrentInfos.Unmarshal(m, b)
} }
func (m *RepCollateralizeCurrentInfos) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *RepCollateralizeCurrentInfos) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RepCollateralizeCurrentInfos.Marshal(b, m, deterministic) return xxx_messageInfo_RepCollateralizeCurrentInfos.Marshal(b, m, deterministic)
} }
func (dst *RepCollateralizeCurrentInfos) XXX_Merge(src proto.Message) { func (m *RepCollateralizeCurrentInfos) XXX_Merge(src proto.Message) {
xxx_messageInfo_RepCollateralizeCurrentInfos.Merge(dst, src) xxx_messageInfo_RepCollateralizeCurrentInfos.Merge(m, src)
} }
func (m *RepCollateralizeCurrentInfos) XXX_Size() int { func (m *RepCollateralizeCurrentInfos) XXX_Size() int {
return xxx_messageInfo_RepCollateralizeCurrentInfos.Size(m) return xxx_messageInfo_RepCollateralizeCurrentInfos.Size(m)
...@@ -1564,7 +1289,7 @@ func (m *RepCollateralizeCurrentInfos) GetInfos() []*RepCollateralizeCurrentInfo ...@@ -1564,7 +1289,7 @@ func (m *RepCollateralizeCurrentInfos) GetInfos() []*RepCollateralizeCurrentInfo
// 根据放贷状态查询 // 根据放贷状态查询
type ReqCollateralizeByStatus struct { type ReqCollateralizeByStatus struct {
Status int32 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"` Status int32 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"`
Index int64 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"` CollID string `protobuf:"bytes,2,opt,name=collID,proto3" json:"collID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
...@@ -1574,16 +1299,17 @@ func (m *ReqCollateralizeByStatus) Reset() { *m = ReqCollateralizeByStat ...@@ -1574,16 +1299,17 @@ func (m *ReqCollateralizeByStatus) Reset() { *m = ReqCollateralizeByStat
func (m *ReqCollateralizeByStatus) String() string { return proto.CompactTextString(m) } func (m *ReqCollateralizeByStatus) String() string { return proto.CompactTextString(m) }
func (*ReqCollateralizeByStatus) ProtoMessage() {} func (*ReqCollateralizeByStatus) ProtoMessage() {}
func (*ReqCollateralizeByStatus) Descriptor() ([]byte, []int) { func (*ReqCollateralizeByStatus) Descriptor() ([]byte, []int) {
return fileDescriptor_collateralize_d6354d2222298552, []int{19} return fileDescriptor_a988fb4a61381972, []int{18}
} }
func (m *ReqCollateralizeByStatus) XXX_Unmarshal(b []byte) error { func (m *ReqCollateralizeByStatus) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqCollateralizeByStatus.Unmarshal(m, b) return xxx_messageInfo_ReqCollateralizeByStatus.Unmarshal(m, b)
} }
func (m *ReqCollateralizeByStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqCollateralizeByStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqCollateralizeByStatus.Marshal(b, m, deterministic) return xxx_messageInfo_ReqCollateralizeByStatus.Marshal(b, m, deterministic)
} }
func (dst *ReqCollateralizeByStatus) XXX_Merge(src proto.Message) { func (m *ReqCollateralizeByStatus) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqCollateralizeByStatus.Merge(dst, src) xxx_messageInfo_ReqCollateralizeByStatus.Merge(m, src)
} }
func (m *ReqCollateralizeByStatus) XXX_Size() int { func (m *ReqCollateralizeByStatus) XXX_Size() int {
return xxx_messageInfo_ReqCollateralizeByStatus.Size(m) return xxx_messageInfo_ReqCollateralizeByStatus.Size(m)
...@@ -1601,18 +1327,18 @@ func (m *ReqCollateralizeByStatus) GetStatus() int32 { ...@@ -1601,18 +1327,18 @@ func (m *ReqCollateralizeByStatus) GetStatus() int32 {
return 0 return 0
} }
func (m *ReqCollateralizeByStatus) GetIndex() int64 { func (m *ReqCollateralizeByStatus) GetCollID() string {
if m != nil { if m != nil {
return m.Index return m.CollID
} }
return 0 return ""
} }
// 根据用户地址查询 // 根据用户地址查询
type ReqCollateralizeByAddr struct { type ReqCollateralizeByAddr struct {
Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"` Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"`
Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"` Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"`
Index int64 `protobuf:"varint,3,opt,name=index,proto3" json:"index,omitempty"` CollID string `protobuf:"bytes,3,opt,name=collID,proto3" json:"collID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
...@@ -1622,16 +1348,17 @@ func (m *ReqCollateralizeByAddr) Reset() { *m = ReqCollateralizeByAddr{} ...@@ -1622,16 +1348,17 @@ func (m *ReqCollateralizeByAddr) Reset() { *m = ReqCollateralizeByAddr{}
func (m *ReqCollateralizeByAddr) String() string { return proto.CompactTextString(m) } func (m *ReqCollateralizeByAddr) String() string { return proto.CompactTextString(m) }
func (*ReqCollateralizeByAddr) ProtoMessage() {} func (*ReqCollateralizeByAddr) ProtoMessage() {}
func (*ReqCollateralizeByAddr) Descriptor() ([]byte, []int) { func (*ReqCollateralizeByAddr) Descriptor() ([]byte, []int) {
return fileDescriptor_collateralize_d6354d2222298552, []int{20} return fileDescriptor_a988fb4a61381972, []int{19}
} }
func (m *ReqCollateralizeByAddr) XXX_Unmarshal(b []byte) error { func (m *ReqCollateralizeByAddr) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqCollateralizeByAddr.Unmarshal(m, b) return xxx_messageInfo_ReqCollateralizeByAddr.Unmarshal(m, b)
} }
func (m *ReqCollateralizeByAddr) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqCollateralizeByAddr) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqCollateralizeByAddr.Marshal(b, m, deterministic) return xxx_messageInfo_ReqCollateralizeByAddr.Marshal(b, m, deterministic)
} }
func (dst *ReqCollateralizeByAddr) XXX_Merge(src proto.Message) { func (m *ReqCollateralizeByAddr) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqCollateralizeByAddr.Merge(dst, src) xxx_messageInfo_ReqCollateralizeByAddr.Merge(m, src)
} }
func (m *ReqCollateralizeByAddr) XXX_Size() int { func (m *ReqCollateralizeByAddr) XXX_Size() int {
return xxx_messageInfo_ReqCollateralizeByAddr.Size(m) return xxx_messageInfo_ReqCollateralizeByAddr.Size(m)
...@@ -1656,11 +1383,11 @@ func (m *ReqCollateralizeByAddr) GetStatus() int32 { ...@@ -1656,11 +1383,11 @@ func (m *ReqCollateralizeByAddr) GetStatus() int32 {
return 0 return 0
} }
func (m *ReqCollateralizeByAddr) GetIndex() int64 { func (m *ReqCollateralizeByAddr) GetCollID() string {
if m != nil { if m != nil {
return m.Index return m.CollID
} }
return 0 return ""
} }
// 返回放贷ID列表 // 返回放贷ID列表
...@@ -1675,16 +1402,17 @@ func (m *RepCollateralizeIDs) Reset() { *m = RepCollateralizeIDs{} } ...@@ -1675,16 +1402,17 @@ func (m *RepCollateralizeIDs) Reset() { *m = RepCollateralizeIDs{} }
func (m *RepCollateralizeIDs) String() string { return proto.CompactTextString(m) } func (m *RepCollateralizeIDs) String() string { return proto.CompactTextString(m) }
func (*RepCollateralizeIDs) ProtoMessage() {} func (*RepCollateralizeIDs) ProtoMessage() {}
func (*RepCollateralizeIDs) Descriptor() ([]byte, []int) { func (*RepCollateralizeIDs) Descriptor() ([]byte, []int) {
return fileDescriptor_collateralize_d6354d2222298552, []int{21} return fileDescriptor_a988fb4a61381972, []int{20}
} }
func (m *RepCollateralizeIDs) XXX_Unmarshal(b []byte) error { func (m *RepCollateralizeIDs) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RepCollateralizeIDs.Unmarshal(m, b) return xxx_messageInfo_RepCollateralizeIDs.Unmarshal(m, b)
} }
func (m *RepCollateralizeIDs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *RepCollateralizeIDs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RepCollateralizeIDs.Marshal(b, m, deterministic) return xxx_messageInfo_RepCollateralizeIDs.Marshal(b, m, deterministic)
} }
func (dst *RepCollateralizeIDs) XXX_Merge(src proto.Message) { func (m *RepCollateralizeIDs) XXX_Merge(src proto.Message) {
xxx_messageInfo_RepCollateralizeIDs.Merge(dst, src) xxx_messageInfo_RepCollateralizeIDs.Merge(m, src)
} }
func (m *RepCollateralizeIDs) XXX_Size() int { func (m *RepCollateralizeIDs) XXX_Size() int {
return xxx_messageInfo_RepCollateralizeIDs.Size(m) return xxx_messageInfo_RepCollateralizeIDs.Size(m)
...@@ -1707,7 +1435,7 @@ type ReqCollateralizeRecordByAddr struct { ...@@ -1707,7 +1435,7 @@ type ReqCollateralizeRecordByAddr struct {
CollateralizeId string `protobuf:"bytes,1,opt,name=collateralizeId,proto3" json:"collateralizeId,omitempty"` CollateralizeId string `protobuf:"bytes,1,opt,name=collateralizeId,proto3" json:"collateralizeId,omitempty"`
Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"` Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"`
Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status,omitempty"` Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status,omitempty"`
Index int64 `protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"` RecordId string `protobuf:"bytes,4,opt,name=recordId,proto3" json:"recordId,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
...@@ -1717,16 +1445,17 @@ func (m *ReqCollateralizeRecordByAddr) Reset() { *m = ReqCollateralizeRe ...@@ -1717,16 +1445,17 @@ func (m *ReqCollateralizeRecordByAddr) Reset() { *m = ReqCollateralizeRe
func (m *ReqCollateralizeRecordByAddr) String() string { return proto.CompactTextString(m) } func (m *ReqCollateralizeRecordByAddr) String() string { return proto.CompactTextString(m) }
func (*ReqCollateralizeRecordByAddr) ProtoMessage() {} func (*ReqCollateralizeRecordByAddr) ProtoMessage() {}
func (*ReqCollateralizeRecordByAddr) Descriptor() ([]byte, []int) { func (*ReqCollateralizeRecordByAddr) Descriptor() ([]byte, []int) {
return fileDescriptor_collateralize_d6354d2222298552, []int{22} return fileDescriptor_a988fb4a61381972, []int{21}
} }
func (m *ReqCollateralizeRecordByAddr) XXX_Unmarshal(b []byte) error { func (m *ReqCollateralizeRecordByAddr) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqCollateralizeRecordByAddr.Unmarshal(m, b) return xxx_messageInfo_ReqCollateralizeRecordByAddr.Unmarshal(m, b)
} }
func (m *ReqCollateralizeRecordByAddr) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqCollateralizeRecordByAddr) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqCollateralizeRecordByAddr.Marshal(b, m, deterministic) return xxx_messageInfo_ReqCollateralizeRecordByAddr.Marshal(b, m, deterministic)
} }
func (dst *ReqCollateralizeRecordByAddr) XXX_Merge(src proto.Message) { func (m *ReqCollateralizeRecordByAddr) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqCollateralizeRecordByAddr.Merge(dst, src) xxx_messageInfo_ReqCollateralizeRecordByAddr.Merge(m, src)
} }
func (m *ReqCollateralizeRecordByAddr) XXX_Size() int { func (m *ReqCollateralizeRecordByAddr) XXX_Size() int {
return xxx_messageInfo_ReqCollateralizeRecordByAddr.Size(m) return xxx_messageInfo_ReqCollateralizeRecordByAddr.Size(m)
...@@ -1758,18 +1487,18 @@ func (m *ReqCollateralizeRecordByAddr) GetStatus() int32 { ...@@ -1758,18 +1487,18 @@ func (m *ReqCollateralizeRecordByAddr) GetStatus() int32 {
return 0 return 0
} }
func (m *ReqCollateralizeRecordByAddr) GetIndex() int64 { func (m *ReqCollateralizeRecordByAddr) GetRecordId() string {
if m != nil { if m != nil {
return m.Index return m.RecordId
} }
return 0 return ""
} }
// 根据状态和借贷ID混合查询具体借贷记录 // 根据状态和借贷ID混合查询具体借贷记录
type ReqCollateralizeRecordByStatus struct { type ReqCollateralizeRecordByStatus struct {
CollateralizeId string `protobuf:"bytes,1,opt,name=collateralizeId,proto3" json:"collateralizeId,omitempty"` CollateralizeId string `protobuf:"bytes,1,opt,name=collateralizeId,proto3" json:"collateralizeId,omitempty"`
Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"` Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"`
Index int64 `protobuf:"varint,3,opt,name=index,proto3" json:"index,omitempty"` RecordId string `protobuf:"bytes,3,opt,name=recordId,proto3" json:"recordId,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
...@@ -1779,16 +1508,17 @@ func (m *ReqCollateralizeRecordByStatus) Reset() { *m = ReqCollateralize ...@@ -1779,16 +1508,17 @@ func (m *ReqCollateralizeRecordByStatus) Reset() { *m = ReqCollateralize
func (m *ReqCollateralizeRecordByStatus) String() string { return proto.CompactTextString(m) } func (m *ReqCollateralizeRecordByStatus) String() string { return proto.CompactTextString(m) }
func (*ReqCollateralizeRecordByStatus) ProtoMessage() {} func (*ReqCollateralizeRecordByStatus) ProtoMessage() {}
func (*ReqCollateralizeRecordByStatus) Descriptor() ([]byte, []int) { func (*ReqCollateralizeRecordByStatus) Descriptor() ([]byte, []int) {
return fileDescriptor_collateralize_d6354d2222298552, []int{23} return fileDescriptor_a988fb4a61381972, []int{22}
} }
func (m *ReqCollateralizeRecordByStatus) XXX_Unmarshal(b []byte) error { func (m *ReqCollateralizeRecordByStatus) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqCollateralizeRecordByStatus.Unmarshal(m, b) return xxx_messageInfo_ReqCollateralizeRecordByStatus.Unmarshal(m, b)
} }
func (m *ReqCollateralizeRecordByStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqCollateralizeRecordByStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqCollateralizeRecordByStatus.Marshal(b, m, deterministic) return xxx_messageInfo_ReqCollateralizeRecordByStatus.Marshal(b, m, deterministic)
} }
func (dst *ReqCollateralizeRecordByStatus) XXX_Merge(src proto.Message) { func (m *ReqCollateralizeRecordByStatus) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqCollateralizeRecordByStatus.Merge(dst, src) xxx_messageInfo_ReqCollateralizeRecordByStatus.Merge(m, src)
} }
func (m *ReqCollateralizeRecordByStatus) XXX_Size() int { func (m *ReqCollateralizeRecordByStatus) XXX_Size() int {
return xxx_messageInfo_ReqCollateralizeRecordByStatus.Size(m) return xxx_messageInfo_ReqCollateralizeRecordByStatus.Size(m)
...@@ -1813,11 +1543,11 @@ func (m *ReqCollateralizeRecordByStatus) GetStatus() int32 { ...@@ -1813,11 +1543,11 @@ func (m *ReqCollateralizeRecordByStatus) GetStatus() int32 {
return 0 return 0
} }
func (m *ReqCollateralizeRecordByStatus) GetIndex() int64 { func (m *ReqCollateralizeRecordByStatus) GetRecordId() string {
if m != nil { if m != nil {
return m.Index return m.RecordId
} }
return 0 return ""
} }
// 返回借贷记录 // 返回借贷记录
...@@ -1832,16 +1562,17 @@ func (m *RepCollateralizeRecords) Reset() { *m = RepCollateralizeRecords ...@@ -1832,16 +1562,17 @@ func (m *RepCollateralizeRecords) Reset() { *m = RepCollateralizeRecords
func (m *RepCollateralizeRecords) String() string { return proto.CompactTextString(m) } func (m *RepCollateralizeRecords) String() string { return proto.CompactTextString(m) }
func (*RepCollateralizeRecords) ProtoMessage() {} func (*RepCollateralizeRecords) ProtoMessage() {}
func (*RepCollateralizeRecords) Descriptor() ([]byte, []int) { func (*RepCollateralizeRecords) Descriptor() ([]byte, []int) {
return fileDescriptor_collateralize_d6354d2222298552, []int{24} return fileDescriptor_a988fb4a61381972, []int{23}
} }
func (m *RepCollateralizeRecords) XXX_Unmarshal(b []byte) error { func (m *RepCollateralizeRecords) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RepCollateralizeRecords.Unmarshal(m, b) return xxx_messageInfo_RepCollateralizeRecords.Unmarshal(m, b)
} }
func (m *RepCollateralizeRecords) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *RepCollateralizeRecords) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RepCollateralizeRecords.Marshal(b, m, deterministic) return xxx_messageInfo_RepCollateralizeRecords.Marshal(b, m, deterministic)
} }
func (dst *RepCollateralizeRecords) XXX_Merge(src proto.Message) { func (m *RepCollateralizeRecords) XXX_Merge(src proto.Message) {
xxx_messageInfo_RepCollateralizeRecords.Merge(dst, src) xxx_messageInfo_RepCollateralizeRecords.Merge(m, src)
} }
func (m *RepCollateralizeRecords) XXX_Size() int { func (m *RepCollateralizeRecords) XXX_Size() int {
return xxx_messageInfo_RepCollateralizeRecords.Size(m) return xxx_messageInfo_RepCollateralizeRecords.Size(m)
...@@ -1872,16 +1603,17 @@ func (m *ReqCollateralizeRecord) Reset() { *m = ReqCollateralizeRecord{} ...@@ -1872,16 +1603,17 @@ func (m *ReqCollateralizeRecord) Reset() { *m = ReqCollateralizeRecord{}
func (m *ReqCollateralizeRecord) String() string { return proto.CompactTextString(m) } func (m *ReqCollateralizeRecord) String() string { return proto.CompactTextString(m) }
func (*ReqCollateralizeRecord) ProtoMessage() {} func (*ReqCollateralizeRecord) ProtoMessage() {}
func (*ReqCollateralizeRecord) Descriptor() ([]byte, []int) { func (*ReqCollateralizeRecord) Descriptor() ([]byte, []int) {
return fileDescriptor_collateralize_d6354d2222298552, []int{25} return fileDescriptor_a988fb4a61381972, []int{24}
} }
func (m *ReqCollateralizeRecord) XXX_Unmarshal(b []byte) error { func (m *ReqCollateralizeRecord) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqCollateralizeRecord.Unmarshal(m, b) return xxx_messageInfo_ReqCollateralizeRecord.Unmarshal(m, b)
} }
func (m *ReqCollateralizeRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqCollateralizeRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqCollateralizeRecord.Marshal(b, m, deterministic) return xxx_messageInfo_ReqCollateralizeRecord.Marshal(b, m, deterministic)
} }
func (dst *ReqCollateralizeRecord) XXX_Merge(src proto.Message) { func (m *ReqCollateralizeRecord) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqCollateralizeRecord.Merge(dst, src) xxx_messageInfo_ReqCollateralizeRecord.Merge(m, src)
} }
func (m *ReqCollateralizeRecord) XXX_Size() int { func (m *ReqCollateralizeRecord) XXX_Size() int {
return xxx_messageInfo_ReqCollateralizeRecord.Size(m) return xxx_messageInfo_ReqCollateralizeRecord.Size(m)
...@@ -1918,16 +1650,17 @@ func (m *RepCollateralizeRecord) Reset() { *m = RepCollateralizeRecord{} ...@@ -1918,16 +1650,17 @@ func (m *RepCollateralizeRecord) Reset() { *m = RepCollateralizeRecord{}
func (m *RepCollateralizeRecord) String() string { return proto.CompactTextString(m) } func (m *RepCollateralizeRecord) String() string { return proto.CompactTextString(m) }
func (*RepCollateralizeRecord) ProtoMessage() {} func (*RepCollateralizeRecord) ProtoMessage() {}
func (*RepCollateralizeRecord) Descriptor() ([]byte, []int) { func (*RepCollateralizeRecord) Descriptor() ([]byte, []int) {
return fileDescriptor_collateralize_d6354d2222298552, []int{26} return fileDescriptor_a988fb4a61381972, []int{25}
} }
func (m *RepCollateralizeRecord) XXX_Unmarshal(b []byte) error { func (m *RepCollateralizeRecord) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RepCollateralizeRecord.Unmarshal(m, b) return xxx_messageInfo_RepCollateralizeRecord.Unmarshal(m, b)
} }
func (m *RepCollateralizeRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *RepCollateralizeRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RepCollateralizeRecord.Marshal(b, m, deterministic) return xxx_messageInfo_RepCollateralizeRecord.Marshal(b, m, deterministic)
} }
func (dst *RepCollateralizeRecord) XXX_Merge(src proto.Message) { func (m *RepCollateralizeRecord) XXX_Merge(src proto.Message) {
xxx_messageInfo_RepCollateralizeRecord.Merge(dst, src) xxx_messageInfo_RepCollateralizeRecord.Merge(m, src)
} }
func (m *RepCollateralizeRecord) XXX_Size() int { func (m *RepCollateralizeRecord) XXX_Size() int {
return xxx_messageInfo_RepCollateralizeRecord.Size(m) return xxx_messageInfo_RepCollateralizeRecord.Size(m)
...@@ -1963,16 +1696,17 @@ func (m *RepCollateralizeConfig) Reset() { *m = RepCollateralizeConfig{} ...@@ -1963,16 +1696,17 @@ func (m *RepCollateralizeConfig) Reset() { *m = RepCollateralizeConfig{}
func (m *RepCollateralizeConfig) String() string { return proto.CompactTextString(m) } func (m *RepCollateralizeConfig) String() string { return proto.CompactTextString(m) }
func (*RepCollateralizeConfig) ProtoMessage() {} func (*RepCollateralizeConfig) ProtoMessage() {}
func (*RepCollateralizeConfig) Descriptor() ([]byte, []int) { func (*RepCollateralizeConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_collateralize_d6354d2222298552, []int{27} return fileDescriptor_a988fb4a61381972, []int{26}
} }
func (m *RepCollateralizeConfig) XXX_Unmarshal(b []byte) error { func (m *RepCollateralizeConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RepCollateralizeConfig.Unmarshal(m, b) return xxx_messageInfo_RepCollateralizeConfig.Unmarshal(m, b)
} }
func (m *RepCollateralizeConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *RepCollateralizeConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RepCollateralizeConfig.Marshal(b, m, deterministic) return xxx_messageInfo_RepCollateralizeConfig.Marshal(b, m, deterministic)
} }
func (dst *RepCollateralizeConfig) XXX_Merge(src proto.Message) { func (m *RepCollateralizeConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_RepCollateralizeConfig.Merge(dst, src) xxx_messageInfo_RepCollateralizeConfig.Merge(m, src)
} }
func (m *RepCollateralizeConfig) XXX_Size() int { func (m *RepCollateralizeConfig) XXX_Size() int {
return xxx_messageInfo_RepCollateralizeConfig.Size(m) return xxx_messageInfo_RepCollateralizeConfig.Size(m)
...@@ -2044,16 +1778,17 @@ func (m *RepCollateralizePrice) Reset() { *m = RepCollateralizePrice{} } ...@@ -2044,16 +1778,17 @@ func (m *RepCollateralizePrice) Reset() { *m = RepCollateralizePrice{} }
func (m *RepCollateralizePrice) String() string { return proto.CompactTextString(m) } func (m *RepCollateralizePrice) String() string { return proto.CompactTextString(m) }
func (*RepCollateralizePrice) ProtoMessage() {} func (*RepCollateralizePrice) ProtoMessage() {}
func (*RepCollateralizePrice) Descriptor() ([]byte, []int) { func (*RepCollateralizePrice) Descriptor() ([]byte, []int) {
return fileDescriptor_collateralize_d6354d2222298552, []int{28} return fileDescriptor_a988fb4a61381972, []int{27}
} }
func (m *RepCollateralizePrice) XXX_Unmarshal(b []byte) error { func (m *RepCollateralizePrice) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RepCollateralizePrice.Unmarshal(m, b) return xxx_messageInfo_RepCollateralizePrice.Unmarshal(m, b)
} }
func (m *RepCollateralizePrice) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *RepCollateralizePrice) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RepCollateralizePrice.Marshal(b, m, deterministic) return xxx_messageInfo_RepCollateralizePrice.Marshal(b, m, deterministic)
} }
func (dst *RepCollateralizePrice) XXX_Merge(src proto.Message) { func (m *RepCollateralizePrice) XXX_Merge(src proto.Message) {
xxx_messageInfo_RepCollateralizePrice.Merge(dst, src) xxx_messageInfo_RepCollateralizePrice.Merge(m, src)
} }
func (m *RepCollateralizePrice) XXX_Size() int { func (m *RepCollateralizePrice) XXX_Size() int {
return xxx_messageInfo_RepCollateralizePrice.Size(m) return xxx_messageInfo_RepCollateralizePrice.Size(m)
...@@ -2085,7 +1820,6 @@ func init() { ...@@ -2085,7 +1820,6 @@ func init() {
proto.RegisterType((*CollateralizeFeed)(nil), "types.CollateralizeFeed") proto.RegisterType((*CollateralizeFeed)(nil), "types.CollateralizeFeed")
proto.RegisterType((*CollateralizeRetrieve)(nil), "types.CollateralizeRetrieve") proto.RegisterType((*CollateralizeRetrieve)(nil), "types.CollateralizeRetrieve")
proto.RegisterType((*ReceiptCollateralize)(nil), "types.ReceiptCollateralize") proto.RegisterType((*ReceiptCollateralize)(nil), "types.ReceiptCollateralize")
proto.RegisterType((*CollateralizeRecord)(nil), "types.CollateralizeRecord")
proto.RegisterType((*CollateralizeRecords)(nil), "types.CollateralizeRecords") proto.RegisterType((*CollateralizeRecords)(nil), "types.CollateralizeRecords")
proto.RegisterType((*ReqCollateralizeInfo)(nil), "types.ReqCollateralizeInfo") proto.RegisterType((*ReqCollateralizeInfo)(nil), "types.ReqCollateralizeInfo")
proto.RegisterType((*RepCollateralizeCurrentInfo)(nil), "types.RepCollateralizeCurrentInfo") proto.RegisterType((*RepCollateralizeCurrentInfo)(nil), "types.RepCollateralizeCurrentInfo")
...@@ -2103,88 +1837,84 @@ func init() { ...@@ -2103,88 +1837,84 @@ func init() {
proto.RegisterType((*RepCollateralizePrice)(nil), "types.RepCollateralizePrice") proto.RegisterType((*RepCollateralizePrice)(nil), "types.RepCollateralizePrice")
} }
func init() { proto.RegisterFile("collateralize.proto", fileDescriptor_collateralize_d6354d2222298552) } func init() { proto.RegisterFile("collateralize.proto", fileDescriptor_a988fb4a61381972) }
var fileDescriptor_collateralize_d6354d2222298552 = []byte{ var fileDescriptor_a988fb4a61381972 = []byte{
// 1273 bytes of a gzipped FileDescriptorProto // 1203 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x58, 0xdd, 0x6e, 0xdc, 0x44, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x58, 0x4d, 0x6f, 0xe4, 0x44,
0x14, 0xae, 0xed, 0xf5, 0x6e, 0xf6, 0x6c, 0x92, 0xa6, 0x93, 0x34, 0x98, 0x10, 0x45, 0xab, 0x11, 0x13, 0x8e, 0xc7, 0xf3, 0x91, 0xa9, 0x49, 0xb2, 0xd9, 0x4e, 0x36, 0xaf, 0xdf, 0xdd, 0x28, 0x1a,
0x12, 0x2b, 0xa0, 0x91, 0x48, 0x2b, 0x44, 0xe1, 0x86, 0x24, 0x6d, 0x95, 0x95, 0x8a, 0x54, 0x99, 0xb5, 0x90, 0x18, 0x01, 0x1b, 0x89, 0x2c, 0x20, 0x16, 0x2e, 0xe4, 0x63, 0x57, 0x19, 0xc4, 0x4a,
0x82, 0x50, 0x11, 0x48, 0x5e, 0x7b, 0x12, 0x2c, 0x39, 0xb6, 0x63, 0xcf, 0x86, 0x2c, 0xf7, 0xf4, 0xc8, 0x2c, 0x08, 0xf1, 0x25, 0x79, 0xec, 0x4e, 0xb0, 0xe4, 0x8c, 0x1d, 0xbb, 0x27, 0x30, 0x1c,
0x02, 0x71, 0xc3, 0x03, 0x70, 0xc9, 0x2d, 0xcf, 0xc4, 0x1b, 0xf0, 0x0a, 0x68, 0x7e, 0xfc, 0x33, 0xb8, 0xc1, 0x89, 0x03, 0x27, 0xfe, 0x01, 0x57, 0xfe, 0x12, 0x3f, 0x81, 0xbf, 0x80, 0xaa, 0xbb,
0x63, 0x3b, 0xda, 0x05, 0x6e, 0xe0, 0x26, 0xda, 0x39, 0xf3, 0xcd, 0x99, 0xf3, 0xf3, 0xcd, 0x39, 0xfd, 0xd1, 0x6d, 0x7b, 0x35, 0x41, 0x7b, 0x81, 0x4b, 0xe4, 0xae, 0x7e, 0xba, 0xfa, 0xe9, 0xaa,
0xc7, 0x81, 0x6d, 0x3f, 0x89, 0x22, 0x8f, 0x92, 0xcc, 0x8b, 0xc2, 0x1f, 0xc8, 0x61, 0x9a, 0x25, 0xea, 0xa7, 0x2b, 0x03, 0x3b, 0x7e, 0x1c, 0x45, 0x1e, 0x67, 0xa9, 0x17, 0x85, 0x3f, 0xb0, 0xc3,
0x34, 0x41, 0x36, 0x5d, 0xa4, 0x24, 0xc7, 0xbf, 0xd8, 0xb0, 0x71, 0x5a, 0xdf, 0x46, 0x13, 0xb8, 0x24, 0x8d, 0x79, 0x4c, 0x7a, 0x7c, 0x99, 0xb0, 0x8c, 0xfe, 0xd9, 0x85, 0xcd, 0xd3, 0xea, 0x34,
0xab, 0xe0, 0xa7, 0x81, 0x63, 0x8c, 0x8d, 0xc9, 0xd0, 0xd5, 0xc5, 0x08, 0xc3, 0x3a, 0x4d, 0xa8, 0x99, 0xc0, 0x1d, 0x0d, 0x3f, 0x0d, 0x1c, 0x6b, 0x6c, 0x4d, 0x86, 0xae, 0x69, 0x26, 0x14, 0x36,
0x17, 0x9d, 0x78, 0x91, 0x17, 0xfb, 0xc4, 0x31, 0xc7, 0xc6, 0xc4, 0x72, 0x15, 0x19, 0x1a, 0xc3, 0x78, 0xcc, 0xbd, 0xe8, 0xc4, 0x8b, 0xbc, 0xb9, 0xcf, 0x9c, 0xce, 0xd8, 0x9a, 0xd8, 0xae, 0x66,
0x28, 0x20, 0x33, 0x7a, 0x4a, 0xc2, 0x28, 0x8c, 0x2f, 0x1c, 0x8b, 0x43, 0xea, 0x22, 0xf4, 0x2e, 0x23, 0x63, 0x18, 0x05, 0x6c, 0xc6, 0x4f, 0x59, 0x18, 0x85, 0xf3, 0x4b, 0xc7, 0x16, 0x90, 0xaa,
0x6c, 0x45, 0xe1, 0xd5, 0x3c, 0x0c, 0x3c, 0x1a, 0x26, 0xb1, 0xcb, 0xfe, 0x3a, 0xbd, 0xb1, 0x31, 0x89, 0xbc, 0x06, 0xdb, 0x51, 0x78, 0xbd, 0x08, 0x03, 0x8f, 0x87, 0xf1, 0xdc, 0xc5, 0xbf, 0x4e,
0x31, 0xdc, 0x86, 0x1c, 0xbd, 0x0f, 0xf7, 0x72, 0xea, 0xcd, 0xc2, 0x28, 0xa4, 0x8b, 0x67, 0x84, 0x77, 0x6c, 0x4d, 0x2c, 0xb7, 0x66, 0x27, 0x6f, 0xc0, 0xdd, 0x8c, 0x7b, 0xb3, 0x30, 0x0a, 0xf9,
0x08, 0xb0, 0xcd, 0xc1, 0xcd, 0x0d, 0x74, 0x00, 0xe0, 0x67, 0xc4, 0xa3, 0xe4, 0x38, 0x08, 0x32, 0xf2, 0x29, 0x63, 0x12, 0xdc, 0x13, 0xe0, 0xfa, 0x04, 0x39, 0x00, 0xf0, 0x53, 0xe6, 0x71, 0x76,
0xa7, 0xcf, 0x9d, 0xa8, 0x49, 0x90, 0x03, 0x83, 0x99, 0x34, 0x7d, 0xc0, 0xed, 0x2a, 0x96, 0xe8, 0x1c, 0x04, 0xa9, 0xd3, 0x17, 0x87, 0xa8, 0x58, 0x88, 0x03, 0x83, 0x99, 0xa2, 0x3e, 0x10, 0xbc,
0x31, 0x6c, 0xcc, 0x92, 0x2c, 0x4b, 0xbe, 0x77, 0x89, 0x9f, 0x64, 0x41, 0xee, 0xac, 0x8d, 0xad, 0xf2, 0x21, 0x79, 0x0c, 0x9b, 0xb3, 0x38, 0x4d, 0xe3, 0xef, 0x5c, 0xe6, 0xc7, 0x69, 0x90, 0x39,
0xc9, 0xe8, 0x68, 0xfb, 0x90, 0x07, 0xed, 0xf0, 0xa4, 0xb6, 0xe7, 0xaa, 0x48, 0xf4, 0x09, 0x6c, 0xeb, 0x63, 0x7b, 0x32, 0x3a, 0xda, 0x39, 0x14, 0x41, 0x3b, 0x3c, 0xa9, 0xcc, 0xb9, 0x3a, 0x92,
0x4e, 0xe3, 0x6b, 0x2f, 0x0a, 0x83, 0xe2, 0xec, 0xb0, 0xfb, 0xac, 0x06, 0x45, 0xbb, 0xd0, 0xcf, 0xbc, 0x0f, 0x5b, 0xd3, 0xf9, 0x8d, 0x17, 0x85, 0x41, 0xbe, 0x76, 0xd8, 0xbe, 0xd6, 0x80, 0x92,
0xa9, 0x47, 0xe7, 0xb9, 0x03, 0x63, 0x63, 0x62, 0xbb, 0x72, 0x85, 0x3e, 0x84, 0x5d, 0x16, 0xf9, 0x3d, 0xe8, 0x67, 0xdc, 0xe3, 0x8b, 0xcc, 0x81, 0xb1, 0x35, 0xe9, 0xb9, 0x6a, 0x44, 0xde, 0x81,
0x9c, 0x3e, 0xaf, 0x22, 0xf2, 0x22, 0x0b, 0x7d, 0xe2, 0x8c, 0xb8, 0xf3, 0x1d, 0xbb, 0x4c, 0x5f, 0x3d, 0x8c, 0x7c, 0xc6, 0x3f, 0x2a, 0x23, 0xf2, 0x71, 0x1a, 0xfa, 0xcc, 0x19, 0x89, 0xc3, 0xb7,
0x4a, 0xb2, 0x30, 0x09, 0x9c, 0x75, 0xee, 0xa0, 0x5c, 0xf1, 0x98, 0xf3, 0x13, 0x4f, 0x6f, 0xd2, 0xcc, 0xa2, 0xbf, 0x84, 0xa5, 0x61, 0x1c, 0x38, 0x1b, 0xe2, 0x80, 0x6a, 0x24, 0x62, 0x2e, 0x56,
0x30, 0x23, 0x2f, 0xc3, 0x4b, 0xe2, 0x6c, 0x70, 0x44, 0x43, 0x8e, 0x76, 0xc0, 0x0e, 0xe3, 0x80, 0x3c, 0xf9, 0x3e, 0x09, 0x53, 0xf6, 0x3c, 0xbc, 0x62, 0xce, 0xa6, 0x40, 0xd4, 0xec, 0x98, 0x41,
0xdc, 0x38, 0x9b, 0x1c, 0x20, 0x16, 0x68, 0x0f, 0xd6, 0xd2, 0x8c, 0x4c, 0xf9, 0xc6, 0x5d, 0xbe, 0x4c, 0x7c, 0x9e, 0xe4, 0x2d, 0x99, 0xc1, 0x8a, 0x89, 0xec, 0xc3, 0x30, 0x49, 0xd9, 0x27, 0x92,
0x51, 0xae, 0x59, 0xce, 0x19, 0x55, 0x0a, 0x5a, 0x6c, 0x89, 0x9c, 0xd7, 0x44, 0x68, 0x1f, 0x86, 0xf8, 0x1d, 0x41, 0xbc, 0x34, 0xd0, 0x3f, 0x6c, 0xd8, 0xa8, 0x1e, 0x1a, 0x1d, 0x7a, 0xbe, 0x1f,
0x69, 0x46, 0x3e, 0x17, 0xae, 0xde, 0xe3, 0xae, 0x56, 0x02, 0xfc, 0x87, 0x05, 0xeb, 0xf5, 0x30, 0x2f, 0xe6, 0x5c, 0xe4, 0x45, 0x16, 0x57, 0xd5, 0x84, 0x0e, 0x33, 0xee, 0xa5, 0x5c, 0xf0, 0x92,
0x31, 0x85, 0x9e, 0xef, 0x27, 0xf3, 0x98, 0xf2, 0x4c, 0x0a, 0x3a, 0xd6, 0x45, 0x4c, 0x61, 0x4e, 0x55, 0x55, 0x1a, 0xf4, 0x02, 0xfd, 0xcc, 0x8b, 0x16, 0x4c, 0x95, 0x95, 0x69, 0xd6, 0x91, 0x32,
0xbd, 0x8c, 0x72, 0x4f, 0x04, 0x0f, 0x2b, 0x81, 0x4a, 0xe9, 0x2f, 0xbd, 0x68, 0x4e, 0x24, 0x11, 0x5e, 0xb2, 0xb2, 0x4c, 0x33, 0xee, 0x88, 0x35, 0x29, 0xbd, 0xf5, 0xe4, 0x8e, 0x85, 0xc1, 0x28,
0x75, 0xb1, 0x8a, 0x14, 0x11, 0x16, 0x5c, 0xd4, 0xc5, 0xec, 0x46, 0xc6, 0x62, 0xa1, 0xcd, 0x16, 0x51, 0xe9, 0xa8, 0x5f, 0x2b, 0xd1, 0x22, 0xe4, 0x2a, 0x85, 0x03, 0x2d, 0x85, 0xaf, 0xc0, 0x66,
0x37, 0x96, 0x02, 0x8d, 0xd4, 0x42, 0x51, 0xbf, 0x41, 0xea, 0x32, 0x49, 0x32, 0xe9, 0x03, 0x25, 0x8e, 0x95, 0xf1, 0x5e, 0x17, 0xbb, 0xe8, 0x46, 0x2c, 0x59, 0x56, 0xa6, 0x64, 0x28, 0x20, 0x15,
0xe9, 0x6f, 0xc3, 0x46, 0x81, 0x15, 0x19, 0x5a, 0xe3, 0xb7, 0xa8, 0x42, 0x46, 0x72, 0x52, 0x25, 0x8b, 0x1e, 0x6a, 0x30, 0x42, 0x4d, 0xee, 0xc3, 0x7a, 0x2a, 0x62, 0x3c, 0x0d, 0x44, 0x61, 0x0c,
0x71, 0xc8, 0x21, 0x35, 0x89, 0x1a, 0x6a, 0xd0, 0x42, 0xcd, 0xd2, 0x98, 0xf1, 0x18, 0x4f, 0x03, 0xdd, 0x62, 0xdc, 0x74, 0xad, 0x37, 0x1a, 0xaf, 0x35, 0xfd, 0xd9, 0x82, 0xed, 0xe3, 0x2c, 0x63,
0x4e, 0xa5, 0xa1, 0x5b, 0xae, 0xdb, 0x0a, 0xc1, 0x7a, 0x7b, 0x21, 0x28, 0x29, 0xb2, 0xd1, 0x45, 0x5c, 0x1c, 0x48, 0x25, 0xed, 0x00, 0x40, 0xba, 0x12, 0xc4, 0x2c, 0x49, 0xac, 0xb4, 0xe0, 0xd6,
0x91, 0x4d, 0x95, 0x22, 0xf8, 0xb5, 0x01, 0x5b, 0xc7, 0x79, 0x4e, 0x28, 0x0f, 0x81, 0x4c, 0xf3, 0x33, 0xbe, 0x94, 0xa1, 0xe9, 0x88, 0xd0, 0x14, 0x63, 0x39, 0xe7, 0xcb, 0x39, 0x3b, 0x9f, 0xf3,
0x01, 0x80, 0xb8, 0x9c, 0xbb, 0x62, 0x08, 0x57, 0x2a, 0x09, 0x53, 0x38, 0xa3, 0x0b, 0x11, 0x4c, 0x8b, 0x39, 0xc6, 0xbf, 0xad, 0xe6, 0xa6, 0x18, 0xd3, 0xdf, 0x6d, 0xd8, 0xd1, 0xb4, 0xe9, 0xd8,
0x93, 0x07, 0xb3, 0x5c, 0x8b, 0x3d, 0x5f, 0xec, 0x59, 0xc5, 0x9e, 0x5f, 0xee, 0x11, 0xfa, 0x5d, 0xc7, 0x38, 0x93, 0xb7, 0xa0, 0x2f, 0x6f, 0xb1, 0xe0, 0x31, 0x3a, 0xba, 0xaf, 0xae, 0x96, 0x86,
0x3d, 0x9b, 0xe5, 0x1a, 0xff, 0x66, 0xc1, 0xb6, 0x52, 0xff, 0x8e, 0x7d, 0x96, 0x19, 0xf4, 0x08, 0x3d, 0x15, 0x88, 0xf3, 0x35, 0x57, 0x61, 0x71, 0x95, 0xbc, 0xa9, 0x82, 0x5f, 0xcb, 0x2a, 0x59,
0xfa, 0xa2, 0x52, 0x70, 0x3b, 0x46, 0x47, 0x7b, 0xf2, 0xf9, 0x2a, 0xd8, 0x53, 0x8e, 0x38, 0xbb, 0xa8, 0xb8, 0x4a, 0x62, 0xc9, 0x9b, 0xd0, 0x4b, 0x59, 0xe2, 0x2d, 0x05, 0xf1, 0xd1, 0xd1, 0xff,
0xe3, 0x4a, 0x2c, 0x3b, 0x25, 0xaa, 0x01, 0xb7, 0xaf, 0xe3, 0x94, 0xa0, 0x36, 0x3b, 0x25, 0xb0, 0x9b, 0x16, 0xb9, 0x08, 0x38, 0x5f, 0x73, 0x25, 0x12, 0x37, 0xf2, 0x92, 0x84, 0xcd, 0x03, 0x71,
0xe8, 0x03, 0xb0, 0x33, 0x92, 0x7a, 0x0b, 0x6e, 0xf8, 0xe8, 0xe8, 0xcd, 0xb6, 0x43, 0x2e, 0x03, 0xa0, 0x96, 0x8d, 0x8e, 0x05, 0x02, 0x37, 0x92, 0x58, 0x72, 0x08, 0xdd, 0x0b, 0xc6, 0x02, 0x51,
0x9c, 0xdd, 0x71, 0x05, 0x92, 0x5d, 0xe4, 0xa5, 0x29, 0x89, 0x03, 0xee, 0x50, 0xc7, 0x45, 0xc7, 0x7c, 0xa3, 0x23, 0xa7, 0x69, 0xcd, 0x53, 0xc6, 0x70, 0x85, 0xc0, 0x91, 0xf7, 0x30, 0xd7, 0x3c,
0x1c, 0xc1, 0x2e, 0x12, 0x58, 0x74, 0x08, 0xbd, 0x73, 0x42, 0x02, 0x4e, 0xd7, 0xd1, 0x91, 0xd3, 0x0d, 0xd9, 0x8d, 0xac, 0xc5, 0xd1, 0xd1, 0x7e, 0x33, 0x37, 0x89, 0x39, 0x5f, 0x73, 0x0b, 0x3c,
0x76, 0xe6, 0x19, 0x21, 0xec, 0x04, 0xc7, 0xa1, 0x8f, 0x19, 0x3b, 0x68, 0x16, 0x92, 0x6b, 0xc1, 0x32, 0xbc, 0xf2, 0xe6, 0xde, 0xa5, 0xd4, 0xbd, 0x16, 0x86, 0xcf, 0x04, 0x02, 0x19, 0x4a, 0x2c,
0xde, 0xd1, 0xd1, 0x7e, 0xbb, 0x6d, 0x02, 0x73, 0x76, 0xc7, 0x2d, 0xf1, 0xcc, 0xc2, 0x4b, 0x2f, 0xd9, 0x82, 0x0e, 0x5f, 0xaa, 0xa2, 0xeb, 0xf0, 0xe5, 0xc9, 0x00, 0x7a, 0x37, 0x78, 0x3d, 0xe8,
0xf6, 0x2e, 0x44, 0x6d, 0xed, 0xb0, 0xf0, 0x33, 0x8e, 0x60, 0x16, 0x0a, 0x2c, 0xda, 0x04, 0x93, 0x5f, 0x96, 0x91, 0x27, 0xb9, 0xd4, 0xd4, 0x7e, 0x6b, 0x35, 0xed, 0xef, 0xdc, 0x46, 0xfb, 0xed,
0x2e, 0x24, 0x4d, 0x4d, 0xba, 0x38, 0x19, 0x80, 0x7d, 0xcd, 0x1e, 0x14, 0xfe, 0xd3, 0xd0, 0xf2, 0x36, 0xed, 0x2f, 0x95, 0xaf, 0xab, 0x29, 0x9f, 0xf9, 0x66, 0xf5, 0x9a, 0xdf, 0x2c, 0x7f, 0x91,
0x24, 0x8e, 0xea, 0xfd, 0xc5, 0x58, 0xae, 0xbf, 0x98, 0xab, 0xf4, 0x17, 0xab, 0xab, 0xbf, 0x54, 0xa6, 0x6c, 0x2e, 0x05, 0xa8, 0xaf, 0x14, 0xaf, 0x34, 0xd1, 0x47, 0x70, 0x57, 0xcf, 0x26, 0xaa,
0xd5, 0xb5, 0xa7, 0x54, 0x57, 0xbd, 0x2f, 0xda, 0xed, 0x7d, 0xd1, 0x9f, 0x67, 0x19, 0x89, 0x45, 0xd6, 0x01, 0x40, 0xb6, 0x48, 0x58, 0x8a, 0x83, 0xcc, 0xb1, 0xc6, 0x36, 0x3e, 0x37, 0xa5, 0x85,
0xc9, 0xea, 0xcb, 0x1a, 0x59, 0x89, 0xf0, 0x43, 0xb8, 0xa7, 0x66, 0x93, 0xd5, 0xb9, 0x03, 0x80, 0x3e, 0x36, 0xa2, 0x24, 0x2b, 0xb4, 0xc6, 0xc8, 0xaa, 0x33, 0xa2, 0x9f, 0x1a, 0x4b, 0x65, 0x99,
0x7c, 0x9e, 0x92, 0x8c, 0x2d, 0x72, 0xc7, 0x18, 0x5b, 0xac, 0xa5, 0x55, 0x12, 0xfc, 0x58, 0x8b, 0xde, 0xe2, 0xa9, 0xde, 0x55, 0xb9, 0x52, 0x6a, 0xaa, 0x12, 0xf7, 0x05, 0x90, 0x7a, 0x21, 0xdf,
0x92, 0x60, 0x68, 0xc3, 0x22, 0xa3, 0x69, 0x11, 0xfe, 0x42, 0x3b, 0x2a, 0x68, 0xba, 0xc2, 0x38, 0xc2, 0x6b, 0x55, 0x6f, 0x3a, 0xba, 0xde, 0xd0, 0x9f, 0xcc, 0xa2, 0x90, 0x15, 0xff, 0x72, 0xbc,
0xb0, 0x23, 0x73, 0x25, 0xeb, 0xaf, 0x4c, 0xdc, 0x2b, 0x40, 0x4d, 0x22, 0xaf, 0xa0, 0xb5, 0x5e, 0xaf, 0xfe, 0x06, 0xd0, 0xaf, 0x8d, 0x54, 0xe1, 0x25, 0x42, 0xd7, 0x88, 0x7b, 0xbe, 0x4c, 0x64,
0xa1, 0x4c, 0xb5, 0x42, 0xe1, 0x1f, 0x75, 0x52, 0x08, 0xc6, 0xff, 0x3b, 0xda, 0x97, 0xef, 0x1a, 0xbc, 0x7b, 0x6e, 0x31, 0xc6, 0x50, 0x25, 0x4a, 0xc6, 0xec, 0x89, 0xe5, 0xca, 0x01, 0xd6, 0xd3,
0xf8, 0x1b, 0x2d, 0x55, 0xec, 0x11, 0x31, 0xd5, 0x0c, 0xf7, 0x72, 0x91, 0x8a, 0x78, 0xdb, 0x6e, 0x4d, 0x1c, 0x2d, 0xae, 0x70, 0x1f, 0x1b, 0xeb, 0x49, 0x8e, 0xe8, 0x97, 0x70, 0xaf, 0xf1, 0xbe,
0xb9, 0x66, 0xa1, 0x4a, 0x65, 0x19, 0xb3, 0x26, 0x86, 0x2b, 0x16, 0x8c, 0x4f, 0xd7, 0x49, 0x34, 0xdd, 0xe2, 0x9c, 0x95, 0x36, 0xa4, 0xa3, 0xb5, 0x21, 0xf4, 0x37, 0x0b, 0x76, 0x5d, 0xe6, 0xb3,
0xbf, 0x64, 0xf7, 0x58, 0x8c, 0x4f, 0x62, 0x85, 0xbf, 0x86, 0xfb, 0xad, 0xef, 0x6d, 0x05, 0x3f, 0x30, 0xe1, 0xff, 0xb4, 0x47, 0x33, 0x1e, 0x5b, 0xbb, 0xfe, 0xd8, 0x56, 0xc3, 0xdc, 0x35, 0xc2,
0x6b, 0xa3, 0x8e, 0xa9, 0x8c, 0x3a, 0xf8, 0xb5, 0x09, 0x3b, 0x2e, 0xf1, 0x49, 0x98, 0xd2, 0xbf, 0x5c, 0x3e, 0x66, 0xbd, 0xea, 0x63, 0x46, 0x9f, 0xc1, 0xae, 0x71, 0x6a, 0xd9, 0xbf, 0xbc, 0x0d,
0x3b, 0x07, 0xaa, 0x73, 0x96, 0xd9, 0x98, 0xb3, 0xb4, 0xf6, 0x6d, 0x35, 0xdb, 0x77, 0x3d, 0x0d, 0x83, 0x54, 0x75, 0x3d, 0x96, 0xe8, 0x7a, 0x1e, 0x28, 0x65, 0x69, 0x3a, 0x85, 0x9b, 0x63, 0xe9,
0x3d, 0x2d, 0x0d, 0x55, 0x7b, 0xb4, 0x95, 0xf6, 0xb8, 0x0f, 0xc3, 0x17, 0x65, 0x63, 0xeb, 0x8b, 0x07, 0x78, 0xcc, 0x6b, 0x6d, 0x72, 0x3a, 0xbf, 0x88, 0x57, 0x3f, 0x26, 0x36, 0x19, 0x0f, 0x5c,
0xc6, 0x56, 0x0a, 0xaa, 0x96, 0x34, 0xe8, 0x6a, 0x49, 0x6b, 0x5a, 0x4b, 0xfa, 0x55, 0x27, 0x93, 0x96, 0xe8, 0xf7, 0x4b, 0x5e, 0x58, 0xe1, 0xa9, 0x3c, 0x88, 0xa5, 0xbd, 0xca, 0xff, 0xdd, 0x16,
0xec, 0x4a, 0xcb, 0xc7, 0x01, 0x41, 0xcf, 0xab, 0x22, 0xc0, 0x7f, 0x2b, 0x9e, 0x59, 0x9d, 0x9e, 0xb6, 0x14, 0xc0, 0x75, 0x4d, 0x00, 0x1b, 0x62, 0x3a, 0x6c, 0x2d, 0x9d, 0x6a, 0xe3, 0x07, 0xf5,
0xf5, 0x14, 0xcf, 0x4a, 0xdb, 0xed, 0x9a, 0xed, 0xf8, 0x39, 0xec, 0xb4, 0x98, 0x97, 0xa3, 0x47, 0xc6, 0xaf, 0xd6, 0x26, 0x8f, 0x56, 0x6d, 0x93, 0xe9, 0x29, 0xdc, 0x6b, 0x4a, 0x79, 0x86, 0xb1,
0x30, 0xc8, 0xe4, 0xa4, 0x69, 0xf0, 0x49, 0x73, 0xaf, 0xbd, 0x46, 0xf3, 0x81, 0xb3, 0x80, 0xe2, 0x34, 0x88, 0xe4, 0x5a, 0x5a, 0xb3, 0xd3, 0xcf, 0x61, 0xff, 0x05, 0x49, 0xcf, 0xc8, 0xbb, 0xd0,
0x4f, 0x59, 0xd6, 0xaf, 0x14, 0xc8, 0x34, 0x3e, 0x4f, 0x96, 0xf7, 0x16, 0xff, 0x6e, 0xc1, 0x5b, 0x0b, 0xf1, 0x43, 0x15, 0x23, 0x2d, 0x8a, 0xb1, 0x75, 0x8d, 0x2b, 0x17, 0xd0, 0x0f, 0xc1, 0x31,
0x2e, 0x49, 0xd5, 0x72, 0x23, 0xea, 0x17, 0xd7, 0x54, 0x79, 0x67, 0x28, 0xde, 0xfd, 0x7f, 0xbf, 0xe9, 0x9d, 0x2c, 0x55, 0x97, 0xd5, 0x56, 0x4b, 0x7b, 0xd0, 0x47, 0x86, 0xd3, 0x33, 0xa5, 0x56,
0x1a, 0xaa, 0x7e, 0xb0, 0xa6, 0xf4, 0x83, 0x96, 0x98, 0x0e, 0xdb, 0x19, 0xa4, 0x4d, 0xce, 0xd0, 0x6a, 0x44, 0xbf, 0x82, 0xbd, 0xba, 0x2f, 0x91, 0x3d, 0x02, 0x5d, 0xaf, 0x6c, 0x81, 0xc5, 0x77,
0x9c, 0x9c, 0x1b, 0x5f, 0x26, 0xa3, 0x65, 0xbf, 0x4c, 0xf0, 0x29, 0xdc, 0x6f, 0x4b, 0x79, 0xce, 0xc5, 0x7b, 0xa7, 0xc5, 0xbb, 0xad, 0x79, 0x7f, 0x15, 0x76, 0xcc, 0xf3, 0x4c, 0xcf, 0x32, 0xb2,
0x62, 0xa9, 0x19, 0x52, 0xb4, 0x96, 0x86, 0x1c, 0x7f, 0x05, 0xfb, 0xb7, 0x24, 0x3d, 0x47, 0x1f, 0x0d, 0xf6, 0xf4, 0x2c, 0x8f, 0x1c, 0x7e, 0xd2, 0x5f, 0x2d, 0x8c, 0xd6, 0x75, 0xc3, 0xbd, 0x55,
0x31, 0xee, 0x9e, 0x27, 0x05, 0x17, 0xb1, 0xb4, 0xeb, 0x96, 0x33, 0xae, 0x38, 0x80, 0xcf, 0xc0, 0x6c, 0x56, 0x17, 0x95, 0x9c, 0x77, 0xa7, 0x91, 0xb7, 0xad, 0xf1, 0x7e, 0x81, 0xbc, 0xd0, 0x1f,
0xd1, 0xcd, 0x3b, 0x59, 0xc8, 0xd7, 0xdc, 0xc5, 0xa5, 0xf2, 0xa5, 0x98, 0xf5, 0x97, 0xf2, 0x0a, 0xe1, 0xa0, 0x8d, 0x91, 0x8a, 0xf5, 0xea, 0x9c, 0xda, 0xe2, 0x56, 0xdd, 0xdf, 0x36, 0xf6, 0x3f,
0x76, 0x9b, 0x9a, 0x78, 0xee, 0x8a, 0x17, 0x6a, 0xd4, 0x5e, 0x68, 0xa5, 0xdb, 0x6c, 0xd7, 0x6d, 0x87, 0xff, 0x99, 0xb1, 0xcb, 0x95, 0xec, 0xa1, 0xa9, 0x64, 0x8d, 0x45, 0x5d, 0x28, 0xd8, 0x37,
0xd5, 0x75, 0xbf, 0x03, 0xdb, 0xba, 0x2f, 0xd3, 0x27, 0x39, 0xda, 0x02, 0x6b, 0xfa, 0xa4, 0x88, 0xf5, 0x1c, 0xab, 0xc6, 0xf9, 0xe5, 0xbc, 0xa6, 0x4f, 0xd0, 0x7f, 0x13, 0x53, 0xf2, 0x3a, 0xf4,
0x1a, 0xfb, 0x89, 0x7f, 0x32, 0x58, 0xa4, 0xae, 0x5a, 0x1e, 0xa1, 0xb4, 0xe5, 0x9f, 0xd5, 0x95, 0x25, 0x4a, 0x35, 0xc3, 0x8d, 0x3c, 0x15, 0x84, 0xfe, 0xd2, 0xa9, 0xfb, 0x39, 0x8d, 0xe7, 0x17,
0xca, 0x6a, 0xab, 0xdd, 0xea, 0x5e, 0xdd, 0xea, 0x1b, 0x38, 0xe8, 0xb2, 0x45, 0x46, 0x78, 0x79, 0xe1, 0xe5, 0xbf, 0xb6, 0x59, 0xab, 0x28, 0x60, 0x5f, 0x57, 0x40, 0xa3, 0x8d, 0x1b, 0xd4, 0xdb,
0x6b, 0x56, 0x8b, 0xd7, 0x19, 0xbc, 0xa1, 0xc7, 0xab, 0x28, 0x5c, 0x0f, 0xf4, 0xc2, 0xd5, 0x4a, 0xb8, 0x87, 0x28, 0x42, 0x7a, 0x34, 0xe4, 0x7f, 0x25, 0x45, 0x0f, 0x60, 0x09, 0xca, 0x72, 0x30,
0xe2, 0xb2, 0x62, 0x7d, 0xdb, 0xcc, 0xea, 0xca, 0x15, 0xfa, 0xb6, 0x61, 0xe2, 0x29, 0xd3, 0xdf, 0xeb, 0x8b, 0x5f, 0x4e, 0x1e, 0xfd, 0x1d, 0x00, 0x00, 0xff, 0xff, 0xf5, 0xbb, 0xef, 0x9f, 0x50,
0x66, 0x29, 0x7a, 0x0f, 0xfa, 0x02, 0x25, 0xbf, 0x05, 0x5a, 0xed, 0x94, 0x10, 0xfc, 0xb3, 0xd9, 0x11, 0x00, 0x00,
0xd4, 0x73, 0x9a, 0xc4, 0xe7, 0xe1, 0xc5, 0x7f, 0x76, 0x56, 0xad, 0x55, 0xbc, 0xbe, 0x5a, 0xf1,
0xb4, 0x29, 0x76, 0xd0, 0x9c, 0x62, 0x1f, 0xb0, 0xa2, 0xa3, 0x46, 0x43, 0x7c, 0x94, 0x95, 0x23,
0x90, 0xc1, 0x4d, 0x16, 0x8b, 0x59, 0x9f, 0xff, 0x73, 0xea, 0xe1, 0x5f, 0x01, 0x00, 0x00, 0xff,
0xff, 0x4f, 0x51, 0xb1, 0x22, 0xb3, 0x12, 0x00, 0x00,
} }
package types
import (
"fmt"
"github.com/33cn/chain33/common/db"
"github.com/33cn/chain33/common/db/table"
"github.com/33cn/chain33/types"
)
var opt = &table.Option{
Prefix: "LODB-collateralize",
Name: "coller",
Primary: "collateralizeid",
Index: []string{"status", "addr", "addr_status"},
}
//NewTable 新建表
func NewCollateralizeTable(kvdb db.KV) *table.Table {
rowmeta := NewCollatetalizeRow()
table, err := table.NewTable(rowmeta, kvdb, opt)
if err != nil {
panic(err)
}
return table
}
//CollatetalizeRow table meta 结构
type CollatetalizeRow struct {
*ReceiptCollateralize
}
//NewIssuanceRow 新建一个meta 结构
func NewCollatetalizeRow() *CollatetalizeRow {
return &CollatetalizeRow{ReceiptCollateralize: &ReceiptCollateralize{}}
}
//CreateRow 新建数据行
func (tx *CollatetalizeRow) CreateRow() *table.Row {
return &table.Row{Data: &ReceiptCollateralize{}}
}
//SetPayload 设置数据
func (tx *CollatetalizeRow) SetPayload(data types.Message) error {
if txdata, ok := data.(*ReceiptCollateralize); ok {
tx.ReceiptCollateralize = txdata
return nil
}
return types.ErrTypeAsset
}
//Get 按照indexName 查询 indexValue
func (tx *CollatetalizeRow) Get(key string) ([]byte, error) {
if key == "collateralizeid" {
return []byte(tx.CollateralizeId), nil
} else if key == "status" {
return []byte(fmt.Sprintf("%2d", tx.Status)), nil
} else if key == "addr" {
return []byte(fmt.Sprintf("%s", tx.AccountAddr)), nil
} else if key == "addr_status" {
return []byte(fmt.Sprintf("%s:%2d", tx.AccountAddr, tx.Status)), nil
}
return nil, types.ErrNotFound
}
var optRecord = &table.Option{
Prefix: "LODB-collateralize",
Name: "borrow",
Primary: "borrowid",
Index: []string{"status", "addr", "id_status", "id_addr"},
}
/*
借贷记录表
*/
func NewRecordTable(kvdb db.KV) *table.Table {
rowmeta := NewRecordRow()
table, err := table.NewTable(rowmeta, kvdb, optRecord)
if err != nil {
panic(err)
}
return table
}
//CollatetalizeRow table meta 结构
type CollateralizeRecordRow struct {
*ReceiptCollateralize
}
//NewIssuanceRow 新建一个meta 结构
func NewRecordRow() *CollateralizeRecordRow {
return &CollateralizeRecordRow{ReceiptCollateralize: &ReceiptCollateralize{}}
}
//CreateRow 新建数据行
func (tx *CollateralizeRecordRow) CreateRow() *table.Row {
return &table.Row{Data: &ReceiptCollateralize{}}
}
//SetPayload 设置数据
func (tx *CollateralizeRecordRow) SetPayload(data types.Message) error {
if txdata, ok := data.(*ReceiptCollateralize); ok {
tx.ReceiptCollateralize = txdata
return nil
}
return types.ErrTypeAsset
}
//Get 按照indexName 查询 indexValue
func (tx *CollateralizeRecordRow) Get(key string) ([]byte, error) {
if key == "borrowid" {
return []byte(tx.RecordId), nil
} else if key == "status" {
return []byte(fmt.Sprintf("%2d", tx.Status)), nil
} else if key == "addr" {
return []byte(fmt.Sprintf("%s", tx.AccountAddr)), nil
} else if key == "id_status" {
return []byte(fmt.Sprintf("%s:%2d", tx.CollateralizeId, tx.Status)), nil
} else if key == "id_addr" {
return []byte(fmt.Sprintf("%s:%s", tx.CollateralizeId, tx.AccountAddr)), nil
}
return nil, types.ErrNotFound
}
...@@ -350,7 +350,7 @@ func IssuanceQuery(cmd *cobra.Command, args []string) { ...@@ -350,7 +350,7 @@ func IssuanceQuery(cmd *cobra.Command, args []string) {
if address != "" { if address != "" {
params.FuncName = "IssuanceRecordsByAddr" params.FuncName = "IssuanceRecordsByAddr"
req := &pkt.ReqIssuanceRecordsByAddr{ req := &pkt.ReqIssuanceRecords{
IssuanceId: issuanceID, IssuanceId: issuanceID,
Status: int32(status), Status: int32(status),
Addr: address, Addr: address,
...@@ -362,7 +362,7 @@ func IssuanceQuery(cmd *cobra.Command, args []string) { ...@@ -362,7 +362,7 @@ func IssuanceQuery(cmd *cobra.Command, args []string) {
} else if statusStr != "" { } else if statusStr != "" {
params.FuncName = "IssuanceRecordsByStatus" params.FuncName = "IssuanceRecordsByStatus"
req := &pkt.ReqIssuanceRecordsByStatus{ req := &pkt.ReqIssuanceRecords{
IssuanceId: issuanceID, IssuanceId: issuanceID,
Status: int32(status), Status: int32(status),
} }
...@@ -373,7 +373,7 @@ func IssuanceQuery(cmd *cobra.Command, args []string) { ...@@ -373,7 +373,7 @@ func IssuanceQuery(cmd *cobra.Command, args []string) {
} else if debtID != "" { } else if debtID != "" {
params.FuncName = "IssuanceRecordByID" params.FuncName = "IssuanceRecordByID"
req := &pkt.ReqIssuanceDebtInfo{ req := &pkt.ReqIssuanceRecords{
IssuanceId: issuanceID, IssuanceId: issuanceID,
DebtId: debtID, DebtId: debtID,
} }
......
...@@ -10,47 +10,13 @@ import ( ...@@ -10,47 +10,13 @@ import (
) )
func (c *Issuance) execDelLocal(tx *types.Transaction, receiptData *types.ReceiptData) (*types.LocalDBSet, error) { func (c *Issuance) execDelLocal(tx *types.Transaction, receiptData *types.ReceiptData) (*types.LocalDBSet, error) {
set := &types.LocalDBSet{} kvs, err := c.DelRollbackKV(tx, tx.Execer)
for _, item := range receiptData.Logs { if err != nil {
if item.Ty == pty.TyLogIssuanceCreate || item.Ty == pty.TyLogIssuanceDebt || item.Ty == pty.TyLogIssuanceRepay || return nil, err
item.Ty == pty.TyLogIssuanceFeed || item.Ty == pty.TyLogIssuanceClose {
var issuanceLog pty.ReceiptIssuance
err := types.Decode(item.Log, &issuanceLog)
if err != nil {
return nil, err
}
switch item.Ty {
case pty.TyLogIssuanceCreate:
set.KV = append(set.KV, c.deleteIssuanceStatus(issuanceLog.Status, issuanceLog.Index)...)
case pty.TyLogIssuanceDebt:
set.KV = append(set.KV, c.deleteIssuanceRecordStatus(issuanceLog.Status, issuanceLog.Index)...)
set.KV = append(set.KV, c.deleteIssuanceRecordAddr(issuanceLog.AccountAddr, issuanceLog.Index)...)
case pty.TyLogIssuanceRepay:
set.KV = append(set.KV, c.addIssuanceRecordStatus(issuanceLog.PreStatus, issuanceLog.AccountAddr, issuanceLog.PreIndex,
issuanceLog.DebtId, issuanceLog.IssuanceId)...)
set.KV = append(set.KV, c.deleteIssuanceRecordStatus(issuanceLog.Status, issuanceLog.Index)...)
//set.KV = append(set.KV, c.addIssuanceRecordAddr(issuanceLog.AccountAddr, issuanceLog.PreIndex, issuanceLog.DebtId,
// issuanceLog.IssuanceId)...)
case pty.TyLogIssuanceFeed:
set.KV = append(set.KV, c.addIssuanceRecordStatus(issuanceLog.Status, issuanceLog.AccountAddr, issuanceLog.PreIndex,
issuanceLog.DebtId, issuanceLog.IssuanceId)...)
set.KV = append(set.KV, c.deleteIssuanceRecordStatus(issuanceLog.Status, issuanceLog.Index)...)
//set.KV = append(set.KV, c.addIssuanceRecordAddr(issuanceLog.AccountAddr, issuanceLog.PreIndex, issuanceLog.DebtId,
// issuanceLog.IssuanceId)...)
//// 如果没有被清算,需要把地址索引更新
//if issuanceLog.Status == pty.IssuanceUserStatusWarning || issuanceLog.Status == pty.IssuanceUserStatusExpire {
// set.KV = append(set.KV, c.deleteIssuanceRecordAddr(issuanceLog.AccountAddr, issuanceLog.Index)...)
//}
set.KV = append(set.KV, c.deleteIssuancePriceRecord(issuanceLog.RecordTime)...)
case pty.TyLogIssuanceClose:
set.KV = append(set.KV, c.deleteIssuanceStatus(issuanceLog.Status, issuanceLog.Index)...)
set.KV = append(set.KV, c.addIssuanceStatus(issuanceLog.PreStatus, issuanceLog.PreIndex, issuanceLog.IssuanceId)...)
}
}
} }
return set, nil dbSet := &types.LocalDBSet{}
dbSet.KV = append(dbSet.KV, kvs...)
return dbSet, nil
} }
// ExecDelLocal_Create Action // ExecDelLocal_Create Action
......
...@@ -13,44 +13,41 @@ import ( ...@@ -13,44 +13,41 @@ import (
func (c *Issuance) execLocal(tx *types.Transaction, receipt *types.ReceiptData) (*types.LocalDBSet, error) { func (c *Issuance) 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 {
if item.Ty == pty.TyLogIssuanceCreate || item.Ty == pty.TyLogIssuanceDebt || item.Ty == pty.TyLogIssuanceRepay || if item.Ty >= pty.TyLogIssuanceCreate && item.Ty <= pty.TyLogIssuanceClose {
item.Ty == pty.TyLogIssuanceFeed || item.Ty == pty.TyLogIssuanceClose {
var issuanceLog pty.ReceiptIssuance var issuanceLog pty.ReceiptIssuance
err := types.Decode(item.Log, &issuanceLog) err := types.Decode(item.Log, &issuanceLog)
if err != nil { if err != nil {
return nil, err return nil, err
} }
switch item.Ty { if item.Ty == pty.TyLogIssuanceCreate || item.Ty == pty.TyLogIssuanceClose {
case pty.TyLogIssuanceCreate: IDtable := pty.NewIssuanceTable(c.GetLocalDB())
set.KV = append(set.KV, c.addIssuanceStatus(issuanceLog.Status, issuanceLog.Index, issuanceLog.IssuanceId)...) err = IDtable.Replace(&pty.ReceiptIssuanceID{IssuanceId: issuanceLog.IssuanceId, Status: issuanceLog.Status})
case pty.TyLogIssuanceDebt: if err != nil {
set.KV = append(set.KV, c.addIssuanceRecordStatus(issuanceLog.Status, issuanceLog.AccountAddr, issuanceLog.Index, return nil, err
issuanceLog.DebtId, issuanceLog.IssuanceId)...) }
set.KV = append(set.KV, c.addIssuanceRecordAddr(issuanceLog.AccountAddr, issuanceLog.Index, issuanceLog.DebtId, kvs, err := IDtable.Save()
issuanceLog.IssuanceId)...) if err != nil {
case pty.TyLogIssuanceRepay: return nil, err
set.KV = append(set.KV, c.deleteIssuanceRecordStatus(issuanceLog.PreStatus, issuanceLog.PreIndex)...) }
set.KV = append(set.KV, c.addIssuanceRecordStatus(issuanceLog.Status, issuanceLog.AccountAddr, issuanceLog.Index, set.KV = append(set.KV, kvs...)
issuanceLog.DebtId, issuanceLog.IssuanceId)...) } else {
//set.KV = append(set.KV, c.deleteIssuanceRecordAddr(issuanceLog.AccountAddr, issuanceLog.PreIndex)...) recordTable := pty.NewRecordTable(c.GetLocalDB())
case pty.TyLogIssuanceFeed: err = recordTable.Replace(&pty.ReceiptIssuance{IssuanceId: issuanceLog.IssuanceId, Status: issuanceLog.Status,
set.KV = append(set.KV, c.deleteIssuanceRecordStatus(issuanceLog.PreStatus, issuanceLog.PreIndex)...) DebtId: issuanceLog.DebtId, AccountAddr: issuanceLog.AccountAddr})
set.KV = append(set.KV, c.addIssuanceRecordStatus(issuanceLog.Status, issuanceLog.AccountAddr, issuanceLog.Index, if err != nil {
issuanceLog.DebtId, issuanceLog.IssuanceId)...) return nil, err
//set.KV = append(set.KV, c.deleteIssuanceRecordAddr(issuanceLog.AccountAddr, issuanceLog.PreIndex)...) }
//// 如果没有被清算,需要把地址索引更新 kvs, err := recordTable.Save()
//if issuanceLog.Status == pty.IssuanceUserStatusWarning || issuanceLog.Status == pty.IssuanceUserStatusExpire { if err != nil {
// set.KV = append(set.KV, c.addIssuanceRecordAddr(issuanceLog.AccountAddr, issuanceLog.Index, issuanceLog.DebtId, return nil, err
// issuanceLog.IssuanceId)...) }
//} set.KV = append(set.KV, kvs...)
set.KV = append(set.KV, c.addIssuancePriceRecord(issuanceLog.RecordTime, issuanceLog.BtyPrice)...)
case pty.TyLogIssuanceClose:
set.KV = append(set.KV, c.addIssuanceStatus(issuanceLog.Status, issuanceLog.Index, issuanceLog.IssuanceId)...)
set.KV = append(set.KV, c.deleteIssuanceStatus(issuanceLog.PreStatus, issuanceLog.PreIndex)...)
} }
} }
} }
set.KV = c.AddRollbackKV(tx, []byte(pty.IssuanceX), set.KV)
return set, nil return set, nil
} }
......
...@@ -54,110 +54,6 @@ func (c *Issuance) GetDriverName() string { ...@@ -54,110 +54,6 @@ func (c *Issuance) GetDriverName() string {
return pty.IssuanceX return pty.IssuanceX
} }
func (c *Issuance) addIssuanceID(index int64, issuanceID string) (kvs []*types.KeyValue) {
key := calcIssuanceKey(issuanceID, index)
record := &pty.IssuanceRecord{
IssuanceId: issuanceID,
Index: index,
}
kv := &types.KeyValue{Key: key, Value: types.Encode(record)}
kvs = append(kvs, kv)
return kvs
}
func (c *Issuance) deleteIssuanceID(index int64, issuanceID string) (kvs []*types.KeyValue) {
key := calcIssuanceKey(issuanceID, index)
kv := &types.KeyValue{Key: key, Value: nil}
kvs = append(kvs, kv)
return kvs
}
func (c *Issuance) addIssuanceStatus(status int32, index int64, issuanceID string) (kvs []*types.KeyValue) {
key := calcIssuanceStatusKey(status, index)
record := &pty.IssuanceRecord{
IssuanceId: issuanceID,
Index: index,
}
kv := &types.KeyValue{Key: key, Value: types.Encode(record)}
kvs = append(kvs, kv)
return kvs
}
func (c *Issuance) deleteIssuanceStatus(status int32, index int64) (kvs []*types.KeyValue) {
key := calcIssuanceStatusKey(status, index)
kv := &types.KeyValue{Key: key, Value: nil}
kvs = append(kvs, kv)
return kvs
}
func (c *Issuance) addIssuanceRecordAddr(accountAddr string, index int64, debtID string, issuanceID string) (kvs []*types.KeyValue) {
key := calcIssuanceRecordAddrKey(accountAddr, index)
record := &pty.IssuanceRecord{
IssuanceId: issuanceID,
DebtId: debtID,
Index: index,
}
kv := &types.KeyValue{Key: key, Value: types.Encode(record)}
kvs = append(kvs, kv)
return kvs
}
func (c *Issuance) deleteIssuanceRecordAddr(accountAddr string, index int64) (kvs []*types.KeyValue) {
key := calcIssuanceRecordAddrKey(accountAddr, index)
kv := &types.KeyValue{Key: key, Value: nil}
kvs = append(kvs, kv)
return kvs
}
func (c *Issuance) addIssuanceRecordStatus(recordStatus int32, accountAddr string, index int64, debtID string, issuanceID string) (kvs []*types.KeyValue) {
key := calcIssuanceRecordStatusKey(recordStatus, index)
record := &pty.IssuanceRecord{
IssuanceId: issuanceID,
DebtId: debtID,
Addr: accountAddr,
Index: index,
}
kv := &types.KeyValue{Key: key, Value: types.Encode(record)}
kvs = append(kvs, kv)
return kvs
}
func (c *Issuance) deleteIssuanceRecordStatus(status int32, index int64) (kvs []*types.KeyValue) {
key := calcIssuanceRecordStatusKey(status, index)
kv := &types.KeyValue{Key: key, Value: nil}
kvs = append(kvs, kv)
return kvs
}
func (c *Issuance) addIssuancePriceRecord(recordTime int64, price float64) (kvs []*types.KeyValue) {
key := calcIssuancePriceKey(string(recordTime))
record := &pty.IssuanceAssetPriceRecord{
RecordTime: recordTime,
BtyPrice: price,
}
kv := &types.KeyValue{Key: key, Value: types.Encode(record)}
kvs = append(kvs, kv)
return kvs
}
func (c *Issuance) deleteIssuancePriceRecord(recordTime int64) (kvs []*types.KeyValue) {
key := calcIssuancePriceKey(string(recordTime))
kv := &types.KeyValue{Key: key, Value: nil}
kvs = append(kvs, kv)
return kvs
}
// CheckReceiptExecOk return true to check if receipt ty is ok // CheckReceiptExecOk return true to check if receipt ty is ok
func (c *Issuance) CheckReceiptExecOk() bool { func (c *Issuance) CheckReceiptExecOk() bool {
return true return true
......
...@@ -274,17 +274,17 @@ func TestIssuance(t *testing.T) { ...@@ -274,17 +274,17 @@ func TestIssuance(t *testing.T) {
debtID := createTx.Hash() debtID := createTx.Hash()
// query issuance by id // query issuance by id
res, err = exec.Query("IssuanceRecordByID", res, err = exec.Query("IssuanceRecordByID",
types.Encode(&pkt.ReqIssuanceDebtInfo{IssuanceId: common.ToHex(issuanceID), DebtId: common.ToHex(debtID)})) types.Encode(&pkt.ReqIssuanceRecords{IssuanceId: common.ToHex(issuanceID), DebtId: common.ToHex(debtID)}))
assert.Nil(t, err) assert.Nil(t, err)
assert.NotNil(t, res) assert.NotNil(t, res)
// query issuance by status // query issuance by status
res, err = exec.Query("IssuanceRecordsByStatus", res, err = exec.Query("IssuanceRecordsByStatus",
types.Encode(&pkt.ReqIssuanceRecordsByStatus{IssuanceId: common.ToHex(issuanceID), Status: 1})) types.Encode(&pkt.ReqIssuanceRecords{Status: 1}))
assert.Nil(t, err) assert.Nil(t, err)
assert.NotNil(t, res) assert.NotNil(t, res)
// query issuance by addr // query issuance by addr
res, err = exec.Query("IssuanceRecordsByAddr", res, err = exec.Query("IssuanceRecordsByAddr",
types.Encode(&pkt.ReqIssuanceRecordsByAddr{IssuanceId: common.ToHex(issuanceID), Addr: string(Nodes[1]), Status: 1})) types.Encode(&pkt.ReqIssuanceRecords{Addr: string(Nodes[1])}))
assert.Nil(t, err) assert.Nil(t, err)
assert.NotNil(t, res) assert.NotNil(t, res)
...@@ -320,12 +320,12 @@ func TestIssuance(t *testing.T) { ...@@ -320,12 +320,12 @@ func TestIssuance(t *testing.T) {
} }
// query issuance by status // query issuance by status
res, err = exec.Query("IssuanceRecordsByStatus", res, err = exec.Query("IssuanceRecordsByStatus",
types.Encode(&pkt.ReqIssuanceRecordsByStatus{IssuanceId: common.ToHex(issuanceID), Status: 6})) types.Encode(&pkt.ReqIssuanceRecords{Status: 6}))
assert.Nil(t, err) assert.Nil(t, err)
assert.NotNil(t, res) assert.NotNil(t, res)
// query issuance by addr // query issuance by addr
res, err = exec.Query("IssuanceRecordsByAddr", res, err = exec.Query("IssuanceRecordsByAddr",
types.Encode(&pkt.ReqIssuanceRecordsByAddr{IssuanceId: common.ToHex(issuanceID), Addr: string(Nodes[1]), Status: 6})) types.Encode(&pkt.ReqIssuanceRecords{Addr: string(Nodes[1])}))
assert.Nil(t, err) assert.Nil(t, err)
assert.NotNil(t, res) assert.NotNil(t, res)
...@@ -390,7 +390,7 @@ func TestIssuance(t *testing.T) { ...@@ -390,7 +390,7 @@ func TestIssuance(t *testing.T) {
} }
// query issuance by status // query issuance by status
res, err = exec.Query("IssuanceRecordsByStatus", res, err = exec.Query("IssuanceRecordsByStatus",
types.Encode(&pkt.ReqIssuanceRecordsByStatus{IssuanceId: common.ToHex(issuanceID), Status: 3})) types.Encode(&pkt.ReqIssuanceRecords{Status: 3}))
assert.Nil(t, err) assert.Nil(t, err)
assert.NotNil(t, res) assert.NotNil(t, res)
...@@ -455,7 +455,7 @@ func TestIssuance(t *testing.T) { ...@@ -455,7 +455,7 @@ func TestIssuance(t *testing.T) {
} }
// query issuance by status // query issuance by status
res, err = exec.Query("IssuanceRecordsByStatus", res, err = exec.Query("IssuanceRecordsByStatus",
types.Encode(&pkt.ReqIssuanceRecordsByStatus{IssuanceId: common.ToHex(issuanceID), Status: 5})) types.Encode(&pkt.ReqIssuanceRecords{Status: 5}))
assert.Nil(t, err) assert.Nil(t, err)
assert.NotNil(t, res) assert.NotNil(t, res)
......
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
package executor package executor
import ( import (
"fmt"
"math" "math"
"github.com/33cn/chain33/account" "github.com/33cn/chain33/account"
...@@ -158,7 +157,7 @@ type Action struct { ...@@ -158,7 +157,7 @@ type Action struct {
coinsAccount *account.DB // bty账户 coinsAccount *account.DB // bty账户
tokenAccount *account.DB // ccny账户 tokenAccount *account.DB // ccny账户
db dbm.KV db dbm.KV
localDB dbm.Lister localDB dbm.KVDB
txhash []byte txhash []byte
fromaddr string fromaddr string
blocktime int64 blocktime int64
...@@ -194,7 +193,6 @@ func (action *Action) GetCreateReceiptLog(issuance *pty.Issuance) *types.Receipt ...@@ -194,7 +193,6 @@ func (action *Action) GetCreateReceiptLog(issuance *pty.Issuance) *types.Receipt
c := &pty.ReceiptIssuance{} c := &pty.ReceiptIssuance{}
c.IssuanceId = issuance.IssuanceId c.IssuanceId = issuance.IssuanceId
c.Status = issuance.Status c.Status = issuance.Status
c.Index = issuance.Index
log.Log = types.Encode(c) log.Log = types.Encode(c)
...@@ -211,7 +209,6 @@ func (action *Action) GetDebtReceiptLog(issuance *pty.Issuance, debtRecord *pty. ...@@ -211,7 +209,6 @@ func (action *Action) GetDebtReceiptLog(issuance *pty.Issuance, debtRecord *pty.
c.AccountAddr = action.fromaddr c.AccountAddr = action.fromaddr
c.DebtId = debtRecord.DebtId c.DebtId = debtRecord.DebtId
c.Status = debtRecord.Status c.Status = debtRecord.Status
c.Index = debtRecord.Index
log.Log = types.Encode(c) log.Log = types.Encode(c)
...@@ -228,9 +225,6 @@ func (action *Action) GetRepayReceiptLog(issuance *pty.Issuance, debtRecord *pty ...@@ -228,9 +225,6 @@ func (action *Action) GetRepayReceiptLog(issuance *pty.Issuance, debtRecord *pty
c.AccountAddr = action.fromaddr c.AccountAddr = action.fromaddr
c.DebtId = debtRecord.DebtId c.DebtId = debtRecord.DebtId
c.Status = debtRecord.Status c.Status = debtRecord.Status
c.PreStatus = debtRecord.PreStatus
c.Index = debtRecord.Index
c.PreIndex = debtRecord.PreIndex
log.Log = types.Encode(c) log.Log = types.Encode(c)
...@@ -247,22 +241,6 @@ func (action *Action) GetFeedReceiptLog(issuance *pty.Issuance, debtRecord *pty. ...@@ -247,22 +241,6 @@ func (action *Action) GetFeedReceiptLog(issuance *pty.Issuance, debtRecord *pty.
c.AccountAddr = debtRecord.AccountAddr c.AccountAddr = debtRecord.AccountAddr
c.DebtId = debtRecord.DebtId c.DebtId = debtRecord.DebtId
c.Status = debtRecord.Status c.Status = debtRecord.Status
c.PreStatus = debtRecord.PreStatus
c.Index = debtRecord.Index
c.PreIndex = debtRecord.PreIndex
log.Log = types.Encode(c)
return log
}
// GetFeedReceiptLog generate logs for Issuance price feed action
func (action *Action) GetPriceReceiptLog(price *pty.IssuanceAssetPriceRecord) *types.ReceiptLog {
log := &types.ReceiptLog{}
log.Ty = pty.TyLogIssuanceFeed
c := &pty.ReceiptIssuance{}
c.RecordTime = price.RecordTime
c.BtyPrice = price.BtyPrice
log.Log = types.Encode(c) log.Log = types.Encode(c)
...@@ -277,9 +255,6 @@ func (action *Action) GetCloseReceiptLog(issuance *pty.Issuance) *types.ReceiptL ...@@ -277,9 +255,6 @@ func (action *Action) GetCloseReceiptLog(issuance *pty.Issuance) *types.ReceiptL
c := &pty.ReceiptIssuance{} c := &pty.ReceiptIssuance{}
c.IssuanceId = issuance.IssuanceId c.IssuanceId = issuance.IssuanceId
c.Status = issuance.Status c.Status = issuance.Status
c.PreStatus = pty.IssuanceStatusCreated
c.Index = issuance.Index
c.PreIndex = issuance.PreIndex
log.Log = types.Encode(c) log.Log = types.Encode(c)
...@@ -441,7 +416,6 @@ func (action *Action) IssuanceCreate(create *pty.IssuanceCreate) (*types.Receipt ...@@ -441,7 +416,6 @@ func (action *Action) IssuanceCreate(create *pty.IssuanceCreate) (*types.Receipt
issu.CreateTime = action.blocktime issu.CreateTime = action.blocktime
issu.IssuerAddr = action.fromaddr issu.IssuerAddr = action.fromaddr
issu.Status = pty.IssuanceActionCreate issu.Status = pty.IssuanceActionCreate
issu.Index = action.GetIndex()
clog.Debug("IssuanceCreate created", "IssuanceID", issuanceID, "TotalBalance", issu.TotalBalance) clog.Debug("IssuanceCreate created", "IssuanceID", issuanceID, "TotalBalance", issu.TotalBalance)
...@@ -610,10 +584,9 @@ func (action *Action) IssuanceDebt(debt *pty.IssuanceDebt) (*types.Receipt, erro ...@@ -610,10 +584,9 @@ func (action *Action) IssuanceDebt(debt *pty.IssuanceDebt) (*types.Receipt, erro
debtRecord.StartTime = action.blocktime debtRecord.StartTime = action.blocktime
debtRecord.CollateralPrice = lastPrice debtRecord.CollateralPrice = lastPrice
debtRecord.DebtValue = debt.Value debtRecord.DebtValue = debt.Value
debtRecord.LiquidationPrice = issu.LiquidationRatio * lastPrice * pty.IssuancePreLiquidationRatio debtRecord.LiquidationPrice = math.Trunc(issu.LiquidationRatio * lastPrice * pty.IssuancePreLiquidationRatio * 1e4)/1e4
debtRecord.Status = pty.IssuanceUserStatusCreate debtRecord.Status = pty.IssuanceUserStatusCreate
debtRecord.ExpireTime = action.blocktime + issu.Period debtRecord.ExpireTime = action.blocktime + issu.Period
debtRecord.Index = action.GetIndex()
// 记录当前借贷的最高自动清算价格 // 记录当前借贷的最高自动清算价格
if issu.LatestLiquidationPrice < debtRecord.LiquidationPrice { if issu.LatestLiquidationPrice < debtRecord.LiquidationPrice {
...@@ -709,8 +682,6 @@ func (action *Action) IssuanceRepay(repay *pty.IssuanceRepay) (*types.Receipt, e ...@@ -709,8 +682,6 @@ func (action *Action) IssuanceRepay(repay *pty.IssuanceRepay) (*types.Receipt, e
// 借贷记录关闭 // 借贷记录关闭
debtRecord.PreStatus = debtRecord.Status debtRecord.PreStatus = debtRecord.Status
debtRecord.Status = pty.IssuanceUserStatusClose debtRecord.Status = pty.IssuanceUserStatusClose
debtRecord.PreIndex = debtRecord.Index
debtRecord.Index = action.GetIndex()
// 保存 // 保存
issu.Balance += debtRecord.DebtValue issu.Balance += debtRecord.DebtValue
...@@ -766,13 +737,9 @@ func (action *Action) systemLiquidation(issu *pty.Issuance, price float64) (*typ ...@@ -766,13 +737,9 @@ func (action *Action) systemLiquidation(issu *pty.Issuance, price float64) (*typ
debtRecord.LiquidateTime = action.blocktime debtRecord.LiquidateTime = action.blocktime
debtRecord.PreStatus = debtRecord.Status debtRecord.PreStatus = debtRecord.Status
debtRecord.Status = pty.IssuanceUserStatusSystemLiquidate debtRecord.Status = pty.IssuanceUserStatusSystemLiquidate
debtRecord.PreIndex = debtRecord.Index
debtRecord.Index = action.GetIndex()
issu.InvalidRecords = append(issu.InvalidRecords, debtRecord) issu.InvalidRecords = append(issu.InvalidRecords, debtRecord)
issu.DebtRecords = append(issu.DebtRecords[:index], issu.DebtRecords[index+1:]...) issu.DebtRecords = append(issu.DebtRecords[:index], issu.DebtRecords[index+1:]...)
} else { } else {
debtRecord.PreIndex = debtRecord.Index
debtRecord.Index = action.GetIndex()
debtRecord.PreStatus = debtRecord.Status debtRecord.PreStatus = debtRecord.Status
debtRecord.Status = pty.IssuanceUserStatusWarning debtRecord.Status = pty.IssuanceUserStatusWarning
} }
...@@ -824,13 +791,9 @@ func (action *Action) expireLiquidation(issu *pty.Issuance) (*types.Receipt, err ...@@ -824,13 +791,9 @@ func (action *Action) expireLiquidation(issu *pty.Issuance) (*types.Receipt, err
debtRecord.LiquidateTime = action.blocktime debtRecord.LiquidateTime = action.blocktime
debtRecord.PreStatus = debtRecord.Status debtRecord.PreStatus = debtRecord.Status
debtRecord.Status = pty.IssuanceUserStatusExpireLiquidate debtRecord.Status = pty.IssuanceUserStatusExpireLiquidate
debtRecord.PreIndex = debtRecord.Index
debtRecord.Index = action.GetIndex()
issu.InvalidRecords = append(issu.InvalidRecords, debtRecord) issu.InvalidRecords = append(issu.InvalidRecords, debtRecord)
issu.DebtRecords = append(issu.DebtRecords[:index], issu.DebtRecords[index+1:]...) issu.DebtRecords = append(issu.DebtRecords[:index], issu.DebtRecords[index+1:]...)
} else { } else {
debtRecord.PreIndex = debtRecord.Index
debtRecord.Index = action.GetIndex()
debtRecord.PreStatus = debtRecord.Status debtRecord.PreStatus = debtRecord.Status
debtRecord.Status = pty.IssuanceUserStatusExpire debtRecord.Status = pty.IssuanceUserStatusExpire
} }
...@@ -891,7 +854,7 @@ func (action *Action) IssuanceFeed(feed *pty.IssuanceFeed) (*types.Receipt, erro ...@@ -891,7 +854,7 @@ func (action *Action) IssuanceFeed(feed *pty.IssuanceFeed) (*types.Receipt, erro
return nil, pty.ErrPriceInvalid return nil, pty.ErrPriceInvalid
} }
ids, err := queryIssuanceByStatus(action.localDB, pty.IssuanceStatusCreated, 0) ids, err := queryIssuanceByStatus(action.localDB, pty.IssuanceStatusCreated, "")
if err != nil { if err != nil {
clog.Debug("IssuancePriceFeed", "get issuance record error", err) clog.Debug("IssuancePriceFeed", "get issuance record error", err)
} }
...@@ -928,10 +891,6 @@ func (action *Action) IssuanceFeed(feed *pty.IssuanceFeed) (*types.Receipt, erro ...@@ -928,10 +891,6 @@ func (action *Action) IssuanceFeed(feed *pty.IssuanceFeed) (*types.Receipt, erro
priceRecord.BtyPrice = price priceRecord.BtyPrice = price
priceRecord.RecordTime = action.blocktime priceRecord.RecordTime = action.blocktime
// 喂价记录
log := action.GetPriceReceiptLog(&priceRecord)
logs = append(logs, log)
// 最近喂价记录 // 最近喂价记录
pricekv := &types.KeyValue{Key: PriceKey(), Value: types.Encode(&priceRecord)} pricekv := &types.KeyValue{Key: PriceKey(), Value: types.Encode(&priceRecord)}
action.db.Set(pricekv.Key, pricekv.Value) action.db.Set(pricekv.Key, pricekv.Value)
...@@ -978,8 +937,6 @@ func (action *Action) IssuanceClose(close *pty.IssuanceClose) (*types.Receipt, e ...@@ -978,8 +937,6 @@ func (action *Action) IssuanceClose(close *pty.IssuanceClose) (*types.Receipt, e
issu := &IssuanceDB{*issuance} issu := &IssuanceDB{*issuance}
issu.Status = pty.IssuanceStatusClose issu.Status = pty.IssuanceStatusClose
issu.PreIndex = issu.Index
issu.Index = action.GetIndex()
issu.Save(action.db) issu.Save(action.db)
kv = append(kv, issu.GetKVSet()...) kv = append(kv, issu.GetKVSet()...)
...@@ -1007,35 +964,33 @@ func queryIssuanceByID(db dbm.KV, issuanceID string) (*pty.Issuance, error) { ...@@ -1007,35 +964,33 @@ func queryIssuanceByID(db dbm.KV, issuanceID string) (*pty.Issuance, error) {
} }
// 根据发行状态查找发行ID // 根据发行状态查找发行ID
func queryIssuanceByStatus(localdb dbm.Lister, status int32, index int64) ([]string, error) { func queryIssuanceByStatus(localdb dbm.KVDB, status int32, issuanceID string) ([]string, error) {
var data [][]byte query := pty.NewIssuanceTable(localdb).GetQuery(localdb)
var err error var primary []byte
if index != 0 { if len(issuanceID) > 0 {
data, err = localdb.List(calcIssuanceStatusPrefix(status), calcIssuanceStatusKey(status, index), DefultCount, ListDESC) primary = []byte(issuanceID)
} else { }
data, err = localdb.List(calcIssuanceStatusPrefix(status), nil, DefultCount, ListDESC)
var data = &pty.ReceiptIssuanceID{
IssuanceId:issuanceID,
Status:status,
} }
rows, err := query.List("status", data, primary, DefultCount, ListDESC)
if err != nil { if err != nil {
clog.Debug("queryIssuancesByStatus", "error", err) clog.Error("queryIssuanceByStatus.List", "error", err)
return nil, err return nil, err
} }
var ids []string var ids []string
var issu pty.IssuanceRecord for _, row := range rows {
for _, collBytes := range data { ids = append(ids, string(row.Primary))
err = types.Decode(collBytes, &issu)
if err != nil {
clog.Debug("queryIssuancesByStatus", "decode", err)
return nil, err
}
ids = append(ids, issu.IssuanceId)
} }
return ids, nil return ids, nil
} }
// 精确查找发行记录 // 精确查找发行记录
func queryIssuanceRecordByID(db dbm.KV, issuanceID string, debtID string) (*pty.DebtRecord, error) { func queryIssuanceRecordByID(db dbm.KV, issuanceID string, debtID string, ) (*pty.DebtRecord, error) {
issu, err := queryIssuanceByID(db, issuanceID) issu, err := queryIssuanceByID(db, issuanceID)
if err != nil { if err != nil {
clog.Error("queryIssuanceRecordByID", "error", err) clog.Error("queryIssuanceRecordByID", "error", err)
...@@ -1058,36 +1013,25 @@ func queryIssuanceRecordByID(db dbm.KV, issuanceID string, debtID string) (*pty. ...@@ -1058,36 +1013,25 @@ func queryIssuanceRecordByID(db dbm.KV, issuanceID string, debtID string) (*pty.
} }
// 根据发行状态查找 // 根据发行状态查找
func queryIssuanceRecordsByStatus(db dbm.KV, localdb dbm.Lister, status int32, index int64) ([]*pty.DebtRecord, error) { func queryIssuanceRecordsByStatus(db dbm.KV, localdb dbm.KVDB, status int32, debtID string) ([]*pty.DebtRecord, error) {
var statusKey string query := pty.NewRecordTable(localdb).GetQuery(localdb)
if status == 0 { var primary []byte
statusKey = "" if len(debtID) > 0 {
} else { primary = []byte(debtID)
statusKey = fmt.Sprintf("%d", status)
} }
var data [][]byte var data = &pty.ReceiptIssuance{
var err error Status:status,
if index != 0 {
data, err = localdb.List(calcIssuanceRecordStatusPrefix(statusKey), calcIssuanceRecordStatusKey(status, index), DefultCount, ListDESC)
} else {
data, err = localdb.List(calcIssuanceRecordStatusPrefix(statusKey), nil, DefultCount, ListDESC)
} }
rows, err := query.List("status", data, primary, DefultCount, ListDESC)
if err != nil { if err != nil {
clog.Error("queryIssuanceRecordsByStatus", "error", err) clog.Error("queryIssuanceRecordsByStatus", "List", err)
return nil, err return nil, err
} }
var records []*pty.DebtRecord var records []*pty.DebtRecord
var issu pty.IssuanceRecord for _, row := range rows {
for _, collBytes := range data { record, err := queryIssuanceRecordByID(db, row.Data.(*pty.ReceiptIssuance).IssuanceId, row.Data.(*pty.ReceiptIssuance).DebtId)
err = types.Decode(collBytes, &issu)
if err != nil {
clog.Error("queryIssuanceRecordsByStatus", "decode", err)
continue
}
record, err := queryIssuanceRecordByID(db, issu.IssuanceId, issu.DebtId)
if err != nil { if err != nil {
clog.Error("queryIssuanceRecordsByStatus", "decode", err) clog.Error("queryIssuanceRecordsByStatus", "decode", err)
continue continue
...@@ -1099,32 +1043,28 @@ func queryIssuanceRecordsByStatus(db dbm.KV, localdb dbm.Lister, status int32, i ...@@ -1099,32 +1043,28 @@ func queryIssuanceRecordsByStatus(db dbm.KV, localdb dbm.Lister, status int32, i
} }
// 根据用户地址查找 // 根据用户地址查找
func queryIssuanceRecordByAddr(db dbm.KV, localdb dbm.Lister, addr string, index int64) ([]*pty.DebtRecord, error) { func queryIssuanceRecordByAddr(db dbm.KV, localdb dbm.KVDB, addr string, debtID string) ([]*pty.DebtRecord, error) {
var data [][]byte query := pty.NewRecordTable(localdb).GetQuery(localdb)
var err error var primary []byte
if index != 0 { if len(debtID) > 0 {
data, err = localdb.List(calcIssuanceRecordAddrPrefix(addr), calcIssuanceRecordAddrKey(addr, index), DefultCount, ListDESC) primary = []byte(debtID)
} else {
data, err = localdb.List(calcIssuanceRecordAddrPrefix(addr), nil, DefultCount, ListDESC)
} }
var data = &pty.ReceiptIssuance{
AccountAddr: addr,
}
rows, err := query.List("addr", data, primary, DefultCount, ListDESC)
if err != nil { if err != nil {
clog.Error("queryIssuanceRecordByAddr", "error", err) clog.Error("queryIssuanceRecordByAddr", "List", err)
return nil, err return nil, err
} }
var records []*pty.DebtRecord var records []*pty.DebtRecord
var issu pty.IssuanceRecord for _, row := range rows {
for _, collBytes := range data { record, err := queryIssuanceRecordByID(db, row.Data.(*pty.ReceiptIssuance).IssuanceId, row.Data.(*pty.ReceiptIssuance).DebtId)
err = types.Decode(collBytes, &issu)
if err != nil {
clog.Error("queryIssuanceRecordByAddr", "decode", err)
return nil, err
}
record, err := queryIssuanceRecordByID(db, issu.IssuanceId, issu.DebtId)
if err != nil { if err != nil {
clog.Error("queryIssuanceRecordByAddr", "decode", err) clog.Error("queryIssuanceRecordByAddr", "decode", err)
return nil, err continue
} }
records = append(records, record) records = append(records, record)
} }
......
// Copyright Fuzamei Corp. 2018 All Rights Reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package executor
import "fmt"
func calcIssuanceKey(issuanceID string, index int64) []byte {
key := fmt.Sprintf("LODB-issuance-ID:%s:%018d", issuanceID, index)
return []byte(key)
}
func calcIssuanceStatusPrefix(status int32) []byte {
key := fmt.Sprintf("LODB-issuance-status:%d", status)
return []byte(key)
}
func calcIssuanceStatusKey(status int32, index int64) []byte {
key := fmt.Sprintf("LODB-issuance-status:%d:%018d", status, index)
return []byte(key)
}
func calcIssuanceRecordAddrPrefix(addr string) []byte {
key := fmt.Sprintf("LODB-issuance-record-addr:%s", addr)
return []byte(key)
}
func calcIssuanceRecordAddrKey(addr string, index int64) []byte {
key := fmt.Sprintf("LODB-issuance-record-addr:%s:%018d", addr, index)
return []byte(key)
}
func calcIssuancePriceKey(time string) []byte {
key := fmt.Sprintf("LODB-issuance-price:%s", time)
return []byte(key)
}
func calcIssuanceRecordStatusPrefix(status string) []byte {
key := fmt.Sprintf("LODB-issuance-record-status:%s", status)
return []byte(key)
}
func calcIssuanceRecordStatusKey(status int32, index int64) []byte {
key := fmt.Sprintf("LODB-issuance-record-status:%d:%018d", status, index)
return []byte(key)
}
...@@ -58,17 +58,17 @@ func (c *Issuance) Query_IssuanceInfoByIDs(req *pty.ReqIssuanceInfos) (types.Mes ...@@ -58,17 +58,17 @@ func (c *Issuance) Query_IssuanceInfoByIDs(req *pty.ReqIssuanceInfos) (types.Mes
func (c *Issuance) Query_IssuanceByStatus(req *pty.ReqIssuanceByStatus) (types.Message, error) { func (c *Issuance) Query_IssuanceByStatus(req *pty.ReqIssuanceByStatus) (types.Message, error) {
ids := &pty.RepIssuanceIDs{} ids := &pty.RepIssuanceIDs{}
issuIDRecords, err := queryIssuanceByStatus(c.GetLocalDB(), req.Status, req.Index) issuIDs, err := queryIssuanceByStatus(c.GetLocalDB(), req.Status, req.IssuanceId)
if err != nil { if err != nil {
clog.Error("Query_IssuanceByStatus", "get issuance error", err) clog.Error("Query_IssuanceByStatus", "get issuance error", err)
return nil, err return nil, err
} }
ids.IDs = append(ids.IDs, issuIDRecords...) ids.IDs = append(ids.IDs, issuIDs...)
return ids, nil return ids, nil
} }
func (c *Issuance) Query_IssuanceRecordByID(req *pty.ReqIssuanceDebtInfo) (types.Message, error) { func (c *Issuance) Query_IssuanceRecordByID(req *pty.ReqIssuanceRecords) (types.Message, error) {
ret := &pty.RepIssuanceDebtInfo{} ret := &pty.RepIssuanceDebtInfo{}
issuRecord, err := queryIssuanceRecordByID(c.GetStateDB(), req.IssuanceId, req.DebtId) issuRecord, err := queryIssuanceRecordByID(c.GetStateDB(), req.IssuanceId, req.DebtId)
if err != nil { if err != nil {
...@@ -80,9 +80,9 @@ func (c *Issuance) Query_IssuanceRecordByID(req *pty.ReqIssuanceDebtInfo) (types ...@@ -80,9 +80,9 @@ func (c *Issuance) Query_IssuanceRecordByID(req *pty.ReqIssuanceDebtInfo) (types
return ret, nil return ret, nil
} }
func (c *Issuance) Query_IssuanceRecordsByAddr(req *pty.ReqIssuanceRecordsByAddr) (types.Message, error) { func (c *Issuance) Query_IssuanceRecordsByAddr(req *pty.ReqIssuanceRecords) (types.Message, error) {
ret := &pty.RepIssuanceRecords{} ret := &pty.RepIssuanceRecords{}
records, err := queryIssuanceRecordByAddr(c.GetStateDB(), c.GetLocalDB(), req.Addr, req.Index) records, err := queryIssuanceRecordByAddr(c.GetStateDB(), c.GetLocalDB(), req.Addr, req.DebtId)
if err != nil { if err != nil {
clog.Error("Query_IssuanceDebtInfoByAddr", "get issuance record error", err) clog.Error("Query_IssuanceDebtInfoByAddr", "get issuance record error", err)
return nil, err return nil, err
...@@ -101,9 +101,9 @@ func (c *Issuance) Query_IssuanceRecordsByAddr(req *pty.ReqIssuanceRecordsByAddr ...@@ -101,9 +101,9 @@ func (c *Issuance) Query_IssuanceRecordsByAddr(req *pty.ReqIssuanceRecordsByAddr
return ret, nil return ret, nil
} }
func (c *Issuance) Query_IssuanceRecordsByStatus(req *pty.ReqIssuanceRecordsByStatus) (types.Message, error) { func (c *Issuance) Query_IssuanceRecordsByStatus(req *pty.ReqIssuanceRecords) (types.Message, error) {
ret := &pty.RepIssuanceRecords{} ret := &pty.RepIssuanceRecords{}
records, err := queryIssuanceRecordsByStatus(c.GetStateDB(), c.GetLocalDB(), req.Status, req.Index) records, err := queryIssuanceRecordsByStatus(c.GetStateDB(), c.GetLocalDB(), req.Status, req.DebtId)
if err != nil { if err != nil {
clog.Error("Query_IssuanceDebtInfoByStatus", "get issuance record error", err) clog.Error("Query_IssuanceDebtInfoByStatus", "get issuance record error", err)
return nil, err return nil, err
...@@ -113,7 +113,7 @@ func (c *Issuance) Query_IssuanceRecordsByStatus(req *pty.ReqIssuanceRecordsBySt ...@@ -113,7 +113,7 @@ func (c *Issuance) Query_IssuanceRecordsByStatus(req *pty.ReqIssuanceRecordsBySt
return ret, nil return ret, nil
} }
func (c *Issuance) Query_IssuancePrice(req *pty.ReqIssuanceRecordsByStatus) (types.Message, error) { func (c *Issuance) Query_IssuancePrice(req *pty.ReqIssuanceRecords) (types.Message, error) {
price, err := getLatestPrice(c.GetStateDB()) price, err := getLatestPrice(c.GetStateDB())
if err != nil { if err != nil {
clog.Error("Query_CollateralizePrice", "error", err) clog.Error("Query_CollateralizePrice", "error", err)
......
...@@ -19,8 +19,6 @@ message Issuance { ...@@ -19,8 +19,6 @@ message Issuance {
int64 createTime = 13;//创建时间 int64 createTime = 13;//创建时间
int64 balance = 14;//剩余可发行ccny int64 balance = 14;//剩余可发行ccny
string issuerAddr = 15;//发行地址 string issuerAddr = 15;//发行地址
int64 index = 16;//当前索引
int64 preIndex = 17;//上级索引
} }
// 抵押记录 // 抵押记录
...@@ -37,8 +35,6 @@ message DebtRecord { ...@@ -37,8 +35,6 @@ message DebtRecord {
int32 preStatus = 10;//上一次抵押状态,用于告警恢复 int32 preStatus = 10;//上一次抵押状态,用于告警恢复
string debtId = 11;//借贷id string debtId = 11;//借贷id
string issuId = 12;//发行id string issuId = 12;//发行id
int64 index = 13;//当前索引
int64 preIndex = 14;//上级索引
} }
// 资产价格记录 // 资产价格记录
...@@ -102,24 +98,17 @@ message ReceiptIssuance { ...@@ -102,24 +98,17 @@ message ReceiptIssuance {
string accountAddr = 2; string accountAddr = 2;
string debtId = 3; string debtId = 3;
int32 status = 4; int32 status = 4;
int32 preStatus = 5;
int64 index = 6;
int64 preIndex = 7;
int64 recordTime = 8; //价格记录时间
double btyPrice = 9; //bty价格
} }
// exec_local 抵押记录信息 // exec_local issuid记录信息
message IssuanceRecord { message ReceiptIssuanceID {
string issuanceId = 1; string issuanceId = 1;
string addr = 2; int32 status = 2;
string debtId = 3;
int64 index = 4;
} }
// exec_local 抵押记录信息列表 // exec_local 抵押记录信息列表
message IssuanceRecords { message IssuanceRecords {
repeated IssuanceRecord records = 1; repeated ReceiptIssuance records = 1;
} }
// 根据ID查询发行信息 // 根据ID查询发行信息
...@@ -154,7 +143,7 @@ message RepIssuanceCurrentInfos { ...@@ -154,7 +143,7 @@ message RepIssuanceCurrentInfos {
// 根据发行状态查询 // 根据发行状态查询
message ReqIssuanceByStatus { message ReqIssuanceByStatus {
int32 status = 1; int32 status = 1;
int64 index = 2; string issuanceId = 2;
} }
// 返回发行ID列表 // 返回发行ID列表
...@@ -163,18 +152,11 @@ message RepIssuanceIDs { ...@@ -163,18 +152,11 @@ message RepIssuanceIDs {
} }
// 根据用户地址查询抵押记录 // 根据用户地址查询抵押记录
message ReqIssuanceRecordsByAddr { message ReqIssuanceRecords {
string issuanceId = 1; string issuanceId = 1;
string addr = 2; string addr = 2;
int32 status = 3; int32 status = 3;
int64 index = 4; string debtId = 4;
}
// 根据状态查询抵押记录
message ReqIssuanceRecordsByStatus {
string issuanceId = 1;
int32 status = 2;
int64 index = 3;
} }
// 返回记录列表 // 返回记录列表
...@@ -182,12 +164,6 @@ message RepIssuanceRecords { ...@@ -182,12 +164,6 @@ message RepIssuanceRecords {
repeated DebtRecord records = 1; repeated DebtRecord records = 1;
} }
// 精确查找抵押记录
message ReqIssuanceDebtInfo {
string issuanceId = 1;
string debtId = 2;
}
// 返回记录 // 返回记录
message RepIssuanceDebtInfo { message RepIssuanceDebtInfo {
DebtRecord record = 1; DebtRecord record = 1;
......
...@@ -5,9 +5,7 @@ package types ...@@ -5,9 +5,7 @@ package types
import ( import (
fmt "fmt" fmt "fmt"
proto "github.com/golang/protobuf/proto" proto "github.com/golang/protobuf/proto"
math "math" math "math"
) )
...@@ -20,7 +18,7 @@ var _ = math.Inf ...@@ -20,7 +18,7 @@ var _ = math.Inf
// is compatible with the proto package it is being compiled against. // is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the // A compilation error at this line likely means your copy of the
// proto package needs to be updated. // proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
// 发行信息 // 发行信息
type Issuance struct { type Issuance struct {
...@@ -39,8 +37,6 @@ type Issuance struct { ...@@ -39,8 +37,6 @@ type Issuance struct {
CreateTime int64 `protobuf:"varint,13,opt,name=createTime,proto3" json:"createTime,omitempty"` CreateTime int64 `protobuf:"varint,13,opt,name=createTime,proto3" json:"createTime,omitempty"`
Balance int64 `protobuf:"varint,14,opt,name=balance,proto3" json:"balance,omitempty"` Balance int64 `protobuf:"varint,14,opt,name=balance,proto3" json:"balance,omitempty"`
IssuerAddr string `protobuf:"bytes,15,opt,name=issuerAddr,proto3" json:"issuerAddr,omitempty"` IssuerAddr string `protobuf:"bytes,15,opt,name=issuerAddr,proto3" json:"issuerAddr,omitempty"`
Index int64 `protobuf:"varint,16,opt,name=index,proto3" json:"index,omitempty"`
PreIndex int64 `protobuf:"varint,17,opt,name=preIndex,proto3" json:"preIndex,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
...@@ -50,16 +46,17 @@ func (m *Issuance) Reset() { *m = Issuance{} } ...@@ -50,16 +46,17 @@ func (m *Issuance) Reset() { *m = Issuance{} }
func (m *Issuance) String() string { return proto.CompactTextString(m) } func (m *Issuance) String() string { return proto.CompactTextString(m) }
func (*Issuance) ProtoMessage() {} func (*Issuance) ProtoMessage() {}
func (*Issuance) Descriptor() ([]byte, []int) { func (*Issuance) Descriptor() ([]byte, []int) {
return fileDescriptor_issuance_c7d54cbbda1bfbd2, []int{0} return fileDescriptor_7110f4228953d675, []int{0}
} }
func (m *Issuance) XXX_Unmarshal(b []byte) error { func (m *Issuance) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Issuance.Unmarshal(m, b) return xxx_messageInfo_Issuance.Unmarshal(m, b)
} }
func (m *Issuance) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *Issuance) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Issuance.Marshal(b, m, deterministic) return xxx_messageInfo_Issuance.Marshal(b, m, deterministic)
} }
func (dst *Issuance) XXX_Merge(src proto.Message) { func (m *Issuance) XXX_Merge(src proto.Message) {
xxx_messageInfo_Issuance.Merge(dst, src) xxx_messageInfo_Issuance.Merge(m, src)
} }
func (m *Issuance) XXX_Size() int { func (m *Issuance) XXX_Size() int {
return xxx_messageInfo_Issuance.Size(m) return xxx_messageInfo_Issuance.Size(m)
...@@ -175,20 +172,6 @@ func (m *Issuance) GetIssuerAddr() string { ...@@ -175,20 +172,6 @@ func (m *Issuance) GetIssuerAddr() string {
return "" return ""
} }
func (m *Issuance) GetIndex() int64 {
if m != nil {
return m.Index
}
return 0
}
func (m *Issuance) GetPreIndex() int64 {
if m != nil {
return m.PreIndex
}
return 0
}
// 抵押记录 // 抵押记录
type DebtRecord struct { type DebtRecord struct {
AccountAddr string `protobuf:"bytes,1,opt,name=accountAddr,proto3" json:"accountAddr,omitempty"` AccountAddr string `protobuf:"bytes,1,opt,name=accountAddr,proto3" json:"accountAddr,omitempty"`
...@@ -203,8 +186,6 @@ type DebtRecord struct { ...@@ -203,8 +186,6 @@ type DebtRecord struct {
PreStatus int32 `protobuf:"varint,10,opt,name=preStatus,proto3" json:"preStatus,omitempty"` PreStatus int32 `protobuf:"varint,10,opt,name=preStatus,proto3" json:"preStatus,omitempty"`
DebtId string `protobuf:"bytes,11,opt,name=debtId,proto3" json:"debtId,omitempty"` DebtId string `protobuf:"bytes,11,opt,name=debtId,proto3" json:"debtId,omitempty"`
IssuId string `protobuf:"bytes,12,opt,name=issuId,proto3" json:"issuId,omitempty"` IssuId string `protobuf:"bytes,12,opt,name=issuId,proto3" json:"issuId,omitempty"`
Index int64 `protobuf:"varint,13,opt,name=index,proto3" json:"index,omitempty"`
PreIndex int64 `protobuf:"varint,14,opt,name=preIndex,proto3" json:"preIndex,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
...@@ -214,16 +195,17 @@ func (m *DebtRecord) Reset() { *m = DebtRecord{} } ...@@ -214,16 +195,17 @@ func (m *DebtRecord) Reset() { *m = DebtRecord{} }
func (m *DebtRecord) String() string { return proto.CompactTextString(m) } func (m *DebtRecord) String() string { return proto.CompactTextString(m) }
func (*DebtRecord) ProtoMessage() {} func (*DebtRecord) ProtoMessage() {}
func (*DebtRecord) Descriptor() ([]byte, []int) { func (*DebtRecord) Descriptor() ([]byte, []int) {
return fileDescriptor_issuance_c7d54cbbda1bfbd2, []int{1} return fileDescriptor_7110f4228953d675, []int{1}
} }
func (m *DebtRecord) XXX_Unmarshal(b []byte) error { func (m *DebtRecord) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DebtRecord.Unmarshal(m, b) return xxx_messageInfo_DebtRecord.Unmarshal(m, b)
} }
func (m *DebtRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *DebtRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DebtRecord.Marshal(b, m, deterministic) return xxx_messageInfo_DebtRecord.Marshal(b, m, deterministic)
} }
func (dst *DebtRecord) XXX_Merge(src proto.Message) { func (m *DebtRecord) XXX_Merge(src proto.Message) {
xxx_messageInfo_DebtRecord.Merge(dst, src) xxx_messageInfo_DebtRecord.Merge(m, src)
} }
func (m *DebtRecord) XXX_Size() int { func (m *DebtRecord) XXX_Size() int {
return xxx_messageInfo_DebtRecord.Size(m) return xxx_messageInfo_DebtRecord.Size(m)
...@@ -318,20 +300,6 @@ func (m *DebtRecord) GetIssuId() string { ...@@ -318,20 +300,6 @@ func (m *DebtRecord) GetIssuId() string {
return "" return ""
} }
func (m *DebtRecord) GetIndex() int64 {
if m != nil {
return m.Index
}
return 0
}
func (m *DebtRecord) GetPreIndex() int64 {
if m != nil {
return m.PreIndex
}
return 0
}
// 资产价格记录 // 资产价格记录
type IssuanceAssetPriceRecord struct { type IssuanceAssetPriceRecord struct {
RecordTime int64 `protobuf:"varint,1,opt,name=recordTime,proto3" json:"recordTime,omitempty"` RecordTime int64 `protobuf:"varint,1,opt,name=recordTime,proto3" json:"recordTime,omitempty"`
...@@ -345,16 +313,17 @@ func (m *IssuanceAssetPriceRecord) Reset() { *m = IssuanceAssetPriceReco ...@@ -345,16 +313,17 @@ func (m *IssuanceAssetPriceRecord) Reset() { *m = IssuanceAssetPriceReco
func (m *IssuanceAssetPriceRecord) String() string { return proto.CompactTextString(m) } func (m *IssuanceAssetPriceRecord) String() string { return proto.CompactTextString(m) }
func (*IssuanceAssetPriceRecord) ProtoMessage() {} func (*IssuanceAssetPriceRecord) ProtoMessage() {}
func (*IssuanceAssetPriceRecord) Descriptor() ([]byte, []int) { func (*IssuanceAssetPriceRecord) Descriptor() ([]byte, []int) {
return fileDescriptor_issuance_c7d54cbbda1bfbd2, []int{2} return fileDescriptor_7110f4228953d675, []int{2}
} }
func (m *IssuanceAssetPriceRecord) XXX_Unmarshal(b []byte) error { func (m *IssuanceAssetPriceRecord) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_IssuanceAssetPriceRecord.Unmarshal(m, b) return xxx_messageInfo_IssuanceAssetPriceRecord.Unmarshal(m, b)
} }
func (m *IssuanceAssetPriceRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *IssuanceAssetPriceRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_IssuanceAssetPriceRecord.Marshal(b, m, deterministic) return xxx_messageInfo_IssuanceAssetPriceRecord.Marshal(b, m, deterministic)
} }
func (dst *IssuanceAssetPriceRecord) XXX_Merge(src proto.Message) { func (m *IssuanceAssetPriceRecord) XXX_Merge(src proto.Message) {
xxx_messageInfo_IssuanceAssetPriceRecord.Merge(dst, src) xxx_messageInfo_IssuanceAssetPriceRecord.Merge(m, src)
} }
func (m *IssuanceAssetPriceRecord) XXX_Size() int { func (m *IssuanceAssetPriceRecord) XXX_Size() int {
return xxx_messageInfo_IssuanceAssetPriceRecord.Size(m) return xxx_messageInfo_IssuanceAssetPriceRecord.Size(m)
...@@ -399,16 +368,17 @@ func (m *IssuanceAction) Reset() { *m = IssuanceAction{} } ...@@ -399,16 +368,17 @@ func (m *IssuanceAction) Reset() { *m = IssuanceAction{} }
func (m *IssuanceAction) String() string { return proto.CompactTextString(m) } func (m *IssuanceAction) String() string { return proto.CompactTextString(m) }
func (*IssuanceAction) ProtoMessage() {} func (*IssuanceAction) ProtoMessage() {}
func (*IssuanceAction) Descriptor() ([]byte, []int) { func (*IssuanceAction) Descriptor() ([]byte, []int) {
return fileDescriptor_issuance_c7d54cbbda1bfbd2, []int{3} return fileDescriptor_7110f4228953d675, []int{3}
} }
func (m *IssuanceAction) XXX_Unmarshal(b []byte) error { func (m *IssuanceAction) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_IssuanceAction.Unmarshal(m, b) return xxx_messageInfo_IssuanceAction.Unmarshal(m, b)
} }
func (m *IssuanceAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *IssuanceAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_IssuanceAction.Marshal(b, m, deterministic) return xxx_messageInfo_IssuanceAction.Marshal(b, m, deterministic)
} }
func (dst *IssuanceAction) XXX_Merge(src proto.Message) { func (m *IssuanceAction) XXX_Merge(src proto.Message) {
xxx_messageInfo_IssuanceAction.Merge(dst, src) xxx_messageInfo_IssuanceAction.Merge(m, src)
} }
func (m *IssuanceAction) XXX_Size() int { func (m *IssuanceAction) XXX_Size() int {
return xxx_messageInfo_IssuanceAction.Size(m) return xxx_messageInfo_IssuanceAction.Size(m)
...@@ -515,9 +485,9 @@ func (m *IssuanceAction) GetTy() int32 { ...@@ -515,9 +485,9 @@ func (m *IssuanceAction) GetTy() int32 {
return 0 return 0
} }
// XXX_OneofFuncs is for the internal use of the proto package. // XXX_OneofWrappers is for the internal use of the proto package.
func (*IssuanceAction) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { func (*IssuanceAction) XXX_OneofWrappers() []interface{} {
return _IssuanceAction_OneofMarshaler, _IssuanceAction_OneofUnmarshaler, _IssuanceAction_OneofSizer, []interface{}{ return []interface{}{
(*IssuanceAction_Create)(nil), (*IssuanceAction_Create)(nil),
(*IssuanceAction_Debt)(nil), (*IssuanceAction_Debt)(nil),
(*IssuanceAction_Repay)(nil), (*IssuanceAction_Repay)(nil),
...@@ -527,144 +497,6 @@ func (*IssuanceAction) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer ...@@ -527,144 +497,6 @@ func (*IssuanceAction) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer
} }
} }
func _IssuanceAction_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*IssuanceAction)
// value
switch x := m.Value.(type) {
case *IssuanceAction_Create:
b.EncodeVarint(1<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.Create); err != nil {
return err
}
case *IssuanceAction_Debt:
b.EncodeVarint(2<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.Debt); err != nil {
return err
}
case *IssuanceAction_Repay:
b.EncodeVarint(3<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.Repay); err != nil {
return err
}
case *IssuanceAction_Feed:
b.EncodeVarint(4<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.Feed); err != nil {
return err
}
case *IssuanceAction_Close:
b.EncodeVarint(5<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.Close); err != nil {
return err
}
case *IssuanceAction_Manage:
b.EncodeVarint(6<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.Manage); err != nil {
return err
}
case nil:
default:
return fmt.Errorf("IssuanceAction.Value has unexpected type %T", x)
}
return nil
}
func _IssuanceAction_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*IssuanceAction)
switch tag {
case 1: // value.create
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(IssuanceCreate)
err := b.DecodeMessage(msg)
m.Value = &IssuanceAction_Create{msg}
return true, err
case 2: // value.debt
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(IssuanceDebt)
err := b.DecodeMessage(msg)
m.Value = &IssuanceAction_Debt{msg}
return true, err
case 3: // value.repay
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(IssuanceRepay)
err := b.DecodeMessage(msg)
m.Value = &IssuanceAction_Repay{msg}
return true, err
case 4: // value.feed
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(IssuanceFeed)
err := b.DecodeMessage(msg)
m.Value = &IssuanceAction_Feed{msg}
return true, err
case 5: // value.close
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(IssuanceClose)
err := b.DecodeMessage(msg)
m.Value = &IssuanceAction_Close{msg}
return true, err
case 6: // value.manage
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(IssuanceManage)
err := b.DecodeMessage(msg)
m.Value = &IssuanceAction_Manage{msg}
return true, err
default:
return false, nil
}
}
func _IssuanceAction_OneofSizer(msg proto.Message) (n int) {
m := msg.(*IssuanceAction)
// value
switch x := m.Value.(type) {
case *IssuanceAction_Create:
s := proto.Size(x.Create)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *IssuanceAction_Debt:
s := proto.Size(x.Debt)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *IssuanceAction_Repay:
s := proto.Size(x.Repay)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *IssuanceAction_Feed:
s := proto.Size(x.Feed)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *IssuanceAction_Close:
s := proto.Size(x.Close)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *IssuanceAction_Manage:
s := proto.Size(x.Manage)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
type IssuanceManage struct { type IssuanceManage struct {
SuperAddrs []string `protobuf:"bytes,1,rep,name=superAddrs,proto3" json:"superAddrs,omitempty"` SuperAddrs []string `protobuf:"bytes,1,rep,name=superAddrs,proto3" json:"superAddrs,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
...@@ -676,16 +508,17 @@ func (m *IssuanceManage) Reset() { *m = IssuanceManage{} } ...@@ -676,16 +508,17 @@ func (m *IssuanceManage) Reset() { *m = IssuanceManage{} }
func (m *IssuanceManage) String() string { return proto.CompactTextString(m) } func (m *IssuanceManage) String() string { return proto.CompactTextString(m) }
func (*IssuanceManage) ProtoMessage() {} func (*IssuanceManage) ProtoMessage() {}
func (*IssuanceManage) Descriptor() ([]byte, []int) { func (*IssuanceManage) Descriptor() ([]byte, []int) {
return fileDescriptor_issuance_c7d54cbbda1bfbd2, []int{4} return fileDescriptor_7110f4228953d675, []int{4}
} }
func (m *IssuanceManage) XXX_Unmarshal(b []byte) error { func (m *IssuanceManage) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_IssuanceManage.Unmarshal(m, b) return xxx_messageInfo_IssuanceManage.Unmarshal(m, b)
} }
func (m *IssuanceManage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *IssuanceManage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_IssuanceManage.Marshal(b, m, deterministic) return xxx_messageInfo_IssuanceManage.Marshal(b, m, deterministic)
} }
func (dst *IssuanceManage) XXX_Merge(src proto.Message) { func (m *IssuanceManage) XXX_Merge(src proto.Message) {
xxx_messageInfo_IssuanceManage.Merge(dst, src) xxx_messageInfo_IssuanceManage.Merge(m, src)
} }
func (m *IssuanceManage) XXX_Size() int { func (m *IssuanceManage) XXX_Size() int {
return xxx_messageInfo_IssuanceManage.Size(m) return xxx_messageInfo_IssuanceManage.Size(m)
...@@ -718,16 +551,17 @@ func (m *IssuanceCreate) Reset() { *m = IssuanceCreate{} } ...@@ -718,16 +551,17 @@ func (m *IssuanceCreate) Reset() { *m = IssuanceCreate{} }
func (m *IssuanceCreate) String() string { return proto.CompactTextString(m) } func (m *IssuanceCreate) String() string { return proto.CompactTextString(m) }
func (*IssuanceCreate) ProtoMessage() {} func (*IssuanceCreate) ProtoMessage() {}
func (*IssuanceCreate) Descriptor() ([]byte, []int) { func (*IssuanceCreate) Descriptor() ([]byte, []int) {
return fileDescriptor_issuance_c7d54cbbda1bfbd2, []int{5} return fileDescriptor_7110f4228953d675, []int{5}
} }
func (m *IssuanceCreate) XXX_Unmarshal(b []byte) error { func (m *IssuanceCreate) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_IssuanceCreate.Unmarshal(m, b) return xxx_messageInfo_IssuanceCreate.Unmarshal(m, b)
} }
func (m *IssuanceCreate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *IssuanceCreate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_IssuanceCreate.Marshal(b, m, deterministic) return xxx_messageInfo_IssuanceCreate.Marshal(b, m, deterministic)
} }
func (dst *IssuanceCreate) XXX_Merge(src proto.Message) { func (m *IssuanceCreate) XXX_Merge(src proto.Message) {
xxx_messageInfo_IssuanceCreate.Merge(dst, src) xxx_messageInfo_IssuanceCreate.Merge(m, src)
} }
func (m *IssuanceCreate) XXX_Size() int { func (m *IssuanceCreate) XXX_Size() int {
return xxx_messageInfo_IssuanceCreate.Size(m) return xxx_messageInfo_IssuanceCreate.Size(m)
...@@ -779,16 +613,17 @@ func (m *IssuanceDebt) Reset() { *m = IssuanceDebt{} } ...@@ -779,16 +613,17 @@ func (m *IssuanceDebt) Reset() { *m = IssuanceDebt{} }
func (m *IssuanceDebt) String() string { return proto.CompactTextString(m) } func (m *IssuanceDebt) String() string { return proto.CompactTextString(m) }
func (*IssuanceDebt) ProtoMessage() {} func (*IssuanceDebt) ProtoMessage() {}
func (*IssuanceDebt) Descriptor() ([]byte, []int) { func (*IssuanceDebt) Descriptor() ([]byte, []int) {
return fileDescriptor_issuance_c7d54cbbda1bfbd2, []int{6} return fileDescriptor_7110f4228953d675, []int{6}
} }
func (m *IssuanceDebt) XXX_Unmarshal(b []byte) error { func (m *IssuanceDebt) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_IssuanceDebt.Unmarshal(m, b) return xxx_messageInfo_IssuanceDebt.Unmarshal(m, b)
} }
func (m *IssuanceDebt) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *IssuanceDebt) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_IssuanceDebt.Marshal(b, m, deterministic) return xxx_messageInfo_IssuanceDebt.Marshal(b, m, deterministic)
} }
func (dst *IssuanceDebt) XXX_Merge(src proto.Message) { func (m *IssuanceDebt) XXX_Merge(src proto.Message) {
xxx_messageInfo_IssuanceDebt.Merge(dst, src) xxx_messageInfo_IssuanceDebt.Merge(m, src)
} }
func (m *IssuanceDebt) XXX_Size() int { func (m *IssuanceDebt) XXX_Size() int {
return xxx_messageInfo_IssuanceDebt.Size(m) return xxx_messageInfo_IssuanceDebt.Size(m)
...@@ -826,16 +661,17 @@ func (m *IssuanceRepay) Reset() { *m = IssuanceRepay{} } ...@@ -826,16 +661,17 @@ func (m *IssuanceRepay) Reset() { *m = IssuanceRepay{} }
func (m *IssuanceRepay) String() string { return proto.CompactTextString(m) } func (m *IssuanceRepay) String() string { return proto.CompactTextString(m) }
func (*IssuanceRepay) ProtoMessage() {} func (*IssuanceRepay) ProtoMessage() {}
func (*IssuanceRepay) Descriptor() ([]byte, []int) { func (*IssuanceRepay) Descriptor() ([]byte, []int) {
return fileDescriptor_issuance_c7d54cbbda1bfbd2, []int{7} return fileDescriptor_7110f4228953d675, []int{7}
} }
func (m *IssuanceRepay) XXX_Unmarshal(b []byte) error { func (m *IssuanceRepay) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_IssuanceRepay.Unmarshal(m, b) return xxx_messageInfo_IssuanceRepay.Unmarshal(m, b)
} }
func (m *IssuanceRepay) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *IssuanceRepay) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_IssuanceRepay.Marshal(b, m, deterministic) return xxx_messageInfo_IssuanceRepay.Marshal(b, m, deterministic)
} }
func (dst *IssuanceRepay) XXX_Merge(src proto.Message) { func (m *IssuanceRepay) XXX_Merge(src proto.Message) {
xxx_messageInfo_IssuanceRepay.Merge(dst, src) xxx_messageInfo_IssuanceRepay.Merge(m, src)
} }
func (m *IssuanceRepay) XXX_Size() int { func (m *IssuanceRepay) XXX_Size() int {
return xxx_messageInfo_IssuanceRepay.Size(m) return xxx_messageInfo_IssuanceRepay.Size(m)
...@@ -874,16 +710,17 @@ func (m *IssuanceFeed) Reset() { *m = IssuanceFeed{} } ...@@ -874,16 +710,17 @@ func (m *IssuanceFeed) Reset() { *m = IssuanceFeed{} }
func (m *IssuanceFeed) String() string { return proto.CompactTextString(m) } func (m *IssuanceFeed) String() string { return proto.CompactTextString(m) }
func (*IssuanceFeed) ProtoMessage() {} func (*IssuanceFeed) ProtoMessage() {}
func (*IssuanceFeed) Descriptor() ([]byte, []int) { func (*IssuanceFeed) Descriptor() ([]byte, []int) {
return fileDescriptor_issuance_c7d54cbbda1bfbd2, []int{8} return fileDescriptor_7110f4228953d675, []int{8}
} }
func (m *IssuanceFeed) XXX_Unmarshal(b []byte) error { func (m *IssuanceFeed) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_IssuanceFeed.Unmarshal(m, b) return xxx_messageInfo_IssuanceFeed.Unmarshal(m, b)
} }
func (m *IssuanceFeed) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *IssuanceFeed) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_IssuanceFeed.Marshal(b, m, deterministic) return xxx_messageInfo_IssuanceFeed.Marshal(b, m, deterministic)
} }
func (dst *IssuanceFeed) XXX_Merge(src proto.Message) { func (m *IssuanceFeed) XXX_Merge(src proto.Message) {
xxx_messageInfo_IssuanceFeed.Merge(dst, src) xxx_messageInfo_IssuanceFeed.Merge(m, src)
} }
func (m *IssuanceFeed) XXX_Size() int { func (m *IssuanceFeed) XXX_Size() int {
return xxx_messageInfo_IssuanceFeed.Size(m) return xxx_messageInfo_IssuanceFeed.Size(m)
...@@ -927,16 +764,17 @@ func (m *IssuanceClose) Reset() { *m = IssuanceClose{} } ...@@ -927,16 +764,17 @@ func (m *IssuanceClose) Reset() { *m = IssuanceClose{} }
func (m *IssuanceClose) String() string { return proto.CompactTextString(m) } func (m *IssuanceClose) String() string { return proto.CompactTextString(m) }
func (*IssuanceClose) ProtoMessage() {} func (*IssuanceClose) ProtoMessage() {}
func (*IssuanceClose) Descriptor() ([]byte, []int) { func (*IssuanceClose) Descriptor() ([]byte, []int) {
return fileDescriptor_issuance_c7d54cbbda1bfbd2, []int{9} return fileDescriptor_7110f4228953d675, []int{9}
} }
func (m *IssuanceClose) XXX_Unmarshal(b []byte) error { func (m *IssuanceClose) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_IssuanceClose.Unmarshal(m, b) return xxx_messageInfo_IssuanceClose.Unmarshal(m, b)
} }
func (m *IssuanceClose) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *IssuanceClose) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_IssuanceClose.Marshal(b, m, deterministic) return xxx_messageInfo_IssuanceClose.Marshal(b, m, deterministic)
} }
func (dst *IssuanceClose) XXX_Merge(src proto.Message) { func (m *IssuanceClose) XXX_Merge(src proto.Message) {
xxx_messageInfo_IssuanceClose.Merge(dst, src) xxx_messageInfo_IssuanceClose.Merge(m, src)
} }
func (m *IssuanceClose) XXX_Size() int { func (m *IssuanceClose) XXX_Size() int {
return xxx_messageInfo_IssuanceClose.Size(m) return xxx_messageInfo_IssuanceClose.Size(m)
...@@ -960,11 +798,6 @@ type ReceiptIssuance struct { ...@@ -960,11 +798,6 @@ type ReceiptIssuance struct {
AccountAddr string `protobuf:"bytes,2,opt,name=accountAddr,proto3" json:"accountAddr,omitempty"` AccountAddr string `protobuf:"bytes,2,opt,name=accountAddr,proto3" json:"accountAddr,omitempty"`
DebtId string `protobuf:"bytes,3,opt,name=debtId,proto3" json:"debtId,omitempty"` DebtId string `protobuf:"bytes,3,opt,name=debtId,proto3" json:"debtId,omitempty"`
Status int32 `protobuf:"varint,4,opt,name=status,proto3" json:"status,omitempty"` Status int32 `protobuf:"varint,4,opt,name=status,proto3" json:"status,omitempty"`
PreStatus int32 `protobuf:"varint,5,opt,name=preStatus,proto3" json:"preStatus,omitempty"`
Index int64 `protobuf:"varint,6,opt,name=index,proto3" json:"index,omitempty"`
PreIndex int64 `protobuf:"varint,7,opt,name=preIndex,proto3" json:"preIndex,omitempty"`
RecordTime int64 `protobuf:"varint,8,opt,name=recordTime,proto3" json:"recordTime,omitempty"`
BtyPrice float64 `protobuf:"fixed64,9,opt,name=btyPrice,proto3" json:"btyPrice,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
...@@ -974,16 +807,17 @@ func (m *ReceiptIssuance) Reset() { *m = ReceiptIssuance{} } ...@@ -974,16 +807,17 @@ func (m *ReceiptIssuance) Reset() { *m = ReceiptIssuance{} }
func (m *ReceiptIssuance) String() string { return proto.CompactTextString(m) } func (m *ReceiptIssuance) String() string { return proto.CompactTextString(m) }
func (*ReceiptIssuance) ProtoMessage() {} func (*ReceiptIssuance) ProtoMessage() {}
func (*ReceiptIssuance) Descriptor() ([]byte, []int) { func (*ReceiptIssuance) Descriptor() ([]byte, []int) {
return fileDescriptor_issuance_c7d54cbbda1bfbd2, []int{10} return fileDescriptor_7110f4228953d675, []int{10}
} }
func (m *ReceiptIssuance) XXX_Unmarshal(b []byte) error { func (m *ReceiptIssuance) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReceiptIssuance.Unmarshal(m, b) return xxx_messageInfo_ReceiptIssuance.Unmarshal(m, b)
} }
func (m *ReceiptIssuance) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReceiptIssuance) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReceiptIssuance.Marshal(b, m, deterministic) return xxx_messageInfo_ReceiptIssuance.Marshal(b, m, deterministic)
} }
func (dst *ReceiptIssuance) XXX_Merge(src proto.Message) { func (m *ReceiptIssuance) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReceiptIssuance.Merge(dst, src) xxx_messageInfo_ReceiptIssuance.Merge(m, src)
} }
func (m *ReceiptIssuance) XXX_Size() int { func (m *ReceiptIssuance) XXX_Size() int {
return xxx_messageInfo_ReceiptIssuance.Size(m) return xxx_messageInfo_ReceiptIssuance.Size(m)
...@@ -1022,126 +856,77 @@ func (m *ReceiptIssuance) GetStatus() int32 { ...@@ -1022,126 +856,77 @@ func (m *ReceiptIssuance) GetStatus() int32 {
return 0 return 0
} }
func (m *ReceiptIssuance) GetPreStatus() int32 { // exec_local issuid记录信息
if m != nil { type ReceiptIssuanceID struct {
return m.PreStatus
}
return 0
}
func (m *ReceiptIssuance) GetIndex() int64 {
if m != nil {
return m.Index
}
return 0
}
func (m *ReceiptIssuance) GetPreIndex() int64 {
if m != nil {
return m.PreIndex
}
return 0
}
func (m *ReceiptIssuance) GetRecordTime() int64 {
if m != nil {
return m.RecordTime
}
return 0
}
func (m *ReceiptIssuance) GetBtyPrice() float64 {
if m != nil {
return m.BtyPrice
}
return 0
}
// exec_local 抵押记录信息
type IssuanceRecord struct {
IssuanceId string `protobuf:"bytes,1,opt,name=issuanceId,proto3" json:"issuanceId,omitempty"` IssuanceId string `protobuf:"bytes,1,opt,name=issuanceId,proto3" json:"issuanceId,omitempty"`
Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"` Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"`
DebtId string `protobuf:"bytes,3,opt,name=debtId,proto3" json:"debtId,omitempty"`
Index int64 `protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
} }
func (m *IssuanceRecord) Reset() { *m = IssuanceRecord{} } func (m *ReceiptIssuanceID) Reset() { *m = ReceiptIssuanceID{} }
func (m *IssuanceRecord) String() string { return proto.CompactTextString(m) } func (m *ReceiptIssuanceID) String() string { return proto.CompactTextString(m) }
func (*IssuanceRecord) ProtoMessage() {} func (*ReceiptIssuanceID) ProtoMessage() {}
func (*IssuanceRecord) Descriptor() ([]byte, []int) { func (*ReceiptIssuanceID) Descriptor() ([]byte, []int) {
return fileDescriptor_issuance_c7d54cbbda1bfbd2, []int{11} return fileDescriptor_7110f4228953d675, []int{11}
} }
func (m *IssuanceRecord) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_IssuanceRecord.Unmarshal(m, b) func (m *ReceiptIssuanceID) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReceiptIssuanceID.Unmarshal(m, b)
} }
func (m *IssuanceRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReceiptIssuanceID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_IssuanceRecord.Marshal(b, m, deterministic) return xxx_messageInfo_ReceiptIssuanceID.Marshal(b, m, deterministic)
} }
func (dst *IssuanceRecord) XXX_Merge(src proto.Message) { func (m *ReceiptIssuanceID) XXX_Merge(src proto.Message) {
xxx_messageInfo_IssuanceRecord.Merge(dst, src) xxx_messageInfo_ReceiptIssuanceID.Merge(m, src)
} }
func (m *IssuanceRecord) XXX_Size() int { func (m *ReceiptIssuanceID) XXX_Size() int {
return xxx_messageInfo_IssuanceRecord.Size(m) return xxx_messageInfo_ReceiptIssuanceID.Size(m)
} }
func (m *IssuanceRecord) XXX_DiscardUnknown() { func (m *ReceiptIssuanceID) XXX_DiscardUnknown() {
xxx_messageInfo_IssuanceRecord.DiscardUnknown(m) xxx_messageInfo_ReceiptIssuanceID.DiscardUnknown(m)
} }
var xxx_messageInfo_IssuanceRecord proto.InternalMessageInfo var xxx_messageInfo_ReceiptIssuanceID proto.InternalMessageInfo
func (m *IssuanceRecord) GetIssuanceId() string { func (m *ReceiptIssuanceID) GetIssuanceId() string {
if m != nil { if m != nil {
return m.IssuanceId return m.IssuanceId
} }
return "" return ""
} }
func (m *IssuanceRecord) GetAddr() string { func (m *ReceiptIssuanceID) GetStatus() int32 {
if m != nil {
return m.Addr
}
return ""
}
func (m *IssuanceRecord) GetDebtId() string {
if m != nil {
return m.DebtId
}
return ""
}
func (m *IssuanceRecord) GetIndex() int64 {
if m != nil { if m != nil {
return m.Index return m.Status
} }
return 0 return 0
} }
// exec_local 抵押记录信息列表 // exec_local 抵押记录信息列表
type IssuanceRecords struct { type IssuanceRecords struct {
Records []*IssuanceRecord `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"` Records []*ReceiptIssuance `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
} }
func (m *IssuanceRecords) Reset() { *m = IssuanceRecords{} } func (m *IssuanceRecords) Reset() { *m = IssuanceRecords{} }
func (m *IssuanceRecords) String() string { return proto.CompactTextString(m) } func (m *IssuanceRecords) String() string { return proto.CompactTextString(m) }
func (*IssuanceRecords) ProtoMessage() {} func (*IssuanceRecords) ProtoMessage() {}
func (*IssuanceRecords) Descriptor() ([]byte, []int) { func (*IssuanceRecords) Descriptor() ([]byte, []int) {
return fileDescriptor_issuance_c7d54cbbda1bfbd2, []int{12} return fileDescriptor_7110f4228953d675, []int{12}
} }
func (m *IssuanceRecords) XXX_Unmarshal(b []byte) error { func (m *IssuanceRecords) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_IssuanceRecords.Unmarshal(m, b) return xxx_messageInfo_IssuanceRecords.Unmarshal(m, b)
} }
func (m *IssuanceRecords) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *IssuanceRecords) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_IssuanceRecords.Marshal(b, m, deterministic) return xxx_messageInfo_IssuanceRecords.Marshal(b, m, deterministic)
} }
func (dst *IssuanceRecords) XXX_Merge(src proto.Message) { func (m *IssuanceRecords) XXX_Merge(src proto.Message) {
xxx_messageInfo_IssuanceRecords.Merge(dst, src) xxx_messageInfo_IssuanceRecords.Merge(m, src)
} }
func (m *IssuanceRecords) XXX_Size() int { func (m *IssuanceRecords) XXX_Size() int {
return xxx_messageInfo_IssuanceRecords.Size(m) return xxx_messageInfo_IssuanceRecords.Size(m)
...@@ -1152,7 +937,7 @@ func (m *IssuanceRecords) XXX_DiscardUnknown() { ...@@ -1152,7 +937,7 @@ func (m *IssuanceRecords) XXX_DiscardUnknown() {
var xxx_messageInfo_IssuanceRecords proto.InternalMessageInfo var xxx_messageInfo_IssuanceRecords proto.InternalMessageInfo
func (m *IssuanceRecords) GetRecords() []*IssuanceRecord { func (m *IssuanceRecords) GetRecords() []*ReceiptIssuance {
if m != nil { if m != nil {
return m.Records return m.Records
} }
...@@ -1171,16 +956,17 @@ func (m *ReqIssuanceInfo) Reset() { *m = ReqIssuanceInfo{} } ...@@ -1171,16 +956,17 @@ func (m *ReqIssuanceInfo) Reset() { *m = ReqIssuanceInfo{} }
func (m *ReqIssuanceInfo) String() string { return proto.CompactTextString(m) } func (m *ReqIssuanceInfo) String() string { return proto.CompactTextString(m) }
func (*ReqIssuanceInfo) ProtoMessage() {} func (*ReqIssuanceInfo) ProtoMessage() {}
func (*ReqIssuanceInfo) Descriptor() ([]byte, []int) { func (*ReqIssuanceInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_issuance_c7d54cbbda1bfbd2, []int{13} return fileDescriptor_7110f4228953d675, []int{13}
} }
func (m *ReqIssuanceInfo) XXX_Unmarshal(b []byte) error { func (m *ReqIssuanceInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqIssuanceInfo.Unmarshal(m, b) return xxx_messageInfo_ReqIssuanceInfo.Unmarshal(m, b)
} }
func (m *ReqIssuanceInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqIssuanceInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqIssuanceInfo.Marshal(b, m, deterministic) return xxx_messageInfo_ReqIssuanceInfo.Marshal(b, m, deterministic)
} }
func (dst *ReqIssuanceInfo) XXX_Merge(src proto.Message) { func (m *ReqIssuanceInfo) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqIssuanceInfo.Merge(dst, src) xxx_messageInfo_ReqIssuanceInfo.Merge(m, src)
} }
func (m *ReqIssuanceInfo) XXX_Size() int { func (m *ReqIssuanceInfo) XXX_Size() int {
return xxx_messageInfo_ReqIssuanceInfo.Size(m) return xxx_messageInfo_ReqIssuanceInfo.Size(m)
...@@ -1219,16 +1005,17 @@ func (m *RepIssuanceCurrentInfo) Reset() { *m = RepIssuanceCurrentInfo{} ...@@ -1219,16 +1005,17 @@ func (m *RepIssuanceCurrentInfo) Reset() { *m = RepIssuanceCurrentInfo{}
func (m *RepIssuanceCurrentInfo) String() string { return proto.CompactTextString(m) } func (m *RepIssuanceCurrentInfo) String() string { return proto.CompactTextString(m) }
func (*RepIssuanceCurrentInfo) ProtoMessage() {} func (*RepIssuanceCurrentInfo) ProtoMessage() {}
func (*RepIssuanceCurrentInfo) Descriptor() ([]byte, []int) { func (*RepIssuanceCurrentInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_issuance_c7d54cbbda1bfbd2, []int{14} return fileDescriptor_7110f4228953d675, []int{14}
} }
func (m *RepIssuanceCurrentInfo) XXX_Unmarshal(b []byte) error { func (m *RepIssuanceCurrentInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RepIssuanceCurrentInfo.Unmarshal(m, b) return xxx_messageInfo_RepIssuanceCurrentInfo.Unmarshal(m, b)
} }
func (m *RepIssuanceCurrentInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *RepIssuanceCurrentInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RepIssuanceCurrentInfo.Marshal(b, m, deterministic) return xxx_messageInfo_RepIssuanceCurrentInfo.Marshal(b, m, deterministic)
} }
func (dst *RepIssuanceCurrentInfo) XXX_Merge(src proto.Message) { func (m *RepIssuanceCurrentInfo) XXX_Merge(src proto.Message) {
xxx_messageInfo_RepIssuanceCurrentInfo.Merge(dst, src) xxx_messageInfo_RepIssuanceCurrentInfo.Merge(m, src)
} }
func (m *RepIssuanceCurrentInfo) XXX_Size() int { func (m *RepIssuanceCurrentInfo) XXX_Size() int {
return xxx_messageInfo_RepIssuanceCurrentInfo.Size(m) return xxx_messageInfo_RepIssuanceCurrentInfo.Size(m)
...@@ -1321,16 +1108,17 @@ func (m *ReqIssuanceInfos) Reset() { *m = ReqIssuanceInfos{} } ...@@ -1321,16 +1108,17 @@ func (m *ReqIssuanceInfos) Reset() { *m = ReqIssuanceInfos{} }
func (m *ReqIssuanceInfos) String() string { return proto.CompactTextString(m) } func (m *ReqIssuanceInfos) String() string { return proto.CompactTextString(m) }
func (*ReqIssuanceInfos) ProtoMessage() {} func (*ReqIssuanceInfos) ProtoMessage() {}
func (*ReqIssuanceInfos) Descriptor() ([]byte, []int) { func (*ReqIssuanceInfos) Descriptor() ([]byte, []int) {
return fileDescriptor_issuance_c7d54cbbda1bfbd2, []int{15} return fileDescriptor_7110f4228953d675, []int{15}
} }
func (m *ReqIssuanceInfos) XXX_Unmarshal(b []byte) error { func (m *ReqIssuanceInfos) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqIssuanceInfos.Unmarshal(m, b) return xxx_messageInfo_ReqIssuanceInfos.Unmarshal(m, b)
} }
func (m *ReqIssuanceInfos) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqIssuanceInfos) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqIssuanceInfos.Marshal(b, m, deterministic) return xxx_messageInfo_ReqIssuanceInfos.Marshal(b, m, deterministic)
} }
func (dst *ReqIssuanceInfos) XXX_Merge(src proto.Message) { func (m *ReqIssuanceInfos) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqIssuanceInfos.Merge(dst, src) xxx_messageInfo_ReqIssuanceInfos.Merge(m, src)
} }
func (m *ReqIssuanceInfos) XXX_Size() int { func (m *ReqIssuanceInfos) XXX_Size() int {
return xxx_messageInfo_ReqIssuanceInfos.Size(m) return xxx_messageInfo_ReqIssuanceInfos.Size(m)
...@@ -1360,16 +1148,17 @@ func (m *RepIssuanceCurrentInfos) Reset() { *m = RepIssuanceCurrentInfos ...@@ -1360,16 +1148,17 @@ func (m *RepIssuanceCurrentInfos) Reset() { *m = RepIssuanceCurrentInfos
func (m *RepIssuanceCurrentInfos) String() string { return proto.CompactTextString(m) } func (m *RepIssuanceCurrentInfos) String() string { return proto.CompactTextString(m) }
func (*RepIssuanceCurrentInfos) ProtoMessage() {} func (*RepIssuanceCurrentInfos) ProtoMessage() {}
func (*RepIssuanceCurrentInfos) Descriptor() ([]byte, []int) { func (*RepIssuanceCurrentInfos) Descriptor() ([]byte, []int) {
return fileDescriptor_issuance_c7d54cbbda1bfbd2, []int{16} return fileDescriptor_7110f4228953d675, []int{16}
} }
func (m *RepIssuanceCurrentInfos) XXX_Unmarshal(b []byte) error { func (m *RepIssuanceCurrentInfos) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RepIssuanceCurrentInfos.Unmarshal(m, b) return xxx_messageInfo_RepIssuanceCurrentInfos.Unmarshal(m, b)
} }
func (m *RepIssuanceCurrentInfos) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *RepIssuanceCurrentInfos) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RepIssuanceCurrentInfos.Marshal(b, m, deterministic) return xxx_messageInfo_RepIssuanceCurrentInfos.Marshal(b, m, deterministic)
} }
func (dst *RepIssuanceCurrentInfos) XXX_Merge(src proto.Message) { func (m *RepIssuanceCurrentInfos) XXX_Merge(src proto.Message) {
xxx_messageInfo_RepIssuanceCurrentInfos.Merge(dst, src) xxx_messageInfo_RepIssuanceCurrentInfos.Merge(m, src)
} }
func (m *RepIssuanceCurrentInfos) XXX_Size() int { func (m *RepIssuanceCurrentInfos) XXX_Size() int {
return xxx_messageInfo_RepIssuanceCurrentInfos.Size(m) return xxx_messageInfo_RepIssuanceCurrentInfos.Size(m)
...@@ -1390,7 +1179,7 @@ func (m *RepIssuanceCurrentInfos) GetInfos() []*RepIssuanceCurrentInfo { ...@@ -1390,7 +1179,7 @@ func (m *RepIssuanceCurrentInfos) GetInfos() []*RepIssuanceCurrentInfo {
// 根据发行状态查询 // 根据发行状态查询
type ReqIssuanceByStatus struct { type ReqIssuanceByStatus struct {
Status int32 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"` Status int32 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"`
Index int64 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"` IssuanceId string `protobuf:"bytes,2,opt,name=issuanceId,proto3" json:"issuanceId,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
...@@ -1400,16 +1189,17 @@ func (m *ReqIssuanceByStatus) Reset() { *m = ReqIssuanceByStatus{} } ...@@ -1400,16 +1189,17 @@ func (m *ReqIssuanceByStatus) Reset() { *m = ReqIssuanceByStatus{} }
func (m *ReqIssuanceByStatus) String() string { return proto.CompactTextString(m) } func (m *ReqIssuanceByStatus) String() string { return proto.CompactTextString(m) }
func (*ReqIssuanceByStatus) ProtoMessage() {} func (*ReqIssuanceByStatus) ProtoMessage() {}
func (*ReqIssuanceByStatus) Descriptor() ([]byte, []int) { func (*ReqIssuanceByStatus) Descriptor() ([]byte, []int) {
return fileDescriptor_issuance_c7d54cbbda1bfbd2, []int{17} return fileDescriptor_7110f4228953d675, []int{17}
} }
func (m *ReqIssuanceByStatus) XXX_Unmarshal(b []byte) error { func (m *ReqIssuanceByStatus) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqIssuanceByStatus.Unmarshal(m, b) return xxx_messageInfo_ReqIssuanceByStatus.Unmarshal(m, b)
} }
func (m *ReqIssuanceByStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqIssuanceByStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqIssuanceByStatus.Marshal(b, m, deterministic) return xxx_messageInfo_ReqIssuanceByStatus.Marshal(b, m, deterministic)
} }
func (dst *ReqIssuanceByStatus) XXX_Merge(src proto.Message) { func (m *ReqIssuanceByStatus) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqIssuanceByStatus.Merge(dst, src) xxx_messageInfo_ReqIssuanceByStatus.Merge(m, src)
} }
func (m *ReqIssuanceByStatus) XXX_Size() int { func (m *ReqIssuanceByStatus) XXX_Size() int {
return xxx_messageInfo_ReqIssuanceByStatus.Size(m) return xxx_messageInfo_ReqIssuanceByStatus.Size(m)
...@@ -1427,11 +1217,11 @@ func (m *ReqIssuanceByStatus) GetStatus() int32 { ...@@ -1427,11 +1217,11 @@ func (m *ReqIssuanceByStatus) GetStatus() int32 {
return 0 return 0
} }
func (m *ReqIssuanceByStatus) GetIndex() int64 { func (m *ReqIssuanceByStatus) GetIssuanceId() string {
if m != nil { if m != nil {
return m.Index return m.IssuanceId
} }
return 0 return ""
} }
// 返回发行ID列表 // 返回发行ID列表
...@@ -1446,16 +1236,17 @@ func (m *RepIssuanceIDs) Reset() { *m = RepIssuanceIDs{} } ...@@ -1446,16 +1236,17 @@ func (m *RepIssuanceIDs) Reset() { *m = RepIssuanceIDs{} }
func (m *RepIssuanceIDs) String() string { return proto.CompactTextString(m) } func (m *RepIssuanceIDs) String() string { return proto.CompactTextString(m) }
func (*RepIssuanceIDs) ProtoMessage() {} func (*RepIssuanceIDs) ProtoMessage() {}
func (*RepIssuanceIDs) Descriptor() ([]byte, []int) { func (*RepIssuanceIDs) Descriptor() ([]byte, []int) {
return fileDescriptor_issuance_c7d54cbbda1bfbd2, []int{18} return fileDescriptor_7110f4228953d675, []int{18}
} }
func (m *RepIssuanceIDs) XXX_Unmarshal(b []byte) error { func (m *RepIssuanceIDs) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RepIssuanceIDs.Unmarshal(m, b) return xxx_messageInfo_RepIssuanceIDs.Unmarshal(m, b)
} }
func (m *RepIssuanceIDs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *RepIssuanceIDs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RepIssuanceIDs.Marshal(b, m, deterministic) return xxx_messageInfo_RepIssuanceIDs.Marshal(b, m, deterministic)
} }
func (dst *RepIssuanceIDs) XXX_Merge(src proto.Message) { func (m *RepIssuanceIDs) XXX_Merge(src proto.Message) {
xxx_messageInfo_RepIssuanceIDs.Merge(dst, src) xxx_messageInfo_RepIssuanceIDs.Merge(m, src)
} }
func (m *RepIssuanceIDs) XXX_Size() int { func (m *RepIssuanceIDs) XXX_Size() int {
return xxx_messageInfo_RepIssuanceIDs.Size(m) return xxx_messageInfo_RepIssuanceIDs.Size(m)
...@@ -1474,123 +1265,69 @@ func (m *RepIssuanceIDs) GetIDs() []string { ...@@ -1474,123 +1265,69 @@ func (m *RepIssuanceIDs) GetIDs() []string {
} }
// 根据用户地址查询抵押记录 // 根据用户地址查询抵押记录
type ReqIssuanceRecordsByAddr struct { type ReqIssuanceRecords struct {
IssuanceId string `protobuf:"bytes,1,opt,name=issuanceId,proto3" json:"issuanceId,omitempty"` IssuanceId string `protobuf:"bytes,1,opt,name=issuanceId,proto3" json:"issuanceId,omitempty"`
Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"` Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"`
Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status,omitempty"` Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status,omitempty"`
Index int64 `protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"` DebtId string `protobuf:"bytes,4,opt,name=debtId,proto3" json:"debtId,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
} }
func (m *ReqIssuanceRecordsByAddr) Reset() { *m = ReqIssuanceRecordsByAddr{} } func (m *ReqIssuanceRecords) Reset() { *m = ReqIssuanceRecords{} }
func (m *ReqIssuanceRecordsByAddr) String() string { return proto.CompactTextString(m) } func (m *ReqIssuanceRecords) String() string { return proto.CompactTextString(m) }
func (*ReqIssuanceRecordsByAddr) ProtoMessage() {} func (*ReqIssuanceRecords) ProtoMessage() {}
func (*ReqIssuanceRecordsByAddr) Descriptor() ([]byte, []int) { func (*ReqIssuanceRecords) Descriptor() ([]byte, []int) {
return fileDescriptor_issuance_c7d54cbbda1bfbd2, []int{19} return fileDescriptor_7110f4228953d675, []int{19}
} }
func (m *ReqIssuanceRecordsByAddr) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqIssuanceRecordsByAddr.Unmarshal(m, b) func (m *ReqIssuanceRecords) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqIssuanceRecords.Unmarshal(m, b)
} }
func (m *ReqIssuanceRecordsByAddr) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqIssuanceRecords) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqIssuanceRecordsByAddr.Marshal(b, m, deterministic) return xxx_messageInfo_ReqIssuanceRecords.Marshal(b, m, deterministic)
} }
func (dst *ReqIssuanceRecordsByAddr) XXX_Merge(src proto.Message) { func (m *ReqIssuanceRecords) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqIssuanceRecordsByAddr.Merge(dst, src) xxx_messageInfo_ReqIssuanceRecords.Merge(m, src)
} }
func (m *ReqIssuanceRecordsByAddr) XXX_Size() int { func (m *ReqIssuanceRecords) XXX_Size() int {
return xxx_messageInfo_ReqIssuanceRecordsByAddr.Size(m) return xxx_messageInfo_ReqIssuanceRecords.Size(m)
} }
func (m *ReqIssuanceRecordsByAddr) XXX_DiscardUnknown() { func (m *ReqIssuanceRecords) XXX_DiscardUnknown() {
xxx_messageInfo_ReqIssuanceRecordsByAddr.DiscardUnknown(m) xxx_messageInfo_ReqIssuanceRecords.DiscardUnknown(m)
} }
var xxx_messageInfo_ReqIssuanceRecordsByAddr proto.InternalMessageInfo var xxx_messageInfo_ReqIssuanceRecords proto.InternalMessageInfo
func (m *ReqIssuanceRecordsByAddr) GetIssuanceId() string { func (m *ReqIssuanceRecords) GetIssuanceId() string {
if m != nil { if m != nil {
return m.IssuanceId return m.IssuanceId
} }
return "" return ""
} }
func (m *ReqIssuanceRecordsByAddr) GetAddr() string { func (m *ReqIssuanceRecords) GetAddr() string {
if m != nil { if m != nil {
return m.Addr return m.Addr
} }
return "" return ""
} }
func (m *ReqIssuanceRecordsByAddr) GetStatus() int32 { func (m *ReqIssuanceRecords) GetStatus() int32 {
if m != nil { if m != nil {
return m.Status return m.Status
} }
return 0 return 0
} }
func (m *ReqIssuanceRecordsByAddr) GetIndex() int64 { func (m *ReqIssuanceRecords) GetDebtId() string {
if m != nil {
return m.Index
}
return 0
}
// 根据状态查询抵押记录
type ReqIssuanceRecordsByStatus struct {
IssuanceId string `protobuf:"bytes,1,opt,name=issuanceId,proto3" json:"issuanceId,omitempty"`
Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"`
Index int64 `protobuf:"varint,3,opt,name=index,proto3" json:"index,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ReqIssuanceRecordsByStatus) Reset() { *m = ReqIssuanceRecordsByStatus{} }
func (m *ReqIssuanceRecordsByStatus) String() string { return proto.CompactTextString(m) }
func (*ReqIssuanceRecordsByStatus) ProtoMessage() {}
func (*ReqIssuanceRecordsByStatus) Descriptor() ([]byte, []int) {
return fileDescriptor_issuance_c7d54cbbda1bfbd2, []int{20}
}
func (m *ReqIssuanceRecordsByStatus) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqIssuanceRecordsByStatus.Unmarshal(m, b)
}
func (m *ReqIssuanceRecordsByStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqIssuanceRecordsByStatus.Marshal(b, m, deterministic)
}
func (dst *ReqIssuanceRecordsByStatus) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqIssuanceRecordsByStatus.Merge(dst, src)
}
func (m *ReqIssuanceRecordsByStatus) XXX_Size() int {
return xxx_messageInfo_ReqIssuanceRecordsByStatus.Size(m)
}
func (m *ReqIssuanceRecordsByStatus) XXX_DiscardUnknown() {
xxx_messageInfo_ReqIssuanceRecordsByStatus.DiscardUnknown(m)
}
var xxx_messageInfo_ReqIssuanceRecordsByStatus proto.InternalMessageInfo
func (m *ReqIssuanceRecordsByStatus) GetIssuanceId() string {
if m != nil { if m != nil {
return m.IssuanceId return m.DebtId
} }
return "" return ""
} }
func (m *ReqIssuanceRecordsByStatus) GetStatus() int32 {
if m != nil {
return m.Status
}
return 0
}
func (m *ReqIssuanceRecordsByStatus) GetIndex() int64 {
if m != nil {
return m.Index
}
return 0
}
// 返回记录列表 // 返回记录列表
type RepIssuanceRecords struct { type RepIssuanceRecords struct {
Records []*DebtRecord `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"` Records []*DebtRecord `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"`
...@@ -1603,16 +1340,17 @@ func (m *RepIssuanceRecords) Reset() { *m = RepIssuanceRecords{} } ...@@ -1603,16 +1340,17 @@ func (m *RepIssuanceRecords) Reset() { *m = RepIssuanceRecords{} }
func (m *RepIssuanceRecords) String() string { return proto.CompactTextString(m) } func (m *RepIssuanceRecords) String() string { return proto.CompactTextString(m) }
func (*RepIssuanceRecords) ProtoMessage() {} func (*RepIssuanceRecords) ProtoMessage() {}
func (*RepIssuanceRecords) Descriptor() ([]byte, []int) { func (*RepIssuanceRecords) Descriptor() ([]byte, []int) {
return fileDescriptor_issuance_c7d54cbbda1bfbd2, []int{21} return fileDescriptor_7110f4228953d675, []int{20}
} }
func (m *RepIssuanceRecords) XXX_Unmarshal(b []byte) error { func (m *RepIssuanceRecords) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RepIssuanceRecords.Unmarshal(m, b) return xxx_messageInfo_RepIssuanceRecords.Unmarshal(m, b)
} }
func (m *RepIssuanceRecords) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *RepIssuanceRecords) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RepIssuanceRecords.Marshal(b, m, deterministic) return xxx_messageInfo_RepIssuanceRecords.Marshal(b, m, deterministic)
} }
func (dst *RepIssuanceRecords) XXX_Merge(src proto.Message) { func (m *RepIssuanceRecords) XXX_Merge(src proto.Message) {
xxx_messageInfo_RepIssuanceRecords.Merge(dst, src) xxx_messageInfo_RepIssuanceRecords.Merge(m, src)
} }
func (m *RepIssuanceRecords) XXX_Size() int { func (m *RepIssuanceRecords) XXX_Size() int {
return xxx_messageInfo_RepIssuanceRecords.Size(m) return xxx_messageInfo_RepIssuanceRecords.Size(m)
...@@ -1630,53 +1368,6 @@ func (m *RepIssuanceRecords) GetRecords() []*DebtRecord { ...@@ -1630,53 +1368,6 @@ func (m *RepIssuanceRecords) GetRecords() []*DebtRecord {
return nil return nil
} }
// 精确查找抵押记录
type ReqIssuanceDebtInfo struct {
IssuanceId string `protobuf:"bytes,1,opt,name=issuanceId,proto3" json:"issuanceId,omitempty"`
DebtId string `protobuf:"bytes,2,opt,name=debtId,proto3" json:"debtId,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ReqIssuanceDebtInfo) Reset() { *m = ReqIssuanceDebtInfo{} }
func (m *ReqIssuanceDebtInfo) String() string { return proto.CompactTextString(m) }
func (*ReqIssuanceDebtInfo) ProtoMessage() {}
func (*ReqIssuanceDebtInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_issuance_c7d54cbbda1bfbd2, []int{22}
}
func (m *ReqIssuanceDebtInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqIssuanceDebtInfo.Unmarshal(m, b)
}
func (m *ReqIssuanceDebtInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqIssuanceDebtInfo.Marshal(b, m, deterministic)
}
func (dst *ReqIssuanceDebtInfo) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqIssuanceDebtInfo.Merge(dst, src)
}
func (m *ReqIssuanceDebtInfo) XXX_Size() int {
return xxx_messageInfo_ReqIssuanceDebtInfo.Size(m)
}
func (m *ReqIssuanceDebtInfo) XXX_DiscardUnknown() {
xxx_messageInfo_ReqIssuanceDebtInfo.DiscardUnknown(m)
}
var xxx_messageInfo_ReqIssuanceDebtInfo proto.InternalMessageInfo
func (m *ReqIssuanceDebtInfo) GetIssuanceId() string {
if m != nil {
return m.IssuanceId
}
return ""
}
func (m *ReqIssuanceDebtInfo) GetDebtId() string {
if m != nil {
return m.DebtId
}
return ""
}
// 返回记录 // 返回记录
type RepIssuanceDebtInfo struct { type RepIssuanceDebtInfo struct {
Record *DebtRecord `protobuf:"bytes,1,opt,name=record,proto3" json:"record,omitempty"` Record *DebtRecord `protobuf:"bytes,1,opt,name=record,proto3" json:"record,omitempty"`
...@@ -1689,16 +1380,17 @@ func (m *RepIssuanceDebtInfo) Reset() { *m = RepIssuanceDebtInfo{} } ...@@ -1689,16 +1380,17 @@ func (m *RepIssuanceDebtInfo) Reset() { *m = RepIssuanceDebtInfo{} }
func (m *RepIssuanceDebtInfo) String() string { return proto.CompactTextString(m) } func (m *RepIssuanceDebtInfo) String() string { return proto.CompactTextString(m) }
func (*RepIssuanceDebtInfo) ProtoMessage() {} func (*RepIssuanceDebtInfo) ProtoMessage() {}
func (*RepIssuanceDebtInfo) Descriptor() ([]byte, []int) { func (*RepIssuanceDebtInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_issuance_c7d54cbbda1bfbd2, []int{23} return fileDescriptor_7110f4228953d675, []int{21}
} }
func (m *RepIssuanceDebtInfo) XXX_Unmarshal(b []byte) error { func (m *RepIssuanceDebtInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RepIssuanceDebtInfo.Unmarshal(m, b) return xxx_messageInfo_RepIssuanceDebtInfo.Unmarshal(m, b)
} }
func (m *RepIssuanceDebtInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *RepIssuanceDebtInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RepIssuanceDebtInfo.Marshal(b, m, deterministic) return xxx_messageInfo_RepIssuanceDebtInfo.Marshal(b, m, deterministic)
} }
func (dst *RepIssuanceDebtInfo) XXX_Merge(src proto.Message) { func (m *RepIssuanceDebtInfo) XXX_Merge(src proto.Message) {
xxx_messageInfo_RepIssuanceDebtInfo.Merge(dst, src) xxx_messageInfo_RepIssuanceDebtInfo.Merge(m, src)
} }
func (m *RepIssuanceDebtInfo) XXX_Size() int { func (m *RepIssuanceDebtInfo) XXX_Size() int {
return xxx_messageInfo_RepIssuanceDebtInfo.Size(m) return xxx_messageInfo_RepIssuanceDebtInfo.Size(m)
...@@ -1728,16 +1420,17 @@ func (m *RepIssuancePrice) Reset() { *m = RepIssuancePrice{} } ...@@ -1728,16 +1420,17 @@ func (m *RepIssuancePrice) Reset() { *m = RepIssuancePrice{} }
func (m *RepIssuancePrice) String() string { return proto.CompactTextString(m) } func (m *RepIssuancePrice) String() string { return proto.CompactTextString(m) }
func (*RepIssuancePrice) ProtoMessage() {} func (*RepIssuancePrice) ProtoMessage() {}
func (*RepIssuancePrice) Descriptor() ([]byte, []int) { func (*RepIssuancePrice) Descriptor() ([]byte, []int) {
return fileDescriptor_issuance_c7d54cbbda1bfbd2, []int{24} return fileDescriptor_7110f4228953d675, []int{22}
} }
func (m *RepIssuancePrice) XXX_Unmarshal(b []byte) error { func (m *RepIssuancePrice) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RepIssuancePrice.Unmarshal(m, b) return xxx_messageInfo_RepIssuancePrice.Unmarshal(m, b)
} }
func (m *RepIssuancePrice) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *RepIssuancePrice) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RepIssuancePrice.Marshal(b, m, deterministic) return xxx_messageInfo_RepIssuancePrice.Marshal(b, m, deterministic)
} }
func (dst *RepIssuancePrice) XXX_Merge(src proto.Message) { func (m *RepIssuancePrice) XXX_Merge(src proto.Message) {
xxx_messageInfo_RepIssuancePrice.Merge(dst, src) xxx_messageInfo_RepIssuancePrice.Merge(m, src)
} }
func (m *RepIssuancePrice) XXX_Size() int { func (m *RepIssuancePrice) XXX_Size() int {
return xxx_messageInfo_RepIssuancePrice.Size(m) return xxx_messageInfo_RepIssuancePrice.Size(m)
...@@ -1767,7 +1460,7 @@ func init() { ...@@ -1767,7 +1460,7 @@ func init() {
proto.RegisterType((*IssuanceFeed)(nil), "types.IssuanceFeed") proto.RegisterType((*IssuanceFeed)(nil), "types.IssuanceFeed")
proto.RegisterType((*IssuanceClose)(nil), "types.IssuanceClose") proto.RegisterType((*IssuanceClose)(nil), "types.IssuanceClose")
proto.RegisterType((*ReceiptIssuance)(nil), "types.ReceiptIssuance") proto.RegisterType((*ReceiptIssuance)(nil), "types.ReceiptIssuance")
proto.RegisterType((*IssuanceRecord)(nil), "types.IssuanceRecord") proto.RegisterType((*ReceiptIssuanceID)(nil), "types.ReceiptIssuanceID")
proto.RegisterType((*IssuanceRecords)(nil), "types.IssuanceRecords") proto.RegisterType((*IssuanceRecords)(nil), "types.IssuanceRecords")
proto.RegisterType((*ReqIssuanceInfo)(nil), "types.ReqIssuanceInfo") proto.RegisterType((*ReqIssuanceInfo)(nil), "types.ReqIssuanceInfo")
proto.RegisterType((*RepIssuanceCurrentInfo)(nil), "types.RepIssuanceCurrentInfo") proto.RegisterType((*RepIssuanceCurrentInfo)(nil), "types.RepIssuanceCurrentInfo")
...@@ -1775,86 +1468,79 @@ func init() { ...@@ -1775,86 +1468,79 @@ func init() {
proto.RegisterType((*RepIssuanceCurrentInfos)(nil), "types.RepIssuanceCurrentInfos") proto.RegisterType((*RepIssuanceCurrentInfos)(nil), "types.RepIssuanceCurrentInfos")
proto.RegisterType((*ReqIssuanceByStatus)(nil), "types.ReqIssuanceByStatus") proto.RegisterType((*ReqIssuanceByStatus)(nil), "types.ReqIssuanceByStatus")
proto.RegisterType((*RepIssuanceIDs)(nil), "types.RepIssuanceIDs") proto.RegisterType((*RepIssuanceIDs)(nil), "types.RepIssuanceIDs")
proto.RegisterType((*ReqIssuanceRecordsByAddr)(nil), "types.ReqIssuanceRecordsByAddr") proto.RegisterType((*ReqIssuanceRecords)(nil), "types.ReqIssuanceRecords")
proto.RegisterType((*ReqIssuanceRecordsByStatus)(nil), "types.ReqIssuanceRecordsByStatus")
proto.RegisterType((*RepIssuanceRecords)(nil), "types.RepIssuanceRecords") proto.RegisterType((*RepIssuanceRecords)(nil), "types.RepIssuanceRecords")
proto.RegisterType((*ReqIssuanceDebtInfo)(nil), "types.ReqIssuanceDebtInfo")
proto.RegisterType((*RepIssuanceDebtInfo)(nil), "types.RepIssuanceDebtInfo") proto.RegisterType((*RepIssuanceDebtInfo)(nil), "types.RepIssuanceDebtInfo")
proto.RegisterType((*RepIssuancePrice)(nil), "types.RepIssuancePrice") proto.RegisterType((*RepIssuancePrice)(nil), "types.RepIssuancePrice")
} }
func init() { proto.RegisterFile("issuance.proto", fileDescriptor_issuance_c7d54cbbda1bfbd2) } func init() { proto.RegisterFile("issuance.proto", fileDescriptor_7110f4228953d675) }
var fileDescriptor_issuance_c7d54cbbda1bfbd2 = []byte{ var fileDescriptor_7110f4228953d675 = []byte{
// 1119 bytes of a gzipped FileDescriptorProto // 1031 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0xcd, 0x6e, 0xe4, 0x44, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0xcd, 0x6e, 0xdb, 0x46,
0x10, 0x8e, 0xed, 0xf1, 0xfc, 0xd4, 0x24, 0x93, 0x6c, 0x6f, 0x36, 0x58, 0x2b, 0x58, 0x8d, 0x2c, 0x10, 0x36, 0x49, 0x51, 0xb2, 0x46, 0xb6, 0xec, 0x6c, 0x52, 0x97, 0x28, 0xda, 0x40, 0x58, 0xf4,
0x0e, 0xb3, 0x80, 0x12, 0x48, 0x10, 0x12, 0x37, 0x32, 0x09, 0x90, 0x91, 0x58, 0x84, 0xcc, 0x6a, 0xa0, 0xb4, 0x85, 0x93, 0xda, 0x45, 0x81, 0xde, 0x6a, 0x5b, 0x6d, 0x2d, 0xb4, 0x29, 0x8a, 0x6d,
0xc5, 0xd5, 0xb1, 0x3b, 0x2b, 0x23, 0x67, 0xec, 0xb5, 0x7b, 0xa2, 0x1d, 0x89, 0x77, 0xe0, 0xce, 0x10, 0xf4, 0x4a, 0x93, 0x9b, 0x80, 0x00, 0x2d, 0x32, 0xe4, 0xca, 0x88, 0xce, 0x7d, 0x87, 0x1e,
0xbb, 0x70, 0xe7, 0x01, 0x78, 0x14, 0x1e, 0x00, 0x55, 0x75, 0xdb, 0xed, 0xbf, 0xc9, 0x8c, 0x38, 0xfa, 0x2e, 0xbd, 0xf4, 0x19, 0xfa, 0x40, 0xc5, 0xcc, 0x2e, 0xb9, 0xfc, 0x91, 0x21, 0x9f, 0x72,
0x70, 0x89, 0xa6, 0xab, 0xcb, 0x55, 0xd5, 0xf5, 0x7d, 0xfd, 0x75, 0x05, 0x26, 0x51, 0x9e, 0xaf, 0x31, 0xb4, 0xb3, 0xdf, 0xce, 0xce, 0xce, 0xf7, 0xcd, 0x0c, 0x0d, 0xd3, 0xa4, 0x2c, 0xd7, 0xe1,
0xfc, 0x65, 0xc0, 0x4f, 0xd3, 0x2c, 0x11, 0x09, 0xb3, 0xc5, 0x3a, 0xe5, 0xb9, 0xfb, 0x4f, 0x0f, 0x2a, 0x92, 0xa7, 0x79, 0x91, 0xa9, 0x8c, 0xf9, 0x6a, 0x93, 0xcb, 0x92, 0xff, 0x3b, 0x80, 0xfd,
0x86, 0x0b, 0xb5, 0xc3, 0x5e, 0x00, 0x14, 0x5e, 0x8b, 0xd0, 0x31, 0xa6, 0xc6, 0x6c, 0xe4, 0x55, 0xa5, 0xd9, 0x61, 0x4f, 0x01, 0x2a, 0xd4, 0x32, 0x0e, 0x9c, 0x99, 0x33, 0x1f, 0x8b, 0x86, 0x85,
0x2c, 0xcc, 0x85, 0x7d, 0x91, 0x08, 0x3f, 0x9e, 0xfb, 0x31, 0x5a, 0x1c, 0x73, 0x6a, 0xcc, 0x2c, 0x71, 0x38, 0x50, 0x99, 0x0a, 0xd3, 0xcb, 0x30, 0x45, 0x4b, 0xe0, 0xce, 0x9c, 0xb9, 0x27, 0x5a,
0xaf, 0x66, 0x63, 0x53, 0x18, 0x87, 0xfc, 0x56, 0x5c, 0xf1, 0x28, 0x8e, 0x96, 0x6f, 0x1d, 0x8b, 0x36, 0x36, 0x83, 0x49, 0x2c, 0x6f, 0xd4, 0x95, 0x4c, 0xd2, 0x64, 0xf5, 0x36, 0xf0, 0x08, 0xd2,
0x5c, 0xaa, 0x26, 0xf6, 0x09, 0x1c, 0xc5, 0xd1, 0xbb, 0x55, 0x14, 0xfa, 0x22, 0x4a, 0x96, 0x1e, 0x34, 0xb1, 0x2f, 0xe0, 0x38, 0x4d, 0xde, 0xad, 0x93, 0x38, 0x54, 0x49, 0xb6, 0x12, 0xf8, 0x37,
0xfe, 0x75, 0x7a, 0x53, 0x63, 0x66, 0x78, 0x2d, 0x3b, 0x9b, 0xc1, 0x61, 0x90, 0xc4, 0xb1, 0x2f, 0x18, 0xcc, 0x9c, 0xb9, 0x23, 0x7a, 0x76, 0x36, 0x87, 0xa3, 0x28, 0x4b, 0xd3, 0x50, 0xc9, 0x22,
0x78, 0xe6, 0xc7, 0x6f, 0xfc, 0x78, 0xc5, 0x1d, 0x9b, 0x22, 0x36, 0xcd, 0xec, 0x43, 0x18, 0x61, 0x4c, 0x5f, 0x87, 0xe9, 0x5a, 0x06, 0x3e, 0x79, 0xec, 0x9a, 0xd9, 0xa7, 0x30, 0xc6, 0x4b, 0x34,
0x12, 0xe9, 0xd3, 0x27, 0x1f, 0x6d, 0x60, 0x17, 0xb2, 0x2a, 0x8f, 0x07, 0x49, 0x16, 0xe6, 0xce, 0x66, 0x48, 0x18, 0x6b, 0x60, 0xe7, 0x3a, 0x2a, 0x21, 0xa3, 0xac, 0x88, 0xcb, 0x60, 0x34, 0xf3,
0x60, 0x6a, 0xcd, 0xc6, 0xe7, 0x4f, 0x4e, 0xa9, 0x07, 0xa7, 0xd7, 0xe5, 0x8e, 0x57, 0xf5, 0x62, 0xe6, 0x93, 0xb3, 0x47, 0xa7, 0x94, 0x83, 0xd3, 0x45, 0xbd, 0x23, 0x9a, 0x28, 0xf6, 0x1d, 0x4c,
0x5f, 0xc3, 0x24, 0x5a, 0x3e, 0xf8, 0x71, 0x14, 0x16, 0xdf, 0x0d, 0x37, 0x7d, 0xd7, 0x70, 0x64, 0x93, 0xd5, 0x5d, 0x98, 0x26, 0x71, 0x75, 0x6e, 0xff, 0xbe, 0x73, 0x1d, 0x20, 0x3b, 0x81, 0x61,
0x27, 0xd0, 0xcf, 0x85, 0x2f, 0x56, 0xb9, 0x33, 0x9a, 0x1a, 0x33, 0xdb, 0x53, 0x2b, 0xf6, 0x15, 0xa9, 0x42, 0xb5, 0x2e, 0x83, 0xf1, 0xcc, 0x99, 0xfb, 0xc2, 0xac, 0xd8, 0xb7, 0x70, 0x82, 0x51,
0x9c, 0x60, 0xd5, 0xb9, 0xf8, 0x41, 0x9f, 0xf4, 0xa7, 0x2c, 0x0a, 0xb8, 0x03, 0xd4, 0x81, 0x0d, 0x97, 0xea, 0x17, 0xfb, 0xd2, 0xdf, 0x8a, 0x24, 0x92, 0x01, 0x50, 0x06, 0xee, 0xd9, 0x45, 0x7f,
0xbb, 0x18, 0x2f, 0xe5, 0x59, 0x94, 0x84, 0xce, 0x98, 0x8e, 0xa6, 0x56, 0xd4, 0x4b, 0xfa, 0xe2, 0xb9, 0x2c, 0x92, 0x2c, 0x0e, 0x26, 0xf4, 0x34, 0xb3, 0xa2, 0x5c, 0xd2, 0x89, 0x1f, 0xde, 0xe7,
0xdb, 0xf7, 0x69, 0x94, 0xf1, 0xd7, 0xd1, 0x3d, 0x77, 0xf6, 0xc9, 0xa3, 0x65, 0x47, 0x74, 0x83, 0x49, 0x21, 0x5f, 0x25, 0xb7, 0x32, 0x38, 0x20, 0x44, 0xcf, 0x8e, 0xec, 0x46, 0x85, 0x0c, 0x95,
0x8c, 0xfb, 0x42, 0x7a, 0x1d, 0x90, 0x57, 0xc5, 0xc2, 0x1c, 0x18, 0xdc, 0x2a, 0x60, 0x27, 0xb4, 0x46, 0x1d, 0x12, 0xaa, 0x61, 0x61, 0x01, 0x8c, 0x6e, 0x0c, 0xb1, 0x53, 0xda, 0xac, 0x96, 0x95,
0x59, 0x2c, 0x0b, 0x5e, 0xf0, 0xec, 0x32, 0x0c, 0x33, 0xe7, 0x50, 0xf3, 0x42, 0x5a, 0xd8, 0x31, 0x2e, 0x64, 0x71, 0x11, 0xc7, 0x45, 0x70, 0x64, 0x75, 0xa1, 0x2d, 0xfc, 0x2f, 0x0f, 0xc0, 0x26,
0xd8, 0xd1, 0x32, 0xe4, 0xef, 0x9d, 0x23, 0xfa, 0x4e, 0x2e, 0xd8, 0x73, 0x18, 0xa6, 0x19, 0x5f, 0x03, 0x25, 0x10, 0x46, 0x51, 0xb6, 0x5e, 0x29, 0xc2, 0x6b, 0x1d, 0x35, 0x4d, 0x48, 0x56, 0xa9,
0xd0, 0xc6, 0x13, 0xda, 0x28, 0xd7, 0xee, 0x5f, 0x16, 0x80, 0x6e, 0x1f, 0x92, 0xc6, 0x0f, 0x82, 0xc2, 0x42, 0x51, 0x24, 0x5a, 0x45, 0xd6, 0xb0, 0x8d, 0x74, 0x6f, 0x3b, 0xe9, 0x2d, 0xa4, 0xce,
0x64, 0xb5, 0x14, 0x94, 0x41, 0x32, 0xaf, 0x6a, 0x42, 0x78, 0x73, 0xe1, 0x67, 0x82, 0x6a, 0x97, 0xa3, 0x56, 0x52, 0xd7, 0xdc, 0x96, 0x87, 0xdf, 0x95, 0x47, 0x5b, 0x92, 0xda, 0xd1, 0xb0, 0x27,
0xbc, 0xd3, 0x86, 0x2e, 0x9a, 0x58, 0xdd, 0x34, 0xa9, 0x79, 0xca, 0xce, 0x4b, 0xee, 0x35, 0xcd, 0xc9, 0x9a, 0x0a, 0x43, 0xed, 0xa8, 0x45, 0xed, 0xe7, 0x70, 0x58, 0x61, 0x75, 0x86, 0xf7, 0xe9,
0x75, 0x42, 0xd9, 0x4d, 0x42, 0xd5, 0x49, 0x2c, 0x03, 0xf5, 0x5b, 0x24, 0x2e, 0xc1, 0x53, 0x64, 0x96, 0xb6, 0x11, 0x53, 0x29, 0x2d, 0x55, 0x63, 0x4d, 0x82, 0xb5, 0x60, 0x9c, 0x79, 0x21, 0x7f,
0x18, 0xd4, 0xc8, 0xf0, 0x31, 0x1c, 0x14, 0xbe, 0x12, 0x93, 0x21, 0x65, 0xa9, 0x1b, 0xb1, 0xf9, 0xd7, 0x17, 0x00, 0x5d, 0x60, 0x0d, 0x78, 0x37, 0x06, 0xbd, 0xd4, 0x32, 0x18, 0x0b, 0xb3, 0x42,
0x5c, 0x83, 0x3b, 0x92, 0xb0, 0x69, 0x0b, 0xd6, 0x99, 0x66, 0xfc, 0x67, 0x99, 0x00, 0x28, 0x81, 0x3b, 0xd2, 0xb1, 0x8c, 0x89, 0xfc, 0xb1, 0x30, 0x2b, 0xfe, 0x1a, 0x82, 0xaa, 0xb8, 0x2f, 0xca,
0x36, 0x60, 0x6e, 0x2c, 0x7a, 0x21, 0x89, 0x33, 0xf2, 0xd4, 0x0a, 0xed, 0x08, 0xe0, 0x22, 0x24, 0x52, 0x2a, 0x7a, 0x81, 0x61, 0xe9, 0x29, 0x40, 0x41, 0xbf, 0x28, 0x12, 0x47, 0x47, 0x62, 0x2d,
0xba, 0x8c, 0x3c, 0xb5, 0xd2, 0x50, 0x1e, 0x6c, 0x82, 0x72, 0xd2, 0x80, 0xf2, 0x0d, 0x38, 0x85, 0xec, 0x13, 0xd8, 0xbf, 0x51, 0x1b, 0x9d, 0x0b, 0x97, 0x72, 0x51, 0xaf, 0xf9, 0x3f, 0x2e, 0x4c,
0x80, 0x5c, 0xe6, 0x39, 0x17, 0x74, 0x66, 0x85, 0xeb, 0x0b, 0x80, 0x8c, 0x7e, 0x51, 0xed, 0x86, 0x6b, 0xc7, 0x11, 0xe6, 0x86, 0x3d, 0x87, 0xa1, 0xd6, 0x12, 0xb9, 0x9a, 0x9c, 0x7d, 0x64, 0x8a,
0xac, 0x5d, 0x5b, 0x30, 0xee, 0xad, 0x58, 0xcb, 0xee, 0x99, 0xd4, 0xbd, 0x72, 0xed, 0xfe, 0x69, 0xa4, 0x82, 0x5d, 0xd1, 0xe6, 0xf5, 0x9e, 0x30, 0x30, 0xf6, 0x0c, 0x06, 0x18, 0x3d, 0xf9, 0x9e,
0xc2, 0xa4, 0x0c, 0x1c, 0x60, 0x37, 0xd9, 0x19, 0xf4, 0x25, 0x5f, 0x29, 0xd4, 0xf8, 0xfc, 0x99, 0x9c, 0x3d, 0xee, 0xc0, 0x51, 0x4e, 0xd7, 0x7b, 0x82, 0x20, 0xec, 0x2b, 0xf0, 0x0b, 0x99, 0x87,
0xba, 0x88, 0x85, 0xdb, 0x15, 0x6d, 0xde, 0xec, 0x79, 0xca, 0x8d, 0xbd, 0x84, 0x1e, 0x9e, 0x97, 0x1b, 0x92, 0xc1, 0xe4, 0xec, 0x49, 0x07, 0x2b, 0x70, 0xef, 0x7a, 0x4f, 0x68, 0x10, 0x3a, 0x7e,
0x62, 0x8f, 0xcf, 0x9f, 0x36, 0xdc, 0x91, 0x80, 0x37, 0x7b, 0x1e, 0xb9, 0xb0, 0xcf, 0xc0, 0xce, 0x23, 0x65, 0x4c, 0x4a, 0xe8, 0x3b, 0xfe, 0x51, 0xca, 0x18, 0x1d, 0x23, 0x04, 0x1d, 0x47, 0x69,
0x78, 0xea, 0xaf, 0x89, 0x38, 0xe3, 0xf3, 0xe3, 0x86, 0xaf, 0x87, 0x7b, 0x37, 0x7b, 0x9e, 0x74, 0x56, 0x6a, 0x45, 0xf4, 0x1d, 0x5f, 0xe1, 0x1e, 0x3a, 0x26, 0x10, 0x3e, 0xf1, 0x36, 0x5c, 0x85,
0xc2, 0xc0, 0x77, 0x9c, 0x87, 0xc4, 0x9d, 0x76, 0xe0, 0xef, 0x38, 0x0f, 0x31, 0x30, 0xba, 0x60, 0x6f, 0xb5, 0x36, 0xfa, 0x4f, 0x7c, 0x49, 0x9b, 0xf8, 0x44, 0x0d, 0x63, 0x53, 0x70, 0xd5, 0xc6,
0xe0, 0x20, 0x4e, 0x72, 0xc9, 0xa1, 0x76, 0xe0, 0x2b, 0xdc, 0xc3, 0xc0, 0xe4, 0x84, 0x47, 0xbc, 0xb0, 0xe8, 0xaa, 0xcd, 0xe5, 0x08, 0xfc, 0x3b, 0xd4, 0x1b, 0x7f, 0x61, 0xd3, 0xa7, 0x0f, 0x21,
0xf7, 0x97, 0xfe, 0x5b, 0xc9, 0xa6, 0xf6, 0x11, 0x5f, 0xd1, 0x26, 0x1e, 0x51, 0xba, 0xb1, 0x09, 0x1b, 0xe5, 0x3a, 0xd7, 0xf5, 0x54, 0x06, 0xce, 0xcc, 0xc3, 0x12, 0xb3, 0x16, 0xfe, 0xb7, 0x63,
0x98, 0x62, 0xad, 0x70, 0x37, 0xc5, 0x7a, 0x3e, 0x00, 0xfb, 0x01, 0x19, 0xea, 0x7e, 0xae, 0xdb, 0x8f, 0xe8, 0x54, 0xf6, 0xba, 0xb1, 0xb3, 0xbb, 0x1b, 0xbb, 0x0f, 0xeb, 0xc6, 0xde, 0x3d, 0xdd,
0x27, 0x3f, 0x42, 0x34, 0xf2, 0x55, 0x2a, 0xef, 0x6c, 0xee, 0x18, 0x53, 0x0b, 0xaf, 0xb1, 0xb6, 0xd8, 0x76, 0xa1, 0x41, 0xb3, 0x0b, 0xf1, 0x05, 0x1c, 0x34, 0x79, 0xdb, 0x39, 0x47, 0x9e, 0x98,
0xb8, 0x7f, 0x18, 0xfa, 0x13, 0xd9, 0xca, 0x96, 0xe2, 0x1b, 0xdb, 0x15, 0xdf, 0xdc, 0x4d, 0xf1, 0x3c, 0x98, 0x78, 0x4c, 0x52, 0x7e, 0x82, 0xc3, 0x16, 0xa3, 0x3b, 0xdd, 0xd8, 0x6a, 0x70, 0x9b,
0xad, 0x0d, 0x8a, 0xaf, 0x95, 0xae, 0x57, 0x55, 0x3a, 0xf7, 0x1a, 0xf6, 0xab, 0xb8, 0x6d, 0x7d, 0xd5, 0xc0, 0xff, 0xb0, 0xe1, 0x20, 0xdb, 0xa8, 0x64, 0x6c, 0x07, 0xaf, 0x36, 0xb9, 0x4e, 0x92,
0xab, 0x8e, 0x55, 0x1f, 0x54, 0x3d, 0xaa, 0x29, 0xdf, 0xc3, 0x41, 0x0d, 0xd1, 0xad, 0x61, 0xf4, 0x2f, 0xea, 0x35, 0x86, 0x92, 0x1b, 0x89, 0x7b, 0x73, 0x47, 0xe8, 0x05, 0x7a, 0xbe, 0xcb, 0xd2,
0xfd, 0x31, 0xab, 0xf7, 0xc7, 0xfd, 0x45, 0x97, 0x83, 0x68, 0x23, 0x93, 0x51, 0x40, 0x5e, 0xaf, 0xf5, 0x2d, 0x36, 0x1e, 0x0f, 0x1f, 0xaa, 0x57, 0xfc, 0xb9, 0x0d, 0x91, 0xb4, 0xb1, 0x2b, 0x44,
0x53, 0xd9, 0x24, 0xdb, 0x2b, 0xd7, 0x58, 0x4a, 0xaa, 0x28, 0x6e, 0xcd, 0x0c, 0x4f, 0x2e, 0x30, 0xfe, 0xa7, 0x03, 0x47, 0x42, 0x46, 0x32, 0xc9, 0xd5, 0x83, 0xa7, 0x6c, 0xa7, 0x7d, 0xba, 0xfd,
0xf2, 0x43, 0x12, 0xaf, 0xee, 0x51, 0xaa, 0x2c, 0x3c, 0xa8, 0x5c, 0xb9, 0x67, 0xba, 0x44, 0xe2, 0xf6, 0x69, 0x1f, 0xee, 0x75, 0xdb, 0x80, 0x69, 0x4d, 0x83, 0x66, 0x6b, 0xe2, 0x3f, 0xc3, 0xa3,
0xc6, 0xb6, 0x12, 0xdd, 0xdf, 0x4d, 0x38, 0xf4, 0x78, 0xc0, 0xa3, 0x54, 0xec, 0xfc, 0x92, 0x37, 0x4e, 0x10, 0xcb, 0xc5, 0x43, 0xb2, 0x6b, 0x9c, 0xb9, 0x2d, 0x67, 0x57, 0x70, 0x64, 0x69, 0xd2,
0x04, 0xd7, 0x6c, 0x0b, 0xae, 0x3e, 0xb8, 0xd5, 0x14, 0x0e, 0x25, 0x66, 0xbd, 0x9a, 0x98, 0xd5, 0xd3, 0xee, 0x05, 0x8c, 0x0a, 0x33, 0x21, 0x1d, 0x9a, 0x90, 0x27, 0xa6, 0x32, 0x3a, 0xb7, 0x8a,
0x64, 0xc8, 0x6e, 0xca, 0x50, 0x29, 0x2b, 0xfd, 0x4d, 0xb2, 0x32, 0xa8, 0xcb, 0x4a, 0x43, 0x3a, 0x0a, 0xc6, 0xbf, 0xc6, 0xb4, 0xbc, 0xab, 0xa3, 0x59, 0xbd, 0xc9, 0x76, 0xa6, 0xf2, 0x3f, 0x17,
0x86, 0x8f, 0x4a, 0xc7, 0xa8, 0x21, 0x1d, 0x99, 0xe6, 0xb1, 0x16, 0xa2, 0x47, 0xfb, 0xc1, 0xa0, 0x4e, 0x84, 0xcc, 0xeb, 0xfc, 0xaf, 0x8b, 0x42, 0xae, 0x14, 0x1d, 0xb5, 0xa1, 0x3a, 0xad, 0x96,
0xe7, 0xeb, 0x46, 0xd0, 0xef, 0x8d, 0x1d, 0x28, 0xcf, 0xd2, 0xab, 0x9c, 0xc5, 0x9d, 0xc3, 0x61, 0xfc, 0xe1, 0xbf, 0x57, 0x1a, 0x33, 0xd4, 0x6f, 0xcf, 0xd0, 0x2d, 0x43, 0x6d, 0xf8, 0x80, 0x2f,
0x3d, 0x67, 0xce, 0xce, 0x60, 0x90, 0xa9, 0xc1, 0xc1, 0xa0, 0xc1, 0xe1, 0x59, 0x4b, 0x54, 0x68, 0x99, 0x51, 0x77, 0x54, 0xd9, 0x1a, 0xdc, 0x6f, 0x7d, 0x09, 0xd8, 0x11, 0x30, 0x6e, 0x8e, 0x80,
0x78, 0x28, 0xbc, 0xdc, 0x2f, 0x10, 0xc8, 0x77, 0xc5, 0xee, 0x62, 0x79, 0x97, 0x6c, 0x05, 0xff, 0xce, 0xd4, 0x87, 0xee, 0xd4, 0xe7, 0xdf, 0xc0, 0x71, 0x87, 0x89, 0x12, 0x73, 0x62, 0x13, 0x5f,
0x6f, 0x13, 0x4e, 0x3c, 0x9e, 0x96, 0x8c, 0x59, 0x65, 0x19, 0x5f, 0x0a, 0xfa, 0x54, 0x23, 0x65, 0x75, 0xa3, 0xa6, 0x89, 0xff, 0x0a, 0x1f, 0x6f, 0xe7, 0xa2, 0x64, 0xe7, 0xe0, 0x27, 0xf8, 0xc3,
0xd4, 0x90, 0xfa, 0xff, 0xa7, 0xb8, 0xca, 0x64, 0x61, 0xd7, 0x27, 0x8b, 0x8e, 0x87, 0xbb, 0xbf, 0x48, 0xe1, 0xb3, 0x5a, 0x0a, 0xdb, 0xe0, 0x42, 0x63, 0xf9, 0x4b, 0x78, 0xdc, 0x88, 0xe2, 0x72,
0xc3, 0x7c, 0x37, 0x68, 0x3e, 0xc7, 0x5a, 0x35, 0x86, 0xb5, 0xf9, 0x48, 0x3f, 0x73, 0xa3, 0xda, 0x63, 0xe7, 0xdd, 0x56, 0x62, 0xdb, 0x5a, 0x71, 0x7b, 0x5a, 0xe1, 0x30, 0x6d, 0xdc, 0xb7, 0x5c,
0x33, 0x57, 0x9f, 0x85, 0xa0, 0x39, 0x0b, 0xb9, 0x5f, 0xc2, 0x51, 0x03, 0x89, 0x1c, 0x7b, 0xa2, 0x94, 0xec, 0x18, 0xbc, 0xe5, 0xa2, 0x7a, 0x0a, 0xfe, 0xe4, 0xef, 0x81, 0x35, 0xae, 0xac, 0xa4,
0x1b, 0x5f, 0xe8, 0x67, 0xd5, 0xe4, 0xfe, 0x08, 0x1f, 0x74, 0x63, 0x91, 0xb3, 0x0b, 0x24, 0xcd, 0xbc, 0xab, 0x2a, 0x18, 0x0c, 0x42, 0x5b, 0x95, 0xf4, 0xbb, 0x11, 0xa5, 0xd7, 0x8a, 0xd2, 0x96,
0x5d, 0x52, 0x30, 0xe1, 0x23, 0xc5, 0x84, 0x6e, 0x77, 0x4f, 0xfa, 0xba, 0x57, 0xf0, 0xb4, 0x52, 0xe9, 0xa0, 0xd5, 0x9f, 0x2e, 0xf0, 0xe6, 0xbc, 0x7b, 0xf3, 0x97, 0xdd, 0x22, 0xda, 0xf2, 0x99,
0xc5, 0x7c, 0xad, 0xdf, 0xf4, 0x4e, 0x60, 0x4b, 0x62, 0x9a, 0x55, 0x62, 0xba, 0x30, 0xa9, 0x64, 0x59, 0xd7, 0xcf, 0xf7, 0x98, 0xaf, 0xbc, 0xd9, 0x74, 0xa9, 0x10, 0x9e, 0xc1, 0x50, 0x23, 0xcc,
0x59, 0x5c, 0xe7, 0xec, 0x08, 0xac, 0xc5, 0x75, 0x71, 0x00, 0xfc, 0xe9, 0xfe, 0x06, 0x4e, 0x25, 0x10, 0xde, 0xe2, 0xc2, 0x00, 0xf8, 0x1c, 0x79, 0xaf, 0x3d, 0xe8, 0x4f, 0x9b, 0xba, 0x19, 0x3a,
0x91, 0xe2, 0xef, 0x7c, 0x4d, 0x42, 0xf0, 0x1f, 0xaf, 0x8e, 0xaa, 0xd0, 0xea, 0xae, 0xb0, 0x76, 0x24, 0x6f, 0xbd, 0xb8, 0x19, 0xd2, 0x3f, 0x0c, 0xe7, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0x7f,
0x75, 0x7e, 0x85, 0xe7, 0x5d, 0xd9, 0xd5, 0x69, 0x77, 0x50, 0x68, 0x95, 0xcb, 0xec, 0xce, 0x65, 0x53, 0x25, 0x23, 0x42, 0x0c, 0x00, 0x00,
0x55, 0x73, 0x5d, 0x02, 0xab, 0x74, 0xa3, 0xb8, 0xa9, 0x9f, 0x36, 0x6f, 0x6a, 0xc7, 0x88, 0x5f,
0xde, 0xd2, 0x57, 0x35, 0x54, 0xd0, 0x63, 0x97, 0x9b, 0xba, 0xf1, 0x25, 0xf9, 0x06, 0xc3, 0xa5,
0xad, 0x70, 0x2f, 0xa1, 0x2f, 0x13, 0xaa, 0x59, 0xa7, 0xa3, 0x22, 0xe5, 0xe0, 0xce, 0x90, 0xac,
0x65, 0x04, 0x39, 0x73, 0x96, 0x6f, 0x8e, 0x41, 0x77, 0x52, 0x2e, 0x6e, 0xfb, 0xf4, 0xbf, 0xdf,
0xc5, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xa1, 0x37, 0xc2, 0xe4, 0x0d, 0x0e, 0x00, 0x00,
} }
package types
import (
"fmt"
"github.com/33cn/chain33/common/db"
"github.com/33cn/chain33/common/db/table"
"github.com/33cn/chain33/types"
)
var opt = &table.Option{
Prefix: "LODB-issuance",
Name: "issuer",
Primary: "issuanceid",
Index: []string{"status"},
}
//NewTable 新建表
func NewIssuanceTable(kvdb db.KV) *table.Table {
rowmeta := NewIssuanceRow()
table, err := table.NewTable(rowmeta, kvdb, opt)
if err != nil {
panic(err)
}
return table
}
//IssuanceRow table meta 结构
type IssuanceRow struct {
*ReceiptIssuanceID
}
//NewIssuanceRow 新建一个meta 结构
func NewIssuanceRow() *IssuanceRow {
return &IssuanceRow{ReceiptIssuanceID: &ReceiptIssuanceID{}}
}
//CreateRow 新建数据行
func (tx *IssuanceRow) CreateRow() *table.Row {
return &table.Row{Data: &ReceiptIssuanceID{}}
}
//SetPayload 设置数据
func (tx *IssuanceRow) SetPayload(data types.Message) error {
if txdata, ok := data.(*ReceiptIssuanceID); ok {
tx.ReceiptIssuanceID = txdata
return nil
}
return types.ErrTypeAsset
}
//Get 按照indexName 查询 indexValue
func (tx *IssuanceRow) Get(key string) ([]byte, error) {
if key == "issuanceid" {
return []byte(tx.IssuanceId), nil
} else if key == "status" {
return []byte(fmt.Sprintf("%2d", tx.Status)), nil
}
return nil, types.ErrNotFound
}
var optRecord = &table.Option{
Prefix: "LODB-issuance",
Name: "debt",
Primary: "debtid",
Index: []string{"status", "addr"},
}
/*
大户发行记录表
*/
func NewRecordTable(kvdb db.KV) *table.Table {
rowmeta := NewRecordRow()
table, err := table.NewTable(rowmeta, kvdb, optRecord)
if err != nil {
panic(err)
}
return table
}
//IssuanceRow table meta 结构
type IssuanceRecordRow struct {
*ReceiptIssuance
}
//NewIssuanceRow 新建一个meta 结构
func NewRecordRow() *IssuanceRecordRow {
return &IssuanceRecordRow{ReceiptIssuance: &ReceiptIssuance{}}
}
//CreateRow 新建数据行
func (tx *IssuanceRecordRow) CreateRow() *table.Row {
return &table.Row{Data: &ReceiptIssuance{}}
}
//SetPayload 设置数据
func (tx *IssuanceRecordRow) SetPayload(data types.Message) error {
if txdata, ok := data.(*ReceiptIssuance); ok {
tx.ReceiptIssuance = txdata
return nil
}
return types.ErrTypeAsset
}
//Get 按照indexName 查询 indexValue
func (tx *IssuanceRecordRow) Get(key string) ([]byte, error) {
if key == "debtid" {
return []byte(tx.DebtId), nil
} else if key == "status" {
return []byte(fmt.Sprintf("%2d", tx.Status)), nil
} else if key == "addr" {
return []byte(fmt.Sprintf("%s", tx.AccountAddr)), nil
}
return nil, types.ErrNotFound
}
...@@ -18,7 +18,7 @@ const ( ...@@ -18,7 +18,7 @@ const (
TyLogIssuanceDebt = 742 TyLogIssuanceDebt = 742
TyLogIssuanceRepay = 743 TyLogIssuanceRepay = 743
TyLogIssuanceFeed = 745 TyLogIssuanceFeed = 745
TyLogIssuanceClose = 756 TyLogIssuanceClose = 746
) )
// Issuance name // Issuance name
......
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