Commit 59b1cbdc authored by 任硕's avatar 任硕 Committed by linj

unfreeze exec/del local

parent 8de1b924
...@@ -61,7 +61,7 @@ func (a *action) UnfreezeCreate(create *uf.UnfreezeCreate) (*types.Receipt, erro ...@@ -61,7 +61,7 @@ func (a *action) UnfreezeCreate(create *uf.UnfreezeCreate) (*types.Receipt, erro
k := []byte(unfreezeID) k := []byte(unfreezeID)
v := types.Encode(unfreeze) v := types.Encode(unfreeze)
kv = append(kv, &types.KeyValue{k, v}) kv = append(kv, &types.KeyValue{k, v})
receiptLog := a.getCreateLog(unfreeze) receiptLog := a.getUnfreezeLog(unfreeze)
logs = append(logs, receiptLog) logs = append(logs, receiptLog)
return &types.Receipt{types.ExecOk, kv, logs}, nil return &types.Receipt{types.ExecOk, kv, logs}, nil
} }
...@@ -103,7 +103,7 @@ func (a *action) UnfreezeWithdraw(withdraw *uf.UnfreezeWithdraw) (*types.Receipt ...@@ -103,7 +103,7 @@ func (a *action) UnfreezeWithdraw(withdraw *uf.UnfreezeWithdraw) (*types.Receipt
unfreeze.WithdrawTimes += int32(reaTimes) unfreeze.WithdrawTimes += int32(reaTimes)
unfreeze.Remaining -= available unfreeze.Remaining -= available
a.saveStateDB(&unfreeze) a.saveStateDB(&unfreeze)
receiptLog := a.getWithdrawLog(&unfreeze) receiptLog := a.getUnfreezeLog(&unfreeze)
logs = append(logs, receiptLog) logs = append(logs, receiptLog)
k := []byte(withdraw.UnfreezeID) k := []byte(withdraw.UnfreezeID)
v := types.Encode(&unfreeze) v := types.Encode(&unfreeze)
...@@ -147,7 +147,7 @@ func (a *action) UnfreezeTerminate(terminate *uf.UnfreezeTerminate) (*types.Rece ...@@ -147,7 +147,7 @@ func (a *action) UnfreezeTerminate(terminate *uf.UnfreezeTerminate) (*types.Rece
kv = append(kv, receipt.KV...) kv = append(kv, receipt.KV...)
unfreeze.Remaining = 0 unfreeze.Remaining = 0
a.saveStateDB(&unfreeze) a.saveStateDB(&unfreeze)
receiptLog := a.getTerminateLog(&unfreeze) receiptLog := a.getUnfreezeLog(&unfreeze)
logs = append(logs, receiptLog) logs = append(logs, receiptLog)
k := []byte(terminate.UnfreezeID) k := []byte(terminate.UnfreezeID)
v := types.Encode(&unfreeze) v := types.Encode(&unfreeze)
...@@ -165,37 +165,20 @@ func key(id string) (keys []byte) { ...@@ -165,37 +165,20 @@ func key(id string) (keys []byte) {
return keys return keys
} }
func (a *action) getCreateLog(unfreeze *uf.Unfreeze) *types.ReceiptLog { func (a *action) getUnfreezeLog(unfreeze *uf.Unfreeze) *types.ReceiptLog {
log := &types.ReceiptLog{} log := &types.ReceiptLog{}
log.Ty = uf.TyLogCreateUnfreeze log.Ty = uf.TyLogCreateUnfreeze
r := &uf.ReceiptCreate{} r := &uf.ReceiptUnfreeze{}
r.UnfreezeID = unfreeze.UnfreezeID r.UnfreezeID = unfreeze.UnfreezeID
r.Initiator = unfreeze.Initiator r.Initiator = unfreeze.Initiator
log.Log = types.Encode(r)
return log
}
func (a *action) getWithdrawLog(unfreeze *uf.Unfreeze) *types.ReceiptLog {
log := &types.ReceiptLog{}
log.Ty = uf.TyLogCreateUnfreeze
r := &uf.ReceiptWithdraw{}
r.WithdrawTimes = unfreeze.WithdrawTimes
r.Beneficiary = unfreeze.Beneficiary r.Beneficiary = unfreeze.Beneficiary
log.Log = types.Encode(r) r.TokenName = unfreeze.TokenName
return log
}
func (a *action) getTerminateLog(unfreeze *uf.Unfreeze) *types.ReceiptLog {
log := &types.ReceiptLog{}
log.Ty = uf.TyLogCreateUnfreeze
r := &uf.ReceiptTerminate{}
r.UnfreezeID = unfreeze.UnfreezeID
log.Log = types.Encode(r) log.Log = types.Encode(r)
return log return log
} }
//查询可提币状态 //查询可提币状态
func QueryWithdraw(stateDB dbm.KV, param *uf.QueryUnfreezeWithdraw) (types.Message, error) { func QueryUnfreezeWithdraw(stateDB dbm.KV, param *uf.QueryUnfreezeWithdraw) (types.Message, error) {
//查询提币次数 //查询提币次数
//计算当前可否提币 //计算当前可否提币
unfreezeID := param.UnfreezeID unfreezeID := param.UnfreezeID
......
...@@ -6,9 +6,24 @@ import ( ...@@ -6,9 +6,24 @@ import (
) )
func (u *Unfreeze) execDelLocal(receiptData *types.ReceiptData) (*types.LocalDBSet, error) { func (u *Unfreeze) execDelLocal(receiptData *types.ReceiptData) (*types.LocalDBSet, error) {
dbSet := &types.LocalDBSet{} dbSet := &types.LocalDBSet{}
if receiptData.GetTy() != types.ExecOk {
return dbSet, nil
}
for _, log := range receiptData.Logs {
switch log.Ty {
case uf.TyLogCreateUnfreeze, uf.TyLogWithdrawUnfreeze, uf.TyLogTerminateUnfreeze:
var receipt uf.ReceiptUnfreeze
err := types.Decode(log.Log, &receipt)
if err != nil {
return nil, err
}
kv := u.rollbackUnfreezeCreate(&receipt)
dbSet.KV = append(dbSet.KV, kv...)
default:
return nil, types.ErrNotSupport
}
}
return dbSet, nil return dbSet, nil
} }
......
...@@ -6,9 +6,24 @@ import ( ...@@ -6,9 +6,24 @@ import (
) )
func (u *Unfreeze) execLocal(receiptData *types.ReceiptData) (*types.LocalDBSet, error) { func (u *Unfreeze) execLocal(receiptData *types.ReceiptData) (*types.LocalDBSet, error) {
dbSet := &types.LocalDBSet{} dbSet := &types.LocalDBSet{}
if receiptData.GetTy() != types.ExecOk {
return dbSet, nil
}
for _, log := range receiptData.Logs {
switch log.Ty {
case uf.TyLogCreateUnfreeze, uf.TyLogWithdrawUnfreeze, uf.TyLogTerminateUnfreeze:
var receipt uf.ReceiptUnfreeze
err := types.Decode(log.Log, &receipt)
if err != nil {
return nil, err
}
kv := u.saveUnfreezeCreate(&receipt)
dbSet.KV = append(dbSet.KV, kv...)
default:
return nil, types.ErrNotSupport
}
}
return dbSet, nil return dbSet, nil
} }
......
...@@ -5,6 +5,6 @@ import ( ...@@ -5,6 +5,6 @@ import (
"gitlab.33.cn/chain33/chain33/types" "gitlab.33.cn/chain33/chain33/types"
) )
func (u *Unfreeze) Query_QueryWithdraw(in *uf.QueryUnfreezeWithdraw) (types.Message, error) { func (u *Unfreeze) Query_QueryUnfreezeWithdraw(in *uf.QueryUnfreezeWithdraw) (types.Message, error) {
return QueryWithdraw(u.GetStateDB(), in) return QueryUnfreezeWithdraw(u.GetStateDB(), in)
} }
package executor package executor
import ( import (
"fmt"
log "github.com/inconshreveable/log15" log "github.com/inconshreveable/log15"
uf "gitlab.33.cn/chain33/chain33/plugin/dapp/unfreeze/types" uf "gitlab.33.cn/chain33/chain33/plugin/dapp/unfreeze/types"
drivers "gitlab.33.cn/chain33/chain33/system/dapp" drivers "gitlab.33.cn/chain33/chain33/system/dapp"
...@@ -38,3 +40,19 @@ func GetName() string { ...@@ -38,3 +40,19 @@ func GetName() string {
func (u *Unfreeze) GetDriverName() string { func (u *Unfreeze) GetDriverName() string {
return driverName return driverName
} }
func (u *Unfreeze) saveUnfreezeCreate(res *uf.ReceiptUnfreeze) (kvs []*types.KeyValue) {
kv := &types.KeyValue{}
kv.Key = []byte(fmt.Sprintf("mavl-unfreeze-"+"%s-"+"%s-"+"%s", res.Initiator, res.Beneficiary, res.TokenName))
kv.Value = []byte(res.UnfreezeID)
kvs = append(kvs, kv)
return kvs
}
func (u *Unfreeze) rollbackUnfreezeCreate(res *uf.ReceiptUnfreeze) (kvs []*types.KeyValue) {
kv := &types.KeyValue{}
kv.Key = []byte(fmt.Sprintf("mavl-unfreeze-"+"%s-"+"%s-"+"%s", res.Initiator, res.Beneficiary, res.TokenName))
kv.Value = []byte(res.UnfreezeID)
kvs = append(kvs, kv)
return kvs
}
...@@ -57,18 +57,11 @@ message UnfreezeTerminate { ...@@ -57,18 +57,11 @@ message UnfreezeTerminate {
} }
// receipt // receipt
message ReceiptCreate { message ReceiptUnfreeze {
string unfreezeID = 1; string unfreezeID = 1;
string initiator = 2; string initiator = 2;
}
message ReceiptWithdraw {
int32 withdrawTimes = 1;
string beneficiary = 3; string beneficiary = 3;
} string tokenName = 4;
message ReceiptTerminate {
string unfreezeID = 1;
} }
// query // query
......
...@@ -22,12 +22,12 @@ var ( ...@@ -22,12 +22,12 @@ var (
ExecerUnfreeze = []byte(UnfreezeX) ExecerUnfreeze = []byte(UnfreezeX)
) )
//const ( const (
// Action_CreateUnfreeze = "createUnfreeze" Action_CreateUnfreeze = "createUnfreeze"
// Action_WithdrawUnfreeze = "withdrawUnfreeze" Action_WithdrawUnfreeze = "withdrawUnfreeze"
// Action_TerminateUnfreeze = "terminateUnfreeze" Action_TerminateUnfreeze = "terminateUnfreeze"
//) )
//const ( const (
// FuncName_QueryXXX = "QueryXXX" FuncName_QueryUnfreezeWithdraw = "QueryUnfreezeWithdraw"
//) )
package types package types
import ( import (
"encoding/json"
"math/rand"
"reflect" "reflect"
"time"
log "github.com/inconshreveable/log15" log "github.com/inconshreveable/log15"
"gitlab.33.cn/chain33/chain33/common/address"
"gitlab.33.cn/chain33/chain33/types" "gitlab.33.cn/chain33/chain33/types"
) )
...@@ -35,9 +39,9 @@ type UnfreezeType struct { ...@@ -35,9 +39,9 @@ type UnfreezeType struct {
func (u *UnfreezeType) GetLogMap() map[int64]*types.LogInfo { func (u *UnfreezeType) GetLogMap() map[int64]*types.LogInfo {
return map[int64]*types.LogInfo{ return map[int64]*types.LogInfo{
TyLogCreateUnfreeze: {reflect.TypeOf(ReceiptCreate{}), "LogCreateUnfreeze"}, TyLogCreateUnfreeze: {reflect.TypeOf(ReceiptUnfreeze{}), "LogCreateUnfreeze"},
TyLogWithdrawUnfreeze: {reflect.TypeOf(ReceiptWithdraw{}), "LogWithdrawUnfreeze"}, TyLogWithdrawUnfreeze: {reflect.TypeOf(ReceiptUnfreeze{}), "LogWithdrawUnfreeze"},
TyLogTerminateUnfreeze: {reflect.TypeOf(ReceiptTerminate{}), "LogTerminateUnfreeze"}, TyLogTerminateUnfreeze: {reflect.TypeOf(ReceiptUnfreeze{}), "LogTerminateUnfreeze"},
} }
} }
...@@ -53,35 +57,107 @@ func (u *UnfreezeType) GetTypeMap() map[string]int32 { ...@@ -53,35 +57,107 @@ func (u *UnfreezeType) GetTypeMap() map[string]int32 {
} }
} }
////创建解冻相关交易 // TODO createTx接口暂时没法用,作为一个预留接口
//func (u UnfreezeType) CreateTx(action string, message json.RawMessage) (*types.Transaction, error) { func (u UnfreezeType) CreateTx(action string, message json.RawMessage) (*types.Transaction, error) {
// tlog.Debug("UnfreezeType.CreateTx", "action", action) tlog.Debug("UnfreezeType.CreateTx", "action", action)
// if action == Action_CreateUnfreeze { if action == Action_CreateUnfreeze {
// var param UnfreezeCreate var param UnfreezeCreate
// err := json.Unmarshal(message, &param) err := json.Unmarshal(message, &param)
// if err != nil { if err != nil {
// tlog.Error("CreateTx", "Error", err) tlog.Error("CreateTx", "Error", err)
// return nil, types.ErrInputPara return nil, types.ErrInputPara
// } }
// return CreateRawGamePreCreateTx(&param) return CreateUnfreezeCreateTx(&param)
// } else if action == Action_WithdrawUnfreeze { } else if action == Action_WithdrawUnfreeze {
// var param UnfreezeWithdraw var param UnfreezeWithdraw
// err := json.Unmarshal(message, &param) err := json.Unmarshal(message, &param)
// if err != nil { if err != nil {
// tlog.Error("CreateTx", "Error", err) tlog.Error("CreateTx", "Error", err)
// return nil, types.ErrInputPara return nil, types.ErrInputPara
// } }
// return CreateRawGamePreMatchTx(&param) return CreateUnfreezeWithdrawTx(&param)
// } else if action == Action_TerminateUnfreeze { } else if action == Action_TerminateUnfreeze {
// var param UnfreezeTerminate var param UnfreezeTerminate
// err := json.Unmarshal(message, &param) err := json.Unmarshal(message, &param)
// if err != nil { if err != nil {
// tlog.Error("CreateTx", "Error", err) tlog.Error("CreateTx", "Error", err)
// return nil, types.ErrInputPara return nil, types.ErrInputPara
// } }
// return CreateRawGamePreCancelTx(&param) return CreateUnfreezeTerminateTx(&param)
// } else { } else {
// return nil, types.ErrNotSupport return nil, types.ErrNotSupport
// } }
// return nil, nil return nil, nil
//} }
func CreateUnfreezeCreateTx(parm *UnfreezeCreate) (*types.Transaction, error) {
if parm == nil {
tlog.Error("CreateUnfreezeCreateTx", "parm", parm)
return nil, types.ErrInvalidParam
}
v := &UnfreezeCreate{
StartTime: parm.StartTime,
TokenName: parm.TokenName,
TotalCount: parm.TotalCount,
Beneficiary: parm.Beneficiary,
Period: parm.Period,
Means: parm.Means,
Amount: parm.Amount,
}
create := &UnfreezeAction{
Ty: UnfreezeActionCreate,
Value: &UnfreezeAction_Create{v},
}
tx := &types.Transaction{
Execer: []byte(getRealExecName(types.GetParaName())),
Payload: types.Encode(create),
Nonce: rand.New(rand.NewSource(time.Now().UnixNano())).Int63(),
To: address.ExecAddress(getRealExecName(types.GetParaName())),
}
tx.SetRealFee(types.MinFee)
return tx, nil
}
func CreateUnfreezeWithdrawTx(parm *UnfreezeWithdraw) (*types.Transaction, error) {
if parm == nil {
tlog.Error("CreateUnfreezeWithdrawTx", "parm", parm)
return nil, types.ErrInvalidParam
}
v := &UnfreezeWithdraw{
UnfreezeID: parm.UnfreezeID,
}
withdraw := &UnfreezeAction{
Ty: UnfreezeActionWithdraw,
Value: &UnfreezeAction_Withdraw{v},
}
tx := &types.Transaction{
Execer: []byte(getRealExecName(types.GetParaName())),
Payload: types.Encode(withdraw),
Nonce: rand.New(rand.NewSource(time.Now().UnixNano())).Int63(),
To: address.ExecAddress(getRealExecName(types.GetParaName())),
}
tx.SetRealFee(types.MinFee)
return tx, nil
}
func CreateUnfreezeTerminateTx(parm *UnfreezeTerminate) (*types.Transaction, error) {
if parm == nil {
tlog.Error("CreateUnfreezeTerminateTx", "parm", parm)
return nil, types.ErrInvalidParam
}
v := &UnfreezeTerminate{
UnfreezeID: parm.UnfreezeID,
}
terminate := &UnfreezeAction{
Ty: UnfreezeActionTerminate,
Value: &UnfreezeAction_Terminate{v},
}
tx := &types.Transaction{
Execer: []byte(getRealExecName(types.GetParaName())),
Payload: types.Encode(terminate),
Nonce: rand.New(rand.NewSource(time.Now().UnixNano())).Int63(),
To: address.ExecAddress(getRealExecName(types.GetParaName())),
}
tx.SetRealFee(types.MinFee)
return tx, nil
}
...@@ -13,9 +13,7 @@ It has these top-level messages: ...@@ -13,9 +13,7 @@ It has these top-level messages:
UnfreezeCreate UnfreezeCreate
UnfreezeWithdraw UnfreezeWithdraw
UnfreezeTerminate UnfreezeTerminate
ReceiptCreate ReceiptUnfreeze
ReceiptWithdraw
ReceiptTerminate
QueryUnfreezeWithdraw QueryUnfreezeWithdraw
ReplyQueryUnfreezeWithdraw ReplyQueryUnfreezeWithdraw
*/ */
...@@ -402,66 +400,42 @@ func (m *UnfreezeTerminate) GetUnfreezeID() string { ...@@ -402,66 +400,42 @@ func (m *UnfreezeTerminate) GetUnfreezeID() string {
} }
// receipt // receipt
type ReceiptCreate struct { type ReceiptUnfreeze struct {
UnfreezeID string `protobuf:"bytes,1,opt,name=unfreezeID" json:"unfreezeID,omitempty"` UnfreezeID string `protobuf:"bytes,1,opt,name=unfreezeID" json:"unfreezeID,omitempty"`
Initiator string `protobuf:"bytes,2,opt,name=initiator" json:"initiator,omitempty"` Initiator string `protobuf:"bytes,2,opt,name=initiator" json:"initiator,omitempty"`
Beneficiary string `protobuf:"bytes,3,opt,name=beneficiary" json:"beneficiary,omitempty"`
TokenName string `protobuf:"bytes,4,opt,name=tokenName" json:"tokenName,omitempty"`
} }
func (m *ReceiptCreate) Reset() { *m = ReceiptCreate{} } func (m *ReceiptUnfreeze) Reset() { *m = ReceiptUnfreeze{} }
func (m *ReceiptCreate) String() string { return proto.CompactTextString(m) } func (m *ReceiptUnfreeze) String() string { return proto.CompactTextString(m) }
func (*ReceiptCreate) ProtoMessage() {} func (*ReceiptUnfreeze) ProtoMessage() {}
func (*ReceiptCreate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } func (*ReceiptUnfreeze) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
func (m *ReceiptCreate) GetUnfreezeID() string { func (m *ReceiptUnfreeze) GetUnfreezeID() string {
if m != nil { if m != nil {
return m.UnfreezeID return m.UnfreezeID
} }
return "" return ""
} }
func (m *ReceiptCreate) GetInitiator() string { func (m *ReceiptUnfreeze) GetInitiator() string {
if m != nil { if m != nil {
return m.Initiator return m.Initiator
} }
return "" return ""
} }
type ReceiptWithdraw struct { func (m *ReceiptUnfreeze) GetBeneficiary() string {
WithdrawTimes int32 `protobuf:"varint,1,opt,name=withdrawTimes" json:"withdrawTimes,omitempty"`
Beneficiary string `protobuf:"bytes,3,opt,name=beneficiary" json:"beneficiary,omitempty"`
}
func (m *ReceiptWithdraw) Reset() { *m = ReceiptWithdraw{} }
func (m *ReceiptWithdraw) String() string { return proto.CompactTextString(m) }
func (*ReceiptWithdraw) ProtoMessage() {}
func (*ReceiptWithdraw) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
func (m *ReceiptWithdraw) GetWithdrawTimes() int32 {
if m != nil {
return m.WithdrawTimes
}
return 0
}
func (m *ReceiptWithdraw) GetBeneficiary() string {
if m != nil { if m != nil {
return m.Beneficiary return m.Beneficiary
} }
return "" return ""
} }
type ReceiptTerminate struct { func (m *ReceiptUnfreeze) GetTokenName() string {
UnfreezeID string `protobuf:"bytes,1,opt,name=unfreezeID" json:"unfreezeID,omitempty"`
}
func (m *ReceiptTerminate) Reset() { *m = ReceiptTerminate{} }
func (m *ReceiptTerminate) String() string { return proto.CompactTextString(m) }
func (*ReceiptTerminate) ProtoMessage() {}
func (*ReceiptTerminate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
func (m *ReceiptTerminate) GetUnfreezeID() string {
if m != nil { if m != nil {
return m.UnfreezeID return m.TokenName
} }
return "" return ""
} }
...@@ -474,7 +448,7 @@ type QueryUnfreezeWithdraw struct { ...@@ -474,7 +448,7 @@ type QueryUnfreezeWithdraw struct {
func (m *QueryUnfreezeWithdraw) Reset() { *m = QueryUnfreezeWithdraw{} } func (m *QueryUnfreezeWithdraw) Reset() { *m = QueryUnfreezeWithdraw{} }
func (m *QueryUnfreezeWithdraw) String() string { return proto.CompactTextString(m) } func (m *QueryUnfreezeWithdraw) String() string { return proto.CompactTextString(m) }
func (*QueryUnfreezeWithdraw) ProtoMessage() {} func (*QueryUnfreezeWithdraw) ProtoMessage() {}
func (*QueryUnfreezeWithdraw) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } func (*QueryUnfreezeWithdraw) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
func (m *QueryUnfreezeWithdraw) GetUnfreezeID() string { func (m *QueryUnfreezeWithdraw) GetUnfreezeID() string {
if m != nil { if m != nil {
...@@ -491,7 +465,7 @@ type ReplyQueryUnfreezeWithdraw struct { ...@@ -491,7 +465,7 @@ type ReplyQueryUnfreezeWithdraw struct {
func (m *ReplyQueryUnfreezeWithdraw) Reset() { *m = ReplyQueryUnfreezeWithdraw{} } func (m *ReplyQueryUnfreezeWithdraw) Reset() { *m = ReplyQueryUnfreezeWithdraw{} }
func (m *ReplyQueryUnfreezeWithdraw) String() string { return proto.CompactTextString(m) } func (m *ReplyQueryUnfreezeWithdraw) String() string { return proto.CompactTextString(m) }
func (*ReplyQueryUnfreezeWithdraw) ProtoMessage() {} func (*ReplyQueryUnfreezeWithdraw) ProtoMessage() {}
func (*ReplyQueryUnfreezeWithdraw) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } func (*ReplyQueryUnfreezeWithdraw) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
func (m *ReplyQueryUnfreezeWithdraw) GetUnfreezeID() string { func (m *ReplyQueryUnfreezeWithdraw) GetUnfreezeID() string {
if m != nil { if m != nil {
...@@ -513,9 +487,7 @@ func init() { ...@@ -513,9 +487,7 @@ func init() {
proto.RegisterType((*UnfreezeCreate)(nil), "types.UnfreezeCreate") proto.RegisterType((*UnfreezeCreate)(nil), "types.UnfreezeCreate")
proto.RegisterType((*UnfreezeWithdraw)(nil), "types.UnfreezeWithdraw") proto.RegisterType((*UnfreezeWithdraw)(nil), "types.UnfreezeWithdraw")
proto.RegisterType((*UnfreezeTerminate)(nil), "types.UnfreezeTerminate") proto.RegisterType((*UnfreezeTerminate)(nil), "types.UnfreezeTerminate")
proto.RegisterType((*ReceiptCreate)(nil), "types.ReceiptCreate") proto.RegisterType((*ReceiptUnfreeze)(nil), "types.ReceiptUnfreeze")
proto.RegisterType((*ReceiptWithdraw)(nil), "types.ReceiptWithdraw")
proto.RegisterType((*ReceiptTerminate)(nil), "types.ReceiptTerminate")
proto.RegisterType((*QueryUnfreezeWithdraw)(nil), "types.QueryUnfreezeWithdraw") proto.RegisterType((*QueryUnfreezeWithdraw)(nil), "types.QueryUnfreezeWithdraw")
proto.RegisterType((*ReplyQueryUnfreezeWithdraw)(nil), "types.ReplyQueryUnfreezeWithdraw") proto.RegisterType((*ReplyQueryUnfreezeWithdraw)(nil), "types.ReplyQueryUnfreezeWithdraw")
} }
...@@ -523,35 +495,34 @@ func init() { ...@@ -523,35 +495,34 @@ func init() {
func init() { proto.RegisterFile("unfreeze.proto", fileDescriptor0) } func init() { proto.RegisterFile("unfreeze.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{ var fileDescriptor0 = []byte{
// 480 bytes of a gzipped FileDescriptorProto // 463 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0xc1, 0x6e, 0xd3, 0x40, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0x4d, 0x8f, 0xd3, 0x30,
0x10, 0x8d, 0xed, 0xda, 0x49, 0x26, 0x6a, 0x0a, 0x2b, 0x0a, 0x2b, 0x84, 0x50, 0x64, 0x71, 0xc8, 0x10, 0x6d, 0x92, 0x26, 0x6d, 0xa7, 0xa2, 0x0b, 0x16, 0x0b, 0x16, 0x42, 0xa8, 0x8a, 0x38, 0xf4,
0x29, 0x48, 0xa9, 0x10, 0x5c, 0x4b, 0x39, 0x84, 0x03, 0x48, 0xac, 0x8a, 0x10, 0xc7, 0x4d, 0x3a, 0x54, 0xa4, 0xae, 0x10, 0x5c, 0x97, 0xe5, 0x50, 0x2e, 0x48, 0x58, 0x8b, 0x38, 0xbb, 0xdd, 0x29,
0x81, 0x15, 0xf6, 0xda, 0xda, 0x4c, 0x5a, 0x99, 0x5f, 0xe4, 0xc2, 0x81, 0x0f, 0x42, 0xde, 0xb5, 0x58, 0x24, 0x4e, 0xe4, 0x4e, 0x77, 0x15, 0xfe, 0x04, 0x3f, 0x8c, 0x0b, 0x07, 0x7e, 0x10, 0x8a,
0x13, 0xd7, 0x89, 0xd2, 0xc2, 0x71, 0xdf, 0xcc, 0x1b, 0xcf, 0xbe, 0xf7, 0xd6, 0x30, 0x5c, 0xeb, 0xdd, 0xb4, 0x69, 0xba, 0x6a, 0xd5, 0x3d, 0xfa, 0xcd, 0x7b, 0xfe, 0x78, 0x6f, 0xc6, 0x30, 0x58,
0xa5, 0x41, 0xfc, 0x89, 0x93, 0xdc, 0x64, 0x94, 0xb1, 0x90, 0x8a, 0x1c, 0x57, 0xf1, 0x6f, 0x1f, 0xe9, 0x85, 0x41, 0xfc, 0x85, 0xe3, 0xdc, 0x64, 0x94, 0xb1, 0x90, 0x8a, 0x1c, 0x97, 0xf1, 0x5f,
0x7a, 0x9f, 0xab, 0x0a, 0x7b, 0x0e, 0x50, 0x77, 0xbd, 0x7f, 0xc7, 0xbd, 0x91, 0x37, 0xee, 0x8b, 0x1f, 0xba, 0x5f, 0xd7, 0x15, 0xf6, 0x0a, 0xa0, 0x62, 0x7d, 0xfa, 0xc8, 0xbd, 0xa1, 0x37, 0xea,
0x06, 0xc2, 0x9e, 0x41, 0x7f, 0x45, 0xd2, 0xd0, 0xa5, 0x4a, 0x91, 0xfb, 0x23, 0x6f, 0x1c, 0x88, 0x89, 0x1a, 0xc2, 0x5e, 0x42, 0x6f, 0x49, 0xd2, 0xd0, 0xb5, 0x4a, 0x91, 0xfb, 0x43, 0x6f, 0x14,
0x2d, 0x50, 0x56, 0x29, 0xfb, 0x81, 0xfa, 0xa3, 0x4c, 0x91, 0x07, 0x96, 0xbc, 0x05, 0xca, 0xd9, 0x88, 0x2d, 0x50, 0x56, 0x29, 0xfb, 0x89, 0xfa, 0xb3, 0x4c, 0x91, 0x07, 0x56, 0xbc, 0x05, 0xca,
0x94, 0x91, 0x4c, 0x2e, 0xb2, 0xb5, 0x26, 0x7e, 0x64, 0xc9, 0x0d, 0xa4, 0x64, 0x2b, 0xad, 0x48, 0xbd, 0x29, 0x23, 0x99, 0x5c, 0x65, 0x2b, 0x4d, 0xbc, 0x6d, 0xc5, 0x35, 0xa4, 0x54, 0x2b, 0xad,
0x49, 0xca, 0x0c, 0x0f, 0x1d, 0x7b, 0x03, 0xb0, 0x11, 0x0c, 0xe6, 0xa8, 0x71, 0xa9, 0x16, 0x4a, 0x48, 0x49, 0xca, 0x0c, 0x0f, 0x9d, 0x7a, 0x03, 0xb0, 0x21, 0xf4, 0x67, 0xa8, 0x71, 0xa1, 0xe6,
0x9a, 0x82, 0x47, 0xb6, 0xde, 0x84, 0xd8, 0x63, 0x88, 0x72, 0x34, 0x2a, 0xbb, 0xe2, 0x5d, 0x3b, 0x4a, 0x9a, 0x82, 0x47, 0xb6, 0x5e, 0x87, 0xd8, 0x33, 0x88, 0x72, 0x34, 0x2a, 0xbb, 0xe1, 0x1d,
0xbb, 0x3a, 0xb1, 0x47, 0x10, 0xa6, 0x28, 0xf5, 0x8a, 0xf7, 0x46, 0xde, 0x38, 0x14, 0xee, 0x50, 0xbb, 0xf7, 0x7a, 0xc5, 0x9e, 0x42, 0x98, 0xa2, 0xd4, 0x4b, 0xde, 0x1d, 0x7a, 0xa3, 0x50, 0xb8,
0x76, 0xcb, 0xd4, 0x6e, 0xd2, 0x77, 0xdd, 0xee, 0xc4, 0x5e, 0xc0, 0xf1, 0x8d, 0xa2, 0xef, 0x57, 0x45, 0xc9, 0x96, 0xa9, 0xbd, 0x49, 0xcf, 0xb1, 0xdd, 0x8a, 0xbd, 0x86, 0x47, 0x77, 0x8a, 0x7e,
0x46, 0xde, 0x94, 0x77, 0x5a, 0x71, 0xb0, 0xac, 0xdb, 0x60, 0xb9, 0xab, 0xc1, 0x54, 0x2a, 0xad, 0xdc, 0x18, 0x79, 0x57, 0xbe, 0x69, 0xc9, 0xc1, 0xaa, 0x76, 0xc1, 0xf2, 0xae, 0x06, 0x53, 0xa9,
0xf4, 0x37, 0x3e, 0x70, 0x3a, 0x6c, 0x80, 0xf8, 0x97, 0x07, 0xc3, 0x5a, 0xd2, 0xf3, 0x05, 0xa9, 0xb4, 0xd2, 0xdf, 0x79, 0xdf, 0xf9, 0xb0, 0x01, 0xe2, 0x3f, 0x1e, 0x0c, 0x2a, 0x4b, 0x2f, 0xe7,
0x4c, 0xb3, 0x97, 0x10, 0x2d, 0x0c, 0x4a, 0x42, 0x2b, 0xea, 0x60, 0x7a, 0x3a, 0xb1, 0xea, 0x4f, 0xa4, 0x32, 0xcd, 0xde, 0x40, 0x34, 0x37, 0x28, 0x09, 0xad, 0xa9, 0xfd, 0xc9, 0xf9, 0xd8, 0xba,
0xea, 0xb6, 0x0b, 0x5b, 0x9c, 0x75, 0x44, 0xd5, 0xc6, 0x5e, 0x41, 0xaf, 0xfe, 0xa4, 0x15, 0x7a, 0x3f, 0xae, 0x68, 0x57, 0xb6, 0x38, 0x6d, 0x89, 0x35, 0x8d, 0xbd, 0x85, 0x6e, 0x75, 0xa4, 0x35,
0x30, 0x7d, 0xd2, 0xa2, 0x7c, 0xa9, 0xca, 0xb3, 0x8e, 0xd8, 0xb4, 0xb2, 0x37, 0xd0, 0x27, 0x34, 0xba, 0x3f, 0x79, 0xde, 0x90, 0x7c, 0x5b, 0x97, 0xa7, 0x2d, 0xb1, 0xa1, 0xb2, 0xf7, 0xd0, 0x23,
0xa9, 0xd2, 0xe5, 0xa7, 0x02, 0xcb, 0xe3, 0x2d, 0xde, 0x65, 0x5d, 0x9f, 0x75, 0xc4, 0xb6, 0x99, 0x34, 0xa9, 0xd2, 0xe5, 0x51, 0x81, 0xd5, 0xf1, 0x86, 0xee, 0xba, 0xaa, 0x4f, 0x5b, 0x62, 0x4b,
0x0d, 0xc1, 0xa7, 0xc2, 0xda, 0x12, 0x0a, 0x9f, 0x8a, 0xb7, 0x5d, 0x08, 0xaf, 0x65, 0xb2, 0xc6, 0x66, 0x03, 0xf0, 0xa9, 0xb0, 0xb1, 0x84, 0xc2, 0xa7, 0xe2, 0x43, 0x07, 0xc2, 0x5b, 0x99, 0xac,
0xf8, 0x4f, 0xe3, 0x36, 0x6e, 0xcd, 0xdb, 0x31, 0xf0, 0x0e, 0xc6, 0xc0, 0x3f, 0x1c, 0x83, 0x60, 0x30, 0xfe, 0x57, 0x7b, 0x8d, 0xbb, 0xe6, 0x6e, 0x1b, 0x78, 0x07, 0xdb, 0xc0, 0x3f, 0xdc, 0x06,
0x27, 0x06, 0x2d, 0xa3, 0x8f, 0x0e, 0x19, 0x1d, 0xee, 0x37, 0x3a, 0xda, 0x6f, 0x74, 0xb7, 0x69, 0xc1, 0x5e, 0x1b, 0x34, 0x82, 0x6e, 0x1f, 0x0a, 0x3a, 0xbc, 0x3f, 0xe8, 0xe8, 0xfe, 0xa0, 0x3b,
0x74, 0x3c, 0x85, 0x07, 0x6d, 0x25, 0xef, 0x8a, 0x7f, 0x7c, 0x06, 0x0f, 0x77, 0x54, 0xbc, 0x93, 0xf5, 0xa0, 0xe3, 0x09, 0x3c, 0x6e, 0x3a, 0x79, 0xac, 0xfd, 0xe3, 0x0b, 0x78, 0xb2, 0xe7, 0xe2,
0xf4, 0x01, 0x8e, 0x05, 0x2e, 0x50, 0xe5, 0x54, 0xa9, 0x77, 0x8f, 0x47, 0xb6, 0x7d, 0x08, 0x7e, 0x51, 0xd1, 0x6f, 0x0f, 0xce, 0x04, 0xce, 0x51, 0xe5, 0x74, 0xca, 0x9c, 0x6d, 0x67, 0xc1, 0x3f,
0xeb, 0x21, 0xc4, 0x5f, 0xe1, 0xa4, 0x1a, 0xb7, 0x59, 0x7b, 0x27, 0xb3, 0xde, 0xbe, 0xcc, 0xb6, 0x32, 0x0b, 0xc1, 0xbe, 0x45, 0x3b, 0x11, 0xb4, 0x1b, 0x11, 0xc4, 0xef, 0xe0, 0xfc, 0xcb, 0x0a,
0x84, 0x0d, 0x76, 0x84, 0x2d, 0x25, 0xa9, 0x46, 0xdf, 0xff, 0x76, 0xaf, 0xe1, 0xf4, 0xd3, 0x1a, 0x4d, 0x71, 0xf2, 0xfb, 0x17, 0xf0, 0x42, 0x60, 0x9e, 0x14, 0x0f, 0x52, 0xb3, 0x11, 0x9c, 0xc9,
0x4d, 0xf1, 0xcf, 0x5a, 0x2e, 0xe1, 0xa9, 0xc0, 0x3c, 0x29, 0xfe, 0x8b, 0xcd, 0xc6, 0x70, 0x22, 0x5b, 0xa9, 0x12, 0x39, 0x4b, 0xf0, 0xd2, 0x45, 0xe2, 0xbe, 0x90, 0x26, 0x3c, 0x8b, 0xec, 0x0f,
0xaf, 0xa5, 0x4a, 0xe4, 0x3c, 0xc1, 0x73, 0x67, 0xaf, 0xfb, 0x1d, 0xb5, 0xe1, 0x79, 0x64, 0xff, 0x75, 0xf1, 0x3f, 0x00, 0x00, 0xff, 0xff, 0xb1, 0x2c, 0x93, 0xab, 0xb3, 0x04, 0x00, 0x00,
0x76, 0x67, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0xf9, 0x3c, 0xaa, 0xaf, 0xff, 0x04, 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