Commit 961263a5 authored by pengjun's avatar pengjun

#627 update collateralize exec local

parent 4bf2e915
......@@ -59,76 +59,42 @@ func (Coll *Collateralize) GetDriverName() string {
return pty.CollateralizeX
}
func (Coll *Collateralize) saveCollateralizeBorrow(collateralizelog *pty.ReceiptCollateralize) (kvs []*types.KeyValue) {
key := calcCollateralizeBorrowKey(collateralizelog.CollateralizeId, collateralizelog.AccountAddr)
record := &pty.CollateralizeBorrowRecord{CollateralizeId:collateralizelog.CollateralizeId,}
func (Coll *Collateralize) addCollateralizeStatus(collateralizelog *pty.ReceiptCollateralize) (kvs []*types.KeyValue) {
key := calcCollateralizeStatusKey(collateralizelog.Status, collateralizelog.Index)
record := &pty.CollateralizeRecord{
CollateralizeId:collateralizelog.CollateralizeId,
Index: collateralizelog.Index,
}
kv := &types.KeyValue{Key: key, Value: types.Encode(record)}
kvs = append(kvs, kv)
return kvs
}
func (Coll *Collateralize) deleteCollateralizeBorrow(collateralizelog *pty.ReceiptCollateralize) (kvs []*types.KeyValue) {
key := calcCollateralizeBorrowKey(collateralizelog.CollateralizeId, collateralizelog.AccountAddr)
func (Coll *Collateralize) deleteCollateralizeStatus(collateralizelog *pty.ReceiptCollateralize) (kvs []*types.KeyValue) {
key := calcCollateralizeStatusKey(collateralizelog.Status, collateralizelog.Index)
kv := &types.KeyValue{Key: key, Value: nil}
kvs = append(kvs, kv)
return kvs
}
func (Coll *Collateralize) saveCollateralizeRepay(collateralizelog *pty.ReceiptCollateralize) (kvs []*types.KeyValue) {
key := calcCollateralizeRepayKey(collateralizelog.CollateralizeId)
record := &pty.CollateralizeRepayRecord{}
func (Coll *Collateralize) addCollateralizeAddr(collateralizelog *pty.ReceiptCollateralize) (kvs []*types.KeyValue) {
key := calcCollateralizeAddrKey(collateralizelog.AccountAddr, collateralizelog.Index)
record := &pty.CollateralizeRecord{
CollateralizeId:collateralizelog.CollateralizeId,
Index: collateralizelog.Index,
}
kv := &types.KeyValue{Key: key, Value: types.Encode(record)}
kvs = append(kvs, kv)
return kvs
}
func (Coll *Collateralize) deleteCollateralizeRepay(collateralizelog *pty.ReceiptCollateralize) (kvs []*types.KeyValue) {
key := calcCollateralizeRepayKey(collateralizelog.CollateralizeId)
kv := &types.KeyValue{Key: key, Value: nil}
kvs = append(kvs, kv)
return kvs
}
func (Coll *Collateralize) saveCollateralize(collateralizelog *pty.ReceiptCollateralize) (kvs []*types.KeyValue) {
if collateralizelog.PreStatus > 0 {
kv := delCollateralize(collateralizelog.CollateralizeId, collateralizelog.PreStatus)
kvs = append(kvs, kv)
}
kvs = append(kvs, addCollateralize(collateralizelog.CollateralizeId, collateralizelog.Status))
return kvs
}
func (Coll *Collateralize) deleteCollateralizeAddr(collateralizelog *pty.ReceiptCollateralize) (kvs []*types.KeyValue) {
key := calcCollateralizeAddrKey(collateralizelog.AccountAddr, collateralizelog.Index)
func (Coll *Collateralize) deleteCollateralize(collateralizelog *pty.ReceiptCollateralize) (kvs []*types.KeyValue) {
if collateralizelog.PreStatus > 0 {
kv := addCollateralize(collateralizelog.CollateralizeId, collateralizelog.PreStatus)
kvs = append(kvs, kv)
}
kvs = append(kvs, delCollateralize(collateralizelog.CollateralizeId, collateralizelog.Status))
kv := &types.KeyValue{Key: key, Value: nil}
kvs = append(kvs, kv)
return kvs
}
func addCollateralize(collateralizeID string, status int32) *types.KeyValue {
kv := &types.KeyValue{}
kv.Key = calcCollateralizeKey(collateralizeID)
kv.Value = []byte(collateralizeID)
return kv
}
func delCollateralize(collateralizeID string, status int32) *types.KeyValue {
kv := &types.KeyValue{}
kv.Key = calcCollateralizeKey(collateralizeID)
kv.Value = nil
return kv
}
// GetPayloadValue CollateralizeAction
func (Coll *Collateralize) GetPayloadValue() types.Message {
return &pty.CollateralizeAction{}
}
// CheckReceiptExecOk return true to check if receipt ty is ok
func (Coll *Collateralize) CheckReceiptExecOk() bool {
return true
}
......@@ -13,25 +13,32 @@ import (
func (c *Collateralize) execDelLocal(tx *types.Transaction, receiptData *types.ReceiptData) (*types.LocalDBSet, error) {
set := &types.LocalDBSet{}
for _, item := range receiptData.Logs {
var collateralizelog pty.ReceiptCollateralize
err := types.Decode(item.Log, &collateralizelog)
if err != nil {
return nil, err
}
switch item.Ty {
case pty.TyLogCollateralizeCreate, pty.TyLogCollateralizeBorrow, pty.TyLogCollateralizeAppend,
pty.TyLogCollateralizeRepay, pty.TyLogCollateralizeFeed, pty.TyLogCollateralizeClose:
var collateralizelog pty.ReceiptCollateralize
err := types.Decode(item.Log, &collateralizelog)
if err != nil {
return nil, err
}
kv := c.deleteCollateralize(&collateralizelog)
case pty.TyLogCollateralizeCreate:
kv := c.deleteCollateralizeStatus(&collateralizelog)
set.KV = append(set.KV, kv...)
if item.Ty == pty.TyLogCollateralizeBorrow {
kv := c.deleteCollateralizeBorrow(&collateralizelog)
set.KV = append(set.KV, kv...)
} else if item.Ty == pty.TyLogCollateralizeAppend {
kv := c.deleteCollateralizeRepay(&collateralizelog)
set.KV = append(set.KV, kv...)
//TODO
}
break
case pty.TyLogCollateralizeBorrow:
kv := c.deleteCollateralizeAddr(&collateralizelog)
set.KV = append(set.KV, kv...)
break
case pty.TyLogCollateralizeAppend: // append没有状态变化
break
case pty.TyLogCollateralizeRepay:
kv := c.addCollateralizeAddr(&collateralizelog)
set.KV = append(set.KV, kv...)
break
/*case pty.TyLogCollateralizeFeed:*/ // TODO
case pty.TyLogCollateralizeClose:
kv := c.addCollateralizeStatus(&collateralizelog)
set.KV = append(set.KV, kv...)
break
}
}
return set, nil
......
......@@ -13,26 +13,32 @@ import (
func (c *Collateralize) execLocal(tx *types.Transaction, receipt *types.ReceiptData) (*types.LocalDBSet, error) {
set := &types.LocalDBSet{}
for _, item := range receipt.Logs {
var collateralizelog pty.ReceiptCollateralize
err := types.Decode(item.Log, &collateralizelog)
if err != nil {
return nil, err
}
switch item.Ty {
case pty.TyLogCollateralizeCreate, pty.TyLogCollateralizeBorrow, pty.TyLogCollateralizeRepay, pty.TyLogCollateralizeAppend,
pty.TyLogCollateralizeFeed, pty.TyLogCollateralizeClose:
var Collateralizelog pty.ReceiptCollateralize
err := types.Decode(item.Log, &Collateralizelog)
if err != nil {
return nil, err
}
kv := c.saveCollateralize(&Collateralizelog)
case pty.TyLogCollateralizeCreate:
kv := c.addCollateralizeStatus(&collateralizelog)
set.KV = append(set.KV, kv...)
if item.Ty == pty.TyLogCollateralizeBorrow {
kv := c.saveCollateralizeBorrow(&Collateralizelog)
set.KV = append(set.KV, kv...)
} else if item.Ty == pty.TyLogCollateralizeRepay {
kv := c.saveCollateralizeRepay(&Collateralizelog)
set.KV = append(set.KV, kv...)
} else {
//TODO
}
break
case pty.TyLogCollateralizeBorrow:
kv := c.addCollateralizeAddr(&collateralizelog)
set.KV = append(set.KV, kv...)
break
case pty.TyLogCollateralizeAppend://append没有状态变化
break
case pty.TyLogCollateralizeRepay:
kv := c.deleteCollateralizeAddr(&collateralizelog)
set.KV = append(set.KV, kv...)
break
/*case pty.TyLogCollateralizeFeed:*/ // TODO
case pty.TyLogCollateralizeClose:
kv := c.deleteCollateralizeStatus(&collateralizelog)
set.KV = append(set.KV, kv...)
break
}
}
return set, nil
......
......@@ -7,27 +7,27 @@ package executor
import "fmt"
func calcCollateralizeKey(CollateralizeID string) []byte {
key := fmt.Sprintf("LODB-Collateralize-create:%s", CollateralizeID)
key := fmt.Sprintf("LODB-Collateralize-ID:%s", CollateralizeID)
return []byte(key)
}
func calcCollateralizeBorrowPrefix(CollateralizeID string, addr string) []byte {
key := fmt.Sprintf("LODB-Collateralize-borrow:%s:%s", CollateralizeID, addr)
func calcCollateralizeStatusPrefix(status int32) []byte {
key := fmt.Sprintf("LODB-Collateralize-status-index:%d", status)
return []byte(key)
}
func calcCollateralizeBorrowKey(CollateralizeID string, addr string) []byte {
key := fmt.Sprintf("LODB-Collateralize-buy:%s:%s:%18d", CollateralizeID, addr)
func calcCollateralizeStatusKey(status int32, index int64) []byte {
key := fmt.Sprintf("LODB-Collateralize-status:%d:%018d", status, index)
return []byte(key)
}
func calcCollateralizeRepayPrefix(CollateralizeID string, addr string) []byte {
key := fmt.Sprintf("LODB-Collateralize-repay:%s:%s", CollateralizeID, addr)
func calcCollateralizeAddrPrefix(addr string) []byte {
key := fmt.Sprintf("LODB-Collateralize-addr:%s", addr)
return []byte(key)
}
func calcCollateralizeRepayKey(CollateralizeID string) []byte {
key := fmt.Sprintf("LODB-Collateralize-repay:%s:%10d", CollateralizeID)
func calcCollateralizeAddrKey(addr string, index int64) []byte {
key := fmt.Sprintf("LODB-Collateralize-addr:%s:%018d", addr, index)
return []byte(key)
}
......
......@@ -84,8 +84,9 @@ message ReceiptCollateralize {
string collateralizeId = 1;
string createAddr = 3;
string accountAddr = 4;
int32 status = 9;
int32 preStatus = 10;
int32 status = 5;
int32 preStatus = 6;
int64 index = 7;
}
message ReqCollateralizeInfo {
......@@ -125,26 +126,11 @@ message ReplyCollateralizeBadDebt {
}
// used for execlocal
message CollateralizeBorrowRecord {
message CollateralizeRecord {
string collateralizeId = 1;
int64 value = 2;
int64 index = 3;
int64 time = 4;
string txHash = 5;
}
message CollateralizeBorrowRecords {
repeated CollateralizeBorrowRecord records = 1;
}
message CollateralizeRepayRecord {
string collateralizeId = 1;
int64 value = 2;
int64 index = 3;
int64 time = 4;
string txHash = 5;
}
message CollateralizeRepayRecords {
repeated CollateralizeRepayRecord records = 1;
message CollateralizeRecords {
repeated CollateralizeRecord records = 1;
}
......@@ -763,8 +763,9 @@ type ReceiptCollateralize struct {
CollateralizeId string `protobuf:"bytes,1,opt,name=collateralizeId,proto3" json:"collateralizeId,omitempty"`
CreateAddr string `protobuf:"bytes,3,opt,name=createAddr,proto3" json:"createAddr,omitempty"`
AccountAddr string `protobuf:"bytes,4,opt,name=accountAddr,proto3" json:"accountAddr,omitempty"`
Status int32 `protobuf:"varint,9,opt,name=status,proto3" json:"status,omitempty"`
PreStatus int32 `protobuf:"varint,10,opt,name=preStatus,proto3" json:"preStatus,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"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
......@@ -830,6 +831,13 @@ func (m *ReceiptCollateralize) GetPreStatus() int32 {
return 0
}
func (m *ReceiptCollateralize) GetIndex() int64 {
if m != nil {
return m.Index
}
return 0
}
type ReqCollateralizeInfo struct {
CollateralizeId string `protobuf:"bytes,1,opt,name=collateralizeId,proto3" json:"collateralizeId,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
......@@ -1161,220 +1169,86 @@ func (m *ReplyCollateralizeBadDebt) GetRecords() []*BorrowRecord {
}
// used for execlocal
type CollateralizeBorrowRecord struct {
type CollateralizeRecord struct {
CollateralizeId string `protobuf:"bytes,1,opt,name=collateralizeId,proto3" json:"collateralizeId,omitempty"`
Value int64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
Index int64 `protobuf:"varint,3,opt,name=index,proto3" json:"index,omitempty"`
Time int64 `protobuf:"varint,4,opt,name=time,proto3" json:"time,omitempty"`
TxHash string `protobuf:"bytes,5,opt,name=txHash,proto3" json:"txHash,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CollateralizeBorrowRecord) Reset() { *m = CollateralizeBorrowRecord{} }
func (m *CollateralizeBorrowRecord) String() string { return proto.CompactTextString(m) }
func (*CollateralizeBorrowRecord) ProtoMessage() {}
func (*CollateralizeBorrowRecord) Descriptor() ([]byte, []int) {
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_a988fb4a61381972, []int{17}
}
func (m *CollateralizeBorrowRecord) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CollateralizeBorrowRecord.Unmarshal(m, b)
func (m *CollateralizeRecord) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CollateralizeRecord.Unmarshal(m, b)
}
func (m *CollateralizeBorrowRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CollateralizeBorrowRecord.Marshal(b, m, deterministic)
func (m *CollateralizeRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CollateralizeRecord.Marshal(b, m, deterministic)
}
func (m *CollateralizeBorrowRecord) XXX_Merge(src proto.Message) {
xxx_messageInfo_CollateralizeBorrowRecord.Merge(m, src)
func (m *CollateralizeRecord) XXX_Merge(src proto.Message) {
xxx_messageInfo_CollateralizeRecord.Merge(m, src)
}
func (m *CollateralizeBorrowRecord) XXX_Size() int {
return xxx_messageInfo_CollateralizeBorrowRecord.Size(m)
func (m *CollateralizeRecord) XXX_Size() int {
return xxx_messageInfo_CollateralizeRecord.Size(m)
}
func (m *CollateralizeBorrowRecord) XXX_DiscardUnknown() {
xxx_messageInfo_CollateralizeBorrowRecord.DiscardUnknown(m)
func (m *CollateralizeRecord) XXX_DiscardUnknown() {
xxx_messageInfo_CollateralizeRecord.DiscardUnknown(m)
}
var xxx_messageInfo_CollateralizeBorrowRecord proto.InternalMessageInfo
var xxx_messageInfo_CollateralizeRecord proto.InternalMessageInfo
func (m *CollateralizeBorrowRecord) GetCollateralizeId() string {
func (m *CollateralizeRecord) GetCollateralizeId() string {
if m != nil {
return m.CollateralizeId
}
return ""
}
func (m *CollateralizeBorrowRecord) GetValue() int64 {
if m != nil {
return m.Value
}
return 0
}
func (m *CollateralizeBorrowRecord) GetIndex() int64 {
func (m *CollateralizeRecord) GetIndex() int64 {
if m != nil {
return m.Index
}
return 0
}
func (m *CollateralizeBorrowRecord) GetTime() int64 {
if m != nil {
return m.Time
}
return 0
}
func (m *CollateralizeBorrowRecord) GetTxHash() string {
if m != nil {
return m.TxHash
}
return ""
}
type CollateralizeBorrowRecords struct {
Records []*CollateralizeBorrowRecord `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
type CollateralizeRecords struct {
Records []*CollateralizeRecord `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CollateralizeBorrowRecords) Reset() { *m = CollateralizeBorrowRecords{} }
func (m *CollateralizeBorrowRecords) String() string { return proto.CompactTextString(m) }
func (*CollateralizeBorrowRecords) ProtoMessage() {}
func (*CollateralizeBorrowRecords) Descriptor() ([]byte, []int) {
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_a988fb4a61381972, []int{18}
}
func (m *CollateralizeBorrowRecords) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CollateralizeBorrowRecords.Unmarshal(m, b)
}
func (m *CollateralizeBorrowRecords) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CollateralizeBorrowRecords.Marshal(b, m, deterministic)
}
func (m *CollateralizeBorrowRecords) XXX_Merge(src proto.Message) {
xxx_messageInfo_CollateralizeBorrowRecords.Merge(m, src)
}
func (m *CollateralizeBorrowRecords) XXX_Size() int {
return xxx_messageInfo_CollateralizeBorrowRecords.Size(m)
}
func (m *CollateralizeBorrowRecords) XXX_DiscardUnknown() {
xxx_messageInfo_CollateralizeBorrowRecords.DiscardUnknown(m)
}
var xxx_messageInfo_CollateralizeBorrowRecords proto.InternalMessageInfo
func (m *CollateralizeBorrowRecords) GetRecords() []*CollateralizeBorrowRecord {
if m != nil {
return m.Records
}
return nil
}
type CollateralizeRepayRecord struct {
CollateralizeId string `protobuf:"bytes,1,opt,name=collateralizeId,proto3" json:"collateralizeId,omitempty"`
Value int64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
Index int64 `protobuf:"varint,3,opt,name=index,proto3" json:"index,omitempty"`
Time int64 `protobuf:"varint,4,opt,name=time,proto3" json:"time,omitempty"`
TxHash string `protobuf:"bytes,5,opt,name=txHash,proto3" json:"txHash,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CollateralizeRepayRecord) Reset() { *m = CollateralizeRepayRecord{} }
func (m *CollateralizeRepayRecord) String() string { return proto.CompactTextString(m) }
func (*CollateralizeRepayRecord) ProtoMessage() {}
func (*CollateralizeRepayRecord) Descriptor() ([]byte, []int) {
return fileDescriptor_a988fb4a61381972, []int{19}
}
func (m *CollateralizeRepayRecord) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CollateralizeRepayRecord.Unmarshal(m, b)
}
func (m *CollateralizeRepayRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CollateralizeRepayRecord.Marshal(b, m, deterministic)
}
func (m *CollateralizeRepayRecord) XXX_Merge(src proto.Message) {
xxx_messageInfo_CollateralizeRepayRecord.Merge(m, src)
}
func (m *CollateralizeRepayRecord) XXX_Size() int {
return xxx_messageInfo_CollateralizeRepayRecord.Size(m)
}
func (m *CollateralizeRepayRecord) XXX_DiscardUnknown() {
xxx_messageInfo_CollateralizeRepayRecord.DiscardUnknown(m)
}
var xxx_messageInfo_CollateralizeRepayRecord proto.InternalMessageInfo
func (m *CollateralizeRepayRecord) GetCollateralizeId() string {
if m != nil {
return m.CollateralizeId
}
return ""
}
func (m *CollateralizeRepayRecord) GetValue() int64 {
if m != nil {
return m.Value
}
return 0
}
func (m *CollateralizeRepayRecord) GetIndex() int64 {
if m != nil {
return m.Index
}
return 0
}
func (m *CollateralizeRepayRecord) GetTime() int64 {
if m != nil {
return m.Time
}
return 0
}
func (m *CollateralizeRepayRecord) GetTxHash() string {
if m != nil {
return m.TxHash
}
return ""
}
type CollateralizeRepayRecords struct {
Records []*CollateralizeRepayRecord `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CollateralizeRepayRecords) Reset() { *m = CollateralizeRepayRecords{} }
func (m *CollateralizeRepayRecords) String() string { return proto.CompactTextString(m) }
func (*CollateralizeRepayRecords) ProtoMessage() {}
func (*CollateralizeRepayRecords) Descriptor() ([]byte, []int) {
return fileDescriptor_a988fb4a61381972, []int{20}
}
func (m *CollateralizeRepayRecords) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CollateralizeRepayRecords.Unmarshal(m, b)
func (m *CollateralizeRecords) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CollateralizeRecords.Unmarshal(m, b)
}
func (m *CollateralizeRepayRecords) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CollateralizeRepayRecords.Marshal(b, m, deterministic)
func (m *CollateralizeRecords) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CollateralizeRecords.Marshal(b, m, deterministic)
}
func (m *CollateralizeRepayRecords) XXX_Merge(src proto.Message) {
xxx_messageInfo_CollateralizeRepayRecords.Merge(m, src)
func (m *CollateralizeRecords) XXX_Merge(src proto.Message) {
xxx_messageInfo_CollateralizeRecords.Merge(m, src)
}
func (m *CollateralizeRepayRecords) XXX_Size() int {
return xxx_messageInfo_CollateralizeRepayRecords.Size(m)
func (m *CollateralizeRecords) XXX_Size() int {
return xxx_messageInfo_CollateralizeRecords.Size(m)
}
func (m *CollateralizeRepayRecords) XXX_DiscardUnknown() {
xxx_messageInfo_CollateralizeRepayRecords.DiscardUnknown(m)
func (m *CollateralizeRecords) XXX_DiscardUnknown() {
xxx_messageInfo_CollateralizeRecords.DiscardUnknown(m)
}
var xxx_messageInfo_CollateralizeRepayRecords proto.InternalMessageInfo
var xxx_messageInfo_CollateralizeRecords proto.InternalMessageInfo
func (m *CollateralizeRepayRecords) GetRecords() []*CollateralizeRepayRecord {
func (m *CollateralizeRecords) GetRecords() []*CollateralizeRecord {
if m != nil {
return m.Records
}
......@@ -1399,74 +1273,69 @@ func init() {
proto.RegisterType((*ReqCollateralizeBorrowHistory)(nil), "types.ReqCollateralizeBorrowHistory")
proto.RegisterType((*ReplyCollateralizeCurrentInfo)(nil), "types.ReplyCollateralizeCurrentInfo")
proto.RegisterType((*ReplyCollateralizeBadDebt)(nil), "types.ReplyCollateralizeBadDebt")
proto.RegisterType((*CollateralizeBorrowRecord)(nil), "types.CollateralizeBorrowRecord")
proto.RegisterType((*CollateralizeBorrowRecords)(nil), "types.CollateralizeBorrowRecords")
proto.RegisterType((*CollateralizeRepayRecord)(nil), "types.CollateralizeRepayRecord")
proto.RegisterType((*CollateralizeRepayRecords)(nil), "types.CollateralizeRepayRecords")
proto.RegisterType((*CollateralizeRecord)(nil), "types.CollateralizeRecord")
proto.RegisterType((*CollateralizeRecords)(nil), "types.CollateralizeRecords")
}
func init() { proto.RegisterFile("collateralize.proto", fileDescriptor_a988fb4a61381972) }
var fileDescriptor_a988fb4a61381972 = []byte{
// 959 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x57, 0x4f, 0x8f, 0xdb, 0x44,
0x14, 0xaf, 0x9d, 0x38, 0x69, 0x5e, 0x76, 0xa1, 0xcc, 0x56, 0xe0, 0x5d, 0x95, 0x62, 0x8d, 0x38,
0x44, 0x48, 0x44, 0x62, 0xcb, 0xa5, 0x1c, 0x10, 0xd9, 0xa0, 0x6a, 0xcb, 0xa9, 0x32, 0x4b, 0x85,
0xb8, 0x8d, 0xed, 0x29, 0xb5, 0x64, 0x6c, 0x77, 0x3c, 0x29, 0x6b, 0xce, 0x5c, 0xf8, 0x0e, 0x70,
0xe6, 0xc2, 0x1d, 0xbe, 0x0b, 0x77, 0x3e, 0x07, 0x9a, 0x37, 0x93, 0xb5, 0x3d, 0x8e, 0xa5, 0x84,
0xbd, 0x20, 0xf5, 0xb2, 0xca, 0xbc, 0xf7, 0x7b, 0xf3, 0xfe, 0xfd, 0xfc, 0xe6, 0x2d, 0x9c, 0xc4,
0x45, 0x96, 0x31, 0xc9, 0x05, 0xcb, 0xd2, 0x9f, 0xf8, 0xb2, 0x14, 0x85, 0x2c, 0x88, 0x27, 0xeb,
0x92, 0x57, 0xf4, 0x97, 0x31, 0x1c, 0xaf, 0xdb, 0x6a, 0xb2, 0x80, 0xb7, 0x3b, 0xf8, 0xa7, 0x89,
0xef, 0x04, 0xce, 0x62, 0x16, 0xda, 0x62, 0x42, 0xe1, 0x48, 0x16, 0x92, 0x65, 0x17, 0x2c, 0x63,
0x79, 0xcc, 0x7d, 0x37, 0x70, 0x16, 0xa3, 0xb0, 0x23, 0x23, 0x01, 0xcc, 0x13, 0x1e, 0xc9, 0x35,
0x4f, 0xb3, 0x34, 0xff, 0xde, 0x1f, 0x21, 0xa4, 0x2d, 0x22, 0x1f, 0xc1, 0xbd, 0x2c, 0x7d, 0xb5,
0x49, 0x13, 0x26, 0xd3, 0x22, 0x0f, 0xd5, 0x5f, 0x7f, 0x1c, 0x38, 0x0b, 0x37, 0xec, 0xc9, 0x95,
0xc7, 0x4a, 0xb2, 0x28, 0xcd, 0x52, 0x59, 0x3f, 0xe1, 0xdc, 0xf7, 0xb4, 0xc7, 0xb6, 0x8c, 0x2c,
0x81, 0xb4, 0xec, 0x9e, 0xf1, 0x9c, 0x65, 0xb2, 0xf6, 0x27, 0x88, 0xdc, 0xa1, 0x21, 0x0f, 0x01,
0x62, 0xc1, 0x99, 0xe4, 0xab, 0x24, 0x11, 0xfe, 0x14, 0x53, 0x6d, 0x49, 0x88, 0x0f, 0xd3, 0xc8,
0x24, 0x78, 0x17, 0x2f, 0xd9, 0x1e, 0xc9, 0x63, 0x38, 0x8e, 0x0a, 0x21, 0x8a, 0x1f, 0x43, 0x1e,
0x17, 0x22, 0xa9, 0xfc, 0x59, 0x30, 0x5a, 0xcc, 0xcf, 0x4f, 0x96, 0x58, 0xda, 0xe5, 0x45, 0x4b,
0x17, 0x76, 0x91, 0xe4, 0x11, 0x40, 0xc4, 0x92, 0xad, 0x1d, 0x0c, 0xdb, 0xb5, 0x60, 0xe4, 0x5d,
0x98, 0x54, 0x92, 0xc9, 0x4d, 0xe5, 0xcf, 0x03, 0x67, 0xe1, 0x85, 0xe6, 0x44, 0xce, 0xe0, 0xae,
0x6a, 0xcd, 0x55, 0x5d, 0x72, 0xff, 0x08, 0x35, 0x37, 0x67, 0xac, 0x2e, 0x93, 0xbc, 0x92, 0x21,
0x2f, 0x59, 0xfd, 0x4c, 0xa4, 0x31, 0xf7, 0x8f, 0x4d, 0x75, 0x2d, 0x39, 0xfd, 0xd9, 0x85, 0xa3,
0xb6, 0x73, 0xd5, 0x3c, 0x16, 0xc7, 0xc5, 0x26, 0x97, 0x58, 0x1b, 0x4d, 0x83, 0xb6, 0x88, 0x3c,
0x80, 0x59, 0x25, 0x99, 0x90, 0x57, 0xe9, 0x0f, 0xdb, 0xfe, 0x37, 0x82, 0x2e, 0x95, 0x9e, 0xb3,
0x6c, 0xc3, 0x0d, 0x01, 0x6c, 0x71, 0x17, 0xa9, 0xa3, 0xd4, 0x1c, 0xb0, 0xc5, 0xca, 0xa3, 0x62,
0x8f, 0xbe, 0x4d, 0xf7, 0xbf, 0x11, 0x58, 0x64, 0xd2, 0x17, 0x4d, 0x7a, 0x64, 0xd2, 0x37, 0x35,
0xe5, 0x9c, 0xb6, 0xcb, 0x49, 0xff, 0x70, 0xe0, 0xde, 0xaa, 0xaa, 0xb8, 0x44, 0x98, 0x29, 0xc5,
0x43, 0x00, 0x81, 0xbf, 0x30, 0x53, 0x5d, 0x89, 0x96, 0x44, 0xf5, 0x20, 0x92, 0xa6, 0xbe, 0x2e,
0x3a, 0xbc, 0x39, 0x6b, 0x5d, 0xac, 0x75, 0xa3, 0xad, 0x2e, 0xbe, 0xd1, 0x71, 0xf9, 0xb2, 0x9d,
0xf1, 0xcd, 0x99, 0x7c, 0x08, 0xc7, 0xa5, 0x30, 0x01, 0xa0, 0x5b, 0x0f, 0xdd, 0x76, 0x85, 0xf4,
0x1f, 0x17, 0x4e, 0x3a, 0x5f, 0xf0, 0x2a, 0x56, 0x39, 0x92, 0x4f, 0x61, 0xa2, 0x59, 0x8c, 0xd1,
0xce, 0xcf, 0xcf, 0x0c, 0xbd, 0x3a, 0xd8, 0x35, 0x22, 0x2e, 0xef, 0x84, 0x06, 0xab, 0xac, 0x34,
0x53, 0x31, 0x8b, 0x01, 0x2b, 0x4d, 0x12, 0x65, 0xa5, 0xb1, 0xe4, 0x13, 0xf0, 0x84, 0xe2, 0x11,
0xa6, 0x37, 0x3f, 0x3f, 0xdd, 0x65, 0x84, 0x44, 0xbb, 0xbc, 0x13, 0x6a, 0xa4, 0x72, 0xc4, 0xca,
0x92, 0xe7, 0x09, 0xa6, 0x3d, 0xe0, 0x68, 0x85, 0x08, 0xe5, 0x48, 0x63, 0xc9, 0x12, 0xc6, 0x2f,
0x38, 0x4f, 0xb0, 0x12, 0xf3, 0x73, 0x7f, 0x97, 0xcd, 0x13, 0xce, 0x95, 0x05, 0xe2, 0x54, 0x60,
0x71, 0x56, 0x54, 0x9a, 0x04, 0x03, 0x81, 0xad, 0x15, 0x40, 0x05, 0x86, 0x48, 0xf2, 0x16, 0xb8,
0xb2, 0xf6, 0x01, 0x29, 0xe1, 0xca, 0xfa, 0x62, 0x0a, 0xde, 0x6b, 0xc5, 0x2d, 0xfa, 0xb7, 0x63,
0x15, 0x5a, 0x17, 0xcf, 0x1e, 0x71, 0xce, 0x7e, 0x23, 0xce, 0xdd, 0x73, 0xc4, 0x8d, 0xf6, 0x1e,
0x71, 0xe3, 0xc1, 0x11, 0x67, 0x0f, 0x6a, 0xaf, 0x3f, 0xa8, 0xe9, 0x37, 0x56, 0x72, 0xba, 0xc7,
0x07, 0xbc, 0x06, 0xf7, 0x4d, 0x9d, 0xcc, 0x18, 0x30, 0x45, 0xbb, 0x02, 0xd2, 0x67, 0xc1, 0xad,
0x6f, 0x4d, 0x6d, 0xca, 0x6b, 0x76, 0xec, 0x7f, 0xed, 0x8e, 0xc9, 0xe4, 0xee, 0x9c, 0x4c, 0x74,
0x05, 0xef, 0xf4, 0xe8, 0xa5, 0xa2, 0x2a, 0xf1, 0x93, 0x75, 0x82, 0x91, 0x8a, 0xaa, 0xdc, 0x0e,
0x94, 0xd7, 0x45, 0xb6, 0xc1, 0x49, 0xa8, 0xc4, 0xe6, 0x44, 0x3f, 0xb7, 0x6a, 0x80, 0x84, 0xdb,
0x3f, 0x58, 0xfa, 0x97, 0x03, 0xf7, 0x43, 0x1e, 0xf3, 0xb4, 0x94, 0xff, 0xf5, 0xa9, 0xee, 0x3e,
0x72, 0xa3, 0xde, 0x23, 0x67, 0x4d, 0xfa, 0x71, 0x7f, 0xd2, 0x37, 0xd3, 0x72, 0xd6, 0x79, 0x7c,
0x1e, 0xc0, 0xac, 0x14, 0xfc, 0x6b, 0xad, 0xd2, 0x5f, 0x4d, 0x23, 0xa0, 0x5f, 0xa8, 0xc8, 0x5f,
0x75, 0xa2, 0x7e, 0x9a, 0xbf, 0x28, 0x0e, 0x48, 0xfe, 0x3b, 0x38, 0xb3, 0x6f, 0xd0, 0xd4, 0x3c,
0xec, 0x1e, 0x42, 0x60, 0xcc, 0x54, 0x6a, 0x2e, 0xaa, 0xf1, 0x37, 0x5d, 0xc3, 0x7b, 0xbd, 0xbb,
0x59, 0xf2, 0x25, 0x8f, 0xe4, 0x01, 0x01, 0xfe, 0xee, 0xc0, 0xfb, 0xbb, 0x23, 0xbc, 0x4c, 0x2b,
0x59, 0x88, 0xfa, 0x76, 0x41, 0x2a, 0xae, 0x61, 0x17, 0xb0, 0x29, 0x5e, 0xa8, 0x0f, 0xf8, 0x0c,
0xa6, 0x82, 0xe3, 0xa8, 0xc7, 0xef, 0xd9, 0x0b, 0x1b, 0x81, 0xb2, 0x49, 0xf3, 0x84, 0x5f, 0x9b,
0xb5, 0x47, 0x1f, 0xe8, 0x9f, 0xae, 0x8a, 0xb4, 0xcc, 0xea, 0x2e, 0x1b, 0x37, 0x42, 0xf0, 0x5c,
0x62, 0x39, 0x9b, 0x26, 0x3b, 0x9d, 0x26, 0xbf, 0xe1, 0x9b, 0x1e, 0xfd, 0x0a, 0x4e, 0xfb, 0x85,
0xdb, 0x52, 0xe5, 0x63, 0x98, 0x0a, 0xb3, 0xc8, 0x39, 0xc3, 0x8b, 0xdc, 0x16, 0x43, 0x7f, 0x73,
0xe0, 0x74, 0x07, 0x59, 0xcc, 0x9e, 0x71, 0xcb, 0xc9, 0xd8, 0x74, 0x7e, 0xd4, 0xea, 0xbc, 0xe2,
0x95, 0x54, 0x0b, 0x84, 0x7e, 0x22, 0xf0, 0xb7, 0xea, 0xb5, 0xbc, 0xbe, 0x64, 0xd5, 0x4b, 0xb3,
0x56, 0x98, 0x13, 0xfd, 0x16, 0xce, 0x06, 0xc3, 0xab, 0xc8, 0x67, 0x76, 0xb2, 0xc1, 0xf0, 0x82,
0x60, 0x67, 0xfe, 0xab, 0x03, 0x7e, 0xff, 0x31, 0xf8, 0xdf, 0x24, 0xfe, 0xdc, 0xea, 0x4b, 0x2b,
0xba, 0x8a, 0x3c, 0xb6, 0xf3, 0xfe, 0x60, 0x70, 0xc7, 0xb1, 0xd2, 0x8e, 0x26, 0xf8, 0x0f, 0xd7,
0xa3, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x62, 0xe5, 0xa0, 0xb5, 0x87, 0x0d, 0x00, 0x00,
// 906 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x57, 0xcd, 0x6e, 0xfb, 0x44,
0x10, 0xff, 0xdb, 0x8e, 0x93, 0x66, 0xd2, 0x40, 0xd9, 0x56, 0xe0, 0x46, 0xa5, 0x8a, 0x2c, 0x0e,
0x11, 0x12, 0x91, 0x48, 0x7b, 0xe1, 0x82, 0x48, 0x83, 0xaa, 0x16, 0x71, 0xa8, 0x4c, 0xe1, 0xc0,
0x6d, 0x6d, 0x6f, 0xc1, 0x92, 0xb1, 0xdd, 0xf5, 0xa6, 0x60, 0xce, 0x5c, 0x78, 0x12, 0x2e, 0xdc,
0x79, 0x0b, 0x5e, 0x80, 0x3b, 0xcf, 0x81, 0x76, 0x76, 0x13, 0x7f, 0x46, 0x4a, 0xe8, 0xf1, 0x7f,
0xa9, 0xb2, 0xf3, 0x3d, 0xbf, 0xf9, 0x79, 0x76, 0x0b, 0xa7, 0x41, 0x1a, 0xc7, 0x54, 0x30, 0x4e,
0xe3, 0xe8, 0x57, 0x36, 0xcf, 0x78, 0x2a, 0x52, 0x62, 0x8b, 0x22, 0x63, 0xb9, 0xfb, 0x7b, 0x0f,
0xc6, 0xab, 0xaa, 0x9a, 0xcc, 0xe0, 0xdd, 0x9a, 0xfd, 0x7d, 0xe8, 0x18, 0x53, 0x63, 0x36, 0xf4,
0x9a, 0x62, 0xe2, 0xc2, 0xb1, 0x48, 0x05, 0x8d, 0x6f, 0x68, 0x4c, 0x93, 0x80, 0x39, 0xe6, 0xd4,
0x98, 0x59, 0x5e, 0x4d, 0x46, 0xa6, 0x30, 0x0a, 0x99, 0x2f, 0x56, 0x2c, 0x8a, 0xa3, 0xe4, 0x07,
0xc7, 0x42, 0x93, 0xaa, 0x88, 0x7c, 0x0c, 0x27, 0x71, 0xf4, 0xbc, 0x8e, 0x42, 0x2a, 0xa2, 0x34,
0xf1, 0xe4, 0x5f, 0xa7, 0x37, 0x35, 0x66, 0xa6, 0xd7, 0x92, 0xcb, 0x8c, 0xb9, 0xa0, 0x7e, 0x14,
0x47, 0xa2, 0xb8, 0x65, 0xcc, 0xb1, 0x55, 0xc6, 0xaa, 0x8c, 0xcc, 0x81, 0x54, 0xfc, 0x1e, 0x58,
0x42, 0x63, 0x51, 0x38, 0x7d, 0xb4, 0xec, 0xd0, 0x90, 0x4b, 0x80, 0x80, 0x33, 0x2a, 0xd8, 0x32,
0x0c, 0xb9, 0x33, 0xc0, 0x56, 0x2b, 0x12, 0xe2, 0xc0, 0xc0, 0xd7, 0x0d, 0x1e, 0x61, 0x90, 0xcd,
0x91, 0x7c, 0x06, 0x63, 0x3f, 0xe5, 0x3c, 0xfd, 0xd9, 0x63, 0x41, 0xca, 0xc3, 0xdc, 0x19, 0x4e,
0xad, 0xd9, 0x68, 0x71, 0x3a, 0x47, 0x68, 0xe7, 0x37, 0x15, 0x9d, 0x57, 0xb7, 0x24, 0x57, 0x00,
0x3e, 0x0d, 0x37, 0x7e, 0xb0, 0xdb, 0xaf, 0x62, 0x46, 0xde, 0x87, 0x7e, 0x2e, 0xa8, 0x58, 0xe7,
0xce, 0x68, 0x6a, 0xcc, 0x6c, 0x4f, 0x9f, 0xc8, 0x04, 0x8e, 0xe4, 0x68, 0x1e, 0x8b, 0x8c, 0x39,
0xc7, 0xa8, 0xd9, 0x9e, 0x11, 0x5d, 0x2a, 0x58, 0x2e, 0x3c, 0x96, 0xd1, 0xe2, 0x81, 0x47, 0x01,
0x73, 0xc6, 0x1a, 0xdd, 0x86, 0xdc, 0xfd, 0xcd, 0x84, 0xe3, 0x6a, 0x72, 0x39, 0x3c, 0x1a, 0x04,
0xe9, 0x3a, 0x11, 0x88, 0x8d, 0xa2, 0x41, 0x55, 0x44, 0x2e, 0x60, 0x98, 0x0b, 0xca, 0xc5, 0x63,
0xf4, 0xd3, 0x66, 0xfe, 0xa5, 0xa0, 0x4e, 0xa5, 0xef, 0x68, 0xbc, 0x66, 0x9a, 0x00, 0x4d, 0x71,
0xdd, 0x52, 0x55, 0xa9, 0x38, 0xd0, 0x14, 0xcb, 0x8c, 0x92, 0x3d, 0x2a, 0x9a, 0x9a, 0x7f, 0x29,
0x68, 0x90, 0x49, 0x05, 0xea, 0xb7, 0xc8, 0xa4, 0x22, 0x95, 0x70, 0x0e, 0xaa, 0x70, 0xba, 0x7f,
0x1a, 0x70, 0xb2, 0xcc, 0x73, 0x26, 0xd0, 0x4c, 0x43, 0x71, 0x09, 0xc0, 0xf1, 0x17, 0x76, 0xaa,
0x90, 0xa8, 0x48, 0xe4, 0x0c, 0x7c, 0xa1, 0xf1, 0x35, 0x31, 0xe1, 0xf6, 0xac, 0x74, 0x81, 0xd2,
0x59, 0x1b, 0x5d, 0xb0, 0xd5, 0x31, 0xf1, 0x63, 0xb5, 0xe3, 0xed, 0x99, 0x7c, 0x04, 0xe3, 0x8c,
0xeb, 0x02, 0x30, 0xad, 0x8d, 0x69, 0xeb, 0x42, 0xf7, 0x5f, 0x13, 0x4e, 0x6b, 0x5f, 0xf0, 0x32,
0x90, 0x3d, 0x92, 0x6b, 0xe8, 0x2b, 0x16, 0x63, 0xb5, 0xa3, 0xc5, 0x44, 0xd3, 0xab, 0x66, 0xbb,
0x42, 0x8b, 0xbb, 0x37, 0x9e, 0xb6, 0x95, 0x5e, 0x8a, 0xa9, 0xd8, 0xc5, 0x0e, 0x2f, 0x45, 0x12,
0xe9, 0xa5, 0x6c, 0xc9, 0xa7, 0x60, 0x73, 0xc9, 0x23, 0x6c, 0x6f, 0xb4, 0x38, 0xef, 0x72, 0x42,
0xa2, 0xdd, 0xbd, 0xf1, 0x94, 0xa5, 0x4c, 0x44, 0xb3, 0x8c, 0x25, 0x21, 0xb6, 0xbd, 0x23, 0xd1,
0x12, 0x2d, 0x64, 0x22, 0x65, 0x4b, 0xe6, 0xd0, 0x7b, 0x62, 0x2c, 0x44, 0x24, 0x46, 0x0b, 0xa7,
0xcb, 0xe7, 0x96, 0x31, 0xe9, 0x81, 0x76, 0xb2, 0xb0, 0x20, 0x4e, 0x73, 0x45, 0x82, 0x1d, 0x85,
0xad, 0xa4, 0x81, 0x2c, 0x0c, 0x2d, 0xc9, 0x3b, 0x60, 0x8a, 0xc2, 0x01, 0xa4, 0x84, 0x29, 0x8a,
0x9b, 0x01, 0xd8, 0x2f, 0x92, 0x5b, 0xee, 0x3f, 0x46, 0x03, 0x68, 0x05, 0x5e, 0x73, 0xc5, 0x19,
0xfb, 0xad, 0x38, 0x73, 0xcf, 0x15, 0x67, 0xed, 0xbd, 0xe2, 0x7a, 0x3b, 0x57, 0x5c, 0x73, 0x51,
0xdb, 0xed, 0x45, 0xed, 0x7e, 0xdb, 0x68, 0x4e, 0xcd, 0xf8, 0x80, 0xdb, 0xe0, 0x4c, 0xe3, 0xa4,
0xd7, 0x80, 0x06, 0xed, 0x11, 0x48, 0x9b, 0x05, 0xaf, 0x8e, 0x1a, 0x35, 0x29, 0xaf, 0xd8, 0xb1,
0x7f, 0xd8, 0x8e, 0xcd, 0x64, 0x76, 0x6e, 0x26, 0x77, 0x09, 0xef, 0xb5, 0xe8, 0x25, 0xab, 0xca,
0xf0, 0x93, 0x35, 0xa6, 0x96, 0xac, 0x2a, 0xdb, 0x2c, 0x94, 0x97, 0x34, 0x5e, 0xe3, 0x26, 0x94,
0x62, 0x7d, 0x72, 0x3f, 0x6f, 0x60, 0x80, 0x84, 0xdb, 0xbf, 0x58, 0xf7, 0x6f, 0x03, 0xce, 0x3c,
0x16, 0xb0, 0x28, 0x13, 0xff, 0xf7, 0xaa, 0xae, 0x5f, 0x72, 0x56, 0xeb, 0x92, 0x6b, 0x6c, 0xfa,
0x5e, 0x7b, 0xd3, 0x97, 0xdb, 0xd2, 0xae, 0x5d, 0x3e, 0x17, 0x30, 0xcc, 0x38, 0xfb, 0x46, 0xa9,
0xfa, 0xa8, 0x2a, 0x05, 0x12, 0xa8, 0x28, 0x09, 0xd9, 0x2f, 0xb8, 0x62, 0x2d, 0x4f, 0x1d, 0xdc,
0x2f, 0x64, 0x3f, 0xcf, 0xb5, 0x5e, 0xee, 0x93, 0xa7, 0xf4, 0x00, 0x48, 0xbe, 0x87, 0x49, 0x33,
0x82, 0x22, 0xec, 0x61, 0x71, 0x08, 0x81, 0x1e, 0x95, 0x0d, 0x9b, 0xa8, 0xc6, 0xdf, 0xee, 0x0a,
0x3e, 0x68, 0xc5, 0xa6, 0xe1, 0x97, 0xcc, 0x17, 0x07, 0x14, 0xf8, 0x87, 0x01, 0x1f, 0x76, 0x57,
0x78, 0x17, 0xe5, 0x22, 0xe5, 0xc5, 0xeb, 0x8a, 0x94, 0xc0, 0xe2, 0x6c, 0x70, 0x54, 0xb6, 0xa7,
0x0e, 0x78, 0x39, 0x46, 0x9c, 0xe1, 0x05, 0xa0, 0xe7, 0x54, 0x0a, 0xca, 0x61, 0xf4, 0xab, 0xc3,
0xf8, 0xcb, 0x94, 0x95, 0x66, 0x71, 0x51, 0xe7, 0xe8, 0x9a, 0x73, 0x96, 0x08, 0x84, 0xb3, 0x1c,
0xbd, 0x51, 0x1b, 0xfd, 0x5b, 0xfe, 0xfe, 0x73, 0xbf, 0x82, 0xf3, 0x36, 0x70, 0x1b, 0xaa, 0x7c,
0x02, 0x03, 0xae, 0x9f, 0x77, 0xc6, 0xee, 0xe7, 0xdd, 0xc6, 0xa6, 0xb5, 0x7e, 0xf5, 0xb3, 0xe3,
0xa0, 0x45, 0xa9, 0x86, 0x6b, 0x55, 0x87, 0xfb, 0x35, 0x9c, 0x75, 0x84, 0xcd, 0xc9, 0x75, 0xb3,
0xba, 0x49, 0xf7, 0x95, 0x5d, 0x2b, 0xd2, 0xef, 0xe3, 0xbf, 0x0e, 0x57, 0xff, 0x05, 0x00, 0x00,
0xff, 0xff, 0xbb, 0x53, 0x0d, 0x10, 0x51, 0x0c, 0x00, 0x00,
}
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