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