From 4d45a4c4ccd5ae19be7187cc441a5e02ae35888d Mon Sep 17 00:00:00 2001 From: songchuang <192749120@qq.com> Date: Fri, 3 Mar 2023 16:18:00 +0800 Subject: [PATCH 1/4] =?UTF-8?q?songchuang=20=E4=BB=A3=E7=A0=81=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/internal/controller/artistInfo_user.go | 1 + cmd/internal/controller/contract.go | 82 ++- cmd/internal/dao/contract.go | 406 ++++++----- cmd/internal/logic/contract.go | 178 ++++- cmd/model/contract.go | 29 +- go.mod | 2 +- pb/contract/contract.pb.go | 772 ++++++++++++--------- pb/contract/contract.proto | 10 + pb/contract/contract.validator.pb.go | 79 +++ pb/contract/contract_triple.pb.go | 53 +- pb/old/artwork/artwork.proto | 2 +- 11 files changed, 1056 insertions(+), 558 deletions(-) create mode 100644 pb/contract/contract.validator.pb.go diff --git a/cmd/internal/controller/artistInfo_user.go b/cmd/internal/controller/artistInfo_user.go index 39bf15c..eb8aa33 100644 --- a/cmd/internal/controller/artistInfo_user.go +++ b/cmd/internal/controller/artistInfo_user.go @@ -3,6 +3,7 @@ package controller import ( "context" "fmt" + "github.com/fonchain/fonchain-artistinfo/cmd/model" "github.com/fonchain/fonchain-artistinfo/pb/artistInfoUser" db "github.com/fonchain/fonchain-artistinfo/pkg/db" diff --git a/cmd/internal/controller/contract.go b/cmd/internal/controller/contract.go index 1e330f5..d487040 100644 --- a/cmd/internal/controller/contract.go +++ b/cmd/internal/controller/contract.go @@ -13,47 +13,55 @@ type ContractProvider struct { contractLogic *logic.Contract } -func (c *ContractProvider) FinishContract(ctx context.Context, req *contract.FinishContractRequest) (rep *contract.FinishContractRespond, err error) { +func (c *ContractProvider) CreateContract(ctx context.Context, req *contract.CreateContractRequest) (rep *contract.CreateContractRespond, err error) { fmt.Println("第一处") - if rep, err = c.contractLogic.FinishContract(req); err != nil { + if rep, err = c.contractLogic.CreateContract(req); err != nil { return nil, err } return rep, nil } -func (c *ContractProvider) ContractList(ctx context.Context, req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) { - fmt.Println("第一处") - if rep, err = c.contractLogic.ContractList(req); err != nil { - return nil, err - } - return rep, nil -} -func (c *ContractProvider) GetContract(ctx context.Context, req *contract.GetContractRequest) (rep *contract.ContractData, err error) { - fmt.Println("第一处") - if rep, err = c.contractLogic.GetContract(req); err != nil { - return nil, err - } - return rep, nil -} -func (c *ContractProvider) ContractTxList(ctx context.Context, req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) { - fmt.Println("第一处") - if rep, err = c.contractLogic.ContractTxList(req); err != nil { - return nil, err - } - return rep, nil -} +// func (c *ContractProvider) FinishContract(ctx context.Context, req *contract.FinishContractRequest) (rep *contract.FinishContractRespond, err error) { +// fmt.Println("第一处") +// if rep, err = c.contractLogic.FinishContract(req); err != nil { +// return nil, err +// } +// return rep, nil +// } -func (c *ContractProvider) UpdateContract(ctx context.Context, req *contract.UpdateContractRequest) (rep *contract.UpdateContractRespond, err error) { - fmt.Println("第一处") - if rep, err = c.contractLogic.UpdateContract(req); err != nil { - return nil, err - } - return rep, nil -} -func (c *ContractProvider) UpdateContractTx(ctx context.Context, req *contract.UpdateContractTxRequest) (rep *contract.UpdateContractTxRespond, err error) { - fmt.Println("第一处") - if rep, err = c.contractLogic.UpdateContractTx(req); err != nil { - return nil, err - } - return rep, nil -} +// func (c *ContractProvider) ContractList(ctx context.Context, req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) { +// fmt.Println("第一处") +// if rep, err = c.contractLogic.ContractList(req); err != nil { +// return nil, err +// } +// return rep, nil +// } +// func (c *ContractProvider) GetContract(ctx context.Context, req *contract.GetContractRequest) (rep *contract.ContractData, err error) { +// fmt.Println("第一处") +// if rep, err = c.contractLogic.GetContract(req); err != nil { +// return nil, err +// } +// return rep, nil +// } +// func (c *ContractProvider) ContractTxList(ctx context.Context, req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) { +// fmt.Println("第一处") +// if rep, err = c.contractLogic.ContractTxList(req); err != nil { +// return nil, err +// } +// return rep, nil +// } + +// func (c *ContractProvider) UpdateContract(ctx context.Context, req *contract.UpdateContractRequest) (rep *contract.UpdateContractRespond, err error) { +// fmt.Println("第一处") +// if rep, err = c.contractLogic.UpdateContract(req); err != nil { +// return nil, err +// } +// return rep, nil +// } +// func (c *ContractProvider) UpdateContractTx(ctx context.Context, req *contract.UpdateContractTxRequest) (rep *contract.UpdateContractTxRespond, err error) { +// fmt.Println("第一处") +// if rep, err = c.contractLogic.UpdateContractTx(req); err != nil { +// return nil, err +// } +// return rep, nil +// } diff --git a/cmd/internal/dao/contract.go b/cmd/internal/dao/contract.go index ceebb12..6b21a50 100644 --- a/cmd/internal/dao/contract.go +++ b/cmd/internal/dao/contract.go @@ -2,195 +2,275 @@ package dao import ( "errors" - "time" "github.com/fonchain/fonchain-artistinfo/cmd/model" - "github.com/fonchain/fonchain-artistinfo/pb/contract" db "github.com/fonchain/fonchain-artistinfo/pkg/db" "github.com/fonchain/fonchain-artistinfo/pkg/m" + uuid "github.com/satori/go.uuid" "go.uber.org/zap" + "gorm.io/gorm" ) -func FinishContract(id string) (err error) { - var contracts model.Contract - if err = db.DB.Where("transaction_id = ?", id).First(&contracts).Error; err != nil { +func GetMgmtContractByArtistUid(artistUid string, contractType int32) (err error) { + var contract model.Contract + if err = db.DB.Where("artist_uid = ? AND type = ?", artistUid, contractType).First(&contract).Error; err != nil && err != gorm.ErrRecordNotFound { zap.L().Error("get contract info err", zap.Error(err)) err = errors.New(m.ERROR_SELECT) return } - if err = db.DB.Model(&contracts).Update("state", 3).Error; err != nil { - zap.L().Error("user contract failed", zap.Error(err)) - err = errors.New(m.UPDATE_FAILED) - return - } - return } -func ContractList(req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) { - rep = &contract.ContractListRespond{} - var Data []*contract.ContractData - - var user model.User - if err = db.DB.Where("id = ? ", int32(req.ID)).First(&user).Error; err != nil { - zap.L().Error("get user info err", zap.Error(err)) - err = errors.New(m.ERROR_SELECT) +func CreateArtistContract(tx *gorm.DB, contract *model.Contract) (err error) { + if err = tx.Create(contract).Error; err != nil { + zap.L().Error("create contract err", zap.Error(err)) + err = errors.New(m.CREATE_ERROR) return } - - // todo - //var realName model.RealName - //if err = db.DB.Where("id = ? ", user.RealNameID).First(&realName).Error; err != nil { - // zap.L().Error("get realName info err", zap.Error(err)) - // err = errors.New(m.ERROR_SELECT) - // return - //} - - var args []interface{} - var sqlWhere = "user_id = ? and type !=4 " - args = append(args, req.ID) - - if req.State != 0 { - sqlWhere += " and state = ? " - if req.State == 2 { - req.State = 3 - } - args = append(args, req.State) - } - - var contractModel []model.Contract - if err = db.DB.Where(sqlWhere, args...).Find(&contractModel).Error; err != nil { - zap.L().Error("get contractModels info err", zap.Error(err)) - err = errors.New(m.ERROR_SELECT) - return - } - - for _, v := range contractModel { - contract := &contract.ContractData{} - contract.ID = uint64(v.ID) - contract.ContractId = v.ContractId - contract.DownloadUrl = v.DownloadUrl - contract.MgmtUserId = v.MgmtUserId - contract.State = int64(v.State) - contract.TransactionId = v.TransactionId - contract.Type = int64(v.Type) - contract.UserId = int64(v.UserId) - contract.ViewUrl = v.ViewUrl - contract.ExpirationTime = v.CreatedAt.Add(86400 * time.Second).Format("2006-01-02 15:04:05") - contract.SignTime = v.UpdatedAt.Format("2006-01-02") - Data = append(Data, contract) - } - - rep.Data = Data - return } -func ContractTxList(req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) { - rep = &contract.ContractTxListRespond{} - var Data []*contract.ContractData - - var user model.User - if err = db.DB.Where("id = ? ", int32(req.ID)).First(&user).Error; err != nil { - zap.L().Error("get user info err", zap.Error(err)) - err = errors.New(m.ERROR_SELECT) - return - } - // todo - //var realName model.RealName - //if err = db.DB.Where("id = ? ", user.RealNameID).First(&realName).Error; err != nil { - // zap.L().Error("get realName info err", zap.Error(err)) - // err = errors.New(m.ERROR_SELECT) - // return - //} - // - //var args []interface{} - //var sqlWhere = " card_id = ? and (type = 4 or type = 7) " - //args = append(args, realName.IDNum) - //if req.State != 0 { - // sqlWhere += " and state = ? " - // args = append(args, req.State) - //} - // - //var contractModel []model.Contract - //if err = db.DB.Where(sqlWhere, args...).Find(&contractModel).Error; err != nil { - // zap.L().Error("get contractModels info err", zap.Error(err)) - // err = errors.New(m.ERROR_SELECT) - // return - //} - // - //for _, v := range contractModel { - // contractTmp := &contract.ContractData{} - // contractTmp.ID = uint64(v.ID) - // contractTmp.ContractId = v.ContractId - // contractTmp.DownloadUrl = v.DownloadUrl - // contractTmp.MgmtUserId = v.MgmtUserId - // contractTmp.State = int64(v.State) - // contractTmp.TransactionId = v.TransactionId - // contractTmp.Type = int64(v.Type) - // var b string - // if v.Type == 4 { - // b = "物权" - // } - // if v.Type == 7 { - // b = "版权" - // } - // contractTmp.BatchName = b + v.BatchName[0:4] + "年" + v.BatchName[4:6] + "月" + v.BatchName[6:11] + "年" + v.BatchName[11:13] + "月" - // contractTmp.UserId = int64(v.UserId) - // contractTmp.ViewUrl = v.ViewUrl - // contractTmp.ExpirationTime = v.CreatedAt.Add(86400 * time.Second).Format("2006-01-02 15:04:05") - // contractTmp.SignTime = v.UpdatedAt.Format("2006-01-02") - // Data = append(Data, contractTmp) - //} - - rep.Data = Data - - return -} - -func GetContract(id int32) (rep *contract.ContractData, err error) { - var con model.Contract - if err = db.DB.Where("id = ? ", id).First(&con).Error; err != nil { +func GetMgmtContractByArtworkUid(artworkUid string, artworkType int32) (err error) { + //画作有合同类型是2,6的都是 点击过"著作权代理转让服务合同"的 + var contract model.Contract + if err = db.DB.Where("artwork_uid = ? AND type = ?", artworkUid, 2).First(&contract).Error; err != nil && err != gorm.ErrRecordNotFound { zap.L().Error("get contract info err", zap.Error(err)) err = errors.New(m.ERROR_SELECT) return } - rep.ID = uint64(con.ID) - rep.UserId = int64(con.UserId) - rep.CardId = con.CardId - rep.MgmtUserId = con.MgmtUserId - rep.ArtworkId = con.ArtworkId - rep.ContractId = con.ContractId - rep.TransactionId = con.TransactionId - rep.Type = int64(con.Type) - rep.BatchName = con.BatchName - rep.ViewUrl = con.ViewUrl - rep.DownloadUrl = con.DownloadUrl - rep.State = int64(con.State) + return +} + +func CreateArtworkContract(tx *gorm.DB, artworkUid string, artistUid string, contractType int32) (err error) { + var uid uuid.UUID + if uid, err = uuid.NewV4(); err != nil { + err = errors.New(m.ERROR_UID) + return + } + + contract := &model.Contract{ + Uid: uid.String(), + ArtistUid: artistUid, + ArtworkUid: artworkUid, + Type: contractType, + State: 1, + } + if err = tx.Create(contract).Error; err != nil { + zap.L().Error("create contract err", zap.Error(err)) + err = errors.New(m.CREATE_ERROR) + return + } return } -// 更新交易id -func UpdateContract(req *contract.UpdateContractRequest) error { - //数据库操作异常 - var con model.Contract - if err := db.DB.Model(&con).Updates(&model.Contract{ContractId: req.ContractId, ViewUrl: req.ViewUrl, DownloadUrl: req.DownloadUrl}).Error; err != nil { - return err - } - return nil -} +// func FinishContract(tx *gorm.DB, id string) (contract model.Contract, err error) { +// if err = tx.Where("transaction_id = ?", id).First(&contract).Error; err != nil { +// zap.L().Error("get contract info err", zap.Error(err)) +// err = errors.New(m.ERROR_SELECT) +// return +// } -// 更新交易id -func UpdateContractTx(txId string, contractId int32) (err error) { - var con model.Contract - con.ID = contractId - if err = db.DB.Model(&con).Update("transaction_id", txId).Error; err != nil { - return - } - if err = db.DB.Model(&con).Update("state", 1).Error; err != nil { - return - } - return -} +// if err = db.DB.Model(&contract).Update("state", 3).Error; err != nil { +// zap.L().Error("user contract failed", zap.Error(err)) +// err = errors.New(m.UPDATE_FAILED) +// return +// } + +// return +// } + +// func UpdateArtworkState(tx *gorm.DB, id int32) (err error) { //无用 +// var artworkState model.ArtworkState +// if err = tx.Where("artwork_id = ? and state = ? ", id, 7).First(&artworkState).Error; err != nil { +// if err == gorm.ErrRecordNotFound { +// artworkState.ArtworkId = id +// artworkState.State = 7 +// if err = tx.Create(&artworkState).Error; err != nil { +// zap.L().Error("create artworkState err", zap.Error(err)) +// err = errors.New(m.CREATE_ERROR) +// return +// } +// } else { +// zap.L().Error("find artworkState info err", zap.Error(err)) +// err = errors.New(m.ERROR_DATA_NOT_EXISTS) +// return +// } +// } + +// if err = tx.Model(&model.Artwork{}).Where("id = ? ", id).Update("flow_state", 7).Error; err != nil { +// zap.L().Error("Artwork Update Err", zap.Error(err)) +// err = errors.New(m.ERROR_DATA_NOT_EXISTS) +// return +// } + +// return +// } + +// func ContractList(req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) { +// rep = &contract.ContractListRespond{} +// var Data []*contract.ContractData + +// var user model.User +// if err = db.DB.Where("id = ? ", req.ID).First(&user).Error; err != nil { +// zap.L().Error("get user info err", zap.Error(err)) +// err = errors.New(m.ERROR_SELECT) +// return +// } + +// var realName model.RealName +// if err = db.DB.Where("id = ? ", user.RealNameId).First(&realName).Error; err != nil { +// zap.L().Error("get realName info err", zap.Error(err)) +// err = errors.New(m.ERROR_SELECT) +// return +// } + +// var args []interface{} +// var sqlWhere = "user_id = ? and type !=4 " +// args = append(args, req.ID) + +// if req.State != 0 { +// sqlWhere += " and state = ? " +// if req.State == 2 { +// req.State = 3 +// } +// args = append(args, req.State) +// } + +// var contractModel []model.Contract +// if err = db.DB.Where(sqlWhere, args...).Find(&contractModel).Error; err != nil { +// zap.L().Error("get contractModels info err", zap.Error(err)) +// err = errors.New(m.ERROR_SELECT) +// return +// } + +// for _, v := range contractModel { +// contract := &contract.ContractData{} +// contract.ID = uint64(v.ID) +// contract.ContractId = v.ContractId +// contract.DownloadUrl = v.DownloadUrl +// contract.MgmtUserId = v.MgmtUserId +// contract.State = int64(v.State) +// contract.TransactionId = v.TransactionId +// contract.Type = int64(v.Type) +// contract.UserId = int64(v.UserId) +// contract.ViewUrl = v.ViewUrl +// contract.ExpirationTime = v.CreatedAt.Add(86400 * time.Second).Format("2006-01-02 15:04:05") +// contract.SignTime = v.UpdatedAt.Format("2006-01-02") +// Data = append(Data, contract) +// } + +// rep.Data = Data + +// return +// } + +// func ContractTxList(req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) { +// rep = &contract.ContractTxListRespond{} +// var Data []*contract.ContractData + +// var user model.User +// if err = db.DB.Where("id = ? ", int32(req.ID)).First(&user).Error; err != nil { +// zap.L().Error("get user info err", zap.Error(err)) +// err = errors.New(m.ERROR_SELECT) +// return +// } +// // todo +// //var realName model.RealName +// //if err = db.DB.Where("id = ? ", user.RealNameID).First(&realName).Error; err != nil { +// // zap.L().Error("get realName info err", zap.Error(err)) +// // err = errors.New(m.ERROR_SELECT) +// // return +// //} +// // +// //var args []interface{} +// //var sqlWhere = " card_id = ? and (type = 4 or type = 7) " +// //args = append(args, realName.IDNum) +// //if req.State != 0 { +// // sqlWhere += " and state = ? " +// // args = append(args, req.State) +// //} +// // +// //var contractModel []model.Contract +// //if err = db.DB.Where(sqlWhere, args...).Find(&contractModel).Error; err != nil { +// // zap.L().Error("get contractModels info err", zap.Error(err)) +// // err = errors.New(m.ERROR_SELECT) +// // return +// //} +// // +// //for _, v := range contractModel { +// // contractTmp := &contract.ContractData{} +// // contractTmp.ID = uint64(v.ID) +// // contractTmp.ContractId = v.ContractId +// // contractTmp.DownloadUrl = v.DownloadUrl +// // contractTmp.MgmtUserId = v.MgmtUserId +// // contractTmp.State = int64(v.State) +// // contractTmp.TransactionId = v.TransactionId +// // contractTmp.Type = int64(v.Type) +// // var b string +// // if v.Type == 4 { +// // b = "物权" +// // } +// // if v.Type == 7 { +// // b = "版权" +// // } +// // contractTmp.BatchName = b + v.BatchName[0:4] + "年" + v.BatchName[4:6] + "月" + v.BatchName[6:11] + "年" + v.BatchName[11:13] + "月" +// // contractTmp.UserId = int64(v.UserId) +// // contractTmp.ViewUrl = v.ViewUrl +// // contractTmp.ExpirationTime = v.CreatedAt.Add(86400 * time.Second).Format("2006-01-02 15:04:05") +// // contractTmp.SignTime = v.UpdatedAt.Format("2006-01-02") +// // Data = append(Data, contractTmp) +// //} + +// rep.Data = Data + +// return +// } + +// func GetContract(id int32) (rep *contract.ContractData, err error) { +// var con model.Contract +// if err = db.DB.Where("id = ? ", id).First(&con).Error; err != nil { +// zap.L().Error("get contract info err", zap.Error(err)) +// err = errors.New(m.ERROR_SELECT) +// return +// } +// rep.ID = uint64(con.ID) +// rep.UserId = int64(con.UserId) +// rep.CardId = con.CardId +// rep.MgmtUserId = con.MgmtUserId +// rep.ArtworkId = con.ArtworkId +// rep.ContractId = con.ContractId +// rep.TransactionId = con.TransactionId +// rep.Type = int64(con.Type) +// rep.BatchName = con.BatchName +// rep.ViewUrl = con.ViewUrl +// rep.DownloadUrl = con.DownloadUrl +// rep.State = int64(con.State) + +// return +// } + +// // 更新交易id +// func UpdateContract(req *contract.UpdateContractRequest) error { +// //数据库操作异常 +// var con model.Contract +// if err := db.DB.Model(&con).Updates(&model.Contract{ContractId: req.ContractId, ViewUrl: req.ViewUrl, DownloadUrl: req.DownloadUrl}).Error; err != nil { +// //在线和下载的链接 +// return err +// } +// return nil +// } + +// // 更新交易id +// func UpdateContractTx(txId string, contractId int32) (err error) { +// var con model.Contract +// con.ID = contractId +// if err = db.DB.Model(&con).Update("transaction_id", txId).Error; err != nil { //改变交易id +// return +// } +// if err = db.DB.Model(&con).Update("state", 1).Error; err != nil { //更新合约状态 // 1:待生成 2 待签署 3 签署完成 +// return +// } +// return +// } diff --git a/cmd/internal/logic/contract.go b/cmd/internal/logic/contract.go index 632720c..061aefb 100644 --- a/cmd/internal/logic/contract.go +++ b/cmd/internal/logic/contract.go @@ -1,11 +1,23 @@ package logic import ( + "context" + "errors" + "github.com/fonchain/fonchain-artistinfo/cmd/internal/dao" + "github.com/fonchain/fonchain-artistinfo/cmd/model" + "github.com/fonchain/fonchain-artistinfo/pb/artist" "github.com/fonchain/fonchain-artistinfo/pb/contract" + db "github.com/fonchain/fonchain-artistinfo/pkg/db" + "github.com/fonchain/fonchain-artistinfo/pkg/m" + "github.com/fonchain/fonchain-artistinfo/pkg/service" + uuid "github.com/satori/go.uuid" + "go.uber.org/zap" + "gorm.io/gorm" ) type IContract interface { + CreateContract(req *contract.CreateContractRequest) (rep *contract.CreateContractRespond, err error) FinishContract(req *contract.FinishContractRequest) (rep *contract.FinishContractRespond, err error) ContractList(req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) ContractTxList(req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) @@ -21,47 +33,157 @@ func NewContract() IContract { type Contract struct { } -func (a *Contract) FinishContract(req *contract.FinishContractRequest) (rep *contract.FinishContractRespond, err error) { - rep = &contract.FinishContractRespond{} - - err = dao.FinishContract(req.TransactionId) - if err != nil { - return nil, err +func (a *Contract) CreateContract(req *contract.CreateContractRequest) (rep *contract.CreateContractRespond, err error) { + rep = &contract.CreateContractRespond{} + //查看画家是否存在 + if _, err := service.GrpcArtistImpl.ArtistInfo(context.Background(), &artist.ArtistInfoRequest{Uid: req.ArtistUid}); err != nil { + zap.L().Error("update airDrop err", zap.Error(err)) + return rep, errors.New(m.ERROR_UPDATE + err.Error()) } + //遇到错误数据库回滚 + tx := db.DB.Begin() + + switch req.Type { + //1 画家合同(不涉及画家的画作) + case 1: + + //查看画家合同是否已经存在,不存在继续 + if err = dao.GetMgmtContractByArtistUid(req.ArtistUid, req.Type); err == gorm.ErrRecordNotFound { + var uid uuid.UUID + if uid, err = uuid.NewV4(); err != nil { + err = errors.New(m.ERROR_UID) + return + } + + //创建画家合同 + contract := &model.Contract{ + Uid: uid.String(), + ArtistUid: req.ArtistUid, + Type: 1, + State: 1, + } + + if err = dao.CreateArtistContract(tx, contract); err != nil { + return + } + } else { + return + } + + case 2: + for _, v := range req.ArtworkUid { + //查看画作合同是否已经存在,不存在继续,类型2、6 + if err = dao.GetMgmtContractByArtworkUid(v, 2); err == gorm.ErrRecordNotFound { + if err = dao.GetMgmtContractByArtworkUid(v, 6); err == gorm.ErrRecordNotFound { + + //创建画家画作合同,类型2 + if err = dao.CreateArtworkContract(tx, v, req.ArtistUid, 2); err != nil { + tx.Rollback() + return + } + + //创建画家画作合同,类型6 + if err = dao.CreateArtworkContract(tx, v, req.ArtistUid, 6); err != nil { + tx.Rollback() + return + } + + } else { + return + } + } else { + return + } + } + + case 3: + + case 5: + + default: + err = errors.New("type值出错!") + return + + } + + tx.Commit() return } -func (a *Contract) ContractList(req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) { +// func (a *Contract) FinishContract(req *contract.FinishContractRequest) (rep *contract.FinishContractRespond, err error) { +// rep = &contract.FinishContractRespond{} - rep, err = dao.ContractList(req) +// tx := db.DB.Begin() +// //更新合同状态并获取合同信息 +// contract, err := dao.FinishContract(tx, req.TransactionId) +// if err != nil { +// tx.Rollback() +// return nil, err +// } - return -} +// //查看画作是否已经状态改变,没有则改变 无用 +// if err = dao.UpdateArtworkState(tx, contract.ID); err != nil { +// tx.Rollback() +// return +// } -func (a *Contract) GetContract(req *contract.GetContractRequest) (rep *contract.ContractData, err error) { +// var tmp struct { +// Uid int32 `json:"uid"` +// } +// tmp.Uid = contract.BatchId +// tmpByte, _ := json.Marshal(&tmp) - rep, err = dao.GetContract(int32(req.Id)) +// if contract.Type == 4 { +// _, err = util.Post("https://ms.fontree.cn/mgmt/artworktx/updatebatchtype", string(tmpByte)) +// if err != nil { +// zap.L().Error("post request err", zap.Error(err)) +// return +// } +// } - return -} -func (a *Contract) ContractTxList(req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) { +// if contract.Type == 7 { +// _, err = util.Post("https://ms.fontree.cn/mgmt/artworktx/updatebatchtypecopy", string(tmpByte)) +// if err != nil { +// zap.L().Error("post request err", zap.Error(err)) +// return +// } +// } - rep, err = dao.ContractTxList(req) +// tx.Commit() +// return +// } - return -} +// func (a *Contract) ContractList(req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) { -func (a *Contract) UpdateContract(req *contract.UpdateContractRequest) (rep *contract.UpdateContractRespond, err error) { - rep = &contract.UpdateContractRespond{} - err = dao.UpdateContract(req) +// rep, err = dao.ContractList(req) - return -} +// return +// } -func (a *Contract) UpdateContractTx(req *contract.UpdateContractTxRequest) (rep *contract.UpdateContractTxRespond, err error) { - rep = &contract.UpdateContractTxRespond{} - err = dao.UpdateContractTx(req.TransactionId, int32(req.ID)) +// func (a *Contract) GetContract(req *contract.GetContractRequest) (rep *contract.ContractData, err error) { - return -} +// rep, err = dao.GetContract(int32(req.Id)) + +// return +// } +// func (a *Contract) ContractTxList(req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) { + +// rep, err = dao.ContractTxList(req) + +// return +// } + +// func (a *Contract) UpdateContract(req *contract.UpdateContractRequest) (rep *contract.UpdateContractRespond, err error) { +// rep = &contract.UpdateContractRespond{} +// err = dao.UpdateContract(req) + +// return +// } + +// func (a *Contract) UpdateContractTx(req *contract.UpdateContractTxRequest) (rep *contract.UpdateContractTxRespond, err error) { +// rep = &contract.UpdateContractTxRespond{} +// err = dao.UpdateContractTx(req.TransactionId, int32(req.ID)) + +// return +// } diff --git a/cmd/model/contract.go b/cmd/model/contract.go index 67b9a09..4ed956b 100644 --- a/cmd/model/contract.go +++ b/cmd/model/contract.go @@ -1,21 +1,22 @@ package model +import "gorm.io/plugin/soft_delete" + // Contract 用户模型 type Contract struct { - Model - ID int32 `gorm:"not null"` - UserId int32 `gorm:"not null"` - CardId string `gorm:"type:varchar(256) default ''"` - MgmtUserId string `gorm:"not null"` - ArtworkId string `gorm:"type:varchar(256) default ''"` - ContractId string `gorm:"type:varchar(256) default ''"` - TransactionId string `gorm:"type:varchar(256) default '' "` - Type int32 `gorm:"not null"` - BatchId int32 `gorm:"not null"` - BatchName string `gorm:"type:varchar(256) default '' "` - ViewUrl string `gorm:"type:varchar(256) default ''"` - DownloadUrl string `gorm:"type:varchar(256) default ''"` - State int32 `gorm:"not null"` + ID int32 `gorm:"column:id;type:int(11);primary_key;AUTO_INCREMENT" json:"id"` + Uid string `gorm:"column:uid;type:varchar(100);comment:合同表的唯一表示;NOT NULL" json:"uid"` + ArtistUid string `gorm:"column:artist_uid;type:varchar(100);comment:画家uid;NOT NULL" json:"artist_uid"` + ArtworkUid string `gorm:"column:artwork_uid;type:varchar(100);comment:画作uid" json:"artwork_uid"` + ContractId string `gorm:"column:contract_id;type:varchar(100);comment:合同id" json:"contract_id"` + TransactionId string `gorm:"column:transaction_id;type:varchar(100);comment:交易id" json:"transaction_id"` + Type int32 `gorm:"column:type;type:int(1);comment:合同类型;NOT NULL" json:"type"` + ViewUrl string `gorm:"column:view_url;type:varchar(500);comment:在线查看合同链接" json:"view_url"` + DownloadUrl string `gorm:"column:download_url;type:varchar(500);comment:合同下载链接" json:"download_url"` + State int32 `gorm:"column:state;type:int(1);comment:合同状态;NOT NULL" json:"state"` + CreatedAt int32 `gorm:"column:created_at;autoCreateTime"` + UpdatedAt int32 `gorm:"column:updated_at;autoCreateTime"` + DeletedAt soft_delete.DeletedAt } type Reply struct { diff --git a/go.mod b/go.mod index 7ecb544..a0da8e3 100644 --- a/go.mod +++ b/go.mod @@ -28,6 +28,7 @@ require ( github.com/golang/protobuf v1.5.2 github.com/mwitkow/go-proto-validators v0.3.2 github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 + github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b go.uber.org/zap v1.21.0 golang.org/x/image v0.0.0-20190802002840-cff245a6509b google.golang.org/protobuf v1.28.1 @@ -122,7 +123,6 @@ require ( github.com/prometheus/procfs v0.7.3 // indirect github.com/prometheus/statsd_exporter v0.21.0 // indirect github.com/robfig/cron/v3 v3.0.1 // indirect - github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b // indirect github.com/shirou/gopsutil v3.20.11+incompatible // indirect github.com/shirou/gopsutil/v3 v3.21.6 // indirect github.com/spaolacci/murmur3 v1.1.0 // indirect diff --git a/pb/contract/contract.pb.go b/pb/contract/contract.pb.go index d14b8c4..fdac34e 100644 --- a/pb/contract/contract.pb.go +++ b/pb/contract/contract.pb.go @@ -1,8 +1,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.26.0 -// protoc v3.9.0 -// source: api/contract/contract.proto +// protoc-gen-go v1.28.1 +// protoc v3.21.8 +// source: contract.proto package contract @@ -20,18 +20,128 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +type CreateContractRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ArtistUid string `protobuf:"bytes,1,opt,name=ArtistUid,json=artist_uid,proto3" json:"ArtistUid,omitempty"` + ArtworkUid []string `protobuf:"bytes,2,rep,name=ArtworkUid,json=artwork_uid,proto3" json:"ArtworkUid,omitempty"` + Type int32 `protobuf:"varint,3,opt,name=Type,json=type,proto3" json:"Type,omitempty"` +} + +func (x *CreateContractRequest) Reset() { + *x = CreateContractRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateContractRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateContractRequest) ProtoMessage() {} + +func (x *CreateContractRequest) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateContractRequest.ProtoReflect.Descriptor instead. +func (*CreateContractRequest) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{0} +} + +func (x *CreateContractRequest) GetArtistUid() string { + if x != nil { + return x.ArtistUid + } + return "" +} + +func (x *CreateContractRequest) GetArtworkUid() []string { + if x != nil { + return x.ArtworkUid + } + return nil +} + +func (x *CreateContractRequest) GetType() int32 { + if x != nil { + return x.Type + } + return 0 +} + +type CreateContractRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` +} + +func (x *CreateContractRespond) Reset() { + *x = CreateContractRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateContractRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateContractRespond) ProtoMessage() {} + +func (x *CreateContractRespond) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateContractRespond.ProtoReflect.Descriptor instead. +func (*CreateContractRespond) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{1} +} + +func (x *CreateContractRespond) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + type FinishContractRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TransactionId string `protobuf:"bytes,1,opt,name=TransactionId,json=transactionId,proto3" json:"TransactionId"` + TransactionId string `protobuf:"bytes,1,opt,name=TransactionId,json=transactionId,proto3" json:"TransactionId,omitempty"` } func (x *FinishContractRequest) Reset() { *x = FinishContractRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_contract_contract_proto_msgTypes[0] + mi := &file_contract_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -44,7 +154,7 @@ func (x *FinishContractRequest) String() string { func (*FinishContractRequest) ProtoMessage() {} func (x *FinishContractRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_contract_contract_proto_msgTypes[0] + mi := &file_contract_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -57,7 +167,7 @@ func (x *FinishContractRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FinishContractRequest.ProtoReflect.Descriptor instead. func (*FinishContractRequest) Descriptor() ([]byte, []int) { - return file_api_contract_contract_proto_rawDescGZIP(), []int{0} + return file_contract_proto_rawDescGZIP(), []int{2} } func (x *FinishContractRequest) GetTransactionId() string { @@ -76,7 +186,7 @@ type FinishContractRespond struct { func (x *FinishContractRespond) Reset() { *x = FinishContractRespond{} if protoimpl.UnsafeEnabled { - mi := &file_api_contract_contract_proto_msgTypes[1] + mi := &file_contract_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -89,7 +199,7 @@ func (x *FinishContractRespond) String() string { func (*FinishContractRespond) ProtoMessage() {} func (x *FinishContractRespond) ProtoReflect() protoreflect.Message { - mi := &file_api_contract_contract_proto_msgTypes[1] + mi := &file_contract_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -102,7 +212,7 @@ func (x *FinishContractRespond) ProtoReflect() protoreflect.Message { // Deprecated: Use FinishContractRespond.ProtoReflect.Descriptor instead. func (*FinishContractRespond) Descriptor() ([]byte, []int) { - return file_api_contract_contract_proto_rawDescGZIP(), []int{1} + return file_contract_proto_rawDescGZIP(), []int{3} } type ContractListRequest struct { @@ -110,16 +220,16 @@ type ContractListRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - PageSize int64 `protobuf:"varint,1,opt,name=PageSize,json=pageSize,proto3" json:"PageSize"` - Page int64 `protobuf:"varint,2,opt,name=Page,json=page,proto3" json:"Page"` - State int64 `protobuf:"varint,3,opt,name=State,json=state,proto3" json:"State"` - ID int64 `protobuf:"varint,4,opt,name=ID,json=id,proto3" json:"ID"` + PageSize int64 `protobuf:"varint,1,opt,name=PageSize,json=pageSize,proto3" json:"PageSize,omitempty"` + Page int64 `protobuf:"varint,2,opt,name=Page,json=page,proto3" json:"Page,omitempty"` + State int64 `protobuf:"varint,3,opt,name=State,json=state,proto3" json:"State,omitempty"` + ID int64 `protobuf:"varint,4,opt,name=ID,json=id,proto3" json:"ID,omitempty"` } func (x *ContractListRequest) Reset() { *x = ContractListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_contract_contract_proto_msgTypes[2] + mi := &file_contract_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -132,7 +242,7 @@ func (x *ContractListRequest) String() string { func (*ContractListRequest) ProtoMessage() {} func (x *ContractListRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_contract_contract_proto_msgTypes[2] + mi := &file_contract_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -145,7 +255,7 @@ func (x *ContractListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ContractListRequest.ProtoReflect.Descriptor instead. func (*ContractListRequest) Descriptor() ([]byte, []int) { - return file_api_contract_contract_proto_rawDescGZIP(), []int{2} + return file_contract_proto_rawDescGZIP(), []int{4} } func (x *ContractListRequest) GetPageSize() int64 { @@ -181,13 +291,13 @@ type ContractListRespond struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Data []*ContractData `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data"` + Data []*ContractData `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data,omitempty"` } func (x *ContractListRespond) Reset() { *x = ContractListRespond{} if protoimpl.UnsafeEnabled { - mi := &file_api_contract_contract_proto_msgTypes[3] + mi := &file_contract_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -200,7 +310,7 @@ func (x *ContractListRespond) String() string { func (*ContractListRespond) ProtoMessage() {} func (x *ContractListRespond) ProtoReflect() protoreflect.Message { - mi := &file_api_contract_contract_proto_msgTypes[3] + mi := &file_contract_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -213,7 +323,7 @@ func (x *ContractListRespond) ProtoReflect() protoreflect.Message { // Deprecated: Use ContractListRespond.ProtoReflect.Descriptor instead. func (*ContractListRespond) Descriptor() ([]byte, []int) { - return file_api_contract_contract_proto_rawDescGZIP(), []int{3} + return file_contract_proto_rawDescGZIP(), []int{5} } func (x *ContractListRespond) GetData() []*ContractData { @@ -228,29 +338,29 @@ type ContractData struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID"` - UserId int64 `protobuf:"varint,2,opt,name=UserId,json=userId,proto3" json:"UserId"` - CardId string `protobuf:"bytes,3,opt,name=CardId,json=cardId,proto3" json:"CardId"` - MgmtUserId string `protobuf:"bytes,4,opt,name=MgmtUserId,json=mgmtUserId,proto3" json:"MgmtUserId"` - ArtworkId string `protobuf:"bytes,5,opt,name=ArtworkId,json=artworkId,proto3" json:"ArtworkId"` - ContractId string `protobuf:"bytes,6,opt,name=ContractId,json=contractId,proto3" json:"ContractId"` - TransactionId string `protobuf:"bytes,7,opt,name=TransactionId,json=transactionId,proto3" json:"TransactionId"` - Type int64 `protobuf:"varint,8,opt,name=Type,json=type,proto3" json:"Type"` - BatchId int64 `protobuf:"varint,9,opt,name=BatchId,json=batchId,proto3" json:"BatchId"` - BatchName string `protobuf:"bytes,10,opt,name=BatchName,json=batchName,proto3" json:"BatchName"` - ViewUrl string `protobuf:"bytes,11,opt,name=ViewUrl,json=viewUrl,proto3" json:"ViewUrl"` - DownloadUrl string `protobuf:"bytes,12,opt,name=DownloadUrl,json=downloadUrl,proto3" json:"DownloadUrl"` - State int64 `protobuf:"varint,13,opt,name=State,json=state,proto3" json:"State"` - UpdateTime string `protobuf:"bytes,14,opt,name=UpdateTime,json=updateTime,proto3" json:"UpdateTime"` - CreateTime string `protobuf:"bytes,15,opt,name=CreateTime,json=createTime,proto3" json:"CreateTime"` - ExpirationTime string `protobuf:"bytes,16,opt,name=ExpirationTime,json=expirationTime,proto3" json:"ExpirationTime"` - SignTime string `protobuf:"bytes,17,opt,name=SignTime,json=signTime,proto3" json:"SignTime"` + ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + UserId int64 `protobuf:"varint,2,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` + CardId string `protobuf:"bytes,3,opt,name=CardId,json=cardId,proto3" json:"CardId,omitempty"` + MgmtUserId string `protobuf:"bytes,4,opt,name=MgmtUserId,json=mgmtUserId,proto3" json:"MgmtUserId,omitempty"` + ArtworkId string `protobuf:"bytes,5,opt,name=ArtworkId,json=artworkId,proto3" json:"ArtworkId,omitempty"` + ContractId string `protobuf:"bytes,6,opt,name=ContractId,json=contractId,proto3" json:"ContractId,omitempty"` + TransactionId string `protobuf:"bytes,7,opt,name=TransactionId,json=transactionId,proto3" json:"TransactionId,omitempty"` + Type int64 `protobuf:"varint,8,opt,name=Type,json=type,proto3" json:"Type,omitempty"` + BatchId int64 `protobuf:"varint,9,opt,name=BatchId,json=batchId,proto3" json:"BatchId,omitempty"` + BatchName string `protobuf:"bytes,10,opt,name=BatchName,json=batchName,proto3" json:"BatchName,omitempty"` + ViewUrl string `protobuf:"bytes,11,opt,name=ViewUrl,json=viewUrl,proto3" json:"ViewUrl,omitempty"` + DownloadUrl string `protobuf:"bytes,12,opt,name=DownloadUrl,json=downloadUrl,proto3" json:"DownloadUrl,omitempty"` + State int64 `protobuf:"varint,13,opt,name=State,json=state,proto3" json:"State,omitempty"` + UpdateTime string `protobuf:"bytes,14,opt,name=UpdateTime,json=updateTime,proto3" json:"UpdateTime,omitempty"` + CreateTime string `protobuf:"bytes,15,opt,name=CreateTime,json=createTime,proto3" json:"CreateTime,omitempty"` + ExpirationTime string `protobuf:"bytes,16,opt,name=ExpirationTime,json=expirationTime,proto3" json:"ExpirationTime,omitempty"` + SignTime string `protobuf:"bytes,17,opt,name=SignTime,json=signTime,proto3" json:"SignTime,omitempty"` } func (x *ContractData) Reset() { *x = ContractData{} if protoimpl.UnsafeEnabled { - mi := &file_api_contract_contract_proto_msgTypes[4] + mi := &file_contract_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -263,7 +373,7 @@ func (x *ContractData) String() string { func (*ContractData) ProtoMessage() {} func (x *ContractData) ProtoReflect() protoreflect.Message { - mi := &file_api_contract_contract_proto_msgTypes[4] + mi := &file_contract_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -276,7 +386,7 @@ func (x *ContractData) ProtoReflect() protoreflect.Message { // Deprecated: Use ContractData.ProtoReflect.Descriptor instead. func (*ContractData) Descriptor() ([]byte, []int) { - return file_api_contract_contract_proto_rawDescGZIP(), []int{4} + return file_contract_proto_rawDescGZIP(), []int{6} } func (x *ContractData) GetID() uint64 { @@ -403,16 +513,16 @@ type ContractTxListRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - PageSize int64 `protobuf:"varint,1,opt,name=PageSize,json=pageSize,proto3" json:"PageSize"` - Page int64 `protobuf:"varint,2,opt,name=Page,json=page,proto3" json:"Page"` - State int64 `protobuf:"varint,3,opt,name=State,json=state,proto3" json:"State"` - ID int64 `protobuf:"varint,4,opt,name=ID,json=id,proto3" json:"ID"` + PageSize int64 `protobuf:"varint,1,opt,name=PageSize,json=pageSize,proto3" json:"PageSize,omitempty"` + Page int64 `protobuf:"varint,2,opt,name=Page,json=page,proto3" json:"Page,omitempty"` + State int64 `protobuf:"varint,3,opt,name=State,json=state,proto3" json:"State,omitempty"` + ID int64 `protobuf:"varint,4,opt,name=ID,json=id,proto3" json:"ID,omitempty"` } func (x *ContractTxListRequest) Reset() { *x = ContractTxListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_contract_contract_proto_msgTypes[5] + mi := &file_contract_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -425,7 +535,7 @@ func (x *ContractTxListRequest) String() string { func (*ContractTxListRequest) ProtoMessage() {} func (x *ContractTxListRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_contract_contract_proto_msgTypes[5] + mi := &file_contract_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -438,7 +548,7 @@ func (x *ContractTxListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ContractTxListRequest.ProtoReflect.Descriptor instead. func (*ContractTxListRequest) Descriptor() ([]byte, []int) { - return file_api_contract_contract_proto_rawDescGZIP(), []int{5} + return file_contract_proto_rawDescGZIP(), []int{7} } func (x *ContractTxListRequest) GetPageSize() int64 { @@ -474,13 +584,13 @@ type ContractTxListRespond struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Data []*ContractData `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data"` + Data []*ContractData `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data,omitempty"` } func (x *ContractTxListRespond) Reset() { *x = ContractTxListRespond{} if protoimpl.UnsafeEnabled { - mi := &file_api_contract_contract_proto_msgTypes[6] + mi := &file_contract_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -493,7 +603,7 @@ func (x *ContractTxListRespond) String() string { func (*ContractTxListRespond) ProtoMessage() {} func (x *ContractTxListRespond) ProtoReflect() protoreflect.Message { - mi := &file_api_contract_contract_proto_msgTypes[6] + mi := &file_contract_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -506,7 +616,7 @@ func (x *ContractTxListRespond) ProtoReflect() protoreflect.Message { // Deprecated: Use ContractTxListRespond.ProtoReflect.Descriptor instead. func (*ContractTxListRespond) Descriptor() ([]byte, []int) { - return file_api_contract_contract_proto_rawDescGZIP(), []int{6} + return file_contract_proto_rawDescGZIP(), []int{8} } func (x *ContractTxListRespond) GetData() []*ContractData { @@ -521,15 +631,15 @@ type SignContractRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ContractId int64 `protobuf:"varint,1,opt,name=ContractId,json=contractId,proto3" json:"ContractId"` - HtmlType string `protobuf:"bytes,2,opt,name=HtmlType,json=htmlType,proto3" json:"HtmlType"` - EnvType string `protobuf:"bytes,3,opt,name=EnvType,json=envType,proto3" json:"EnvType"` + ContractId int64 `protobuf:"varint,1,opt,name=ContractId,json=contractId,proto3" json:"ContractId,omitempty"` + HtmlType string `protobuf:"bytes,2,opt,name=HtmlType,json=htmlType,proto3" json:"HtmlType,omitempty"` + EnvType string `protobuf:"bytes,3,opt,name=EnvType,json=envType,proto3" json:"EnvType,omitempty"` } func (x *SignContractRequest) Reset() { *x = SignContractRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_contract_contract_proto_msgTypes[7] + mi := &file_contract_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -542,7 +652,7 @@ func (x *SignContractRequest) String() string { func (*SignContractRequest) ProtoMessage() {} func (x *SignContractRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_contract_contract_proto_msgTypes[7] + mi := &file_contract_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -555,7 +665,7 @@ func (x *SignContractRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SignContractRequest.ProtoReflect.Descriptor instead. func (*SignContractRequest) Descriptor() ([]byte, []int) { - return file_api_contract_contract_proto_rawDescGZIP(), []int{7} + return file_contract_proto_rawDescGZIP(), []int{9} } func (x *SignContractRequest) GetContractId() int64 { @@ -588,7 +698,7 @@ type SignContractRespond struct { func (x *SignContractRespond) Reset() { *x = SignContractRespond{} if protoimpl.UnsafeEnabled { - mi := &file_api_contract_contract_proto_msgTypes[8] + mi := &file_contract_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -601,7 +711,7 @@ func (x *SignContractRespond) String() string { func (*SignContractRespond) ProtoMessage() {} func (x *SignContractRespond) ProtoReflect() protoreflect.Message { - mi := &file_api_contract_contract_proto_msgTypes[8] + mi := &file_contract_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -614,7 +724,7 @@ func (x *SignContractRespond) ProtoReflect() protoreflect.Message { // Deprecated: Use SignContractRespond.ProtoReflect.Descriptor instead. func (*SignContractRespond) Descriptor() ([]byte, []int) { - return file_api_contract_contract_proto_rawDescGZIP(), []int{8} + return file_contract_proto_rawDescGZIP(), []int{10} } type GetContractRequest struct { @@ -622,13 +732,13 @@ type GetContractRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int64 `protobuf:"varint,1,opt,name=Id,json=id,proto3" json:"Id"` + Id int64 `protobuf:"varint,1,opt,name=Id,json=id,proto3" json:"Id,omitempty"` } func (x *GetContractRequest) Reset() { *x = GetContractRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_contract_contract_proto_msgTypes[9] + mi := &file_contract_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -641,7 +751,7 @@ func (x *GetContractRequest) String() string { func (*GetContractRequest) ProtoMessage() {} func (x *GetContractRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_contract_contract_proto_msgTypes[9] + mi := &file_contract_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -654,7 +764,7 @@ func (x *GetContractRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetContractRequest.ProtoReflect.Descriptor instead. func (*GetContractRequest) Descriptor() ([]byte, []int) { - return file_api_contract_contract_proto_rawDescGZIP(), []int{9} + return file_contract_proto_rawDescGZIP(), []int{11} } func (x *GetContractRequest) GetId() int64 { @@ -669,29 +779,29 @@ type UpdateContractRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID"` - UserId int64 `protobuf:"varint,2,opt,name=UserId,json=userId,proto3" json:"UserId"` - CardId string `protobuf:"bytes,3,opt,name=CardId,json=cardId,proto3" json:"CardId"` - MgmtUserId string `protobuf:"bytes,4,opt,name=MgmtUserId,json=mgmtUserId,proto3" json:"MgmtUserId"` - ArtworkId string `protobuf:"bytes,5,opt,name=ArtworkId,json=artworkId,proto3" json:"ArtworkId"` - ContractId string `protobuf:"bytes,6,opt,name=ContractId,json=contractId,proto3" json:"ContractId"` - TransactionId string `protobuf:"bytes,7,opt,name=TransactionId,json=transactionId,proto3" json:"TransactionId"` - Type int64 `protobuf:"varint,8,opt,name=Type,json=type,proto3" json:"Type"` - BatchId int64 `protobuf:"varint,9,opt,name=BatchId,json=batchId,proto3" json:"BatchId"` - BatchName string `protobuf:"bytes,10,opt,name=BatchName,json=batchName,proto3" json:"BatchName"` - ViewUrl string `protobuf:"bytes,11,opt,name=ViewUrl,json=viewUrl,proto3" json:"ViewUrl"` - DownloadUrl string `protobuf:"bytes,12,opt,name=DownloadUrl,json=downloadUrl,proto3" json:"DownloadUrl"` - State int64 `protobuf:"varint,13,opt,name=State,json=state,proto3" json:"State"` - UpdateTime string `protobuf:"bytes,14,opt,name=UpdateTime,json=updateTime,proto3" json:"UpdateTime"` - CreateTime string `protobuf:"bytes,15,opt,name=CreateTime,json=createTime,proto3" json:"CreateTime"` - ExpirationTime string `protobuf:"bytes,16,opt,name=ExpirationTime,json=expirationTime,proto3" json:"ExpirationTime"` - SignTime string `protobuf:"bytes,17,opt,name=SignTime,json=signTime,proto3" json:"SignTime"` + ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + UserId int64 `protobuf:"varint,2,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` + CardId string `protobuf:"bytes,3,opt,name=CardId,json=cardId,proto3" json:"CardId,omitempty"` + MgmtUserId string `protobuf:"bytes,4,opt,name=MgmtUserId,json=mgmtUserId,proto3" json:"MgmtUserId,omitempty"` + ArtworkId string `protobuf:"bytes,5,opt,name=ArtworkId,json=artworkId,proto3" json:"ArtworkId,omitempty"` + ContractId string `protobuf:"bytes,6,opt,name=ContractId,json=contractId,proto3" json:"ContractId,omitempty"` + TransactionId string `protobuf:"bytes,7,opt,name=TransactionId,json=transactionId,proto3" json:"TransactionId,omitempty"` + Type int64 `protobuf:"varint,8,opt,name=Type,json=type,proto3" json:"Type,omitempty"` + BatchId int64 `protobuf:"varint,9,opt,name=BatchId,json=batchId,proto3" json:"BatchId,omitempty"` + BatchName string `protobuf:"bytes,10,opt,name=BatchName,json=batchName,proto3" json:"BatchName,omitempty"` + ViewUrl string `protobuf:"bytes,11,opt,name=ViewUrl,json=viewUrl,proto3" json:"ViewUrl,omitempty"` + DownloadUrl string `protobuf:"bytes,12,opt,name=DownloadUrl,json=downloadUrl,proto3" json:"DownloadUrl,omitempty"` + State int64 `protobuf:"varint,13,opt,name=State,json=state,proto3" json:"State,omitempty"` + UpdateTime string `protobuf:"bytes,14,opt,name=UpdateTime,json=updateTime,proto3" json:"UpdateTime,omitempty"` + CreateTime string `protobuf:"bytes,15,opt,name=CreateTime,json=createTime,proto3" json:"CreateTime,omitempty"` + ExpirationTime string `protobuf:"bytes,16,opt,name=ExpirationTime,json=expirationTime,proto3" json:"ExpirationTime,omitempty"` + SignTime string `protobuf:"bytes,17,opt,name=SignTime,json=signTime,proto3" json:"SignTime,omitempty"` } func (x *UpdateContractRequest) Reset() { *x = UpdateContractRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_contract_contract_proto_msgTypes[10] + mi := &file_contract_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -704,7 +814,7 @@ func (x *UpdateContractRequest) String() string { func (*UpdateContractRequest) ProtoMessage() {} func (x *UpdateContractRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_contract_contract_proto_msgTypes[10] + mi := &file_contract_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -717,7 +827,7 @@ func (x *UpdateContractRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateContractRequest.ProtoReflect.Descriptor instead. func (*UpdateContractRequest) Descriptor() ([]byte, []int) { - return file_api_contract_contract_proto_rawDescGZIP(), []int{10} + return file_contract_proto_rawDescGZIP(), []int{12} } func (x *UpdateContractRequest) GetID() uint64 { @@ -848,7 +958,7 @@ type UpdateContractRespond struct { func (x *UpdateContractRespond) Reset() { *x = UpdateContractRespond{} if protoimpl.UnsafeEnabled { - mi := &file_api_contract_contract_proto_msgTypes[11] + mi := &file_contract_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -861,7 +971,7 @@ func (x *UpdateContractRespond) String() string { func (*UpdateContractRespond) ProtoMessage() {} func (x *UpdateContractRespond) ProtoReflect() protoreflect.Message { - mi := &file_api_contract_contract_proto_msgTypes[11] + mi := &file_contract_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -874,7 +984,7 @@ func (x *UpdateContractRespond) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateContractRespond.ProtoReflect.Descriptor instead. func (*UpdateContractRespond) Descriptor() ([]byte, []int) { - return file_api_contract_contract_proto_rawDescGZIP(), []int{11} + return file_contract_proto_rawDescGZIP(), []int{13} } type UpdateContractTxRequest struct { @@ -882,14 +992,14 @@ type UpdateContractTxRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID int64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID"` - TransactionId string `protobuf:"bytes,2,opt,name=TransactionId,json=transactionId,proto3" json:"TransactionId"` + ID int64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + TransactionId string `protobuf:"bytes,2,opt,name=TransactionId,json=transactionId,proto3" json:"TransactionId,omitempty"` } func (x *UpdateContractTxRequest) Reset() { *x = UpdateContractTxRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_contract_contract_proto_msgTypes[12] + mi := &file_contract_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -902,7 +1012,7 @@ func (x *UpdateContractTxRequest) String() string { func (*UpdateContractTxRequest) ProtoMessage() {} func (x *UpdateContractTxRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_contract_contract_proto_msgTypes[12] + mi := &file_contract_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -915,7 +1025,7 @@ func (x *UpdateContractTxRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateContractTxRequest.ProtoReflect.Descriptor instead. func (*UpdateContractTxRequest) Descriptor() ([]byte, []int) { - return file_api_contract_contract_proto_rawDescGZIP(), []int{12} + return file_contract_proto_rawDescGZIP(), []int{14} } func (x *UpdateContractTxRequest) GetID() int64 { @@ -941,7 +1051,7 @@ type UpdateContractTxRespond struct { func (x *UpdateContractTxRespond) Reset() { *x = UpdateContractTxRespond{} if protoimpl.UnsafeEnabled { - mi := &file_api_contract_contract_proto_msgTypes[13] + mi := &file_contract_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -954,7 +1064,7 @@ func (x *UpdateContractTxRespond) String() string { func (*UpdateContractTxRespond) ProtoMessage() {} func (x *UpdateContractTxRespond) ProtoReflect() protoreflect.Message { - mi := &file_api_contract_contract_proto_msgTypes[13] + mi := &file_contract_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -967,226 +1077,268 @@ func (x *UpdateContractTxRespond) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateContractTxRespond.ProtoReflect.Descriptor instead. func (*UpdateContractTxRespond) Descriptor() ([]byte, []int) { - return file_api_contract_contract_proto_rawDescGZIP(), []int{13} + return file_contract_proto_rawDescGZIP(), []int{15} } -var File_api_contract_contract_proto protoreflect.FileDescriptor +var File_contract_proto protoreflect.FileDescriptor -var file_api_contract_contract_proto_rawDesc = []byte{ - 0x0a, 0x1b, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2f, 0x63, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x22, 0x3d, 0x0a, 0x15, 0x46, 0x69, 0x6e, 0x69, 0x73, - 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, - 0x6b, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, - 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, - 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, - 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x41, 0x0a, 0x13, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x16, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, - 0xf4, 0x03, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, - 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, - 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x67, 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x67, 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x1e, - 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x24, - 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x61, 0x74, 0x63, 0x68, - 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x56, 0x69, 0x65, 0x77, 0x55, 0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x76, 0x69, 0x65, 0x77, 0x55, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x6f, - 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x54, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x69, - 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, - 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x6d, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, - 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x43, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x2a, +var file_contract_proto_rawDesc = []byte{ + 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x22, 0x6b, 0x0a, 0x15, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x09, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x75, + 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, + 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x29, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, + 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, + 0x73, 0x67, 0x22, 0x3d, 0x0a, 0x15, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x22, 0x17, 0x0a, 0x15, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x6b, 0x0a, 0x13, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x41, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0x6b, 0x0a, 0x13, 0x53, 0x69, - 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, - 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x48, 0x74, 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x74, 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x45, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x65, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x69, 0x67, 0x6e, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x24, - 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x02, 0x69, 0x64, 0x22, 0xfd, 0x03, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, - 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, - 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, - 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1e, - 0x0a, 0x0a, 0x4d, 0x67, 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x67, 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, - 0x0a, 0x09, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, - 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, - 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x56, 0x69, 0x65, 0x77, 0x55, 0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x76, 0x69, 0x65, 0x77, 0x55, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x6f, 0x77, 0x6e, - 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, - 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x26, 0x0a, 0x0e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, - 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, - 0x54, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, - 0x54, 0x69, 0x6d, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x4f, 0x0a, - 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, - 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x19, - 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x32, 0xcf, 0x04, 0x0a, 0x08, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x54, 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0xf4, 0x03, 0x0a, 0x0c, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x49, + 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, + 0x67, 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x6d, 0x67, 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, + 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1c, 0x0a, + 0x09, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x56, + 0x69, 0x65, 0x77, 0x55, 0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x69, + 0x65, 0x77, 0x55, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, + 0x64, 0x55, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, + 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, + 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, + 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, + 0x0e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, + 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, + 0x65, 0x22, 0x6d, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, + 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, + 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, + 0x22, 0x43, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x04, 0x44, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0x6b, 0x0a, 0x13, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x48, 0x74, 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x68, 0x74, 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x76, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x76, 0x54, 0x79, + 0x70, 0x65, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x24, 0x0a, 0x12, 0x47, 0x65, 0x74, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, + 0xfd, 0x03, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x67, 0x6d, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, + 0x67, 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x72, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x07, 0x62, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x69, 0x65, + 0x77, 0x55, 0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x69, 0x65, 0x77, + 0x55, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, + 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, + 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x45, + 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, + 0x17, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x4f, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x19, 0x0a, 0x17, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x64, 0x32, 0xa5, 0x05, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x12, 0x54, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x12, 0x1f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x69, 0x73, + 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0c, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x2e, 0x43, + 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4e, 0x0a, + 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x2e, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0b, - 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1c, 0x2e, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, - 0x78, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x45, 0x0a, + 0x0b, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1c, 0x2e, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x44, 0x61, + 0x74, 0x61, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0c, 0x53, 0x69, 0x67, - 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1d, 0x2e, 0x43, 0x6f, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0c, 0x53, 0x69, + 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1d, 0x2e, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1f, 0x2e, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x43, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, - 0x5a, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x54, 0x78, 0x12, 0x21, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x42, 0x0d, 0x5a, 0x0b, 0x2e, - 0x2f, 0x3b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, + 0x12, 0x5a, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x54, 0x78, 0x12, 0x21, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x42, 0x0d, 0x5a, 0x0b, + 0x2e, 0x2f, 0x3b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( - file_api_contract_contract_proto_rawDescOnce sync.Once - file_api_contract_contract_proto_rawDescData = file_api_contract_contract_proto_rawDesc + file_contract_proto_rawDescOnce sync.Once + file_contract_proto_rawDescData = file_contract_proto_rawDesc ) -func file_api_contract_contract_proto_rawDescGZIP() []byte { - file_api_contract_contract_proto_rawDescOnce.Do(func() { - file_api_contract_contract_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_contract_contract_proto_rawDescData) +func file_contract_proto_rawDescGZIP() []byte { + file_contract_proto_rawDescOnce.Do(func() { + file_contract_proto_rawDescData = protoimpl.X.CompressGZIP(file_contract_proto_rawDescData) }) - return file_api_contract_contract_proto_rawDescData + return file_contract_proto_rawDescData } -var file_api_contract_contract_proto_msgTypes = make([]protoimpl.MessageInfo, 14) -var file_api_contract_contract_proto_goTypes = []interface{}{ - (*FinishContractRequest)(nil), // 0: Contract.FinishContractRequest - (*FinishContractRespond)(nil), // 1: Contract.FinishContractRespond - (*ContractListRequest)(nil), // 2: Contract.ContractListRequest - (*ContractListRespond)(nil), // 3: Contract.ContractListRespond - (*ContractData)(nil), // 4: Contract.ContractData - (*ContractTxListRequest)(nil), // 5: Contract.ContractTxListRequest - (*ContractTxListRespond)(nil), // 6: Contract.ContractTxListRespond - (*SignContractRequest)(nil), // 7: Contract.SignContractRequest - (*SignContractRespond)(nil), // 8: Contract.SignContractRespond - (*GetContractRequest)(nil), // 9: Contract.GetContractRequest - (*UpdateContractRequest)(nil), // 10: Contract.UpdateContractRequest - (*UpdateContractRespond)(nil), // 11: Contract.UpdateContractRespond - (*UpdateContractTxRequest)(nil), // 12: Contract.UpdateContractTxRequest - (*UpdateContractTxRespond)(nil), // 13: Contract.UpdateContractTxRespond +var file_contract_proto_msgTypes = make([]protoimpl.MessageInfo, 16) +var file_contract_proto_goTypes = []interface{}{ + (*CreateContractRequest)(nil), // 0: Contract.CreateContractRequest + (*CreateContractRespond)(nil), // 1: Contract.CreateContractRespond + (*FinishContractRequest)(nil), // 2: Contract.FinishContractRequest + (*FinishContractRespond)(nil), // 3: Contract.FinishContractRespond + (*ContractListRequest)(nil), // 4: Contract.ContractListRequest + (*ContractListRespond)(nil), // 5: Contract.ContractListRespond + (*ContractData)(nil), // 6: Contract.ContractData + (*ContractTxListRequest)(nil), // 7: Contract.ContractTxListRequest + (*ContractTxListRespond)(nil), // 8: Contract.ContractTxListRespond + (*SignContractRequest)(nil), // 9: Contract.SignContractRequest + (*SignContractRespond)(nil), // 10: Contract.SignContractRespond + (*GetContractRequest)(nil), // 11: Contract.GetContractRequest + (*UpdateContractRequest)(nil), // 12: Contract.UpdateContractRequest + (*UpdateContractRespond)(nil), // 13: Contract.UpdateContractRespond + (*UpdateContractTxRequest)(nil), // 14: Contract.UpdateContractTxRequest + (*UpdateContractTxRespond)(nil), // 15: Contract.UpdateContractTxRespond } -var file_api_contract_contract_proto_depIdxs = []int32{ - 4, // 0: Contract.ContractListRespond.Data:type_name -> Contract.ContractData - 4, // 1: Contract.ContractTxListRespond.Data:type_name -> Contract.ContractData - 0, // 2: Contract.Contract.FinishContract:input_type -> Contract.FinishContractRequest - 2, // 3: Contract.Contract.ContractList:input_type -> Contract.ContractListRequest - 9, // 4: Contract.Contract.GetContract:input_type -> Contract.GetContractRequest - 5, // 5: Contract.Contract.ContractTxList:input_type -> Contract.ContractTxListRequest - 7, // 6: Contract.Contract.SignContract:input_type -> Contract.SignContractRequest - 10, // 7: Contract.Contract.UpdateContract:input_type -> Contract.UpdateContractRequest - 12, // 8: Contract.Contract.UpdateContractTx:input_type -> Contract.UpdateContractTxRequest - 1, // 9: Contract.Contract.FinishContract:output_type -> Contract.FinishContractRespond - 3, // 10: Contract.Contract.ContractList:output_type -> Contract.ContractListRespond - 4, // 11: Contract.Contract.GetContract:output_type -> Contract.ContractData - 6, // 12: Contract.Contract.ContractTxList:output_type -> Contract.ContractTxListRespond - 8, // 13: Contract.Contract.SignContract:output_type -> Contract.SignContractRespond - 11, // 14: Contract.Contract.UpdateContract:output_type -> Contract.UpdateContractRespond - 13, // 15: Contract.Contract.UpdateContractTx:output_type -> Contract.UpdateContractTxRespond - 9, // [9:16] is the sub-list for method output_type - 2, // [2:9] is the sub-list for method input_type +var file_contract_proto_depIdxs = []int32{ + 6, // 0: Contract.ContractListRespond.Data:type_name -> Contract.ContractData + 6, // 1: Contract.ContractTxListRespond.Data:type_name -> Contract.ContractData + 0, // 2: Contract.Contract.CreateContract:input_type -> Contract.CreateContractRequest + 2, // 3: Contract.Contract.FinishContract:input_type -> Contract.FinishContractRequest + 4, // 4: Contract.Contract.ContractList:input_type -> Contract.ContractListRequest + 11, // 5: Contract.Contract.GetContract:input_type -> Contract.GetContractRequest + 7, // 6: Contract.Contract.ContractTxList:input_type -> Contract.ContractTxListRequest + 9, // 7: Contract.Contract.SignContract:input_type -> Contract.SignContractRequest + 12, // 8: Contract.Contract.UpdateContract:input_type -> Contract.UpdateContractRequest + 14, // 9: Contract.Contract.UpdateContractTx:input_type -> Contract.UpdateContractTxRequest + 1, // 10: Contract.Contract.CreateContract:output_type -> Contract.CreateContractRespond + 3, // 11: Contract.Contract.FinishContract:output_type -> Contract.FinishContractRespond + 5, // 12: Contract.Contract.ContractList:output_type -> Contract.ContractListRespond + 6, // 13: Contract.Contract.GetContract:output_type -> Contract.ContractData + 8, // 14: Contract.Contract.ContractTxList:output_type -> Contract.ContractTxListRespond + 10, // 15: Contract.Contract.SignContract:output_type -> Contract.SignContractRespond + 13, // 16: Contract.Contract.UpdateContract:output_type -> Contract.UpdateContractRespond + 15, // 17: Contract.Contract.UpdateContractTx:output_type -> Contract.UpdateContractTxRespond + 10, // [10:18] is the sub-list for method output_type + 2, // [2:10] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } -func init() { file_api_contract_contract_proto_init() } -func file_api_contract_contract_proto_init() { - if File_api_contract_contract_proto != nil { +func init() { file_contract_proto_init() } +func file_contract_proto_init() { + if File_contract_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_api_contract_contract_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_contract_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateContractRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateContractRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FinishContractRequest); i { case 0: return &v.state @@ -1198,7 +1350,7 @@ func file_api_contract_contract_proto_init() { return nil } } - file_api_contract_contract_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_contract_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FinishContractRespond); i { case 0: return &v.state @@ -1210,7 +1362,7 @@ func file_api_contract_contract_proto_init() { return nil } } - file_api_contract_contract_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_contract_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ContractListRequest); i { case 0: return &v.state @@ -1222,7 +1374,7 @@ func file_api_contract_contract_proto_init() { return nil } } - file_api_contract_contract_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_contract_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ContractListRespond); i { case 0: return &v.state @@ -1234,7 +1386,7 @@ func file_api_contract_contract_proto_init() { return nil } } - file_api_contract_contract_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_contract_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ContractData); i { case 0: return &v.state @@ -1246,7 +1398,7 @@ func file_api_contract_contract_proto_init() { return nil } } - file_api_contract_contract_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_contract_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ContractTxListRequest); i { case 0: return &v.state @@ -1258,7 +1410,7 @@ func file_api_contract_contract_proto_init() { return nil } } - file_api_contract_contract_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_contract_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ContractTxListRespond); i { case 0: return &v.state @@ -1270,7 +1422,7 @@ func file_api_contract_contract_proto_init() { return nil } } - file_api_contract_contract_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_contract_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SignContractRequest); i { case 0: return &v.state @@ -1282,7 +1434,7 @@ func file_api_contract_contract_proto_init() { return nil } } - file_api_contract_contract_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_contract_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SignContractRespond); i { case 0: return &v.state @@ -1294,7 +1446,7 @@ func file_api_contract_contract_proto_init() { return nil } } - file_api_contract_contract_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_contract_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetContractRequest); i { case 0: return &v.state @@ -1306,7 +1458,7 @@ func file_api_contract_contract_proto_init() { return nil } } - file_api_contract_contract_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_contract_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateContractRequest); i { case 0: return &v.state @@ -1318,7 +1470,7 @@ func file_api_contract_contract_proto_init() { return nil } } - file_api_contract_contract_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_contract_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateContractRespond); i { case 0: return &v.state @@ -1330,7 +1482,7 @@ func file_api_contract_contract_proto_init() { return nil } } - file_api_contract_contract_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_contract_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateContractTxRequest); i { case 0: return &v.state @@ -1342,7 +1494,7 @@ func file_api_contract_contract_proto_init() { return nil } } - file_api_contract_contract_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_contract_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateContractTxRespond); i { case 0: return &v.state @@ -1359,18 +1511,18 @@ func file_api_contract_contract_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_api_contract_contract_proto_rawDesc, + RawDescriptor: file_contract_proto_rawDesc, NumEnums: 0, - NumMessages: 14, + NumMessages: 16, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_api_contract_contract_proto_goTypes, - DependencyIndexes: file_api_contract_contract_proto_depIdxs, - MessageInfos: file_api_contract_contract_proto_msgTypes, + GoTypes: file_contract_proto_goTypes, + DependencyIndexes: file_contract_proto_depIdxs, + MessageInfos: file_contract_proto_msgTypes, }.Build() - File_api_contract_contract_proto = out.File - file_api_contract_contract_proto_rawDesc = nil - file_api_contract_contract_proto_goTypes = nil - file_api_contract_contract_proto_depIdxs = nil + File_contract_proto = out.File + file_contract_proto_rawDesc = nil + file_contract_proto_goTypes = nil + file_contract_proto_depIdxs = nil } diff --git a/pb/contract/contract.proto b/pb/contract/contract.proto index 556a18f..65237d8 100644 --- a/pb/contract/contract.proto +++ b/pb/contract/contract.proto @@ -3,6 +3,8 @@ package Contract; option go_package = "./;contract"; //$ protoc --proto_path=. --go_out=./api/contract --go-triple_out=./api/contract ./api/contract/contract.proto service Contract { + + rpc CreateContract (CreateContractRequest) returns (CreateContractRespond) {} rpc FinishContract (FinishContractRequest) returns (FinishContractRespond) {} rpc ContractList (ContractListRequest) returns (ContractListRespond) {} rpc GetContract (GetContractRequest) returns (ContractData) {} @@ -12,7 +14,15 @@ service Contract { rpc UpdateContractTx(UpdateContractTxRequest) returns (UpdateContractTxRespond) {} } +message CreateContractRequest { + string ArtistUid = 1 [json_name="artist_uid"]; + repeated string ArtworkUid = 2 [json_name="artwork_uid"]; + int32 Type = 3 [json_name="type"]; +} +message CreateContractRespond{ + string Msg = 1 [json_name = "msg"]; +} message FinishContractRequest { string TransactionId = 1 [json_name="transactionId"]; diff --git a/pb/contract/contract.validator.pb.go b/pb/contract/contract.validator.pb.go new file mode 100644 index 0000000..775ef5e --- /dev/null +++ b/pb/contract/contract.validator.pb.go @@ -0,0 +1,79 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: contract.proto + +package contract + +import ( + fmt "fmt" + math "math" + proto "github.com/golang/protobuf/proto" + github_com_mwitkow_go_proto_validators "github.com/mwitkow/go-proto-validators" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +func (this *CreateContractRequest) Validate() error { + return nil +} +func (this *CreateContractRespond) Validate() error { + return nil +} +func (this *FinishContractRequest) Validate() error { + return nil +} +func (this *FinishContractRespond) Validate() error { + return nil +} +func (this *ContractListRequest) Validate() error { + return nil +} +func (this *ContractListRespond) Validate() error { + for _, item := range this.Data { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Data", err) + } + } + } + return nil +} +func (this *ContractData) Validate() error { + return nil +} +func (this *ContractTxListRequest) Validate() error { + return nil +} +func (this *ContractTxListRespond) Validate() error { + for _, item := range this.Data { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Data", err) + } + } + } + return nil +} +func (this *SignContractRequest) Validate() error { + return nil +} +func (this *SignContractRespond) Validate() error { + return nil +} +func (this *GetContractRequest) Validate() error { + return nil +} +func (this *UpdateContractRequest) Validate() error { + return nil +} +func (this *UpdateContractRespond) Validate() error { + return nil +} +func (this *UpdateContractTxRequest) Validate() error { + return nil +} +func (this *UpdateContractTxRespond) Validate() error { + return nil +} diff --git a/pb/contract/contract_triple.pb.go b/pb/contract/contract_triple.pb.go index cd742bd..948c21a 100644 --- a/pb/contract/contract_triple.pb.go +++ b/pb/contract/contract_triple.pb.go @@ -1,8 +1,8 @@ // Code generated by protoc-gen-go-triple. DO NOT EDIT. // versions: -// - protoc-gen-go-triple v1.0.5 -// - protoc v3.9.0 -// source: api/contract/contract.proto +// - protoc-gen-go-triple v1.0.8 +// - protoc v3.21.8 +// source: contract.proto package contract @@ -28,6 +28,7 @@ const _ = grpc_go.SupportPackageIsVersion7 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type ContractClient interface { + CreateContract(ctx context.Context, in *CreateContractRequest, opts ...grpc_go.CallOption) (*CreateContractRespond, common.ErrorWithAttachment) FinishContract(ctx context.Context, in *FinishContractRequest, opts ...grpc_go.CallOption) (*FinishContractRespond, common.ErrorWithAttachment) ContractList(ctx context.Context, in *ContractListRequest, opts ...grpc_go.CallOption) (*ContractListRespond, common.ErrorWithAttachment) GetContract(ctx context.Context, in *GetContractRequest, opts ...grpc_go.CallOption) (*ContractData, common.ErrorWithAttachment) @@ -42,6 +43,7 @@ type contractClient struct { } type ContractClientImpl struct { + CreateContract func(ctx context.Context, in *CreateContractRequest) (*CreateContractRespond, error) FinishContract func(ctx context.Context, in *FinishContractRequest) (*FinishContractRespond, error) ContractList func(ctx context.Context, in *ContractListRequest) (*ContractListRespond, error) GetContract func(ctx context.Context, in *GetContractRequest) (*ContractData, error) @@ -63,6 +65,12 @@ func NewContractClient(cc *triple.TripleConn) ContractClient { return &contractClient{cc} } +func (c *contractClient) CreateContract(ctx context.Context, in *CreateContractRequest, opts ...grpc_go.CallOption) (*CreateContractRespond, common.ErrorWithAttachment) { + out := new(CreateContractRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreateContract", in, out) +} + func (c *contractClient) FinishContract(ctx context.Context, in *FinishContractRequest, opts ...grpc_go.CallOption) (*FinishContractRespond, common.ErrorWithAttachment) { out := new(FinishContractRespond) interfaceKey := ctx.Value(constant.InterfaceKey).(string) @@ -109,6 +117,7 @@ func (c *contractClient) UpdateContractTx(ctx context.Context, in *UpdateContrac // All implementations must embed UnimplementedContractServer // for forward compatibility type ContractServer interface { + CreateContract(context.Context, *CreateContractRequest) (*CreateContractRespond, error) FinishContract(context.Context, *FinishContractRequest) (*FinishContractRespond, error) ContractList(context.Context, *ContractListRequest) (*ContractListRespond, error) GetContract(context.Context, *GetContractRequest) (*ContractData, error) @@ -124,6 +133,9 @@ type UnimplementedContractServer struct { proxyImpl protocol.Invoker } +func (UnimplementedContractServer) CreateContract(context.Context, *CreateContractRequest) (*CreateContractRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateContract not implemented") +} func (UnimplementedContractServer) FinishContract(context.Context, *FinishContractRequest) (*FinishContractRespond, error) { return nil, status.Errorf(codes.Unimplemented, "method FinishContract not implemented") } @@ -173,6 +185,35 @@ func RegisterContractServer(s grpc_go.ServiceRegistrar, srv ContractServer) { s.RegisterService(&Contract_ServiceDesc, srv) } +func _Contract_CreateContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateContractRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("CreateContract", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + func _Contract_FinishContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(FinishContractRequest) if err := dec(in); err != nil { @@ -383,6 +424,10 @@ var Contract_ServiceDesc = grpc_go.ServiceDesc{ ServiceName: "Contract.Contract", HandlerType: (*ContractServer)(nil), Methods: []grpc_go.MethodDesc{ + { + MethodName: "CreateContract", + Handler: _Contract_CreateContract_Handler, + }, { MethodName: "FinishContract", Handler: _Contract_FinishContract_Handler, @@ -413,5 +458,5 @@ var Contract_ServiceDesc = grpc_go.ServiceDesc{ }, }, Streams: []grpc_go.StreamDesc{}, - Metadata: "api/contract/contract.proto", + Metadata: "contract.proto", } diff --git a/pb/old/artwork/artwork.proto b/pb/old/artwork/artwork.proto index b640593..52758dd 100644 --- a/pb/old/artwork/artwork.proto +++ b/pb/old/artwork/artwork.proto @@ -22,7 +22,7 @@ message UpdateMsgRespond { } -} + message ListInterfaceRespond { int64 Total = 1 [json_name = "total"]; From dec8716a9312315a5a075e719effac303226e069 Mon Sep 17 00:00:00 2001 From: songchuang <192749120@qq.com> Date: Fri, 10 Mar 2023 17:58:13 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=90=88=E5=90=8C=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/internal/controller/contract.go | 24 + cmd/internal/dao/contract.go | 294 +- cmd/internal/logic/contract.go | 551 ++- cmd/model/contract.go | 23 + cmd/model/old/contract.go | 98 - pb/contract/contract.pb.go | 1343 ++++--- pb/contract/contract.proto | 81 +- pb/contract/contract.validator.pb.go | 32 +- pb/contract/contract_triple.pb.go | 161 +- pb/contract_microservice/contract.pb.go | 3486 +++++++++++++++++ pb/contract_microservice/contract.proto | 298 ++ .../contract.validator.pb.go | 131 + .../contract_triple.pb.go | 1047 +++++ pkg/m/msg.go | 1 + pkg/service/init.go | 6 +- 15 files changed, 6708 insertions(+), 868 deletions(-) create mode 100644 cmd/model/contract.go create mode 100644 pb/contract_microservice/contract.pb.go create mode 100644 pb/contract_microservice/contract.proto create mode 100644 pb/contract_microservice/contract.validator.pb.go create mode 100644 pb/contract_microservice/contract_triple.pb.go diff --git a/cmd/internal/controller/contract.go b/cmd/internal/controller/contract.go index d487040..77f329e 100644 --- a/cmd/internal/controller/contract.go +++ b/cmd/internal/controller/contract.go @@ -21,6 +21,30 @@ func (c *ContractProvider) CreateContract(ctx context.Context, req *contract.Cre return rep, nil } +func (c *ContractProvider) ContractListMgmt(ctx context.Context, req *contract.ContractListMgmtRequest) (rep *contract.ContractListMgmtRespond, err error) { + fmt.Println("第一处") + if rep, err = c.contractLogic.ContractListMgmt(req); err != nil { + return nil, err + } + return rep, nil +} + +func (c *ContractProvider) ContractList(ctx context.Context, req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) { + fmt.Println("第一处") + if rep, err = c.contractLogic.ContractList(req); err != nil { + return nil, err + } + return rep, nil +} + +func (c *ContractProvider) SignContract(ctx context.Context, req *contract.SignContractRequest) (rep *contract.SignContractRespond, err error) { + fmt.Println("第一处") + if rep, err = c.contractLogic.SignContract(req); err != nil { + return nil, err + } + return rep, nil +} + // func (c *ContractProvider) FinishContract(ctx context.Context, req *contract.FinishContractRequest) (rep *contract.FinishContractRespond, err error) { // fmt.Println("第一处") // if rep, err = c.contractLogic.FinishContract(req); err != nil { diff --git a/cmd/internal/dao/contract.go b/cmd/internal/dao/contract.go index 48c5f73..f4c8d2e 100644 --- a/cmd/internal/dao/contract.go +++ b/cmd/internal/dao/contract.go @@ -1,30 +1,24 @@ package dao import ( + "context" "errors" -<<<<<<< HEAD -======= - "github.com/fonchain/fonchain-artistinfo/cmd/model/old" - "time" ->>>>>>> xjjdev + "strings" "github.com/fonchain/fonchain-artistinfo/cmd/model" + "github.com/fonchain/fonchain-artistinfo/pb/artwork" + "github.com/fonchain/fonchain-artistinfo/pb/contract" db "github.com/fonchain/fonchain-artistinfo/pkg/db" "github.com/fonchain/fonchain-artistinfo/pkg/m" + "github.com/fonchain/fonchain-artistinfo/pkg/service" uuid "github.com/satori/go.uuid" "go.uber.org/zap" "gorm.io/gorm" ) -<<<<<<< HEAD func GetMgmtContractByArtistUid(artistUid string, contractType int32) (err error) { var contract model.Contract if err = db.DB.Where("artist_uid = ? AND type = ?", artistUid, contractType).First(&contract).Error; err != nil && err != gorm.ErrRecordNotFound { -======= -func FinishContract(id string) (err error) { - var contracts old.Contract - if err = db.DB.Where("transaction_id = ?", id).First(&contracts).Error; err != nil { ->>>>>>> xjjdev zap.L().Error("get contract info err", zap.Error(err)) err = errors.New(m.ERROR_SELECT) return @@ -39,150 +33,44 @@ func CreateArtistContract(tx *gorm.DB, contract *model.Contract) (err error) { err = errors.New(m.CREATE_ERROR) return } -<<<<<<< HEAD return } func GetMgmtContractByArtworkUid(artworkUid string, artworkType int32) (err error) { //画作有合同类型是2,6的都是 点击过"著作权代理转让服务合同"的 var contract model.Contract - if err = db.DB.Where("artwork_uid = ? AND type = ?", artworkUid, 2).First(&contract).Error; err != nil && err != gorm.ErrRecordNotFound { -======= - // todo - //var realName model.RealName - //if err = db.DB.Where("id = ? ", user.RealNameID).First(&realName).Error; err != nil { - // zap.L().Error("get realName info err", zap.Error(err)) - // err = errors.New(m.ERROR_SELECT) - // return - //} - - var args []interface{} - var sqlWhere = "user_id = ? and type !=4 " - args = append(args, req.ID) - - if req.State != 0 { - sqlWhere += " and state = ? " - if req.State == 2 { - req.State = 3 - } - args = append(args, req.State) - } - - var contractModel []old.Contract - if err = db.DB.Where(sqlWhere, args...).Find(&contractModel).Error; err != nil { - zap.L().Error("get contractModels info err", zap.Error(err)) - err = errors.New(m.ERROR_SELECT) - return - } - - for _, v := range contractModel { - contract := &contract.ContractData{} - contract.ID = uint64(v.ID) - contract.ContractId = v.ContractId - contract.DownloadUrl = v.DownloadUrl - contract.MgmtUserId = v.MgmtUserId - contract.State = int64(v.State) - contract.TransactionId = v.TransactionId - contract.Type = int64(v.Type) - contract.UserId = int64(v.UserId) - contract.ViewUrl = v.ViewUrl - contract.ExpirationTime = v.CreatedAt.Add(86400 * time.Second).Format("2006-01-02 15:04:05") - contract.SignTime = v.UpdatedAt.Format("2006-01-02") - Data = append(Data, contract) - } - - rep.Data = Data - - return -} - -func ContractTxList(req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) { - rep = &contract.ContractTxListRespond{} - var Data []*contract.ContractData - - var user model.User - if err = db.DB.Where("id = ? ", int32(req.ID)).First(&user).Error; err != nil { - zap.L().Error("get user info err", zap.Error(err)) - err = errors.New(m.ERROR_SELECT) - return - } - // todo - //var realName model.RealName - //if err = db.DB.Where("id = ? ", user.RealNameID).First(&realName).Error; err != nil { - // zap.L().Error("get realName info err", zap.Error(err)) - // err = errors.New(m.ERROR_SELECT) - // return - //} - // - //var args []interface{} - //var sqlWhere = " card_id = ? and (type = 4 or type = 7) " - //args = append(args, realName.IDNum) - //if req.State != 0 { - // sqlWhere += " and state = ? " - // args = append(args, req.State) - //} - // - //var contractModel []model.Contract - //if err = db.DB.Where(sqlWhere, args...).Find(&contractModel).Error; err != nil { - // zap.L().Error("get contractModels info err", zap.Error(err)) - // err = errors.New(m.ERROR_SELECT) - // return - //} - // - //for _, v := range contractModel { - // contractTmp := &contract.ContractData{} - // contractTmp.ID = uint64(v.ID) - // contractTmp.ContractId = v.ContractId - // contractTmp.DownloadUrl = v.DownloadUrl - // contractTmp.MgmtUserId = v.MgmtUserId - // contractTmp.State = int64(v.State) - // contractTmp.TransactionId = v.TransactionId - // contractTmp.Type = int64(v.Type) - // var b string - // if v.Type == 4 { - // b = "物权" - // } - // if v.Type == 7 { - // b = "版权" - // } - // contractTmp.BatchName = b + v.BatchName[0:4] + "年" + v.BatchName[4:6] + "月" + v.BatchName[6:11] + "年" + v.BatchName[11:13] + "月" - // contractTmp.UserId = int64(v.UserId) - // contractTmp.ViewUrl = v.ViewUrl - // contractTmp.ExpirationTime = v.CreatedAt.Add(86400 * time.Second).Format("2006-01-02 15:04:05") - // contractTmp.SignTime = v.UpdatedAt.Format("2006-01-02") - // Data = append(Data, contractTmp) - //} - - rep.Data = Data - - return -} - -func GetContract(id int32) (rep *contract.ContractData, err error) { - var con old.Contract - if err = db.DB.Where("id = ? ", id).First(&con).Error; err != nil { ->>>>>>> xjjdev + if err = db.DB.Where("artwork_uid LiKE ? AND type = ?", "%"+artworkUid+"%", artworkType).First(&contract).Error; err != nil && err != gorm.ErrRecordNotFound { zap.L().Error("get contract info err", zap.Error(err)) err = errors.New(m.ERROR_SELECT) return } + + //err 为空则查询到,返回画作合同已存在的错误 + if err == nil { + err = errors.New(m.ARTWORK_CONTRACT_EXISTS) + } + return } -func CreateArtworkContract(tx *gorm.DB, artworkUid string, artistUid string, contractType int32) (err error) { +func CreateArtworkContract(tx *gorm.DB, artworkUid []string, artistUid string, contractType int32, latestLockTime string) (err error) { var uid uuid.UUID if uid, err = uuid.NewV4(); err != nil { err = errors.New(m.ERROR_UID) return } + //将画作切片转换成字符串格式便于保存 + ArtworkUid := strings.Join(artworkUid, ",") contract := &model.Contract{ Uid: uid.String(), ArtistUid: artistUid, - ArtworkUid: artworkUid, + ArtworkUid: ArtworkUid, Type: contractType, State: 1, + Status: 2, + LockTime: latestLockTime, } if err = tx.Create(contract).Error; err != nil { zap.L().Error("create contract err", zap.Error(err)) @@ -193,7 +81,127 @@ func CreateArtworkContract(tx *gorm.DB, artworkUid string, artistUid string, con return } -<<<<<<< HEAD +func GetArtistNoByUid(artistUid string) (err error) { + var user model.User + if err = db.DB.Where("mgmt_artist_uid = ?", artistUid).First(&user).Error; err != nil { + zap.L().Error("get user info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return + } + return +} + +func GetContractList(artistUid string, pageSize, offset int32) (contracts []*contract.Contracts, err error) { + + var contractSlice []model.Contract + if err = db.DB.Where("artist_uid = ?", artistUid).Order("ID asc").Limit(int(pageSize)).Offset(int(offset)).Find(&contractSlice).Error; err != nil { + zap.L().Error("create contracts info err", zap.Error(err)) + err = errors.New(m.CREATE_ERROR) + return + } + + for _, v := range contractSlice { + contcontract := &contract.Contracts{ + ContractUid: v.Uid, + ArtistUid: v.ArtistUid, + ArtworkUid: v.ArtworkUid, + ContractId: v.ContractId, + TransactionId: v.TransactionId, + Type: v.Type, + ViewUrl: v.ViewUrl, + DownloadUrl: v.DownloadUrl, + State: v.State, + Status: int32(v.Status), + LockTime: v.LockTime, + } + + contracts = append(contracts, contcontract) + } + + return + +} + +func GetArtistInfoById(id int32) (user model.User, err error) { + if err = db.DB.Where("mgmt_artist_id = ?", id).First(&user).Error; err != nil { + zap.L().Error("get user info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return + } + return +} + +func ContractList(artist_uid string, state int32) (ContractData []*contract.Contracts, err error) { + + if state != 0 { + if state == 2 { + state = 3 + } + } + + var contracts []model.Contract + if err = db.DB.Where("artist_uid = ? AND type != 4 AND state = ?", artist_uid, state).Find(&contracts).Error; err != nil { + zap.L().Error("get contracts info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return + } + + for _, v := range contracts { + + Contract := &contract.Contracts{ + ContractUid: v.Uid, + ArtistUid: v.ArtistUid, + ArtworkUid: v.ArtworkUid, + ContractId: v.ContractId, + TransactionId: v.TransactionId, + Type: v.Type, + ViewUrl: v.ViewUrl, + DownloadUrl: v.DownloadUrl, + State: v.State, + Status: int32(v.Status), + LockTime: v.LockTime, + SignTime: v.SignTime, + } + + ContractData = append(ContractData, Contract) + } + + return +} + +func GetContractInfo(ContractId int32) (contractInfo model.Contract, err error) { + if err = db.DB.Where("id = ?", ContractId).First(&contractInfo).Error; err != nil { + zap.L().Error("get contract info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return + } + return +} + +func UpdateContract(tx *gorm.DB, artistUid, ViewPdfUrl, DownloadUrl, ContractNo string) (err error) { + if err = tx.Model(&model.Contract{}).Where("artist_uid = ?", artistUid).Updates(model.Contract{ViewUrl: ViewPdfUrl, DownloadUrl: DownloadUrl, ContractId: ContractNo}).Error; err != nil { + zap.L().Error("update contract info err", zap.Error(err)) + err = errors.New(m.UPDATE_FAILED) + return + } + return +} + +// 根据画作uid获取画作信息 +func GetArtworkProfileByArtworkUid(artworkUid string) (artworkProfileInfo *artwork.ArtworkDetailResponse, err error) { + artworkProfileInfo = &artwork.ArtworkDetailResponse{} + + artworkDetailRequest := &artwork.ArtworkDetailRequest{ + ArtworkUuid: artworkUid, + Type: "1", + } + artworkDetailResponse, err := service.ArtworkImpl.ArtworkDetail(context.Background(), artworkDetailRequest) + if err != nil { + return + } + return artworkDetailResponse, nil +} + // func FinishContract(tx *gorm.DB, id string) (contract model.Contract, err error) { // if err = tx.Where("transaction_id = ?", id).First(&contract).Error; err != nil { // zap.L().Error("get contract info err", zap.Error(err)) @@ -403,27 +411,3 @@ func CreateArtworkContract(tx *gorm.DB, artworkUid string, artistUid string, con // } // return // } -======= -// 更新交易id -func UpdateContract(req *contract.UpdateContractRequest) error { - //数据库操作异常 - var con old.Contract - if err := db.DB.Model(&con).Updates(&old.Contract{ContractId: req.ContractId, ViewUrl: req.ViewUrl, DownloadUrl: req.DownloadUrl}).Error; err != nil { - return err - } - return nil -} - -// 更新交易id -func UpdateContractTx(txId string, contractId int32) (err error) { - var con old.Contract - con.ID = contractId - if err = db.DB.Model(&con).Update("transaction_id", txId).Error; err != nil { - return - } - if err = db.DB.Model(&con).Update("state", 1).Error; err != nil { - return - } - return -} ->>>>>>> xjjdev diff --git a/cmd/internal/logic/contract.go b/cmd/internal/logic/contract.go index 061aefb..cc597e0 100644 --- a/cmd/internal/logic/contract.go +++ b/cmd/internal/logic/contract.go @@ -2,28 +2,37 @@ package logic import ( "context" + "encoding/json" "errors" + "fmt" + "strings" + "time" "github.com/fonchain/fonchain-artistinfo/cmd/internal/dao" "github.com/fonchain/fonchain-artistinfo/cmd/model" "github.com/fonchain/fonchain-artistinfo/pb/artist" + "github.com/fonchain/fonchain-artistinfo/pb/artistInfoUser" "github.com/fonchain/fonchain-artistinfo/pb/contract" + contractMicroservice "github.com/fonchain/fonchain-artistinfo/pb/contract_microservice" db "github.com/fonchain/fonchain-artistinfo/pkg/db" "github.com/fonchain/fonchain-artistinfo/pkg/m" "github.com/fonchain/fonchain-artistinfo/pkg/service" uuid "github.com/satori/go.uuid" - "go.uber.org/zap" "gorm.io/gorm" ) type IContract interface { CreateContract(req *contract.CreateContractRequest) (rep *contract.CreateContractRespond, err error) - FinishContract(req *contract.FinishContractRequest) (rep *contract.FinishContractRespond, err error) + ContractListMgmt(req *contract.ContractListMgmtRequest) (rep *contract.ContractListMgmtRespond, err error) ContractList(req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) - ContractTxList(req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) - UpdateContract(req *contract.UpdateContractRequest) (rep *contract.UpdateContractRespond, err error) - UpdateContractTx(req *contract.UpdateContractTxRequest) (rep *contract.UpdateContractTxRespond, err error) - GetContract(req *contract.GetContractRequest) (rep *contract.ContractData, err error) + SignContract(req *contract.SignContractRequest) (rep *contract.SignContractRespond, err error) + + // FinishContract(req *contract.FinishContractRequest) (rep *contract.FinishContractRespond, err error) + // ContractList(req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) + // ContractTxList(req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) + // UpdateContract(req *contract.UpdateContractRequest) (rep *contract.UpdateContractRespond, err error) + // UpdateContractTx(req *contract.UpdateContractTxRequest) (rep *contract.UpdateContractTxRespond, err error) + // GetContract(req *contract.GetContractRequest) (rep *contract.ContractData, err error) } func NewContract() IContract { @@ -35,15 +44,22 @@ type Contract struct { func (a *Contract) CreateContract(req *contract.CreateContractRequest) (rep *contract.CreateContractRespond, err error) { rep = &contract.CreateContractRespond{} - //查看画家是否存在 - if _, err := service.GrpcArtistImpl.ArtistInfo(context.Background(), &artist.ArtistInfoRequest{Uid: req.ArtistUid}); err != nil { - zap.L().Error("update airDrop err", zap.Error(err)) - return rep, errors.New(m.ERROR_UPDATE + err.Error()) - } //遇到错误数据库回滚 tx := db.DB.Begin() + userInfo, err := NewArtistInfo().FindUser(&artistInfoUser.FindUserRequest{ + MgmtArtistUid: req.ArtistUid, + IsArtist: true, + }) + + if err != nil { + return + } + if userInfo.Id == 0 { + return + } + switch req.Type { //1 画家合同(不涉及画家的画作) case 1: @@ -62,6 +78,8 @@ func (a *Contract) CreateContract(req *contract.CreateContractRequest) (rep *con ArtistUid: req.ArtistUid, Type: 1, State: 1, + Status: 2, + LockTime: userInfo.LatestLockTime, } if err = dao.CreateArtistContract(tx, contract); err != nil { @@ -75,31 +93,57 @@ func (a *Contract) CreateContract(req *contract.CreateContractRequest) (rep *con for _, v := range req.ArtworkUid { //查看画作合同是否已经存在,不存在继续,类型2、6 if err = dao.GetMgmtContractByArtworkUid(v, 2); err == gorm.ErrRecordNotFound { - if err = dao.GetMgmtContractByArtworkUid(v, 6); err == gorm.ErrRecordNotFound { + } else { + return + } - //创建画家画作合同,类型2 - if err = dao.CreateArtworkContract(tx, v, req.ArtistUid, 2); err != nil { - tx.Rollback() - return - } + if err = dao.GetMgmtContractByArtworkUid(v, 6); err == gorm.ErrRecordNotFound { - //创建画家画作合同,类型6 - if err = dao.CreateArtworkContract(tx, v, req.ArtistUid, 6); err != nil { - tx.Rollback() - return - } - - } else { - return - } } else { return } } + //创建画家画作合同,类型2,如果批次选择多个画作的话,那么多个画在一个合同中 + if err = dao.CreateArtworkContract(tx, req.ArtworkUid, req.ArtistUid, 2, userInfo.LatestLockTime); err != nil { + tx.Rollback() + return + } + + //创建画家画作合同,类型6 + if err = dao.CreateArtworkContract(tx, req.ArtworkUid, req.ArtistUid, 6, userInfo.LatestLockTime); err != nil { + tx.Rollback() + return + } + case 3: + for _, v := range req.ArtworkUid { + //查看画作合同是否已经存在,不存在继续,类型3 + if err = dao.GetMgmtContractByArtworkUid(v, 3); err == gorm.ErrRecordNotFound { + } else { + return + } + + //创建画家画作合同,类型3 + if err = dao.CreateArtworkContract(tx, req.ArtworkUid, req.ArtistUid, 3, userInfo.LatestLockTime); err != nil { + tx.Rollback() + return + } + } case 5: + for _, v := range req.ArtworkUid { + //查看画作合同是否已经存在,不存在继续,类型5 + if err = dao.GetMgmtContractByArtworkUid(v, 5); err == gorm.ErrRecordNotFound { + } else { + return + } + //创建画家画作合同,类型3 + if err = dao.CreateArtworkContract(tx, req.ArtworkUid, req.ArtistUid, 5, userInfo.LatestLockTime); err != nil { + tx.Rollback() + return + } + } default: err = errors.New("type值出错!") @@ -111,6 +155,461 @@ func (a *Contract) CreateContract(req *contract.CreateContractRequest) (rep *con return } +func (a *Contract) ContractListMgmt(req *contract.ContractListMgmtRequest) (rep *contract.ContractListMgmtRespond, err error) { + rep = &contract.ContractListMgmtRespond{} + //查看是否有该画家 + if err = dao.GetArtistNoByUid(req.ArtistUid); err != nil { + return + } + + //合同分页查询操作 + if req.Page < 1 { + req.Page = 1 + } + if req.Num < 1 { + req.Num = 15 + } + offset := (req.Page - 1) * req.Num + + //获取该用户的所有合同 + contracts, err := dao.GetContractList(req.ArtistUid, req.Num, offset) + if err != nil { + return + } + rep.Data = contracts + + return +} + +func (a *Contract) ContractList(req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) { + + //查看是否有该画家 + user, err := dao.GetArtistInfoById(req.ID) + if err != nil { + return + } + + ContractData, err := dao.ContractList(user.MgmtArtistUid, req.State) + if err != nil { + return + } + + rep = &contract.ContractListRespond{ + Data: ContractData, + } + + return +} + +func (a *Contract) SignContract(req *contract.SignContractRequest) (rep *contract.SignContractRespond, err error) { + rep = &contract.SignContractRespond{} + + //遇到错误数据库回滚 + tx := db.DB.Begin() + + //根据合同id获取具体合同信息 + contractInfo, err := dao.GetContractInfo(req.ContractId) + if err != nil { + return + } + + artistInfo, err := dao.GetArtistInfoById(req.ID) + if err != nil { + return + } + + detailRequest := &artist.DetailRequest{ + Uid: artistInfo.MgmtArtistUid, + } + artistDetailResponse, err := service.GrpcArtistImpl.ArtistDetail(context.Background(), detailRequest) + if err != nil { + return rep, err + } + + if contractInfo.Type != 4 && contractInfo.Type != 7 { + + switch contractInfo.Type { + case 1: + var ContractNo = fmt.Sprintf("TF_%d", time.Now().UnixNano()) + endTime := time.Now().AddDate(1, 0, -1) + parameterMap := make((map[string]string), 0) + + // 一、 模板填充 + parameterMap["PartyAName"] = artistDetailResponse.ProfileInfo.Name + parameterMap["PartyAAddress"] = artistDetailResponse.ProfileInfo.Address + parameterMap["PartyAIdentityCard"] = artistDetailResponse.ProfileInfo.CardId + parameterMap["PartyATelNum"] = artistDetailResponse.ProfileInfo.Phone + parameterMap["PartyBRule"] = "240" + parameterMap["SettleNum"] = "2" + parameterMap["SettleSec"] = "100" + parameterMap["ActivityNum"] = "2" + parameterMap["SettlerTypeFour"] = "2" + parameterMap["PowerDay"] = "5" + parameterMap["EffectStartYear"] = fmt.Sprintf("%d", time.Now().Year()) + parameterMap["EffectStartMonth"] = fmt.Sprintf("%d", time.Now().Month()) + parameterMap["EffectStartDay"] = fmt.Sprintf("%d", time.Now().Day()) + parameterMap["EffectEndYear"] = fmt.Sprintf("%d", endTime.Year()) + parameterMap["EffectEndMonth"] = fmt.Sprintf("%d", endTime.Month()) + parameterMap["EffectEndDay"] = fmt.Sprintf("%d", endTime.Day()) + parameterMap["PartyBLegal"] = "胡婷" + + //将map转换为string类型 + parameterMapType, err := json.Marshal(parameterMap) + if err != nil { + return rep, err + } + + generateContractRequest := &contractMicroservice.GenerateContractRequest{ + TemplateId: "一手画市场18", + ContractId: ContractNo, + ParameterMap: string(parameterMapType), + } + generateContractResponse, err := service.ContractImpl.GenerateContract(context.Background(), generateContractRequest) + if err != nil { + return rep, err + } + + //二、 自动签署 + extSignAutoRequest := &contractMicroservice.ExtSignAutoRequest{ + TransactionId: fmt.Sprintf("TFAU_%d", time.Now().UnixNano()), + ContractId: ContractNo, + CustomerId: "1A958BFD01E6551D06381DA6C0B19259", + DocTitle: fmt.Sprintf("TFAU_%d", time.Now().UnixNano()), + SignKeyword: "受托方(乙方)", + SignatureId: "1668589742383450", + KeyX: "120", + KeyY: "0", + } + + _, err = service.ContractImpl.ExtSignAuto(context.Background(), extSignAutoRequest) + if err != nil { + return rep, err + } + + //更新合同表,将合同的下载、在线、id保存 + err = dao.UpdateContract(tx, contractInfo.Uid, generateContractResponse.ViewPdfUrl, generateContractResponse.DownloadUrl, ContractNo) + if err != nil { + return rep, err + } + + case 2: + + var ContractNo = fmt.Sprintf("TF_%d", time.Now().UnixNano()) + var parameterMap = make(map[string]string) + endTime := time.Now().AddDate(1, 0, -1) + parameterMap["ContractNo"] = ContractNo + parameterMap["PartyAName"] = artistDetailResponse.ProfileInfo.Name + parameterMap["PartyAAddress"] = artistDetailResponse.ProfileInfo.Address + parameterMap["PartyAIdentityCard"] = artistDetailResponse.ProfileInfo.CardId + parameterMap["PartyATelNum"] = artistDetailResponse.ProfileInfo.Phone + parameterMap["SettleNum"] = "2" + parameterMap["SettleSecOne"] = "0" + parameterMap["SettleSecTwo"] = "100" + parameterMap["ActivityNum"] = "2" + parameterMap["SettlerTypeFour"] = "2" + parameterMap["PowerDay"] = "5" + parameterMap["EffectStartYear"] = fmt.Sprintf("%d", time.Now().Year()) + parameterMap["EffectStartMonth"] = fmt.Sprintf("%d", time.Now().Month()) + parameterMap["EffectStartDay"] = fmt.Sprintf("%d", time.Now().Day()) + parameterMap["EffectEndYear"] = fmt.Sprintf("%d", endTime.Year()) + parameterMap["EffectEndMonth"] = fmt.Sprintf("%d", endTime.Month()) + parameterMap["EffectEndDay"] = fmt.Sprintf("%d", endTime.Day()) + parameterMap["PartyBLegal"] = "邬侨华" + + //将map转换为string类型 + parameterMapType, err := json.Marshal(parameterMap) + if err != nil { + return rep, err + } + + generateContractRequest := &contractMicroservice.GenerateContractRequest{ + TemplateId: "著作权代理转让服务合同20", + ContractId: ContractNo, + ParameterMap: string(parameterMapType), + } + generateContractResponse, err := service.ContractImpl.GenerateContract(context.Background(), generateContractRequest) + if err != nil { + return rep, err + } + + //二、 自动签署 + extSignAutoRequest := &contractMicroservice.ExtSignAutoRequest{ + TransactionId: fmt.Sprintf("TFAU_%d", time.Now().UnixNano()), + ContractId: ContractNo, + CustomerId: "F49C748A0C06431BC620354F4491BD37", + DocTitle: fmt.Sprintf("TFAU_%d", time.Now().UnixNano()), + SignKeyword: "受托方(乙方)", + SignatureId: "1668589763366246", + KeyX: "120", + KeyY: "0", + } + + _, err = service.ContractImpl.ExtSignAuto(context.Background(), extSignAutoRequest) + if err != nil { + return rep, err + } + + //更新合同表,将合同的下载、在线、id保存 + err = dao.UpdateContract(tx, contractInfo.Uid, generateContractResponse.ViewPdfUrl, generateContractResponse.DownloadUrl, ContractNo) + if err != nil { + return rep, err + } + + case 3: + var ContractNo = fmt.Sprintf("TF_%d", time.Now().UnixNano()) + + //获取画作信息 + artworkDetailResponse, err := dao.GetArtworkProfileByArtworkUid(contractInfo.ArtworkUid) + if err != nil { + return rep, err + } + + var parameterMap = make(map[string]string) + parameterMap["PartyAName"] = artistDetailResponse.ProfileInfo.Name + parameterMap["PartyAIdCard"] = artistDetailResponse.ProfileInfo.CardId + parameterMap["ArtworkName"] = artworkDetailResponse.ProfileInfo.ArtworkName + parameterMap["Year"] = fmt.Sprintf("%d", time.Now().Year()) + parameterMap["Month"] = fmt.Sprintf("%d", time.Now().Month()) + parameterMap["Day"] = fmt.Sprintf("%d", time.Now().Day()) + + //将map转换为string类型 + parameterMapType, err := json.Marshal(parameterMap) + if err != nil { + return rep, err + } + + generateContractRequest := &contractMicroservice.GenerateContractRequest{ + TemplateId: "登记授权委托书18", + ContractId: ContractNo, + ParameterMap: string(parameterMapType), + } + generateContractResponse, err := service.ContractImpl.GenerateContract(context.Background(), generateContractRequest) + if err != nil { + return rep, err + } + + //更新合同表,将合同的下载、在线、id保存 + err = dao.UpdateContract(tx, contractInfo.Uid, generateContractResponse.ViewPdfUrl, generateContractResponse.DownloadUrl, ContractNo) + if err != nil { + return rep, err + } + + case 5: + + //获取画作信息 + artworkDetailResponse, err := dao.GetArtworkProfileByArtworkUid(contractInfo.ArtworkUid) + if err != nil { + return rep, err + } + + var ContractNo = fmt.Sprintf("TF_%d", time.Now().UnixNano()) + + var parameterMap = make(map[string]string) + parameterMap["ArtworkName"] = artworkDetailResponse.ProfileInfo.ArtworkName + parameterMap["Year"] = fmt.Sprintf("%d", time.Now().Year()) + parameterMap["Month"] = fmt.Sprintf("%d", time.Now().Month()) + parameterMap["Day"] = fmt.Sprintf("%d", time.Now().Day()) + + //将map转换为string类型 + parameterMapType, err := json.Marshal(parameterMap) + if err != nil { + return rep, err + } + + generateContractRequest := &contractMicroservice.GenerateContractRequest{ + TemplateId: "作品登记承诺书16", + ContractId: ContractNo, + ParameterMap: string(parameterMapType), + } + generateContractResponse, err := service.ContractImpl.GenerateContract(context.Background(), generateContractRequest) + if err != nil { + return rep, err + } + + //更新合同表,将合同的下载、在线、id保存 + err = dao.UpdateContract(tx, contractInfo.Uid, generateContractResponse.ViewPdfUrl, generateContractResponse.DownloadUrl, ContractNo) + if err != nil { + return rep, err + } + + case 6: + ArtistUids := strings.Split(contractInfo.ArtistUid, ",") + + type dynamic struct { + InsertWay int `json:"insertWay"` + Keyword string `json:"keyword"` + CellHeight float64 `json:"cellHeight"` + ColWidthPercent []int `json:"colWidthPercent"` + TheFirstHeader string `json:"theFirstHeader"` + CellHorizontalAlignment int `json:"cellHorizontalAlignment"` + CellVerticalAlignment int `json:"cellVerticalAlignment"` + Headers []string `json:"headers"` + Datas [][]string `json:"datas"` + } + var dynamicList []dynamic + var dynamicOne dynamic + + dynamicOne.InsertWay = 1 + dynamicOne.Keyword = "附表 1" + dynamicOne.CellHeight = 16.0 + dynamicOne.ColWidthPercent = []int{6, 6, 20, 10, 10} + // dynamicOne.TheFirstHeader = + dynamicOne.CellHorizontalAlignment = 1 + dynamicOne.CellVerticalAlignment = 5 + dynamicOne.Headers = []string{"序号", "作品名称", "哈希值", "著作权取得方式(原始/继受)", "继受取得的证明文件"} + + for k, v := range ArtistUids { + //获取画作信息 + artworkDetailResponse, err := dao.GetArtworkProfileByArtworkUid(v) + if err != nil { + return rep, err + } + + var tmps []string + tmps = append(tmps, fmt.Sprintf("%d", k+1)) + tmps = append(tmps, artworkDetailResponse.ProfileInfo.ArtistName) //获取画作名字 + tmps = append(tmps, artworkDetailResponse.DigiInfo.CopyrightHash) //获取版权hash + tmps = append(tmps, "原始") + tmps = append(tmps, "") + dynamicOne.Datas = append(dynamicOne.Datas, tmps) + } + + dynamicList = append(dynamicList, dynamicOne) + + dyByte, err := json.Marshal(dynamicList) + if err != nil { + return rep, err + } + + ContractNo := fmt.Sprintf("TF_%d", time.Now().UnixNano()+1000) + + //一、 模板填充 + var parameterMap = make(map[string]string) + parameterMap["PartyBLegal"] = artistDetailResponse.ProfileInfo.Name + + //将map转换为string类型 + parameterMapType, err := json.Marshal(parameterMap) + if err != nil { + return rep, err + } + + var viewPdfUrl string + var downloadUrl string + + generateContractRequest := &contractMicroservice.GenerateContractRequest{ + ContractId: ContractNo, + ParameterMap: string(parameterMapType), + DynamicTables: string(dyByte), + } + + if len(ArtistUids) > 30 { + + return rep, errors.New("选择画作条数过多") + + } else if len(ArtistUids) <= 15 { + generateContractRequest.TemplateId = "著作权代理转让服务合同——附表152" + generateContractResponse, err := service.ContractImpl.GenerateContract(context.Background(), generateContractRequest) + if err != nil { + return rep, err + } + + viewPdfUrl = generateContractResponse.ViewPdfUrl + downloadUrl = generateContractResponse.DownloadUrl + + } else { + generateContractRequest.TemplateId = "著作权代理转让服务合同——附表302" + generateContractResponse, err := service.ContractImpl.GenerateContract(context.Background(), generateContractRequest) + if err != nil { + return rep, err + } + + viewPdfUrl = generateContractResponse.ViewPdfUrl + downloadUrl = generateContractResponse.DownloadUrl + } + + //二、 自动签署 + extSignAutoRequest := &contractMicroservice.ExtSignAutoRequest{ + TransactionId: fmt.Sprintf("TFAU_%d", time.Now().UnixNano()+1000), + ContractId: ContractNo, + CustomerId: "F49C748A0C06431BC620354F4491BD37", + DocTitle: fmt.Sprintf("TFAU_%d", time.Now().UnixNano()), + SignKeyword: "受托方(乙方)", + SignatureId: "1668589763366246", + KeyX: "120", + KeyY: "0", + } + + _, err = service.ContractImpl.ExtSignAuto(context.Background(), extSignAutoRequest) + if err != nil { + return rep, err + } + + //更新合同表,将合同的下载、在线、id保存 + err = dao.UpdateContract(tx, contractInfo.Uid, viewPdfUrl, downloadUrl, ContractNo) + if err != nil { + tx.Rollback() + return rep, err + } + default: + return rep, errors.New("type出错") + } + } + + //上面数据库没有错误就执行,上面修改的值下面会使用到 + tx.Commit() + + transactionId := fmt.Sprintf("TFTX_%d", time.Now().UnixNano()) + + var signKeyword string + + //从新根据合同id获取具体合同信息 + contractInfo, err = dao.GetContractInfo(req.ContractId) + if err != nil { + return + } + + if contractInfo.Type == 1 || contractInfo.Type == 2 || contractInfo.Type == 6 { + + signKeyword = "委托方(甲方)" + } + if contractInfo.Type == 3 { + signKeyword = "委托人签字:" + } + if contractInfo.Type == 4 { + signKeyword = "画家签字:" + } + if contractInfo.Type == 5 { + signKeyword = "申请人(签章):" + } + signShowTime := "1" + if contractInfo.Type == 5 || contractInfo.Type == 3 || contractInfo.Type == 6 { + signShowTime = "2" + } + // 手动签署 + extSignRequest := &contractMicroservice.ExtSignRequest{ + TransactionId: transactionId, + ContractId: contractInfo.ContractId, + CustomerId: "", + ReturnUrl: "", + DocTitle: "", + OpenEnvironment: "", + MobileSignType: "", + SignKeyword: "", + Keyx: "", + Keyy: "", + SignatureShowTime: "", + PcHandSignature: "", + } + + _, err = service.ContractImpl.ExtSign(context.Background(), extSignRequest) + if err != nil { + return rep, err + } + + return + +} + // func (a *Contract) FinishContract(req *contract.FinishContractRequest) (rep *contract.FinishContractRespond, err error) { // rep = &contract.FinishContractRespond{} diff --git a/cmd/model/contract.go b/cmd/model/contract.go new file mode 100644 index 0000000..bed274e --- /dev/null +++ b/cmd/model/contract.go @@ -0,0 +1,23 @@ +package model + +import "gorm.io/plugin/soft_delete" + +// Contract 用户模型 +type Contract struct { + ID int32 `gorm:"column:id;type:int(11);primary_key;AUTO_INCREMENT" json:"id"` + Uid string `gorm:"column:uid;type:varchar(100);comment:合同表的唯一表示;NOT NULL" json:"uid"` + ArtistUid string `gorm:"column:artist_uid;type:varchar(100);comment:画家uid;NOT NULL" json:"artist_uid"` + ArtworkUid string `gorm:"column:artwork_uid;type:varchar(100);comment:画作uid" json:"artwork_uid"` + ContractId string `gorm:"column:contract_id;type:varchar(100);comment:合同id" json:"contract_id"` + TransactionId string `gorm:"column:transaction_id;type:varchar(100);comment:交易id" json:"transaction_id"` + Type int32 `gorm:"column:type;type:int(1);comment:合同类型;NOT NULL" json:"type"` + ViewUrl string `gorm:"column:view_url;type:varchar(500);comment:在线查看合同链接" json:"view_url"` + DownloadUrl string `gorm:"column:download_url;type:varchar(500);comment:合同下载链接" json:"download_url"` + State int32 `gorm:"column:state;type:int(1);comment:合同状态;NOT NULL" json:"state"` + Status int64 `gorm:"column:status;default:2;comment:2=锁定 3=解锁" json:"status" ` //跟随用户的锁定和解锁状态,用于控制数据的展示 + LockTime string `gorm:"column:lock_time;comment:锁定时间" json:"lockTime"` + SignTime string `gorm:"column:sign_time;comment:签署时间" json:"sign_time"` + CreatedAt int32 `gorm:"column:created_at;autoCreateTime"` + UpdatedAt int32 `gorm:"column:updated_at;autoCreateTime"` + DeletedAt soft_delete.DeletedAt +} diff --git a/cmd/model/old/contract.go b/cmd/model/old/contract.go index b78f347..7d7afaf 100644 --- a/cmd/model/old/contract.go +++ b/cmd/model/old/contract.go @@ -1,12 +1,9 @@ package old -import "github.com/fonchain/fonchain-artistinfo/cmd/model" - import "gorm.io/plugin/soft_delete" // Contract 用户模型 type Contract struct { -<<<<<<< HEAD:cmd/model/contract.go ID int32 `gorm:"column:id;type:int(11);primary_key;AUTO_INCREMENT" json:"id"` Uid string `gorm:"column:uid;type:varchar(100);comment:合同表的唯一表示;NOT NULL" json:"uid"` ArtistUid string `gorm:"column:artist_uid;type:varchar(100);comment:画家uid;NOT NULL" json:"artist_uid"` @@ -20,99 +17,4 @@ type Contract struct { CreatedAt int32 `gorm:"column:created_at;autoCreateTime"` UpdatedAt int32 `gorm:"column:updated_at;autoCreateTime"` DeletedAt soft_delete.DeletedAt -======= - model.Model - ID int32 `gorm:"not null"` - UserId int32 `gorm:"not null"` - CardId string `gorm:"type:varchar(256) default ''"` - MgmtUserId string `gorm:"not null"` - ArtworkId string `gorm:"type:varchar(256) default ''"` - ContractId string `gorm:"type:varchar(256) default ''"` - TransactionId string `gorm:"type:varchar(256) default '' "` - Type int32 `gorm:"not null"` - BatchId int32 `gorm:"not null"` - BatchName string `gorm:"type:varchar(256) default '' "` - ViewUrl string `gorm:"type:varchar(256) default ''"` - DownloadUrl string `gorm:"type:varchar(256) default ''"` - State int32 `gorm:"not null"` ->>>>>>> xjjdev:cmd/model/old/contract.go -} - -type Reply struct { - Code int `json:"state"` - Message string `json:"message"` - Data interface{} `json:"data"` -} - -type ArtistInfoRes struct { - Uid string `json:"uid"` - Seqnum int64 `json:"seqnum"` // 序列号 - Tnum string `json:"tnum"` //ex.T240 - Num int `json:"num"` // 编号 - Name string `json:"name"` - CardId string `json:"cardId"` - PhoneNum string `json:"phone"` - Gender string `json:"gender"` // 性别 - Belong int `json:"belong"` // 画家归属,1-泰丰,2-丰链 - RecentPhoto string `json:"recentPhoto"` // 画家近照url - AccountBank string `json:"bank"` // 开户银行 - Account string `json:"account"` // 开户账号 - Video []string `json:"artistVideo"` // 视频资料 - ArtshowTimes int64 `json:"artshowTimes"` // 参加画展次数 - Age int64 `json:"age"` - Address string `json:"address"` - Resume string `json:"resume"` - CardPicFace string `json:"cardPicFace"` - CardPicBack string `json:"cardPicBack"` - CertificatePic string `json:"certificatePic"` - CertificateNum string `json:"certificateNum"` - // Priority int64 `json:"priority"` - Agent string `json:"agent"` - PenName string `json:"penName"` // 笔名 - Comment string `json:"comment"` - WtchainHash string `json:"wtchainHash"` - BaiduchainHash string `json:"baiduchanHash"` - ChengchainHash string `json:"chengchainHash"` - ChengChainCertUrl string `json:"chengChainCertUrl"` - BaiduChainCertUrl string `json:"baiduChainCertUrl"` - ChengChainCertOssUrl string `json:"chengChainCertOssUrl"` - Baiduchaincertossurl string `json:"baiduchaincertossurl"` - IsArtshow bool `json:"isArtshow"` // 是否参加过画展,1参加过,2未参加过 - CurrentPosition string `json:"currentPosition"` //现任职务 - Email string `json:"email"` - TeaRela string `json:"teaRela"` //师 - StuRela string `json:"stuRela"` //徒 - GradSchoolStudyTour string `json:"gradSchoolStudyTour"` //毕业院校及游学经历 - NaTittle string `json:"naTittle"` //国家级头衔 - ProTittle string `json:"proTittle"` //省级头衔 - MunTittle string `json:"munTittle"` //市级头衔 - CouTittle string `json:"couTittle"` //区县级头衔 - OtherTittle string `json:"otherTittle"` //其他头衔 - PastCooForms string `json:"pastCooForms"` //过往合作平台 - ExhibiInfo string `json:"exhibiInfo"` //参展信息 - KeyAchi string `json:"keyAchi"` //主要成就 - Works string `json:"works"` //作品集 - PicAlbum string `json:"picAlbum"` //画册 - - // AwardInfo []AwardInfo `json:"awardInfo"` //获奖信息 - // Publish []Publish `json:"publish"` //出版 - // AcadePub []AcadePub `json:"acadePub"` //学术发表 - // ThirdComment []ThirdComment `json:"thirdComment"` //第三方或策展人评论 - CreaDirect string `json:"creaDirect"` //创作方向(科目) - ArtStyle string `json:"artStyle"` //艺术风格 - PenInkSkill string `json:"penInkSkill"` //笔墨技法 - DrawThink string `json:"drawThink"` //绘画思想 - AcadeValue string `json:"acadeValue"` //学术价值 - - ArtName string `json:"artName"` // 艺名 - JoinClubTime string `json:"joinClubTime"` // 入会时间 - ArtistStamp string `json:"artistStamp"` // 画家印章 -} - -type CreateContractRes struct { - Code string `json:"code"` - Download_url string `json:"download_url"` - Msg string `json:"msg"` - Result string `json:"result"` - Viewpdf_url string `json:"viewpdf_url"` } diff --git a/pb/contract/contract.pb.go b/pb/contract/contract.pb.go index fdac34e..a6d7593 100644 --- a/pb/contract/contract.pb.go +++ b/pb/contract/contract.pb.go @@ -20,6 +20,141 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +type Contracts struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ContractUid string `protobuf:"bytes,1,opt,name=ContractUid,json=contract_uid,proto3" json:"ContractUid,omitempty"` + ArtistUid string `protobuf:"bytes,2,opt,name=ArtistUid,json=artist_uid,proto3" json:"ArtistUid,omitempty"` + ArtworkUid string `protobuf:"bytes,3,opt,name=ArtworkUid,json=artwork_uid,proto3" json:"ArtworkUid,omitempty"` + ContractId string `protobuf:"bytes,4,opt,name=ContractId,json=contract_id,proto3" json:"ContractId,omitempty"` + TransactionId string `protobuf:"bytes,5,opt,name=TransactionId,json=transaction_id,proto3" json:"TransactionId,omitempty"` + Type int32 `protobuf:"varint,6,opt,name=Type,json=type,proto3" json:"Type,omitempty"` + ViewUrl string `protobuf:"bytes,7,opt,name=ViewUrl,json=view_url,proto3" json:"ViewUrl,omitempty"` + DownloadUrl string `protobuf:"bytes,8,opt,name=DownloadUrl,json=download_url,proto3" json:"DownloadUrl,omitempty"` + State int32 `protobuf:"varint,9,opt,name=State,json=state,proto3" json:"State,omitempty"` + Status int32 `protobuf:"varint,10,opt,name=Status,json=status,proto3" json:"Status,omitempty"` + LockTime string `protobuf:"bytes,11,opt,name=LockTime,json=lock_time,proto3" json:"LockTime,omitempty"` + SignTime string `protobuf:"bytes,12,opt,name=SignTime,json=sign_time,proto3" json:"SignTime,omitempty"` +} + +func (x *Contracts) Reset() { + *x = Contracts{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Contracts) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Contracts) ProtoMessage() {} + +func (x *Contracts) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Contracts.ProtoReflect.Descriptor instead. +func (*Contracts) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{0} +} + +func (x *Contracts) GetContractUid() string { + if x != nil { + return x.ContractUid + } + return "" +} + +func (x *Contracts) GetArtistUid() string { + if x != nil { + return x.ArtistUid + } + return "" +} + +func (x *Contracts) GetArtworkUid() string { + if x != nil { + return x.ArtworkUid + } + return "" +} + +func (x *Contracts) GetContractId() string { + if x != nil { + return x.ContractId + } + return "" +} + +func (x *Contracts) GetTransactionId() string { + if x != nil { + return x.TransactionId + } + return "" +} + +func (x *Contracts) GetType() int32 { + if x != nil { + return x.Type + } + return 0 +} + +func (x *Contracts) GetViewUrl() string { + if x != nil { + return x.ViewUrl + } + return "" +} + +func (x *Contracts) GetDownloadUrl() string { + if x != nil { + return x.DownloadUrl + } + return "" +} + +func (x *Contracts) GetState() int32 { + if x != nil { + return x.State + } + return 0 +} + +func (x *Contracts) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *Contracts) GetLockTime() string { + if x != nil { + return x.LockTime + } + return "" +} + +func (x *Contracts) GetSignTime() string { + if x != nil { + return x.SignTime + } + return "" +} + type CreateContractRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -33,7 +168,7 @@ type CreateContractRequest struct { func (x *CreateContractRequest) Reset() { *x = CreateContractRequest{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[0] + mi := &file_contract_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -46,7 +181,7 @@ func (x *CreateContractRequest) String() string { func (*CreateContractRequest) ProtoMessage() {} func (x *CreateContractRequest) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[0] + mi := &file_contract_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -59,7 +194,7 @@ func (x *CreateContractRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateContractRequest.ProtoReflect.Descriptor instead. func (*CreateContractRequest) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{0} + return file_contract_proto_rawDescGZIP(), []int{1} } func (x *CreateContractRequest) GetArtistUid() string { @@ -94,7 +229,7 @@ type CreateContractRespond struct { func (x *CreateContractRespond) Reset() { *x = CreateContractRespond{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[1] + mi := &file_contract_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -107,7 +242,7 @@ func (x *CreateContractRespond) String() string { func (*CreateContractRespond) ProtoMessage() {} func (x *CreateContractRespond) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[1] + mi := &file_contract_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -120,7 +255,7 @@ func (x *CreateContractRespond) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateContractRespond.ProtoReflect.Descriptor instead. func (*CreateContractRespond) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{1} + return file_contract_proto_rawDescGZIP(), []int{2} } func (x *CreateContractRespond) GetMsg() string { @@ -130,6 +265,359 @@ func (x *CreateContractRespond) GetMsg() string { return "" } +type ContractListMgmtRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ArtistUid string `protobuf:"bytes,1,opt,name=ArtistUid,json=artist_uid,proto3" json:"ArtistUid,omitempty"` + Page int32 `protobuf:"varint,2,opt,name=Page,json=page,proto3" json:"Page,omitempty"` + Num int32 `protobuf:"varint,3,opt,name=Num,json=num,proto3" json:"Num,omitempty"` +} + +func (x *ContractListMgmtRequest) Reset() { + *x = ContractListMgmtRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContractListMgmtRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContractListMgmtRequest) ProtoMessage() {} + +func (x *ContractListMgmtRequest) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContractListMgmtRequest.ProtoReflect.Descriptor instead. +func (*ContractListMgmtRequest) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{3} +} + +func (x *ContractListMgmtRequest) GetArtistUid() string { + if x != nil { + return x.ArtistUid + } + return "" +} + +func (x *ContractListMgmtRequest) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *ContractListMgmtRequest) GetNum() int32 { + if x != nil { + return x.Num + } + return 0 +} + +type ContractListMgmtRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []*Contracts `protobuf:"bytes,1,rep,name=Data,json=data,proto3" json:"Data,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` +} + +func (x *ContractListMgmtRespond) Reset() { + *x = ContractListMgmtRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContractListMgmtRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContractListMgmtRespond) ProtoMessage() {} + +func (x *ContractListMgmtRespond) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContractListMgmtRespond.ProtoReflect.Descriptor instead. +func (*ContractListMgmtRespond) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{4} +} + +func (x *ContractListMgmtRespond) GetData() []*Contracts { + if x != nil { + return x.Data + } + return nil +} + +func (x *ContractListMgmtRespond) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type ContractListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID int32 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + PageSize int32 `protobuf:"varint,2,opt,name=PageSize,json=pageSize,proto3" json:"PageSize,omitempty"` + Page int32 `protobuf:"varint,3,opt,name=Page,json=page,proto3" json:"Page,omitempty"` + State int32 `protobuf:"varint,4,opt,name=State,json=state,proto3" json:"State,omitempty"` +} + +func (x *ContractListRequest) Reset() { + *x = ContractListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContractListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContractListRequest) ProtoMessage() {} + +func (x *ContractListRequest) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContractListRequest.ProtoReflect.Descriptor instead. +func (*ContractListRequest) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{5} +} + +func (x *ContractListRequest) GetID() int32 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *ContractListRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ContractListRequest) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *ContractListRequest) GetState() int32 { + if x != nil { + return x.State + } + return 0 +} + +type ContractListRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []*Contracts `protobuf:"bytes,1,rep,name=Data,json=data,proto3" json:"Data,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` +} + +func (x *ContractListRespond) Reset() { + *x = ContractListRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContractListRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContractListRespond) ProtoMessage() {} + +func (x *ContractListRespond) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContractListRespond.ProtoReflect.Descriptor instead. +func (*ContractListRespond) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{6} +} + +func (x *ContractListRespond) GetData() []*Contracts { + if x != nil { + return x.Data + } + return nil +} + +func (x *ContractListRespond) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type SignContractRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID int32 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + ContractId int32 `protobuf:"varint,2,opt,name=ContractId,json=contractId,proto3" json:"ContractId,omitempty"` + HtmlType string `protobuf:"bytes,3,opt,name=HtmlType,json=htmlType,proto3" json:"HtmlType,omitempty"` + EnvType string `protobuf:"bytes,4,opt,name=EnvType,json=envType,proto3" json:"EnvType,omitempty"` +} + +func (x *SignContractRequest) Reset() { + *x = SignContractRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SignContractRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SignContractRequest) ProtoMessage() {} + +func (x *SignContractRequest) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SignContractRequest.ProtoReflect.Descriptor instead. +func (*SignContractRequest) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{7} +} + +func (x *SignContractRequest) GetID() int32 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *SignContractRequest) GetContractId() int32 { + if x != nil { + return x.ContractId + } + return 0 +} + +func (x *SignContractRequest) GetHtmlType() string { + if x != nil { + return x.HtmlType + } + return "" +} + +func (x *SignContractRequest) GetEnvType() string { + if x != nil { + return x.EnvType + } + return "" +} + +type SignContractRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *SignContractRespond) Reset() { + *x = SignContractRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SignContractRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SignContractRespond) ProtoMessage() {} + +func (x *SignContractRespond) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SignContractRespond.ProtoReflect.Descriptor instead. +func (*SignContractRespond) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{8} +} + type FinishContractRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -141,7 +629,7 @@ type FinishContractRequest struct { func (x *FinishContractRequest) Reset() { *x = FinishContractRequest{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[2] + mi := &file_contract_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -154,7 +642,7 @@ func (x *FinishContractRequest) String() string { func (*FinishContractRequest) ProtoMessage() {} func (x *FinishContractRequest) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[2] + mi := &file_contract_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -167,7 +655,7 @@ func (x *FinishContractRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FinishContractRequest.ProtoReflect.Descriptor instead. func (*FinishContractRequest) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{2} + return file_contract_proto_rawDescGZIP(), []int{9} } func (x *FinishContractRequest) GetTransactionId() string { @@ -186,7 +674,7 @@ type FinishContractRespond struct { func (x *FinishContractRespond) Reset() { *x = FinishContractRespond{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[3] + mi := &file_contract_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -199,7 +687,7 @@ func (x *FinishContractRespond) String() string { func (*FinishContractRespond) ProtoMessage() {} func (x *FinishContractRespond) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[3] + mi := &file_contract_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -212,125 +700,7 @@ func (x *FinishContractRespond) ProtoReflect() protoreflect.Message { // Deprecated: Use FinishContractRespond.ProtoReflect.Descriptor instead. func (*FinishContractRespond) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{3} -} - -type ContractListRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PageSize int64 `protobuf:"varint,1,opt,name=PageSize,json=pageSize,proto3" json:"PageSize,omitempty"` - Page int64 `protobuf:"varint,2,opt,name=Page,json=page,proto3" json:"Page,omitempty"` - State int64 `protobuf:"varint,3,opt,name=State,json=state,proto3" json:"State,omitempty"` - ID int64 `protobuf:"varint,4,opt,name=ID,json=id,proto3" json:"ID,omitempty"` -} - -func (x *ContractListRequest) Reset() { - *x = ContractListRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ContractListRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ContractListRequest) ProtoMessage() {} - -func (x *ContractListRequest) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ContractListRequest.ProtoReflect.Descriptor instead. -func (*ContractListRequest) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{4} -} - -func (x *ContractListRequest) GetPageSize() int64 { - if x != nil { - return x.PageSize - } - return 0 -} - -func (x *ContractListRequest) GetPage() int64 { - if x != nil { - return x.Page - } - return 0 -} - -func (x *ContractListRequest) GetState() int64 { - if x != nil { - return x.State - } - return 0 -} - -func (x *ContractListRequest) GetID() int64 { - if x != nil { - return x.ID - } - return 0 -} - -type ContractListRespond struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Data []*ContractData `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data,omitempty"` -} - -func (x *ContractListRespond) Reset() { - *x = ContractListRespond{} - if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ContractListRespond) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ContractListRespond) ProtoMessage() {} - -func (x *ContractListRespond) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ContractListRespond.ProtoReflect.Descriptor instead. -func (*ContractListRespond) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{5} -} - -func (x *ContractListRespond) GetData() []*ContractData { - if x != nil { - return x.Data - } - return nil + return file_contract_proto_rawDescGZIP(), []int{10} } type ContractData struct { @@ -360,7 +730,7 @@ type ContractData struct { func (x *ContractData) Reset() { *x = ContractData{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[6] + mi := &file_contract_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -373,7 +743,7 @@ func (x *ContractData) String() string { func (*ContractData) ProtoMessage() {} func (x *ContractData) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[6] + mi := &file_contract_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -386,7 +756,7 @@ func (x *ContractData) ProtoReflect() protoreflect.Message { // Deprecated: Use ContractData.ProtoReflect.Descriptor instead. func (*ContractData) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{6} + return file_contract_proto_rawDescGZIP(), []int{11} } func (x *ContractData) GetID() uint64 { @@ -522,7 +892,7 @@ type ContractTxListRequest struct { func (x *ContractTxListRequest) Reset() { *x = ContractTxListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[7] + mi := &file_contract_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -535,7 +905,7 @@ func (x *ContractTxListRequest) String() string { func (*ContractTxListRequest) ProtoMessage() {} func (x *ContractTxListRequest) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[7] + mi := &file_contract_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -548,7 +918,7 @@ func (x *ContractTxListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ContractTxListRequest.ProtoReflect.Descriptor instead. func (*ContractTxListRequest) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{7} + return file_contract_proto_rawDescGZIP(), []int{12} } func (x *ContractTxListRequest) GetPageSize() int64 { @@ -590,7 +960,7 @@ type ContractTxListRespond struct { func (x *ContractTxListRespond) Reset() { *x = ContractTxListRespond{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[8] + mi := &file_contract_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -603,7 +973,7 @@ func (x *ContractTxListRespond) String() string { func (*ContractTxListRespond) ProtoMessage() {} func (x *ContractTxListRespond) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[8] + mi := &file_contract_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -616,7 +986,7 @@ func (x *ContractTxListRespond) ProtoReflect() protoreflect.Message { // Deprecated: Use ContractTxListRespond.ProtoReflect.Descriptor instead. func (*ContractTxListRespond) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{8} + return file_contract_proto_rawDescGZIP(), []int{13} } func (x *ContractTxListRespond) GetData() []*ContractData { @@ -626,107 +996,6 @@ func (x *ContractTxListRespond) GetData() []*ContractData { return nil } -type SignContractRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ContractId int64 `protobuf:"varint,1,opt,name=ContractId,json=contractId,proto3" json:"ContractId,omitempty"` - HtmlType string `protobuf:"bytes,2,opt,name=HtmlType,json=htmlType,proto3" json:"HtmlType,omitempty"` - EnvType string `protobuf:"bytes,3,opt,name=EnvType,json=envType,proto3" json:"EnvType,omitempty"` -} - -func (x *SignContractRequest) Reset() { - *x = SignContractRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SignContractRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SignContractRequest) ProtoMessage() {} - -func (x *SignContractRequest) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SignContractRequest.ProtoReflect.Descriptor instead. -func (*SignContractRequest) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{9} -} - -func (x *SignContractRequest) GetContractId() int64 { - if x != nil { - return x.ContractId - } - return 0 -} - -func (x *SignContractRequest) GetHtmlType() string { - if x != nil { - return x.HtmlType - } - return "" -} - -func (x *SignContractRequest) GetEnvType() string { - if x != nil { - return x.EnvType - } - return "" -} - -type SignContractRespond struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *SignContractRespond) Reset() { - *x = SignContractRespond{} - if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SignContractRespond) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SignContractRespond) ProtoMessage() {} - -func (x *SignContractRespond) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SignContractRespond.ProtoReflect.Descriptor instead. -func (*SignContractRespond) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{10} -} - type GetContractRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -738,7 +1007,7 @@ type GetContractRequest struct { func (x *GetContractRequest) Reset() { *x = GetContractRequest{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[11] + mi := &file_contract_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -751,7 +1020,7 @@ func (x *GetContractRequest) String() string { func (*GetContractRequest) ProtoMessage() {} func (x *GetContractRequest) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[11] + mi := &file_contract_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -764,7 +1033,7 @@ func (x *GetContractRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetContractRequest.ProtoReflect.Descriptor instead. func (*GetContractRequest) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{11} + return file_contract_proto_rawDescGZIP(), []int{14} } func (x *GetContractRequest) GetId() int64 { @@ -801,7 +1070,7 @@ type UpdateContractRequest struct { func (x *UpdateContractRequest) Reset() { *x = UpdateContractRequest{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[12] + mi := &file_contract_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -814,7 +1083,7 @@ func (x *UpdateContractRequest) String() string { func (*UpdateContractRequest) ProtoMessage() {} func (x *UpdateContractRequest) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[12] + mi := &file_contract_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -827,7 +1096,7 @@ func (x *UpdateContractRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateContractRequest.ProtoReflect.Descriptor instead. func (*UpdateContractRequest) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{12} + return file_contract_proto_rawDescGZIP(), []int{15} } func (x *UpdateContractRequest) GetID() uint64 { @@ -958,7 +1227,7 @@ type UpdateContractRespond struct { func (x *UpdateContractRespond) Reset() { *x = UpdateContractRespond{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[13] + mi := &file_contract_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -971,7 +1240,7 @@ func (x *UpdateContractRespond) String() string { func (*UpdateContractRespond) ProtoMessage() {} func (x *UpdateContractRespond) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[13] + mi := &file_contract_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -984,7 +1253,7 @@ func (x *UpdateContractRespond) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateContractRespond.ProtoReflect.Descriptor instead. func (*UpdateContractRespond) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{13} + return file_contract_proto_rawDescGZIP(), []int{16} } type UpdateContractTxRequest struct { @@ -999,7 +1268,7 @@ type UpdateContractTxRequest struct { func (x *UpdateContractTxRequest) Reset() { *x = UpdateContractTxRequest{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[14] + mi := &file_contract_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1012,7 +1281,7 @@ func (x *UpdateContractTxRequest) String() string { func (*UpdateContractTxRequest) ProtoMessage() {} func (x *UpdateContractTxRequest) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[14] + mi := &file_contract_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1025,7 +1294,7 @@ func (x *UpdateContractTxRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateContractTxRequest.ProtoReflect.Descriptor instead. func (*UpdateContractTxRequest) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{14} + return file_contract_proto_rawDescGZIP(), []int{17} } func (x *UpdateContractTxRequest) GetID() int64 { @@ -1051,7 +1320,7 @@ type UpdateContractTxRespond struct { func (x *UpdateContractTxRespond) Reset() { *x = UpdateContractTxRespond{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[15] + mi := &file_contract_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1064,7 +1333,7 @@ func (x *UpdateContractTxRespond) String() string { func (*UpdateContractTxRespond) ProtoMessage() {} func (x *UpdateContractTxRespond) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[15] + mi := &file_contract_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1077,178 +1346,220 @@ func (x *UpdateContractTxRespond) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateContractTxRespond.ProtoReflect.Descriptor instead. func (*UpdateContractTxRespond) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{15} + return file_contract_proto_rawDescGZIP(), []int{18} } var File_contract_proto protoreflect.FileDescriptor var file_contract_proto_rawDesc = []byte{ 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x12, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x22, 0x6b, 0x0a, 0x15, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x09, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x75, - 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, - 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x29, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, - 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, - 0x73, 0x67, 0x22, 0x3d, 0x0a, 0x15, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x22, 0x17, 0x0a, 0x15, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x6b, 0x0a, 0x13, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x41, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x2a, - 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0xf4, 0x03, 0x0a, 0x0c, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x49, - 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, - 0x67, 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x6d, 0x67, 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, - 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1c, 0x0a, - 0x09, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x56, - 0x69, 0x65, 0x77, 0x55, 0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x69, - 0x65, 0x77, 0x55, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, - 0x64, 0x55, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, - 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, - 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, - 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, - 0x0e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, - 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, - 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, - 0x65, 0x22, 0x6d, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, - 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, - 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, - 0x22, 0x43, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x04, 0x44, 0x61, 0x74, - 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, - 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0x6b, 0x0a, 0x13, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, - 0x48, 0x74, 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x68, 0x74, 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x76, 0x54, - 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x76, 0x54, 0x79, - 0x70, 0x65, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x24, 0x0a, 0x12, 0x47, 0x65, 0x74, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, - 0xfd, 0x03, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x67, 0x6d, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, - 0x67, 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x72, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x07, 0x62, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x62, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x69, 0x65, - 0x77, 0x55, 0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x69, 0x65, 0x77, - 0x55, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, - 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, - 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x45, - 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, - 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, - 0x17, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x4f, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x19, 0x0a, 0x17, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x64, 0x32, 0xa5, 0x05, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x12, 0x54, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x12, 0x1f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x69, 0x73, - 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4e, 0x0a, - 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x2e, + 0x12, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x22, 0xf0, 0x02, 0x0a, 0x09, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x41, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x41, 0x72, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0d, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x07, 0x56, 0x69, 0x65, 0x77, 0x55, + 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x75, + 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0b, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, + 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, + 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x12, 0x1b, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x6b, 0x0a, + 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x09, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x5f, 0x75, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x55, 0x69, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x5f, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x29, 0x0a, 0x15, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x5e, 0x0a, 0x17, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x67, 0x6d, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1d, 0x0a, 0x09, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, + 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x22, 0x54, 0x0a, 0x17, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x67, 0x6d, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, + 0x12, 0x27, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, + 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x73, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x6b, 0x0a, 0x13, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, + 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x50, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, + 0x27, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x45, 0x0a, - 0x0b, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1c, 0x2e, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x44, 0x61, - 0x74, 0x61, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0c, 0x53, 0x69, - 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1d, 0x2e, 0x43, 0x6f, 0x6e, + 0x74, 0x73, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x7b, 0x0a, 0x13, 0x53, 0x69, + 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, + 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x48, 0x74, 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x74, 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x45, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x65, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x69, 0x67, 0x6e, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x3d, + 0x0a, 0x15, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x17, 0x0a, + 0x15, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0xf4, 0x03, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x67, 0x6d, 0x74, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x67, 0x6d, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x72, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x07, 0x62, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, + 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x69, 0x65, 0x77, 0x55, + 0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x69, 0x65, 0x77, 0x55, 0x72, + 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, + 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x45, 0x78, 0x70, + 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x6d, 0x0a, + 0x15, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, + 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x43, 0x0a, 0x15, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x44, 0x61, 0x74, + 0x61, 0x22, 0x24, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0xfd, 0x03, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, + 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, + 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x67, 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x67, 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, + 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, + 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x69, 0x65, 0x77, 0x55, 0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x76, 0x69, 0x65, 0x77, 0x55, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x44, + 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, + 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x70, + 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, + 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, + 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, + 0x22, 0x4f, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, + 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x22, 0x19, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x32, 0x81, 0x06, 0x0a, + 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x54, 0x0a, 0x0e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1f, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, + 0x5a, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4d, + 0x67, 0x6d, 0x74, 0x12, 0x21, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x67, 0x6d, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x67, + 0x6d, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0c, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0c, 0x53, + 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1d, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1f, 0x2e, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, - 0x12, 0x5a, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x54, 0x78, 0x12, 0x21, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x42, 0x0d, 0x5a, 0x0b, - 0x2e, 0x2f, 0x3b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0e, 0x46, + 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1f, 0x2e, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, + 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, + 0x00, 0x12, 0x45, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x12, 0x1c, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, + 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, + 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x54, + 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x12, 0x1f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x64, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x12, 0x21, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, + 0x42, 0x0d, 0x5a, 0x0b, 0x2e, 0x2f, 0x3b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1263,49 +1574,55 @@ func file_contract_proto_rawDescGZIP() []byte { return file_contract_proto_rawDescData } -var file_contract_proto_msgTypes = make([]protoimpl.MessageInfo, 16) +var file_contract_proto_msgTypes = make([]protoimpl.MessageInfo, 19) var file_contract_proto_goTypes = []interface{}{ - (*CreateContractRequest)(nil), // 0: Contract.CreateContractRequest - (*CreateContractRespond)(nil), // 1: Contract.CreateContractRespond - (*FinishContractRequest)(nil), // 2: Contract.FinishContractRequest - (*FinishContractRespond)(nil), // 3: Contract.FinishContractRespond - (*ContractListRequest)(nil), // 4: Contract.ContractListRequest - (*ContractListRespond)(nil), // 5: Contract.ContractListRespond - (*ContractData)(nil), // 6: Contract.ContractData - (*ContractTxListRequest)(nil), // 7: Contract.ContractTxListRequest - (*ContractTxListRespond)(nil), // 8: Contract.ContractTxListRespond - (*SignContractRequest)(nil), // 9: Contract.SignContractRequest - (*SignContractRespond)(nil), // 10: Contract.SignContractRespond - (*GetContractRequest)(nil), // 11: Contract.GetContractRequest - (*UpdateContractRequest)(nil), // 12: Contract.UpdateContractRequest - (*UpdateContractRespond)(nil), // 13: Contract.UpdateContractRespond - (*UpdateContractTxRequest)(nil), // 14: Contract.UpdateContractTxRequest - (*UpdateContractTxRespond)(nil), // 15: Contract.UpdateContractTxRespond + (*Contracts)(nil), // 0: Contract.Contracts + (*CreateContractRequest)(nil), // 1: Contract.CreateContractRequest + (*CreateContractRespond)(nil), // 2: Contract.CreateContractRespond + (*ContractListMgmtRequest)(nil), // 3: Contract.ContractListMgmtRequest + (*ContractListMgmtRespond)(nil), // 4: Contract.ContractListMgmtRespond + (*ContractListRequest)(nil), // 5: Contract.ContractListRequest + (*ContractListRespond)(nil), // 6: Contract.ContractListRespond + (*SignContractRequest)(nil), // 7: Contract.SignContractRequest + (*SignContractRespond)(nil), // 8: Contract.SignContractRespond + (*FinishContractRequest)(nil), // 9: Contract.FinishContractRequest + (*FinishContractRespond)(nil), // 10: Contract.FinishContractRespond + (*ContractData)(nil), // 11: Contract.ContractData + (*ContractTxListRequest)(nil), // 12: Contract.ContractTxListRequest + (*ContractTxListRespond)(nil), // 13: Contract.ContractTxListRespond + (*GetContractRequest)(nil), // 14: Contract.GetContractRequest + (*UpdateContractRequest)(nil), // 15: Contract.UpdateContractRequest + (*UpdateContractRespond)(nil), // 16: Contract.UpdateContractRespond + (*UpdateContractTxRequest)(nil), // 17: Contract.UpdateContractTxRequest + (*UpdateContractTxRespond)(nil), // 18: Contract.UpdateContractTxRespond } var file_contract_proto_depIdxs = []int32{ - 6, // 0: Contract.ContractListRespond.Data:type_name -> Contract.ContractData - 6, // 1: Contract.ContractTxListRespond.Data:type_name -> Contract.ContractData - 0, // 2: Contract.Contract.CreateContract:input_type -> Contract.CreateContractRequest - 2, // 3: Contract.Contract.FinishContract:input_type -> Contract.FinishContractRequest - 4, // 4: Contract.Contract.ContractList:input_type -> Contract.ContractListRequest - 11, // 5: Contract.Contract.GetContract:input_type -> Contract.GetContractRequest - 7, // 6: Contract.Contract.ContractTxList:input_type -> Contract.ContractTxListRequest - 9, // 7: Contract.Contract.SignContract:input_type -> Contract.SignContractRequest - 12, // 8: Contract.Contract.UpdateContract:input_type -> Contract.UpdateContractRequest - 14, // 9: Contract.Contract.UpdateContractTx:input_type -> Contract.UpdateContractTxRequest - 1, // 10: Contract.Contract.CreateContract:output_type -> Contract.CreateContractRespond - 3, // 11: Contract.Contract.FinishContract:output_type -> Contract.FinishContractRespond - 5, // 12: Contract.Contract.ContractList:output_type -> Contract.ContractListRespond - 6, // 13: Contract.Contract.GetContract:output_type -> Contract.ContractData - 8, // 14: Contract.Contract.ContractTxList:output_type -> Contract.ContractTxListRespond - 10, // 15: Contract.Contract.SignContract:output_type -> Contract.SignContractRespond - 13, // 16: Contract.Contract.UpdateContract:output_type -> Contract.UpdateContractRespond - 15, // 17: Contract.Contract.UpdateContractTx:output_type -> Contract.UpdateContractTxRespond - 10, // [10:18] is the sub-list for method output_type - 2, // [2:10] is the sub-list for method input_type - 2, // [2:2] is the sub-list for extension type_name - 2, // [2:2] is the sub-list for extension extendee - 0, // [0:2] is the sub-list for field type_name + 0, // 0: Contract.ContractListMgmtRespond.Data:type_name -> Contract.Contracts + 0, // 1: Contract.ContractListRespond.Data:type_name -> Contract.Contracts + 11, // 2: Contract.ContractTxListRespond.Data:type_name -> Contract.ContractData + 1, // 3: Contract.Contract.CreateContract:input_type -> Contract.CreateContractRequest + 3, // 4: Contract.Contract.ContractListMgmt:input_type -> Contract.ContractListMgmtRequest + 5, // 5: Contract.Contract.ContractList:input_type -> Contract.ContractListRequest + 7, // 6: Contract.Contract.SignContract:input_type -> Contract.SignContractRequest + 9, // 7: Contract.Contract.FinishContract:input_type -> Contract.FinishContractRequest + 14, // 8: Contract.Contract.GetContract:input_type -> Contract.GetContractRequest + 12, // 9: Contract.Contract.ContractTxList:input_type -> Contract.ContractTxListRequest + 15, // 10: Contract.Contract.UpdateContract:input_type -> Contract.UpdateContractRequest + 17, // 11: Contract.Contract.UpdateContractTx:input_type -> Contract.UpdateContractTxRequest + 2, // 12: Contract.Contract.CreateContract:output_type -> Contract.CreateContractRespond + 4, // 13: Contract.Contract.ContractListMgmt:output_type -> Contract.ContractListMgmtRespond + 6, // 14: Contract.Contract.ContractList:output_type -> Contract.ContractListRespond + 8, // 15: Contract.Contract.SignContract:output_type -> Contract.SignContractRespond + 10, // 16: Contract.Contract.FinishContract:output_type -> Contract.FinishContractRespond + 11, // 17: Contract.Contract.GetContract:output_type -> Contract.ContractData + 13, // 18: Contract.Contract.ContractTxList:output_type -> Contract.ContractTxListRespond + 16, // 19: Contract.Contract.UpdateContract:output_type -> Contract.UpdateContractRespond + 18, // 20: Contract.Contract.UpdateContractTx:output_type -> Contract.UpdateContractTxRespond + 12, // [12:21] is the sub-list for method output_type + 3, // [3:12] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name } func init() { file_contract_proto_init() } @@ -1315,7 +1632,7 @@ func file_contract_proto_init() { } if !protoimpl.UnsafeEnabled { file_contract_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateContractRequest); i { + switch v := v.(*Contracts); i { case 0: return &v.state case 1: @@ -1327,7 +1644,7 @@ func file_contract_proto_init() { } } file_contract_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateContractRespond); i { + switch v := v.(*CreateContractRequest); i { case 0: return &v.state case 1: @@ -1339,7 +1656,7 @@ func file_contract_proto_init() { } } file_contract_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FinishContractRequest); i { + switch v := v.(*CreateContractRespond); i { case 0: return &v.state case 1: @@ -1351,7 +1668,7 @@ func file_contract_proto_init() { } } file_contract_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FinishContractRespond); i { + switch v := v.(*ContractListMgmtRequest); i { case 0: return &v.state case 1: @@ -1363,7 +1680,7 @@ func file_contract_proto_init() { } } file_contract_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContractListRequest); i { + switch v := v.(*ContractListMgmtRespond); i { case 0: return &v.state case 1: @@ -1375,7 +1692,7 @@ func file_contract_proto_init() { } } file_contract_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContractListRespond); i { + switch v := v.(*ContractListRequest); i { case 0: return &v.state case 1: @@ -1387,7 +1704,7 @@ func file_contract_proto_init() { } } file_contract_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContractData); i { + switch v := v.(*ContractListRespond); i { case 0: return &v.state case 1: @@ -1399,30 +1716,6 @@ func file_contract_proto_init() { } } file_contract_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContractTxListRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_contract_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContractTxListRespond); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_contract_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SignContractRequest); i { case 0: return &v.state @@ -1434,7 +1727,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_contract_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SignContractRespond); i { case 0: return &v.state @@ -1446,8 +1739,32 @@ func file_contract_proto_init() { return nil } } + file_contract_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FinishContractRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FinishContractRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } file_contract_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetContractRequest); i { + switch v := v.(*ContractData); i { case 0: return &v.state case 1: @@ -1459,7 +1776,7 @@ func file_contract_proto_init() { } } file_contract_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateContractRequest); i { + switch v := v.(*ContractTxListRequest); i { case 0: return &v.state case 1: @@ -1471,7 +1788,7 @@ func file_contract_proto_init() { } } file_contract_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateContractRespond); i { + switch v := v.(*ContractTxListRespond); i { case 0: return &v.state case 1: @@ -1483,7 +1800,7 @@ func file_contract_proto_init() { } } file_contract_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateContractTxRequest); i { + switch v := v.(*GetContractRequest); i { case 0: return &v.state case 1: @@ -1495,6 +1812,42 @@ func file_contract_proto_init() { } } file_contract_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateContractRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateContractRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateContractTxRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateContractTxRespond); i { case 0: return &v.state @@ -1513,7 +1866,7 @@ func file_contract_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contract_proto_rawDesc, NumEnums: 0, - NumMessages: 16, + NumMessages: 19, NumExtensions: 0, NumServices: 1, }, diff --git a/pb/contract/contract.proto b/pb/contract/contract.proto index 65237d8..ed12a2e 100644 --- a/pb/contract/contract.proto +++ b/pb/contract/contract.proto @@ -1,19 +1,35 @@ syntax = "proto3"; -package Contract; +package contract; option go_package = "./;contract"; //$ protoc --proto_path=. --go_out=./api/contract --go-triple_out=./api/contract ./api/contract/contract.proto service Contract { - rpc CreateContract (CreateContractRequest) returns (CreateContractRespond) {} - rpc FinishContract (FinishContractRequest) returns (FinishContractRespond) {} + rpc ContractListMgmt (ContractListMgmtRequest) returns (ContractListMgmtRespond) {} rpc ContractList (ContractListRequest) returns (ContractListRespond) {} + rpc SignContract (SignContractRequest) returns (SignContractRespond) {} + + rpc FinishContract (FinishContractRequest) returns (FinishContractRespond) {} rpc GetContract (GetContractRequest) returns (ContractData) {} rpc ContractTxList (ContractTxListRequest) returns (ContractTxListRespond) {} - rpc SignContract (SignContractRequest) returns (SignContractRespond) {} rpc UpdateContract(UpdateContractRequest) returns (UpdateContractRespond) {} rpc UpdateContractTx(UpdateContractTxRequest) returns (UpdateContractTxRespond) {} } +message Contracts{ + string ContractUid = 1 [json_name = "contract_uid"]; + string ArtistUid = 2 [json_name = "artist_uid"]; + string ArtworkUid = 3 [json_name = "artwork_uid"]; + string ContractId = 4 [json_name = "contract_id"]; + string TransactionId = 5 [json_name = "transaction_id"]; + int32 Type = 6 [json_name = "type"]; + string ViewUrl = 7 [json_name = "view_url"]; + string DownloadUrl = 8 [json_name = "download_url"]; + int32 State = 9 [json_name = "state"]; + int32 Status = 10 [json_name = "status"]; + string LockTime = 11 [json_name = "lock_time"]; + string SignTime = 12 [json_name = "sign_time"]; +} + message CreateContractRequest { string ArtistUid = 1 [json_name="artist_uid"]; repeated string ArtworkUid = 2 [json_name="artwork_uid"]; @@ -24,6 +40,41 @@ message CreateContractRespond{ string Msg = 1 [json_name = "msg"]; } +message ContractListMgmtRequest{ + string ArtistUid = 1 [json_name = "artist_uid"]; + int32 Page = 2 [json_name = "page"]; + int32 Num = 3 [json_name = "num"]; +} + +message ContractListMgmtRespond{ + repeated Contracts Data = 1 [json_name = "data"]; + string Msg = 2 [json_name = "msg"]; +} + +message ContractListRequest { + int32 ID = 1 [json_name = "id"]; + int32 PageSize = 2 [json_name="pageSize"]; + int32 Page = 3 [json_name="page"]; + int32 State = 4 [json_name="state"]; + +} + +message ContractListRespond { + repeated Contracts Data = 1 [json_name = "data"]; + string Msg = 2 [json_name = "msg"]; +} + +message SignContractRequest { + int32 ID = 1 [json_name = "id"]; + int32 ContractId = 2 [json_name="contractId"]; + string HtmlType = 3 [json_name="htmlType"]; + string EnvType = 4 [json_name= "envType"]; +} + +message SignContractRespond { + +} + message FinishContractRequest { string TransactionId = 1 [json_name="transactionId"]; @@ -33,18 +84,6 @@ message FinishContractRespond { } - -message ContractListRequest { - int64 PageSize = 1 [json_name="pageSize"]; - int64 Page = 2 [json_name="page"]; - int64 State = 3 [json_name="state"]; - int64 ID =4 [json_name = "id"]; -} - -message ContractListRespond { - repeated ContractData Data =1; -} - message ContractData{ uint64 ID = 1[json_name="id"]; int64 UserId = 2[json_name="userId"]; @@ -65,7 +104,6 @@ message ContractData{ string SignTime = 17 [json_name="signTime"]; } - message ContractTxListRequest { int64 PageSize = 1 [json_name="pageSize"]; int64 Page = 2 [json_name="page"]; @@ -76,15 +114,6 @@ message ContractTxListRequest { message ContractTxListRespond { repeated ContractData Data =1; } -message SignContractRequest { - int64 ContractId = 1 [json_name="contractId"]; - string HtmlType = 2 [json_name="htmlType"]; - string EnvType = 3 [json_name= "envType"]; -} - -message SignContractRespond { - -} message GetContractRequest { int64 Id = 1 [json_name="id"]; diff --git a/pb/contract/contract.validator.pb.go b/pb/contract/contract.validator.pb.go index 775ef5e..0a62040 100644 --- a/pb/contract/contract.validator.pb.go +++ b/pb/contract/contract.validator.pb.go @@ -15,16 +15,26 @@ var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +func (this *Contracts) Validate() error { + return nil +} func (this *CreateContractRequest) Validate() error { return nil } func (this *CreateContractRespond) Validate() error { return nil } -func (this *FinishContractRequest) Validate() error { +func (this *ContractListMgmtRequest) Validate() error { return nil } -func (this *FinishContractRespond) Validate() error { +func (this *ContractListMgmtRespond) Validate() error { + for _, item := range this.Data { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Data", err) + } + } + } return nil } func (this *ContractListRequest) Validate() error { @@ -40,6 +50,18 @@ func (this *ContractListRespond) Validate() error { } return nil } +func (this *SignContractRequest) Validate() error { + return nil +} +func (this *SignContractRespond) Validate() error { + return nil +} +func (this *FinishContractRequest) Validate() error { + return nil +} +func (this *FinishContractRespond) Validate() error { + return nil +} func (this *ContractData) Validate() error { return nil } @@ -56,12 +78,6 @@ func (this *ContractTxListRespond) Validate() error { } return nil } -func (this *SignContractRequest) Validate() error { - return nil -} -func (this *SignContractRespond) Validate() error { - return nil -} func (this *GetContractRequest) Validate() error { return nil } diff --git a/pb/contract/contract_triple.pb.go b/pb/contract/contract_triple.pb.go index 948c21a..2a2e6e6 100644 --- a/pb/contract/contract_triple.pb.go +++ b/pb/contract/contract_triple.pb.go @@ -29,11 +29,12 @@ const _ = grpc_go.SupportPackageIsVersion7 // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type ContractClient interface { CreateContract(ctx context.Context, in *CreateContractRequest, opts ...grpc_go.CallOption) (*CreateContractRespond, common.ErrorWithAttachment) - FinishContract(ctx context.Context, in *FinishContractRequest, opts ...grpc_go.CallOption) (*FinishContractRespond, common.ErrorWithAttachment) + ContractListMgmt(ctx context.Context, in *ContractListMgmtRequest, opts ...grpc_go.CallOption) (*ContractListMgmtRespond, common.ErrorWithAttachment) ContractList(ctx context.Context, in *ContractListRequest, opts ...grpc_go.CallOption) (*ContractListRespond, common.ErrorWithAttachment) + SignContract(ctx context.Context, in *SignContractRequest, opts ...grpc_go.CallOption) (*SignContractRespond, common.ErrorWithAttachment) + FinishContract(ctx context.Context, in *FinishContractRequest, opts ...grpc_go.CallOption) (*FinishContractRespond, common.ErrorWithAttachment) GetContract(ctx context.Context, in *GetContractRequest, opts ...grpc_go.CallOption) (*ContractData, common.ErrorWithAttachment) ContractTxList(ctx context.Context, in *ContractTxListRequest, opts ...grpc_go.CallOption) (*ContractTxListRespond, common.ErrorWithAttachment) - SignContract(ctx context.Context, in *SignContractRequest, opts ...grpc_go.CallOption) (*SignContractRespond, common.ErrorWithAttachment) UpdateContract(ctx context.Context, in *UpdateContractRequest, opts ...grpc_go.CallOption) (*UpdateContractRespond, common.ErrorWithAttachment) UpdateContractTx(ctx context.Context, in *UpdateContractTxRequest, opts ...grpc_go.CallOption) (*UpdateContractTxRespond, common.ErrorWithAttachment) } @@ -44,11 +45,12 @@ type contractClient struct { type ContractClientImpl struct { CreateContract func(ctx context.Context, in *CreateContractRequest) (*CreateContractRespond, error) - FinishContract func(ctx context.Context, in *FinishContractRequest) (*FinishContractRespond, error) + ContractListMgmt func(ctx context.Context, in *ContractListMgmtRequest) (*ContractListMgmtRespond, error) ContractList func(ctx context.Context, in *ContractListRequest) (*ContractListRespond, error) + SignContract func(ctx context.Context, in *SignContractRequest) (*SignContractRespond, error) + FinishContract func(ctx context.Context, in *FinishContractRequest) (*FinishContractRespond, error) GetContract func(ctx context.Context, in *GetContractRequest) (*ContractData, error) ContractTxList func(ctx context.Context, in *ContractTxListRequest) (*ContractTxListRespond, error) - SignContract func(ctx context.Context, in *SignContractRequest) (*SignContractRespond, error) UpdateContract func(ctx context.Context, in *UpdateContractRequest) (*UpdateContractRespond, error) UpdateContractTx func(ctx context.Context, in *UpdateContractTxRequest) (*UpdateContractTxRespond, error) } @@ -71,10 +73,10 @@ func (c *contractClient) CreateContract(ctx context.Context, in *CreateContractR return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreateContract", in, out) } -func (c *contractClient) FinishContract(ctx context.Context, in *FinishContractRequest, opts ...grpc_go.CallOption) (*FinishContractRespond, common.ErrorWithAttachment) { - out := new(FinishContractRespond) +func (c *contractClient) ContractListMgmt(ctx context.Context, in *ContractListMgmtRequest, opts ...grpc_go.CallOption) (*ContractListMgmtRespond, common.ErrorWithAttachment) { + out := new(ContractListMgmtRespond) interfaceKey := ctx.Value(constant.InterfaceKey).(string) - return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/FinishContract", in, out) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ContractListMgmt", in, out) } func (c *contractClient) ContractList(ctx context.Context, in *ContractListRequest, opts ...grpc_go.CallOption) (*ContractListRespond, common.ErrorWithAttachment) { @@ -83,6 +85,18 @@ func (c *contractClient) ContractList(ctx context.Context, in *ContractListReque return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ContractList", in, out) } +func (c *contractClient) SignContract(ctx context.Context, in *SignContractRequest, opts ...grpc_go.CallOption) (*SignContractRespond, common.ErrorWithAttachment) { + out := new(SignContractRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SignContract", in, out) +} + +func (c *contractClient) FinishContract(ctx context.Context, in *FinishContractRequest, opts ...grpc_go.CallOption) (*FinishContractRespond, common.ErrorWithAttachment) { + out := new(FinishContractRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/FinishContract", in, out) +} + func (c *contractClient) GetContract(ctx context.Context, in *GetContractRequest, opts ...grpc_go.CallOption) (*ContractData, common.ErrorWithAttachment) { out := new(ContractData) interfaceKey := ctx.Value(constant.InterfaceKey).(string) @@ -95,12 +109,6 @@ func (c *contractClient) ContractTxList(ctx context.Context, in *ContractTxListR return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ContractTxList", in, out) } -func (c *contractClient) SignContract(ctx context.Context, in *SignContractRequest, opts ...grpc_go.CallOption) (*SignContractRespond, common.ErrorWithAttachment) { - out := new(SignContractRespond) - interfaceKey := ctx.Value(constant.InterfaceKey).(string) - return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SignContract", in, out) -} - func (c *contractClient) UpdateContract(ctx context.Context, in *UpdateContractRequest, opts ...grpc_go.CallOption) (*UpdateContractRespond, common.ErrorWithAttachment) { out := new(UpdateContractRespond) interfaceKey := ctx.Value(constant.InterfaceKey).(string) @@ -118,11 +126,12 @@ func (c *contractClient) UpdateContractTx(ctx context.Context, in *UpdateContrac // for forward compatibility type ContractServer interface { CreateContract(context.Context, *CreateContractRequest) (*CreateContractRespond, error) - FinishContract(context.Context, *FinishContractRequest) (*FinishContractRespond, error) + ContractListMgmt(context.Context, *ContractListMgmtRequest) (*ContractListMgmtRespond, error) ContractList(context.Context, *ContractListRequest) (*ContractListRespond, error) + SignContract(context.Context, *SignContractRequest) (*SignContractRespond, error) + FinishContract(context.Context, *FinishContractRequest) (*FinishContractRespond, error) GetContract(context.Context, *GetContractRequest) (*ContractData, error) ContractTxList(context.Context, *ContractTxListRequest) (*ContractTxListRespond, error) - SignContract(context.Context, *SignContractRequest) (*SignContractRespond, error) UpdateContract(context.Context, *UpdateContractRequest) (*UpdateContractRespond, error) UpdateContractTx(context.Context, *UpdateContractTxRequest) (*UpdateContractTxRespond, error) mustEmbedUnimplementedContractServer() @@ -136,21 +145,24 @@ type UnimplementedContractServer struct { func (UnimplementedContractServer) CreateContract(context.Context, *CreateContractRequest) (*CreateContractRespond, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateContract not implemented") } -func (UnimplementedContractServer) FinishContract(context.Context, *FinishContractRequest) (*FinishContractRespond, error) { - return nil, status.Errorf(codes.Unimplemented, "method FinishContract not implemented") +func (UnimplementedContractServer) ContractListMgmt(context.Context, *ContractListMgmtRequest) (*ContractListMgmtRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method ContractListMgmt not implemented") } func (UnimplementedContractServer) ContractList(context.Context, *ContractListRequest) (*ContractListRespond, error) { return nil, status.Errorf(codes.Unimplemented, "method ContractList not implemented") } +func (UnimplementedContractServer) SignContract(context.Context, *SignContractRequest) (*SignContractRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method SignContract not implemented") +} +func (UnimplementedContractServer) FinishContract(context.Context, *FinishContractRequest) (*FinishContractRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method FinishContract not implemented") +} func (UnimplementedContractServer) GetContract(context.Context, *GetContractRequest) (*ContractData, error) { return nil, status.Errorf(codes.Unimplemented, "method GetContract not implemented") } func (UnimplementedContractServer) ContractTxList(context.Context, *ContractTxListRequest) (*ContractTxListRespond, error) { return nil, status.Errorf(codes.Unimplemented, "method ContractTxList not implemented") } -func (UnimplementedContractServer) SignContract(context.Context, *SignContractRequest) (*SignContractRespond, error) { - return nil, status.Errorf(codes.Unimplemented, "method SignContract not implemented") -} func (UnimplementedContractServer) UpdateContract(context.Context, *UpdateContractRequest) (*UpdateContractRespond, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateContract not implemented") } @@ -214,8 +226,8 @@ func _Contract_CreateContract_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } -func _Contract_FinishContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { - in := new(FinishContractRequest) +func _Contract_ContractListMgmt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ContractListMgmtRequest) if err := dec(in); err != nil { return nil, err } @@ -227,7 +239,7 @@ func _Contract_FinishContract_Handler(srv interface{}, ctx context.Context, dec for k, v := range md { invAttachment[k] = v } - invo := invocation.NewRPCInvocation("FinishContract", args, invAttachment) + invo := invocation.NewRPCInvocation("ContractListMgmt", args, invAttachment) if interceptor == nil { result := base.XXX_GetProxyImpl().Invoke(ctx, invo) return result, result.Error() @@ -272,6 +284,64 @@ func _Contract_ContractList_Handler(srv interface{}, ctx context.Context, dec fu return interceptor(ctx, in, info, handler) } +func _Contract_SignContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(SignContractRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("SignContract", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Contract_FinishContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(FinishContractRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("FinishContract", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + func _Contract_GetContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(GetContractRequest) if err := dec(in); err != nil { @@ -330,35 +400,6 @@ func _Contract_ContractTxList_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } -func _Contract_SignContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { - in := new(SignContractRequest) - if err := dec(in); err != nil { - return nil, err - } - base := srv.(dubbo3.Dubbo3GrpcService) - args := []interface{}{} - args = append(args, in) - md, _ := metadata.FromIncomingContext(ctx) - invAttachment := make(map[string]interface{}, len(md)) - for k, v := range md { - invAttachment[k] = v - } - invo := invocation.NewRPCInvocation("SignContract", args, invAttachment) - if interceptor == nil { - result := base.XXX_GetProxyImpl().Invoke(ctx, invo) - return result, result.Error() - } - info := &grpc_go.UnaryServerInfo{ - Server: srv, - FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - result := base.XXX_GetProxyImpl().Invoke(ctx, invo) - return result, result.Error() - } - return interceptor(ctx, in, info, handler) -} - func _Contract_UpdateContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(UpdateContractRequest) if err := dec(in); err != nil { @@ -429,13 +470,21 @@ var Contract_ServiceDesc = grpc_go.ServiceDesc{ Handler: _Contract_CreateContract_Handler, }, { - MethodName: "FinishContract", - Handler: _Contract_FinishContract_Handler, + MethodName: "ContractListMgmt", + Handler: _Contract_ContractListMgmt_Handler, }, { MethodName: "ContractList", Handler: _Contract_ContractList_Handler, }, + { + MethodName: "SignContract", + Handler: _Contract_SignContract_Handler, + }, + { + MethodName: "FinishContract", + Handler: _Contract_FinishContract_Handler, + }, { MethodName: "GetContract", Handler: _Contract_GetContract_Handler, @@ -444,10 +493,6 @@ var Contract_ServiceDesc = grpc_go.ServiceDesc{ MethodName: "ContractTxList", Handler: _Contract_ContractTxList_Handler, }, - { - MethodName: "SignContract", - Handler: _Contract_SignContract_Handler, - }, { MethodName: "UpdateContract", Handler: _Contract_UpdateContract_Handler, diff --git a/pb/contract_microservice/contract.pb.go b/pb/contract_microservice/contract.pb.go new file mode 100644 index 0000000..ac2c10a --- /dev/null +++ b/pb/contract_microservice/contract.pb.go @@ -0,0 +1,3486 @@ +// +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.21.8 +// source: contract.proto + +package contractMicroservice + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type CancelExtSignAutoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CustomerId string `protobuf:"bytes,1,opt,name=CustomerId,proto3" json:"CustomerId,omitempty"` + NotifyUrl string `protobuf:"bytes,2,opt,name=NotifyUrl,proto3" json:"NotifyUrl,omitempty"` + ReturnUrl string `protobuf:"bytes,3,opt,name=returnUrl,proto3" json:"returnUrl,omitempty"` +} + +func (x *CancelExtSignAutoRequest) Reset() { + *x = CancelExtSignAutoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CancelExtSignAutoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelExtSignAutoRequest) ProtoMessage() {} + +func (x *CancelExtSignAutoRequest) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CancelExtSignAutoRequest.ProtoReflect.Descriptor instead. +func (*CancelExtSignAutoRequest) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{0} +} + +func (x *CancelExtSignAutoRequest) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +func (x *CancelExtSignAutoRequest) GetNotifyUrl() string { + if x != nil { + return x.NotifyUrl + } + return "" +} + +func (x *CancelExtSignAutoRequest) GetReturnUrl() string { + if x != nil { + return x.ReturnUrl + } + return "" +} + +type Person struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AreaCode string `protobuf:"bytes,1,opt,name=AreaCode,proto3" json:"AreaCode,omitempty"` + AuditFailReason string `protobuf:"bytes,2,opt,name=AuditFailReason,proto3" json:"AuditFailReason,omitempty"` + AuditorTime string `protobuf:"bytes,3,opt,name=AuditorTime,proto3" json:"AuditorTime,omitempty"` + BackgroundIdCardPath string `protobuf:"bytes,4,opt,name=BackgroundIdCardPath,proto3" json:"BackgroundIdCardPath,omitempty"` + BankCardNo string `protobuf:"bytes,5,opt,name=BankCardNo,proto3" json:"BankCardNo,omitempty"` + Birthday string `protobuf:"bytes,6,opt,name=Birthday,proto3" json:"Birthday,omitempty"` + CertType string `protobuf:"bytes,7,opt,name=CertType,proto3" json:"CertType,omitempty"` + ExpiresDate string `protobuf:"bytes,8,opt,name=ExpiresDate,proto3" json:"ExpiresDate,omitempty"` + Fork string `protobuf:"bytes,9,opt,name=Fork,proto3" json:"Fork,omitempty"` + GesturesPhotoPath string `protobuf:"bytes,10,opt,name=GesturesPhotoPath,proto3" json:"GesturesPhotoPath,omitempty"` + HeadPhotoPath string `protobuf:"bytes,11,opt,name=HeadPhotoPath,proto3" json:"HeadPhotoPath,omitempty"` + IdCard string `protobuf:"bytes,12,opt,name=IdCard,proto3" json:"IdCard,omitempty"` + IsLongTerm string `protobuf:"bytes,13,opt,name=IsLongTerm,proto3" json:"IsLongTerm,omitempty"` + IsPassFourElement float64 `protobuf:"fixed64,14,opt,name=IsPassFourElement,proto3" json:"IsPassFourElement,omitempty"` + IsPassThreeElement float64 `protobuf:"fixed64,15,opt,name=IsPassThreeElement,proto3" json:"IsPassThreeElement,omitempty"` + IssueAuthority string `protobuf:"bytes,16,opt,name=IssueAuthority,proto3" json:"IssueAuthority,omitempty"` + Mobile string `protobuf:"bytes,17,opt,name=Mobile,proto3" json:"Mobile,omitempty"` + PersonName string `protobuf:"bytes,18,opt,name=PersonName,proto3" json:"PersonName,omitempty"` + PhotoUuid string `protobuf:"bytes,19,opt,name=PhotoUuid,proto3" json:"PhotoUuid,omitempty"` + Sex string `protobuf:"bytes,20,opt,name=Sex,proto3" json:"Sex,omitempty"` + StartDate string `protobuf:"bytes,21,opt,name=StartDate,proto3" json:"StartDate,omitempty"` + Status string `protobuf:"bytes,22,opt,name=Status,proto3" json:"Status,omitempty"` + Type string `protobuf:"bytes,23,opt,name=Type,proto3" json:"Type,omitempty"` + VerifyType string `protobuf:"bytes,24,opt,name=VerifyType,proto3" json:"VerifyType,omitempty"` + Address string `protobuf:"bytes,25,opt,name=Address,proto3" json:"Address,omitempty"` +} + +func (x *Person) Reset() { + *x = Person{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Person) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Person) ProtoMessage() {} + +func (x *Person) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Person.ProtoReflect.Descriptor instead. +func (*Person) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{1} +} + +func (x *Person) GetAreaCode() string { + if x != nil { + return x.AreaCode + } + return "" +} + +func (x *Person) GetAuditFailReason() string { + if x != nil { + return x.AuditFailReason + } + return "" +} + +func (x *Person) GetAuditorTime() string { + if x != nil { + return x.AuditorTime + } + return "" +} + +func (x *Person) GetBackgroundIdCardPath() string { + if x != nil { + return x.BackgroundIdCardPath + } + return "" +} + +func (x *Person) GetBankCardNo() string { + if x != nil { + return x.BankCardNo + } + return "" +} + +func (x *Person) GetBirthday() string { + if x != nil { + return x.Birthday + } + return "" +} + +func (x *Person) GetCertType() string { + if x != nil { + return x.CertType + } + return "" +} + +func (x *Person) GetExpiresDate() string { + if x != nil { + return x.ExpiresDate + } + return "" +} + +func (x *Person) GetFork() string { + if x != nil { + return x.Fork + } + return "" +} + +func (x *Person) GetGesturesPhotoPath() string { + if x != nil { + return x.GesturesPhotoPath + } + return "" +} + +func (x *Person) GetHeadPhotoPath() string { + if x != nil { + return x.HeadPhotoPath + } + return "" +} + +func (x *Person) GetIdCard() string { + if x != nil { + return x.IdCard + } + return "" +} + +func (x *Person) GetIsLongTerm() string { + if x != nil { + return x.IsLongTerm + } + return "" +} + +func (x *Person) GetIsPassFourElement() float64 { + if x != nil { + return x.IsPassFourElement + } + return 0 +} + +func (x *Person) GetIsPassThreeElement() float64 { + if x != nil { + return x.IsPassThreeElement + } + return 0 +} + +func (x *Person) GetIssueAuthority() string { + if x != nil { + return x.IssueAuthority + } + return "" +} + +func (x *Person) GetMobile() string { + if x != nil { + return x.Mobile + } + return "" +} + +func (x *Person) GetPersonName() string { + if x != nil { + return x.PersonName + } + return "" +} + +func (x *Person) GetPhotoUuid() string { + if x != nil { + return x.PhotoUuid + } + return "" +} + +func (x *Person) GetSex() string { + if x != nil { + return x.Sex + } + return "" +} + +func (x *Person) GetStartDate() string { + if x != nil { + return x.StartDate + } + return "" +} + +func (x *Person) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *Person) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *Person) GetVerifyType() string { + if x != nil { + return x.VerifyType + } + return "" +} + +func (x *Person) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +type PersonCertInfoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Person *Person `protobuf:"bytes,1,opt,name=Person,json=person,proto3" json:"Person,omitempty"` + AuthenticationSubmitTime string `protobuf:"bytes,2,opt,name=AuthenticationSubmitTime,json=authenticationSubmitTime,proto3" json:"AuthenticationSubmitTime,omitempty"` + PassTime string `protobuf:"bytes,3,opt,name=PassTime,json=passTime,proto3" json:"PassTime,omitempty"` + TransactionNo string `protobuf:"bytes,4,opt,name=TransactionNo,json=transactionNo,proto3" json:"TransactionNo,omitempty"` + Type string `protobuf:"bytes,5,opt,name=Type,json=type,proto3" json:"Type,omitempty"` +} + +func (x *PersonCertInfoResponse) Reset() { + *x = PersonCertInfoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PersonCertInfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PersonCertInfoResponse) ProtoMessage() {} + +func (x *PersonCertInfoResponse) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PersonCertInfoResponse.ProtoReflect.Descriptor instead. +func (*PersonCertInfoResponse) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{2} +} + +func (x *PersonCertInfoResponse) GetPerson() *Person { + if x != nil { + return x.Person + } + return nil +} + +func (x *PersonCertInfoResponse) GetAuthenticationSubmitTime() string { + if x != nil { + return x.AuthenticationSubmitTime + } + return "" +} + +func (x *PersonCertInfoResponse) GetPassTime() string { + if x != nil { + return x.PassTime + } + return "" +} + +func (x *PersonCertInfoResponse) GetTransactionNo() string { + if x != nil { + return x.TransactionNo + } + return "" +} + +func (x *PersonCertInfoResponse) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +type FindCertInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + VerifiedSerialno string `protobuf:"bytes,2,opt,name=VerifiedSerialno,json=verifiedSerialno,proto3" json:"VerifiedSerialno,omitempty"` +} + +func (x *FindCertInfo) Reset() { + *x = FindCertInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FindCertInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FindCertInfo) ProtoMessage() {} + +func (x *FindCertInfo) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FindCertInfo.ProtoReflect.Descriptor instead. +func (*FindCertInfo) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{3} +} + +func (x *FindCertInfo) GetVerifiedSerialno() string { + if x != nil { + return x.VerifiedSerialno + } + return "" +} + +type Company struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AuditFailReason string `protobuf:"bytes,1,opt,name=AuditFailReason,proto3" json:"AuditFailReason,omitempty"` + AuditorTime string `protobuf:"bytes,2,opt,name=AuditorTime,proto3" json:"AuditorTime,omitempty"` + CertificatesType string `protobuf:"bytes,3,opt,name=CertificatesType,proto3" json:"CertificatesType,omitempty"` + CompanyEmail string `protobuf:"bytes,4,opt,name=CompanyEmail,proto3" json:"CompanyEmail,omitempty"` + CompanyName string `protobuf:"bytes,5,opt,name=CompanyName,proto3" json:"CompanyName,omitempty"` + Hasagent string `protobuf:"bytes,6,opt,name=Hasagent,proto3" json:"Hasagent,omitempty"` + Legal string `protobuf:"bytes,7,opt,name=Legal,proto3" json:"Legal,omitempty"` + LegalMobile string `protobuf:"bytes,8,opt,name=LegalMobile,proto3" json:"LegalMobile,omitempty"` + LegalName string `protobuf:"bytes,9,opt,name=LegalName,proto3" json:"LegalName,omitempty"` + Organization string `protobuf:"bytes,10,opt,name=Organization,proto3" json:"Organization,omitempty"` + OrganizationPath string `protobuf:"bytes,11,opt,name=OrganizationPath,proto3" json:"OrganizationPath,omitempty"` + OrganizationType string `protobuf:"bytes,12,opt,name=OrganizationType,proto3" json:"OrganizationType,omitempty"` + RegFormPath string `protobuf:"bytes,13,opt,name=RegFormPath,proto3" json:"RegFormPath,omitempty"` + RelatedTransactionNo string `protobuf:"bytes,14,opt,name=RelatedTransactionNo,proto3" json:"RelatedTransactionNo,omitempty"` + Status string `protobuf:"bytes,15,opt,name=Status,proto3" json:"Status,omitempty"` + VerifyType string `protobuf:"bytes,16,opt,name=VerifyType,proto3" json:"VerifyType,omitempty"` +} + +func (x *Company) Reset() { + *x = Company{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Company) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Company) ProtoMessage() {} + +func (x *Company) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Company.ProtoReflect.Descriptor instead. +func (*Company) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{4} +} + +func (x *Company) GetAuditFailReason() string { + if x != nil { + return x.AuditFailReason + } + return "" +} + +func (x *Company) GetAuditorTime() string { + if x != nil { + return x.AuditorTime + } + return "" +} + +func (x *Company) GetCertificatesType() string { + if x != nil { + return x.CertificatesType + } + return "" +} + +func (x *Company) GetCompanyEmail() string { + if x != nil { + return x.CompanyEmail + } + return "" +} + +func (x *Company) GetCompanyName() string { + if x != nil { + return x.CompanyName + } + return "" +} + +func (x *Company) GetHasagent() string { + if x != nil { + return x.Hasagent + } + return "" +} + +func (x *Company) GetLegal() string { + if x != nil { + return x.Legal + } + return "" +} + +func (x *Company) GetLegalMobile() string { + if x != nil { + return x.LegalMobile + } + return "" +} + +func (x *Company) GetLegalName() string { + if x != nil { + return x.LegalName + } + return "" +} + +func (x *Company) GetOrganization() string { + if x != nil { + return x.Organization + } + return "" +} + +func (x *Company) GetOrganizationPath() string { + if x != nil { + return x.OrganizationPath + } + return "" +} + +func (x *Company) GetOrganizationType() string { + if x != nil { + return x.OrganizationType + } + return "" +} + +func (x *Company) GetRegFormPath() string { + if x != nil { + return x.RegFormPath + } + return "" +} + +func (x *Company) GetRelatedTransactionNo() string { + if x != nil { + return x.RelatedTransactionNo + } + return "" +} + +func (x *Company) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *Company) GetVerifyType() string { + if x != nil { + return x.VerifyType + } + return "" +} + +type Manager struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AreaCode string `protobuf:"bytes,1,opt,name=AreaCode,proto3" json:"AreaCode,omitempty"` + AuditFailReason string `protobuf:"bytes,2,opt,name=AuditFailReason,proto3" json:"AuditFailReason,omitempty"` + AuditorTime string `protobuf:"bytes,3,opt,name=AuditorTime,proto3" json:"AuditorTime,omitempty"` + BackgroundIdCardPath string `protobuf:"bytes,4,opt,name=BackgroundIdCardPath,proto3" json:"BackgroundIdCardPath,omitempty"` + Birthday string `protobuf:"bytes,5,opt,name=Birthday,proto3" json:"Birthday,omitempty"` + ExpiresDate string `protobuf:"bytes,6,opt,name=ExpiresDate,proto3" json:"ExpiresDate,omitempty"` + Fork string `protobuf:"bytes,7,opt,name=Fork,proto3" json:"Fork,omitempty"` + HeadPhotoPath string `protobuf:"bytes,8,opt,name=HeadPhotoPath,proto3" json:"HeadPhotoPath,omitempty"` + IdCard string `protobuf:"bytes,9,opt,name=IdCard,proto3" json:"IdCard,omitempty"` + IsLongTerm string `protobuf:"bytes,10,opt,name=IsLongTerm,proto3" json:"IsLongTerm,omitempty"` + IssueAuthority string `protobuf:"bytes,11,opt,name=IssueAuthority,proto3" json:"IssueAuthority,omitempty"` + Mobile string `protobuf:"bytes,12,opt,name=Mobile,proto3" json:"Mobile,omitempty"` + PersonName string `protobuf:"bytes,13,opt,name=PersonName,proto3" json:"PersonName,omitempty"` + PhotoUuid string `protobuf:"bytes,14,opt,name=PhotoUuid,proto3" json:"PhotoUuid,omitempty"` + Sex string `protobuf:"bytes,15,opt,name=Sex,proto3" json:"Sex,omitempty"` + StartDate string `protobuf:"bytes,16,opt,name=StartDate,proto3" json:"StartDate,omitempty"` + Status string `protobuf:"bytes,17,opt,name=Status,proto3" json:"Status,omitempty"` + Type string `protobuf:"bytes,18,opt,name=Type,proto3" json:"Type,omitempty"` + VerifyType string `protobuf:"bytes,19,opt,name=VerifyType,proto3" json:"VerifyType,omitempty"` + Address string `protobuf:"bytes,20,opt,name=Address,proto3" json:"Address,omitempty"` +} + +func (x *Manager) Reset() { + *x = Manager{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Manager) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Manager) ProtoMessage() {} + +func (x *Manager) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Manager.ProtoReflect.Descriptor instead. +func (*Manager) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{5} +} + +func (x *Manager) GetAreaCode() string { + if x != nil { + return x.AreaCode + } + return "" +} + +func (x *Manager) GetAuditFailReason() string { + if x != nil { + return x.AuditFailReason + } + return "" +} + +func (x *Manager) GetAuditorTime() string { + if x != nil { + return x.AuditorTime + } + return "" +} + +func (x *Manager) GetBackgroundIdCardPath() string { + if x != nil { + return x.BackgroundIdCardPath + } + return "" +} + +func (x *Manager) GetBirthday() string { + if x != nil { + return x.Birthday + } + return "" +} + +func (x *Manager) GetExpiresDate() string { + if x != nil { + return x.ExpiresDate + } + return "" +} + +func (x *Manager) GetFork() string { + if x != nil { + return x.Fork + } + return "" +} + +func (x *Manager) GetHeadPhotoPath() string { + if x != nil { + return x.HeadPhotoPath + } + return "" +} + +func (x *Manager) GetIdCard() string { + if x != nil { + return x.IdCard + } + return "" +} + +func (x *Manager) GetIsLongTerm() string { + if x != nil { + return x.IsLongTerm + } + return "" +} + +func (x *Manager) GetIssueAuthority() string { + if x != nil { + return x.IssueAuthority + } + return "" +} + +func (x *Manager) GetMobile() string { + if x != nil { + return x.Mobile + } + return "" +} + +func (x *Manager) GetPersonName() string { + if x != nil { + return x.PersonName + } + return "" +} + +func (x *Manager) GetPhotoUuid() string { + if x != nil { + return x.PhotoUuid + } + return "" +} + +func (x *Manager) GetSex() string { + if x != nil { + return x.Sex + } + return "" +} + +func (x *Manager) GetStartDate() string { + if x != nil { + return x.StartDate + } + return "" +} + +func (x *Manager) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *Manager) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *Manager) GetVerifyType() string { + if x != nil { + return x.VerifyType + } + return "" +} + +func (x *Manager) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +type CompanyCertInfoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Company *Company `protobuf:"bytes,1,opt,name=Company,proto3" json:"Company,omitempty"` + Manager *Manager `protobuf:"bytes,2,opt,name=Manager,json=manager,proto3" json:"Manager,omitempty"` + AuthenticationSubmitTime string `protobuf:"bytes,3,opt,name=AuthenticationSubmitTime,json=authenticationSubmitTime,proto3" json:"AuthenticationSubmitTime,omitempty"` + PassTime string `protobuf:"bytes,4,opt,name=PassTime,json=passTime,proto3" json:"PassTime,omitempty"` + TransactionNo string `protobuf:"bytes,5,opt,name=TransactionNo,json=transactionNo,proto3" json:"TransactionNo,omitempty"` + Type string `protobuf:"bytes,6,opt,name=Type,json=type,proto3" json:"Type,omitempty"` +} + +func (x *CompanyCertInfoResponse) Reset() { + *x = CompanyCertInfoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CompanyCertInfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CompanyCertInfoResponse) ProtoMessage() {} + +func (x *CompanyCertInfoResponse) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CompanyCertInfoResponse.ProtoReflect.Descriptor instead. +func (*CompanyCertInfoResponse) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{6} +} + +func (x *CompanyCertInfoResponse) GetCompany() *Company { + if x != nil { + return x.Company + } + return nil +} + +func (x *CompanyCertInfoResponse) GetManager() *Manager { + if x != nil { + return x.Manager + } + return nil +} + +func (x *CompanyCertInfoResponse) GetAuthenticationSubmitTime() string { + if x != nil { + return x.AuthenticationSubmitTime + } + return "" +} + +func (x *CompanyCertInfoResponse) GetPassTime() string { + if x != nil { + return x.PassTime + } + return "" +} + +func (x *CompanyCertInfoResponse) GetTransactionNo() string { + if x != nil { + return x.TransactionNo + } + return "" +} + +func (x *CompanyCertInfoResponse) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +type AuthStatusResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AuthType uint64 `protobuf:"varint,1,opt,name=AuthType,json=authType,proto3" json:"AuthType,omitempty"` + ContractId string `protobuf:"bytes,2,opt,name=ContractId,json=contractId,proto3" json:"ContractId,omitempty"` + Status uint64 `protobuf:"varint,3,opt,name=Status,json=status,proto3" json:"Status,omitempty"` + TransactionId string `protobuf:"bytes,4,opt,name=TransactionId,json=transactionId,proto3" json:"TransactionId,omitempty"` +} + +func (x *AuthStatusResponse) Reset() { + *x = AuthStatusResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AuthStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuthStatusResponse) ProtoMessage() {} + +func (x *AuthStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AuthStatusResponse.ProtoReflect.Descriptor instead. +func (*AuthStatusResponse) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{7} +} + +func (x *AuthStatusResponse) GetAuthType() uint64 { + if x != nil { + return x.AuthType + } + return 0 +} + +func (x *AuthStatusResponse) GetContractId() string { + if x != nil { + return x.ContractId + } + return "" +} + +func (x *AuthStatusResponse) GetStatus() uint64 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *AuthStatusResponse) GetTransactionId() string { + if x != nil { + return x.TransactionId + } + return "" +} + +type ApplyCertRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CustomerId string `protobuf:"bytes,1,opt,name=CustomerId,json=customerId,proto3" json:"CustomerId,omitempty"` + VerifiedSerialno string `protobuf:"bytes,2,opt,name=VerifiedSerialno,json=verifiedSerialno,proto3" json:"VerifiedSerialno,omitempty"` +} + +func (x *ApplyCertRequest) Reset() { + *x = ApplyCertRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyCertRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyCertRequest) ProtoMessage() {} + +func (x *ApplyCertRequest) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApplyCertRequest.ProtoReflect.Descriptor instead. +func (*ApplyCertRequest) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{8} +} + +func (x *ApplyCertRequest) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +func (x *ApplyCertRequest) GetVerifiedSerialno() string { + if x != nil { + return x.VerifiedSerialno + } + return "" +} + +type ViewCommonResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DownloadUrl string `protobuf:"bytes,1,opt,name=DownloadUrl,json=downloadUrl,proto3" json:"DownloadUrl,omitempty"` + ViewPdfUrl string `protobuf:"bytes,2,opt,name=ViewPdfUrl,json=viewPdfUrl,proto3" json:"ViewPdfUrl,omitempty"` +} + +func (x *ViewCommonResponse) Reset() { + *x = ViewCommonResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ViewCommonResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ViewCommonResponse) ProtoMessage() {} + +func (x *ViewCommonResponse) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ViewCommonResponse.ProtoReflect.Descriptor instead. +func (*ViewCommonResponse) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{9} +} + +func (x *ViewCommonResponse) GetDownloadUrl() string { + if x != nil { + return x.DownloadUrl + } + return "" +} + +func (x *ViewCommonResponse) GetViewPdfUrl() string { + if x != nil { + return x.ViewPdfUrl + } + return "" +} + +type PdfTemplateKeysRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TemplateId string `protobuf:"bytes,1,opt,name=TemplateId,json=templateId,proto3" json:"TemplateId,omitempty"` +} + +func (x *PdfTemplateKeysRequest) Reset() { + *x = PdfTemplateKeysRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PdfTemplateKeysRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PdfTemplateKeysRequest) ProtoMessage() {} + +func (x *PdfTemplateKeysRequest) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PdfTemplateKeysRequest.ProtoReflect.Descriptor instead. +func (*PdfTemplateKeysRequest) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{10} +} + +func (x *PdfTemplateKeysRequest) GetTemplateId() string { + if x != nil { + return x.TemplateId + } + return "" +} + +type PdfTemplateKeysResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Keys []string `protobuf:"bytes,1,rep,name=Keys,proto3" json:"Keys,omitempty"` +} + +func (x *PdfTemplateKeysResponse) Reset() { + *x = PdfTemplateKeysResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PdfTemplateKeysResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PdfTemplateKeysResponse) ProtoMessage() {} + +func (x *PdfTemplateKeysResponse) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PdfTemplateKeysResponse.ProtoReflect.Descriptor instead. +func (*PdfTemplateKeysResponse) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{11} +} + +func (x *PdfTemplateKeysResponse) GetKeys() []string { + if x != nil { + return x.Keys + } + return nil +} + +type JumpCommonResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + JumpUrl string `protobuf:"bytes,1,opt,name=JumpUrl,json=jumpUrl,proto3" json:"JumpUrl,omitempty"` +} + +func (x *JumpCommonResponse) Reset() { + *x = JumpCommonResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JumpCommonResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JumpCommonResponse) ProtoMessage() {} + +func (x *JumpCommonResponse) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JumpCommonResponse.ProtoReflect.Descriptor instead. +func (*JumpCommonResponse) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{12} +} + +func (x *JumpCommonResponse) GetJumpUrl() string { + if x != nil { + return x.JumpUrl + } + return "" +} + +type ContractRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ContractId string `protobuf:"bytes,1,opt,name=ContractId,json=contractId,proto3" json:"ContractId,omitempty"` +} + +func (x *ContractRequest) Reset() { + *x = ContractRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContractRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContractRequest) ProtoMessage() {} + +func (x *ContractRequest) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContractRequest.ProtoReflect.Descriptor instead. +func (*ContractRequest) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{13} +} + +func (x *ContractRequest) GetContractId() string { + if x != nil { + return x.ContractId + } + return "" +} + +type ExtSignRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TransactionId string `protobuf:"bytes,1,opt,name=TransactionId,json=transactionId,proto3" json:"TransactionId,omitempty"` + ContractId string `protobuf:"bytes,2,opt,name=ContractId,json=contractId,proto3" json:"ContractId,omitempty"` + CustomerId string `protobuf:"bytes,3,opt,name=CustomerId,json=customerId,proto3" json:"CustomerId,omitempty"` + ReturnUrl string `protobuf:"bytes,4,opt,name=ReturnUrl,json=returnUrl,proto3" json:"ReturnUrl,omitempty"` + DocTitle string `protobuf:"bytes,5,opt,name=DocTitle,json=docTitle,proto3" json:"DocTitle,omitempty"` + OpenEnvironment string `protobuf:"bytes,6,opt,name=OpenEnvironment,json=openEnvironment,proto3" json:"OpenEnvironment,omitempty"` + MobileSignType string `protobuf:"bytes,7,opt,name=MobileSignType,json=mobileSignType,proto3" json:"MobileSignType,omitempty"` + SignKeyword string `protobuf:"bytes,8,opt,name=SignKeyword,json=signKeyword,proto3" json:"SignKeyword,omitempty"` + Keyx string `protobuf:"bytes,9,opt,name=Keyx,json=keyx,proto3" json:"Keyx,omitempty"` + Keyy string `protobuf:"bytes,10,opt,name=Keyy,json=keyy,proto3" json:"Keyy,omitempty"` + SignatureShowTime string `protobuf:"bytes,11,opt,name=SignatureShowTime,json=signatureShowTime,proto3" json:"SignatureShowTime,omitempty"` + PcHandSignature string `protobuf:"bytes,12,opt,name=PcHandSignature,proto3" json:"PcHandSignature,omitempty"` +} + +func (x *ExtSignRequest) Reset() { + *x = ExtSignRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtSignRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtSignRequest) ProtoMessage() {} + +func (x *ExtSignRequest) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtSignRequest.ProtoReflect.Descriptor instead. +func (*ExtSignRequest) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{14} +} + +func (x *ExtSignRequest) GetTransactionId() string { + if x != nil { + return x.TransactionId + } + return "" +} + +func (x *ExtSignRequest) GetContractId() string { + if x != nil { + return x.ContractId + } + return "" +} + +func (x *ExtSignRequest) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +func (x *ExtSignRequest) GetReturnUrl() string { + if x != nil { + return x.ReturnUrl + } + return "" +} + +func (x *ExtSignRequest) GetDocTitle() string { + if x != nil { + return x.DocTitle + } + return "" +} + +func (x *ExtSignRequest) GetOpenEnvironment() string { + if x != nil { + return x.OpenEnvironment + } + return "" +} + +func (x *ExtSignRequest) GetMobileSignType() string { + if x != nil { + return x.MobileSignType + } + return "" +} + +func (x *ExtSignRequest) GetSignKeyword() string { + if x != nil { + return x.SignKeyword + } + return "" +} + +func (x *ExtSignRequest) GetKeyx() string { + if x != nil { + return x.Keyx + } + return "" +} + +func (x *ExtSignRequest) GetKeyy() string { + if x != nil { + return x.Keyy + } + return "" +} + +func (x *ExtSignRequest) GetSignatureShowTime() string { + if x != nil { + return x.SignatureShowTime + } + return "" +} + +func (x *ExtSignRequest) GetPcHandSignature() string { + if x != nil { + return x.PcHandSignature + } + return "" +} + +type BeforeAuthSignRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TransactionId string `protobuf:"bytes,1,opt,name=TransactionId,json=transactionId,proto3" json:"TransactionId,omitempty"` + ContractId string `protobuf:"bytes,2,opt,name=ContractId,json=contractId,proto3" json:"ContractId,omitempty"` + CustomerId string `protobuf:"bytes,3,opt,name=CustomerId,json=customerId,proto3" json:"CustomerId,omitempty"` + ReturnUrl string `protobuf:"bytes,4,opt,name=ReturnUrl,json=returnUrl,proto3" json:"ReturnUrl,omitempty"` + NotifyUrl string `protobuf:"bytes,5,opt,name=NotifyUrl,json=notifyUrl,proto3" json:"NotifyUrl,omitempty"` +} + +func (x *BeforeAuthSignRequest) Reset() { + *x = BeforeAuthSignRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BeforeAuthSignRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BeforeAuthSignRequest) ProtoMessage() {} + +func (x *BeforeAuthSignRequest) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BeforeAuthSignRequest.ProtoReflect.Descriptor instead. +func (*BeforeAuthSignRequest) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{15} +} + +func (x *BeforeAuthSignRequest) GetTransactionId() string { + if x != nil { + return x.TransactionId + } + return "" +} + +func (x *BeforeAuthSignRequest) GetContractId() string { + if x != nil { + return x.ContractId + } + return "" +} + +func (x *BeforeAuthSignRequest) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +func (x *BeforeAuthSignRequest) GetReturnUrl() string { + if x != nil { + return x.ReturnUrl + } + return "" +} + +func (x *BeforeAuthSignRequest) GetNotifyUrl() string { + if x != nil { + return x.NotifyUrl + } + return "" +} + +type UploadDocsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ContractId string `protobuf:"bytes,1,opt,name=ContractId,json=customerId,proto3" json:"ContractId,omitempty"` + DocTitle string `protobuf:"bytes,2,opt,name=DocTitle,json=docTitle,proto3" json:"DocTitle,omitempty"` + DocUrl string `protobuf:"bytes,3,opt,name=DocUrl,json=docUrl,proto3" json:"DocUrl,omitempty"` + File string `protobuf:"bytes,4,opt,name=File,json=file,proto3" json:"File,omitempty"` //string doc_type = 1 [json_name = "customerId"]; +} + +func (x *UploadDocsRequest) Reset() { + *x = UploadDocsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadDocsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadDocsRequest) ProtoMessage() {} + +func (x *UploadDocsRequest) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UploadDocsRequest.ProtoReflect.Descriptor instead. +func (*UploadDocsRequest) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{16} +} + +func (x *UploadDocsRequest) GetContractId() string { + if x != nil { + return x.ContractId + } + return "" +} + +func (x *UploadDocsRequest) GetDocTitle() string { + if x != nil { + return x.DocTitle + } + return "" +} + +func (x *UploadDocsRequest) GetDocUrl() string { + if x != nil { + return x.DocUrl + } + return "" +} + +func (x *UploadDocsRequest) GetFile() string { + if x != nil { + return x.File + } + return "" +} + +type CompanyVerifyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CustomerId string `protobuf:"bytes,1,opt,name=CustomerId,json=customerId,proto3" json:"CustomerId,omitempty"` +} + +func (x *CompanyVerifyRequest) Reset() { + *x = CompanyVerifyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CompanyVerifyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CompanyVerifyRequest) ProtoMessage() {} + +func (x *CompanyVerifyRequest) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CompanyVerifyRequest.ProtoReflect.Descriptor instead. +func (*CompanyVerifyRequest) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{17} +} + +func (x *CompanyVerifyRequest) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +type UploadTemplateResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CustomerId string `protobuf:"bytes,1,opt,name=CustomerId,json=customerId,proto3" json:"CustomerId,omitempty"` +} + +func (x *UploadTemplateResponse) Reset() { + *x = UploadTemplateResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadTemplateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadTemplateResponse) ProtoMessage() {} + +func (x *UploadTemplateResponse) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UploadTemplateResponse.ProtoReflect.Descriptor instead. +func (*UploadTemplateResponse) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{18} +} + +func (x *UploadTemplateResponse) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +type PersonVerifyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CustomerId string `protobuf:"bytes,1,opt,name=CustomerId,json=customerId,proto3" json:"CustomerId,omitempty"` + VerifiedWay string `protobuf:"bytes,2,opt,name=VerifiedWay,json=verifiedWay,proto3" json:"VerifiedWay,omitempty"` + CustomerName string `protobuf:"bytes,3,opt,name=CustomerName,json=customerName,proto3" json:"CustomerName,omitempty"` + CustomerIdentNo string `protobuf:"bytes,4,opt,name=CustomerIdentNo,json=customerIdentNo,proto3" json:"CustomerIdentNo,omitempty"` + Mobile string `protobuf:"bytes,5,opt,name=Mobile,json=mobile,proto3" json:"Mobile,omitempty"` + ReturnUrl string `protobuf:"bytes,6,opt,name=ReturnUrl,json=returnUrl,proto3" json:"ReturnUrl,omitempty"` +} + +func (x *PersonVerifyRequest) Reset() { + *x = PersonVerifyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PersonVerifyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PersonVerifyRequest) ProtoMessage() {} + +func (x *PersonVerifyRequest) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PersonVerifyRequest.ProtoReflect.Descriptor instead. +func (*PersonVerifyRequest) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{19} +} + +func (x *PersonVerifyRequest) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +func (x *PersonVerifyRequest) GetVerifiedWay() string { + if x != nil { + return x.VerifiedWay + } + return "" +} + +func (x *PersonVerifyRequest) GetCustomerName() string { + if x != nil { + return x.CustomerName + } + return "" +} + +func (x *PersonVerifyRequest) GetCustomerIdentNo() string { + if x != nil { + return x.CustomerIdentNo + } + return "" +} + +func (x *PersonVerifyRequest) GetMobile() string { + if x != nil { + return x.Mobile + } + return "" +} + +func (x *PersonVerifyRequest) GetReturnUrl() string { + if x != nil { + return x.ReturnUrl + } + return "" +} + +type PersonVerifyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TransactionNo string `protobuf:"bytes,1,opt,name=TransactionNo,proto3" json:"TransactionNo,omitempty"` + Url string `protobuf:"bytes,2,opt,name=Url,proto3" json:"Url,omitempty"` +} + +func (x *PersonVerifyResponse) Reset() { + *x = PersonVerifyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PersonVerifyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PersonVerifyResponse) ProtoMessage() {} + +func (x *PersonVerifyResponse) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PersonVerifyResponse.ProtoReflect.Descriptor instead. +func (*PersonVerifyResponse) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{20} +} + +func (x *PersonVerifyResponse) GetTransactionNo() string { + if x != nil { + return x.TransactionNo + } + return "" +} + +func (x *PersonVerifyResponse) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +type RegisterResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CustomerId string `protobuf:"bytes,1,opt,name=CustomerId,json=customerId,proto3" json:"CustomerId,omitempty"` +} + +func (x *RegisterResponse) Reset() { + *x = RegisterResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RegisterResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegisterResponse) ProtoMessage() {} + +func (x *RegisterResponse) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegisterResponse.ProtoReflect.Descriptor instead. +func (*RegisterResponse) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{21} +} + +func (x *RegisterResponse) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +type CustomerIdRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CustomerId string `protobuf:"bytes,1,opt,name=CustomerId,json=customerId,proto3" json:"CustomerId,omitempty"` +} + +func (x *CustomerIdRequest) Reset() { + *x = CustomerIdRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CustomerIdRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CustomerIdRequest) ProtoMessage() {} + +func (x *CustomerIdRequest) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CustomerIdRequest.ProtoReflect.Descriptor instead. +func (*CustomerIdRequest) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{22} +} + +func (x *CustomerIdRequest) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +type CommonResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CommonResponse) Reset() { + *x = CommonResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommonResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommonResponse) ProtoMessage() {} + +func (x *CommonResponse) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CommonResponse.ProtoReflect.Descriptor instead. +func (*CommonResponse) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{23} +} + +type RegisterOrgRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OpenId string `protobuf:"bytes,1,opt,name=OpenId,json=openId,proto3" json:"OpenId,omitempty"` +} + +func (x *RegisterOrgRequest) Reset() { + *x = RegisterOrgRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RegisterOrgRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegisterOrgRequest) ProtoMessage() {} + +func (x *RegisterOrgRequest) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegisterOrgRequest.ProtoReflect.Descriptor instead. +func (*RegisterOrgRequest) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{24} +} + +func (x *RegisterOrgRequest) GetOpenId() string { + if x != nil { + return x.OpenId + } + return "" +} + +type RegisterPersonRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OpenId string `protobuf:"bytes,1,opt,name=OpenId,json=openId,proto3" json:"OpenId,omitempty"` +} + +func (x *RegisterPersonRequest) Reset() { + *x = RegisterPersonRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RegisterPersonRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegisterPersonRequest) ProtoMessage() {} + +func (x *RegisterPersonRequest) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegisterPersonRequest.ProtoReflect.Descriptor instead. +func (*RegisterPersonRequest) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{25} +} + +func (x *RegisterPersonRequest) GetOpenId() string { + if x != nil { + return x.OpenId + } + return "" +} + +type AddSignRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CustomerId string `protobuf:"bytes,1,opt,name=CustomerId,json=customerId,proto3" json:"CustomerId,omitempty"` + ReadImgByte []byte `protobuf:"bytes,2,opt,name=ReadImgByte,json=readImgByte,proto3" json:"ReadImgByte,omitempty"` +} + +func (x *AddSignRequest) Reset() { + *x = AddSignRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddSignRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddSignRequest) ProtoMessage() {} + +func (x *AddSignRequest) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddSignRequest.ProtoReflect.Descriptor instead. +func (*AddSignRequest) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{26} +} + +func (x *AddSignRequest) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +func (x *AddSignRequest) GetReadImgByte() []byte { + if x != nil { + return x.ReadImgByte + } + return nil +} + +type AddSignResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SignatureId string `protobuf:"bytes,1,opt,name=SignatureId,json=signatureId,proto3" json:"SignatureId,omitempty"` +} + +func (x *AddSignResponse) Reset() { + *x = AddSignResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddSignResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddSignResponse) ProtoMessage() {} + +func (x *AddSignResponse) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddSignResponse.ProtoReflect.Descriptor instead. +func (*AddSignResponse) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{27} +} + +func (x *AddSignResponse) GetSignatureId() string { + if x != nil { + return x.SignatureId + } + return "" +} + +type CustomSignRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CustomerId string `protobuf:"bytes,1,opt,name=CustomerId,json=customerId,proto3" json:"CustomerId,omitempty"` + Content string `protobuf:"bytes,2,opt,name=Content,json=content,proto3" json:"Content,omitempty"` +} + +func (x *CustomSignRequest) Reset() { + *x = CustomSignRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CustomSignRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CustomSignRequest) ProtoMessage() {} + +func (x *CustomSignRequest) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CustomSignRequest.ProtoReflect.Descriptor instead. +func (*CustomSignRequest) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{28} +} + +func (x *CustomSignRequest) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +func (x *CustomSignRequest) GetContent() string { + if x != nil { + return x.Content + } + return "" +} + +type CustomSignResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SignatureImgBase64 string `protobuf:"bytes,1,opt,name=SignatureImgBase64,json=signatureImgBase64,proto3" json:"SignatureImgBase64,omitempty"` +} + +func (x *CustomSignResponse) Reset() { + *x = CustomSignResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CustomSignResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CustomSignResponse) ProtoMessage() {} + +func (x *CustomSignResponse) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CustomSignResponse.ProtoReflect.Descriptor instead. +func (*CustomSignResponse) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{29} +} + +func (x *CustomSignResponse) GetSignatureImgBase64() string { + if x != nil { + return x.SignatureImgBase64 + } + return "" +} + +type UploadTemplateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TemplateId string `protobuf:"bytes,1,opt,name=TemplateId,json=templateId,proto3" json:"TemplateId,omitempty"` + DocUrl string `protobuf:"bytes,2,opt,name=DocUrl,json=docUrl,proto3" json:"DocUrl,omitempty"` +} + +func (x *UploadTemplateRequest) Reset() { + *x = UploadTemplateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadTemplateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadTemplateRequest) ProtoMessage() {} + +func (x *UploadTemplateRequest) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UploadTemplateRequest.ProtoReflect.Descriptor instead. +func (*UploadTemplateRequest) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{30} +} + +func (x *UploadTemplateRequest) GetTemplateId() string { + if x != nil { + return x.TemplateId + } + return "" +} + +func (x *UploadTemplateRequest) GetDocUrl() string { + if x != nil { + return x.DocUrl + } + return "" +} + +type ExtSignAutoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TransactionId string `protobuf:"bytes,1,opt,name=TransactionId,json=transactionId,proto3" json:"TransactionId,omitempty"` + ContractId string `protobuf:"bytes,2,opt,name=ContractId,json=contractId,proto3" json:"ContractId,omitempty"` + CustomerId string `protobuf:"bytes,3,opt,name=CustomerId,json=customerId,proto3" json:"CustomerId,omitempty"` + ClientRole string `protobuf:"bytes,4,opt,name=ClientRole,json=clientRole,proto3" json:"ClientRole,omitempty"` + DocTitle string `protobuf:"bytes,5,opt,name=DocTitle,json=docTitle,proto3" json:"DocTitle,omitempty"` + SignKeyword string `protobuf:"bytes,6,opt,name=SignKeyword,json=signKeyword,proto3" json:"SignKeyword,omitempty"` + SignatureId string `protobuf:"bytes,7,opt,name=SignatureId,json=signatureId,proto3" json:"SignatureId,omitempty"` + KeyX string `protobuf:"bytes,9,opt,name=KeyX,json=keyX,proto3" json:"KeyX,omitempty"` + KeyY string `protobuf:"bytes,10,opt,name=KeyY,json=keyY,proto3" json:"KeyY,omitempty"` +} + +func (x *ExtSignAutoRequest) Reset() { + *x = ExtSignAutoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtSignAutoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtSignAutoRequest) ProtoMessage() {} + +func (x *ExtSignAutoRequest) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtSignAutoRequest.ProtoReflect.Descriptor instead. +func (*ExtSignAutoRequest) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{31} +} + +func (x *ExtSignAutoRequest) GetTransactionId() string { + if x != nil { + return x.TransactionId + } + return "" +} + +func (x *ExtSignAutoRequest) GetContractId() string { + if x != nil { + return x.ContractId + } + return "" +} + +func (x *ExtSignAutoRequest) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +func (x *ExtSignAutoRequest) GetClientRole() string { + if x != nil { + return x.ClientRole + } + return "" +} + +func (x *ExtSignAutoRequest) GetDocTitle() string { + if x != nil { + return x.DocTitle + } + return "" +} + +func (x *ExtSignAutoRequest) GetSignKeyword() string { + if x != nil { + return x.SignKeyword + } + return "" +} + +func (x *ExtSignAutoRequest) GetSignatureId() string { + if x != nil { + return x.SignatureId + } + return "" +} + +func (x *ExtSignAutoRequest) GetKeyX() string { + if x != nil { + return x.KeyX + } + return "" +} + +func (x *ExtSignAutoRequest) GetKeyY() string { + if x != nil { + return x.KeyY + } + return "" +} + +type GenerateContractRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TemplateId string `protobuf:"bytes,1,opt,name=TemplateId,json=templateId,proto3" json:"TemplateId,omitempty"` + ContractId string `protobuf:"bytes,2,opt,name=ContractId,json=templateId,proto3" json:"ContractId,omitempty"` + ParameterMap string `protobuf:"bytes,3,opt,name=ParameterMap,proto3" json:"ParameterMap,omitempty"` + DynamicTables string `protobuf:"bytes,4,opt,name=DynamicTables,json=dynamicTables,proto3" json:"DynamicTables,omitempty"` +} + +func (x *GenerateContractRequest) Reset() { + *x = GenerateContractRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GenerateContractRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateContractRequest) ProtoMessage() {} + +func (x *GenerateContractRequest) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GenerateContractRequest.ProtoReflect.Descriptor instead. +func (*GenerateContractRequest) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{32} +} + +func (x *GenerateContractRequest) GetTemplateId() string { + if x != nil { + return x.TemplateId + } + return "" +} + +func (x *GenerateContractRequest) GetContractId() string { + if x != nil { + return x.ContractId + } + return "" +} + +func (x *GenerateContractRequest) GetParameterMap() string { + if x != nil { + return x.ParameterMap + } + return "" +} + +func (x *GenerateContractRequest) GetDynamicTables() string { + if x != nil { + return x.DynamicTables + } + return "" +} + +var File_contract_proto protoreflect.FileDescriptor + +var file_contract_proto_rawDesc = []byte{ + 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x76, 0x0a, 0x18, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, + 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, + 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x22, 0xb0, + 0x06, 0x0a, 0x06, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x72, 0x65, + 0x61, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x41, 0x72, 0x65, + 0x61, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x41, 0x75, 0x64, 0x69, 0x74, 0x46, 0x61, + 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x41, 0x75, 0x64, 0x69, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, + 0x20, 0x0a, 0x0b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x32, 0x0a, 0x14, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x49, + 0x64, 0x43, 0x61, 0x72, 0x64, 0x50, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x14, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x43, 0x61, 0x72, + 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x61, 0x72, + 0x64, 0x4e, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x42, 0x61, 0x6e, 0x6b, 0x43, + 0x61, 0x72, 0x64, 0x4e, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, + 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, + 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x43, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, + 0x0b, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x44, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x44, 0x61, 0x74, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x46, 0x6f, 0x72, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x46, + 0x6f, 0x72, 0x6b, 0x12, 0x2c, 0x0a, 0x11, 0x47, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x73, 0x50, + 0x68, 0x6f, 0x74, 0x6f, 0x50, 0x61, 0x74, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, + 0x47, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x73, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x50, 0x61, 0x74, + 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x48, 0x65, 0x61, 0x64, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x50, 0x61, + 0x74, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x48, 0x65, 0x61, 0x64, 0x50, 0x68, + 0x6f, 0x74, 0x6f, 0x50, 0x61, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x64, 0x43, 0x61, 0x72, + 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x12, + 0x1e, 0x0a, 0x0a, 0x49, 0x73, 0x4c, 0x6f, 0x6e, 0x67, 0x54, 0x65, 0x72, 0x6d, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x49, 0x73, 0x4c, 0x6f, 0x6e, 0x67, 0x54, 0x65, 0x72, 0x6d, 0x12, + 0x2c, 0x0a, 0x11, 0x49, 0x73, 0x50, 0x61, 0x73, 0x73, 0x46, 0x6f, 0x75, 0x72, 0x45, 0x6c, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x49, 0x73, 0x50, 0x61, + 0x73, 0x73, 0x46, 0x6f, 0x75, 0x72, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x0a, + 0x12, 0x49, 0x73, 0x50, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x65, 0x65, 0x45, 0x6c, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x49, 0x73, 0x50, 0x61, 0x73, + 0x73, 0x54, 0x68, 0x72, 0x65, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, + 0x0e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x41, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x12, 0x1e, 0x0a, + 0x0a, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x55, 0x75, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x55, 0x75, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x53, + 0x65, 0x78, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x53, 0x65, 0x78, 0x12, 0x1c, 0x0a, + 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x56, 0x65, 0x72, 0x69, 0x66, + 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x56, 0x65, 0x72, + 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x22, 0xe0, 0x01, 0x0a, 0x16, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x43, 0x65, 0x72, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x06, + 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x65, 0x72, 0x73, + 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x18, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, + 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x0a, 0x0c, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x65, 0x72, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x10, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, + 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x6e, 0x6f, + 0x22, 0xc3, 0x04, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x12, 0x28, 0x0a, 0x0f, + 0x41, 0x75, 0x64, 0x69, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x41, 0x75, 0x64, 0x69, 0x74, 0x46, 0x61, 0x69, 0x6c, + 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x6f, + 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x41, 0x75, 0x64, + 0x69, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x43, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x10, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x45, + 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x43, 0x6f, 0x6d, 0x70, + 0x61, 0x6e, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x70, + 0x61, 0x6e, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x43, + 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x48, 0x61, + 0x73, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x48, 0x61, + 0x73, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x67, 0x61, 0x6c, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x4c, 0x65, 0x67, 0x61, 0x6c, 0x12, 0x20, 0x0a, 0x0b, + 0x4c, 0x65, 0x67, 0x61, 0x6c, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x4c, 0x65, 0x67, 0x61, 0x6c, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x4c, 0x65, 0x67, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x4c, 0x65, 0x67, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, + 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x2a, 0x0a, 0x10, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x61, 0x74, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x4f, 0x72, 0x67, 0x61, + 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2a, 0x0a, 0x10, + 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x67, 0x46, + 0x6f, 0x72, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x52, + 0x65, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x12, 0x32, 0x0a, 0x14, 0x52, 0x65, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x4e, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x12, 0x16, + 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, + 0x54, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x56, 0x65, 0x72, 0x69, + 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0xe9, 0x04, 0x0a, 0x07, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x28, + 0x0a, 0x0f, 0x41, 0x75, 0x64, 0x69, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x41, 0x75, 0x64, 0x69, 0x74, 0x46, 0x61, + 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x75, 0x64, 0x69, + 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x41, + 0x75, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x42, 0x61, + 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x50, 0x61, + 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, + 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1a, + 0x0a, 0x08, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x45, 0x78, + 0x70, 0x69, 0x72, 0x65, 0x73, 0x44, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x44, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x46, 0x6f, 0x72, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x46, 0x6f, 0x72, 0x6b, + 0x12, 0x24, 0x0a, 0x0d, 0x48, 0x65, 0x61, 0x64, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x50, 0x61, 0x74, + 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x48, 0x65, 0x61, 0x64, 0x50, 0x68, 0x6f, + 0x74, 0x6f, 0x50, 0x61, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x12, 0x1e, + 0x0a, 0x0a, 0x49, 0x73, 0x4c, 0x6f, 0x6e, 0x67, 0x54, 0x65, 0x72, 0x6d, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x49, 0x73, 0x4c, 0x6f, 0x6e, 0x67, 0x54, 0x65, 0x72, 0x6d, 0x12, 0x26, + 0x0a, 0x0e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x41, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x12, 0x1e, + 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x55, 0x75, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x55, 0x75, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, + 0x53, 0x65, 0x78, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x53, 0x65, 0x78, 0x12, 0x1c, + 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x12, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x56, 0x65, 0x72, 0x69, + 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x56, 0x65, + 0x72, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x22, 0x9d, 0x02, 0x0a, 0x17, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x43, 0x65, + 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, + 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x52, 0x07, + 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x12, 0x37, 0x0a, 0x07, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x12, 0x3a, 0x0a, 0x18, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x18, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x50, 0x61, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x70, 0x61, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x12, 0x12, + 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x22, 0x8e, 0x01, 0x0a, 0x12, 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x75, 0x74, + 0x68, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x61, 0x75, 0x74, + 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, + 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x22, 0x5e, 0x0a, 0x10, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x65, 0x72, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x56, 0x65, 0x72, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, + 0x6c, 0x6e, 0x6f, 0x22, 0x56, 0x0a, 0x12, 0x56, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x56, + 0x69, 0x65, 0x77, 0x50, 0x64, 0x66, 0x55, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x76, 0x69, 0x65, 0x77, 0x50, 0x64, 0x66, 0x55, 0x72, 0x6c, 0x22, 0x38, 0x0a, 0x16, 0x50, + 0x64, 0x66, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x49, 0x64, 0x22, 0x2d, 0x0a, 0x17, 0x50, 0x64, 0x66, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x4b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, + 0x4b, 0x65, 0x79, 0x73, 0x22, 0x2e, 0x0a, 0x12, 0x4a, 0x75, 0x6d, 0x70, 0x43, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x4a, 0x75, + 0x6d, 0x70, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x75, 0x6d, + 0x70, 0x55, 0x72, 0x6c, 0x22, 0x31, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x22, 0xa4, 0x03, 0x0a, 0x0e, 0x45, 0x78, 0x74, 0x53, + 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, + 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x1a, + 0x0a, 0x08, 0x44, 0x6f, 0x63, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x64, 0x6f, 0x63, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x4f, 0x70, + 0x65, 0x6e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6f, 0x70, 0x65, 0x6e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x53, 0x69, + 0x67, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x6f, + 0x62, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, + 0x53, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x4b, 0x65, 0x79, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, + 0x79, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x4b, 0x65, 0x79, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6b, 0x65, 0x79, 0x79, 0x12, 0x2c, 0x0a, 0x11, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x11, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x68, 0x6f, 0x77, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x50, 0x63, 0x48, 0x61, 0x6e, 0x64, 0x53, 0x69, + 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x50, + 0x63, 0x48, 0x61, 0x6e, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0xb9, + 0x01, 0x0a, 0x15, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x41, 0x75, 0x74, 0x68, 0x53, 0x69, 0x67, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, + 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1e, + 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, + 0x0a, 0x09, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x22, 0x7b, 0x0a, 0x11, 0x55, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x1a, 0x0a, 0x08, 0x44, 0x6f, 0x63, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x64, 0x6f, 0x63, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x44, + 0x6f, 0x63, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x63, + 0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x69, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x36, 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x70, 0x61, + 0x6e, 0x79, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x22, + 0x38, 0x0a, 0x16, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x22, 0xdb, 0x01, 0x0a, 0x13, 0x50, 0x65, + 0x72, 0x73, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x57, 0x61, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x57, 0x61, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x43, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x4e, + 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x22, 0x4e, 0x0a, 0x14, 0x50, 0x65, 0x72, 0x73, 0x6f, + 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x55, 0x72, 0x6c, 0x22, 0x32, 0x0a, 0x10, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x22, 0x33, 0x0a, 0x11, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, + 0x22, 0x10, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x2c, 0x0a, 0x12, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x72, + 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x65, 0x6e, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, + 0x22, 0x2f, 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x65, 0x72, 0x73, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x65, + 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, + 0x64, 0x22, 0x52, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x61, 0x64, 0x49, 0x6d, 0x67, 0x42, 0x79, + 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x49, 0x6d, + 0x67, 0x42, 0x79, 0x74, 0x65, 0x22, 0x33, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x53, 0x69, 0x67, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x11, 0x43, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x44, 0x0a, 0x12, 0x43, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x2e, 0x0a, 0x12, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x6d, 0x67, 0x42, + 0x61, 0x73, 0x65, 0x36, 0x34, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x69, 0x67, + 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x6d, 0x67, 0x42, 0x61, 0x73, 0x65, 0x36, 0x34, 0x22, + 0x4f, 0x0a, 0x15, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x63, 0x55, + 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x63, 0x55, 0x72, 0x6c, + 0x22, 0xa2, 0x02, 0x0a, 0x12, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x75, 0x74, 0x6f, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, + 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, + 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, + 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x44, 0x6f, 0x63, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x64, 0x6f, 0x63, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x69, 0x67, + 0x6e, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x73, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x53, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x4b, 0x65, 0x79, 0x58, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, + 0x58, 0x12, 0x12, 0x0a, 0x04, 0x4b, 0x65, 0x79, 0x59, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6b, 0x65, 0x79, 0x59, 0x22, 0xa3, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, + 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, + 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x61, + 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x4d, 0x61, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x79, + 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x32, 0x81, 0x11, 0x0a, 0x14, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x12, 0x67, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, + 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, + 0x0c, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x29, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x61, 0x0a, 0x0b, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x4f, 0x72, 0x67, 0x12, 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x72, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x26, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, + 0x70, 0x61, 0x6e, 0x79, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x65, + 0x72, 0x73, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x68, 0x0a, 0x12, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, + 0x6f, 0x6e, 0x43, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x2c, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x43, 0x65, 0x72, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, + 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x43, 0x65, 0x72, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x46, 0x69, 0x6e, + 0x64, 0x43, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x43, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x09, 0x41, 0x70, + 0x70, 0x6c, 0x79, 0x43, 0x65, 0x72, 0x74, 0x12, 0x26, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, + 0x70, 0x70, 0x6c, 0x79, 0x43, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x0c, 0x41, 0x64, 0x64, 0x53, 0x69, + 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, + 0x64, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x61, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x53, 0x69, 0x67, 0x6e, 0x12, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, + 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x69, 0x67, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x0e, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x2b, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x5d, 0x0a, 0x0a, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x63, 0x73, 0x12, 0x27, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x63, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x6d, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, + 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, + 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, + 0x0a, 0x0b, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x12, 0x28, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x75, 0x74, 0x6f, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, + 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x0e, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x41, 0x75, 0x74, + 0x68, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x2b, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x42, 0x65, 0x66, + 0x6f, 0x72, 0x65, 0x41, 0x75, 0x74, 0x68, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, + 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4a, 0x75, 0x6d, 0x70, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, + 0x0a, 0x07, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4a, 0x75, 0x6d, 0x70, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x61, 0x0a, 0x0c, 0x56, + 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, + 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4a, 0x75, 0x6d, 0x70, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, + 0x0a, 0x10, 0x44, 0x6f, 0x77, 0x6e, 0x4c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, + 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x4a, 0x75, 0x6d, 0x70, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x46, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x64, 0x66, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x2c, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x50, 0x64, 0x66, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4b, + 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x50, 0x64, 0x66, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x61, 0x0a, 0x0a, 0x41, + 0x75, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, + 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, + 0x0a, 0x11, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x41, + 0x75, 0x74, 0x6f, 0x12, 0x2e, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, + 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, + 0x6c, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, + 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4a, 0x75, 0x6d, 0x70, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, + 0x19, 0x5a, 0x17, 0x2e, 0x2f, 0x3b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, + 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_contract_proto_rawDescOnce sync.Once + file_contract_proto_rawDescData = file_contract_proto_rawDesc +) + +func file_contract_proto_rawDescGZIP() []byte { + file_contract_proto_rawDescOnce.Do(func() { + file_contract_proto_rawDescData = protoimpl.X.CompressGZIP(file_contract_proto_rawDescData) + }) + return file_contract_proto_rawDescData +} + +var file_contract_proto_msgTypes = make([]protoimpl.MessageInfo, 33) +var file_contract_proto_goTypes = []interface{}{ + (*CancelExtSignAutoRequest)(nil), // 0: contractMicroservice.CancelExtSignAutoRequest + (*Person)(nil), // 1: contractMicroservice.Person + (*PersonCertInfoResponse)(nil), // 2: contractMicroservice.PersonCertInfoResponse + (*FindCertInfo)(nil), // 3: contractMicroservice.FindCertInfo + (*Company)(nil), // 4: contractMicroservice.Company + (*Manager)(nil), // 5: contractMicroservice.Manager + (*CompanyCertInfoResponse)(nil), // 6: contractMicroservice.CompanyCertInfoResponse + (*AuthStatusResponse)(nil), // 7: contractMicroservice.AuthStatusResponse + (*ApplyCertRequest)(nil), // 8: contractMicroservice.ApplyCertRequest + (*ViewCommonResponse)(nil), // 9: contractMicroservice.ViewCommonResponse + (*PdfTemplateKeysRequest)(nil), // 10: contractMicroservice.PdfTemplateKeysRequest + (*PdfTemplateKeysResponse)(nil), // 11: contractMicroservice.PdfTemplateKeysResponse + (*JumpCommonResponse)(nil), // 12: contractMicroservice.JumpCommonResponse + (*ContractRequest)(nil), // 13: contractMicroservice.ContractRequest + (*ExtSignRequest)(nil), // 14: contractMicroservice.ExtSignRequest + (*BeforeAuthSignRequest)(nil), // 15: contractMicroservice.BeforeAuthSignRequest + (*UploadDocsRequest)(nil), // 16: contractMicroservice.UploadDocsRequest + (*CompanyVerifyRequest)(nil), // 17: contractMicroservice.CompanyVerifyRequest + (*UploadTemplateResponse)(nil), // 18: contractMicroservice.UploadTemplateResponse + (*PersonVerifyRequest)(nil), // 19: contractMicroservice.PersonVerifyRequest + (*PersonVerifyResponse)(nil), // 20: contractMicroservice.PersonVerifyResponse + (*RegisterResponse)(nil), // 21: contractMicroservice.RegisterResponse + (*CustomerIdRequest)(nil), // 22: contractMicroservice.CustomerIdRequest + (*CommonResponse)(nil), // 23: contractMicroservice.CommonResponse + (*RegisterOrgRequest)(nil), // 24: contractMicroservice.RegisterOrgRequest + (*RegisterPersonRequest)(nil), // 25: contractMicroservice.RegisterPersonRequest + (*AddSignRequest)(nil), // 26: contractMicroservice.AddSignRequest + (*AddSignResponse)(nil), // 27: contractMicroservice.AddSignResponse + (*CustomSignRequest)(nil), // 28: contractMicroservice.CustomSignRequest + (*CustomSignResponse)(nil), // 29: contractMicroservice.CustomSignResponse + (*UploadTemplateRequest)(nil), // 30: contractMicroservice.UploadTemplateRequest + (*ExtSignAutoRequest)(nil), // 31: contractMicroservice.ExtSignAutoRequest + (*GenerateContractRequest)(nil), // 32: contractMicroservice.GenerateContractRequest +} +var file_contract_proto_depIdxs = []int32{ + 1, // 0: contractMicroservice.PersonCertInfoResponse.Person:type_name -> contractMicroservice.Person + 4, // 1: contractMicroservice.CompanyCertInfoResponse.Company:type_name -> contractMicroservice.Company + 5, // 2: contractMicroservice.CompanyCertInfoResponse.Manager:type_name -> contractMicroservice.Manager + 25, // 3: contractMicroservice.ContractMicroservice.RegisterPerson:input_type -> contractMicroservice.RegisterPersonRequest + 19, // 4: contractMicroservice.ContractMicroservice.PersonVerify:input_type -> contractMicroservice.PersonVerifyRequest + 24, // 5: contractMicroservice.ContractMicroservice.RegisterOrg:input_type -> contractMicroservice.RegisterOrgRequest + 17, // 6: contractMicroservice.ContractMicroservice.CompanyVerify:input_type -> contractMicroservice.CompanyVerifyRequest + 3, // 7: contractMicroservice.ContractMicroservice.FindPersonCertInfo:input_type -> contractMicroservice.FindCertInfo + 3, // 8: contractMicroservice.ContractMicroservice.FindCompanyCertInfo:input_type -> contractMicroservice.FindCertInfo + 8, // 9: contractMicroservice.ContractMicroservice.ApplyCert:input_type -> contractMicroservice.ApplyCertRequest + 26, // 10: contractMicroservice.ContractMicroservice.AddSignature:input_type -> contractMicroservice.AddSignRequest + 28, // 11: contractMicroservice.ContractMicroservice.CustomSign:input_type -> contractMicroservice.CustomSignRequest + 30, // 12: contractMicroservice.ContractMicroservice.UploadTemplate:input_type -> contractMicroservice.UploadTemplateRequest + 16, // 13: contractMicroservice.ContractMicroservice.UploadDocs:input_type -> contractMicroservice.UploadDocsRequest + 32, // 14: contractMicroservice.ContractMicroservice.GenerateContract:input_type -> contractMicroservice.GenerateContractRequest + 31, // 15: contractMicroservice.ContractMicroservice.ExtSignAuto:input_type -> contractMicroservice.ExtSignAutoRequest + 15, // 16: contractMicroservice.ContractMicroservice.BeforeAuthSign:input_type -> contractMicroservice.BeforeAuthSignRequest + 14, // 17: contractMicroservice.ContractMicroservice.ExtSign:input_type -> contractMicroservice.ExtSignRequest + 13, // 18: contractMicroservice.ContractMicroservice.ViewContract:input_type -> contractMicroservice.ContractRequest + 13, // 19: contractMicroservice.ContractMicroservice.DownLoadContract:input_type -> contractMicroservice.ContractRequest + 13, // 20: contractMicroservice.ContractMicroservice.ContractFiling:input_type -> contractMicroservice.ContractRequest + 10, // 21: contractMicroservice.ContractMicroservice.GetPdfTemplateKeys:input_type -> contractMicroservice.PdfTemplateKeysRequest + 22, // 22: contractMicroservice.ContractMicroservice.AuthStatus:input_type -> contractMicroservice.CustomerIdRequest + 0, // 23: contractMicroservice.ContractMicroservice.CancelExtSignAuto:input_type -> contractMicroservice.CancelExtSignAutoRequest + 21, // 24: contractMicroservice.ContractMicroservice.RegisterPerson:output_type -> contractMicroservice.RegisterResponse + 20, // 25: contractMicroservice.ContractMicroservice.PersonVerify:output_type -> contractMicroservice.PersonVerifyResponse + 21, // 26: contractMicroservice.ContractMicroservice.RegisterOrg:output_type -> contractMicroservice.RegisterResponse + 20, // 27: contractMicroservice.ContractMicroservice.CompanyVerify:output_type -> contractMicroservice.PersonVerifyResponse + 2, // 28: contractMicroservice.ContractMicroservice.FindPersonCertInfo:output_type -> contractMicroservice.PersonCertInfoResponse + 6, // 29: contractMicroservice.ContractMicroservice.FindCompanyCertInfo:output_type -> contractMicroservice.CompanyCertInfoResponse + 23, // 30: contractMicroservice.ContractMicroservice.ApplyCert:output_type -> contractMicroservice.CommonResponse + 27, // 31: contractMicroservice.ContractMicroservice.AddSignature:output_type -> contractMicroservice.AddSignResponse + 29, // 32: contractMicroservice.ContractMicroservice.CustomSign:output_type -> contractMicroservice.CustomSignResponse + 23, // 33: contractMicroservice.ContractMicroservice.UploadTemplate:output_type -> contractMicroservice.CommonResponse + 23, // 34: contractMicroservice.ContractMicroservice.UploadDocs:output_type -> contractMicroservice.CommonResponse + 9, // 35: contractMicroservice.ContractMicroservice.GenerateContract:output_type -> contractMicroservice.ViewCommonResponse + 9, // 36: contractMicroservice.ContractMicroservice.ExtSignAuto:output_type -> contractMicroservice.ViewCommonResponse + 12, // 37: contractMicroservice.ContractMicroservice.BeforeAuthSign:output_type -> contractMicroservice.JumpCommonResponse + 12, // 38: contractMicroservice.ContractMicroservice.ExtSign:output_type -> contractMicroservice.JumpCommonResponse + 12, // 39: contractMicroservice.ContractMicroservice.ViewContract:output_type -> contractMicroservice.JumpCommonResponse + 12, // 40: contractMicroservice.ContractMicroservice.DownLoadContract:output_type -> contractMicroservice.JumpCommonResponse + 23, // 41: contractMicroservice.ContractMicroservice.ContractFiling:output_type -> contractMicroservice.CommonResponse + 11, // 42: contractMicroservice.ContractMicroservice.GetPdfTemplateKeys:output_type -> contractMicroservice.PdfTemplateKeysResponse + 7, // 43: contractMicroservice.ContractMicroservice.AuthStatus:output_type -> contractMicroservice.AuthStatusResponse + 12, // 44: contractMicroservice.ContractMicroservice.CancelExtSignAuto:output_type -> contractMicroservice.JumpCommonResponse + 24, // [24:45] is the sub-list for method output_type + 3, // [3:24] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_contract_proto_init() } +func file_contract_proto_init() { + if File_contract_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_contract_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CancelExtSignAutoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Person); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PersonCertInfoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FindCertInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Company); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Manager); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CompanyCertInfoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AuthStatusResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyCertRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ViewCommonResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PdfTemplateKeysRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PdfTemplateKeysResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JumpCommonResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContractRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtSignRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BeforeAuthSignRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UploadDocsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CompanyVerifyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UploadTemplateResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PersonVerifyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PersonVerifyResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RegisterResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CustomerIdRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommonResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RegisterOrgRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RegisterPersonRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddSignRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddSignResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CustomSignRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CustomSignResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UploadTemplateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtSignAutoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GenerateContractRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_contract_proto_rawDesc, + NumEnums: 0, + NumMessages: 33, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_contract_proto_goTypes, + DependencyIndexes: file_contract_proto_depIdxs, + MessageInfos: file_contract_proto_msgTypes, + }.Build() + File_contract_proto = out.File + file_contract_proto_rawDesc = nil + file_contract_proto_goTypes = nil + file_contract_proto_depIdxs = nil +} diff --git a/pb/contract_microservice/contract.proto b/pb/contract_microservice/contract.proto new file mode 100644 index 0000000..ecec62f --- /dev/null +++ b/pb/contract_microservice/contract.proto @@ -0,0 +1,298 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +syntax = "proto3"; +package contractMicroservice; +//import "github.com/mwitkow/go-proto-validators/validator.proto"; + +option go_package = "./;contractMicroservice"; + +service ContractMicroservice { + rpc RegisterPerson (RegisterPersonRequest) returns (RegisterResponse) {} //个人注册 + rpc PersonVerify (PersonVerifyRequest) returns (PersonVerifyResponse) {} //个人身份校验 + + rpc RegisterOrg (RegisterOrgRequest) returns (RegisterResponse) {} //主体注册 + rpc CompanyVerify (CompanyVerifyRequest) returns (PersonVerifyResponse) {} //主体身份校验 + + rpc FindPersonCertInfo (FindCertInfo) returns (PersonCertInfoResponse) {} //主体身份校验 + rpc FindCompanyCertInfo (FindCertInfo) returns (CompanyCertInfoResponse) {} //主体身份校验 + + rpc ApplyCert (ApplyCertRequest) returns (CommonResponse) {} //颁发证书 + + rpc AddSignature (AddSignRequest) returns (AddSignResponse) {} //实名证书申请 + rpc CustomSign (CustomSignRequest) returns (CustomSignResponse) {} //自定义印章 + rpc UploadTemplate (UploadTemplateRequest) returns (CommonResponse) {} //上传文本 + rpc UploadDocs (UploadDocsRequest) returns (CommonResponse) {} //上传文本 + rpc GenerateContract (GenerateContractRequest) returns (ViewCommonResponse) {} //模板填充 + rpc ExtSignAuto (ExtSignAutoRequest) returns (ViewCommonResponse) {} //自动签章 + rpc BeforeAuthSign (BeforeAuthSignRequest) returns (JumpCommonResponse) {} //自动签章 授权 + rpc ExtSign (ExtSignRequest) returns (JumpCommonResponse) {} //授权 + rpc ViewContract (ContractRequest) returns (JumpCommonResponse) {} //查看合同 + rpc DownLoadContract (ContractRequest) returns (JumpCommonResponse) {} //查看合同 + rpc ContractFiling (ContractRequest) returns (CommonResponse) {} //合同归档 + rpc GetPdfTemplateKeys (PdfTemplateKeysRequest) returns (PdfTemplateKeysResponse) {} //获取合同模板的key值 + + rpc AuthStatus (CustomerIdRequest) returns (AuthStatusResponse) {} //获取合同模板的key值 + rpc CancelExtSignAuto (CancelExtSignAutoRequest) returns (JumpCommonResponse) {} //取消授权签协议接口 +} + +message CancelExtSignAutoRequest { + string CustomerId = 1; + string NotifyUrl = 2; + string returnUrl = 3; +} + +message Person { + string AreaCode = 1; + string AuditFailReason = 2; + string AuditorTime = 3; + string BackgroundIdCardPath = 4; + string BankCardNo = 5; + string Birthday = 6; + string CertType = 7; + string ExpiresDate = 8; + string Fork = 9; + string GesturesPhotoPath = 10; + string HeadPhotoPath = 11; + string IdCard = 12; + string IsLongTerm = 13; + double IsPassFourElement = 14; + double IsPassThreeElement = 15; + string IssueAuthority = 16; + string Mobile = 17; + string PersonName = 18; + string PhotoUuid = 19; + string Sex = 20; + string StartDate = 21; + string Status = 22; + string Type = 23; + string VerifyType = 24; + string Address = 25; +} + +message PersonCertInfoResponse { + Person Person = 1 [json_name = "person"]; + string AuthenticationSubmitTime = 2 [json_name = "authenticationSubmitTime"]; + string PassTime = 3 [json_name = "passTime"]; + string TransactionNo = 4 [json_name = "transactionNo"]; + string Type = 5 [json_name = "type"]; +} + +message FindCertInfo { + string VerifiedSerialno = 2 [json_name = "verifiedSerialno"]; +} +message Company{ + string AuditFailReason = 1; + string AuditorTime = 2; + string CertificatesType = 3; + string CompanyEmail = 4; + string CompanyName = 5; + string Hasagent = 6; + string Legal = 7; + string LegalMobile = 8; + string LegalName = 9; + string Organization = 10; + string OrganizationPath = 11; + string OrganizationType = 12; + string RegFormPath = 13; + string RelatedTransactionNo = 14; + string Status = 15; + string VerifyType = 16; +} + +message Manager { + string AreaCode = 1; + string AuditFailReason = 2; + string AuditorTime = 3; + string BackgroundIdCardPath = 4; + string Birthday = 5; + string ExpiresDate = 6; + string Fork = 7; + string HeadPhotoPath = 8; + string IdCard = 9; + string IsLongTerm = 10; + string IssueAuthority = 11; + string Mobile = 12; + string PersonName = 13; + string PhotoUuid = 14; + string Sex = 15; + string StartDate = 16; + string Status = 17; + string Type = 18; + string VerifyType = 19; + string Address = 20; +} + +message CompanyCertInfoResponse { + Company Company = 1 [json_name = "Company"]; + Manager Manager = 2 [json_name = "manager"]; + string AuthenticationSubmitTime = 3 [json_name = "authenticationSubmitTime"]; + string PassTime = 4 [json_name = "passTime"]; + string TransactionNo = 5 [json_name = "transactionNo"]; + string Type = 6 [json_name = "type"]; +} + +message AuthStatusResponse { + uint64 AuthType = 1 [json_name = "authType"]; + string ContractId = 2 [json_name = "contractId"]; + uint64 Status = 3 [json_name = "status"]; + string TransactionId = 4 [json_name = "transactionId"]; +} + +message ApplyCertRequest { + string CustomerId = 1 [json_name = "customerId"]; + string VerifiedSerialno = 2 [json_name = "verifiedSerialno"]; +} + +message ViewCommonResponse { + string DownloadUrl = 1 [json_name = "downloadUrl"]; + string ViewPdfUrl = 2 [json_name = "viewPdfUrl"]; +} + + +message PdfTemplateKeysRequest { + string TemplateId = 1 [json_name = "templateId"]; +} + +message PdfTemplateKeysResponse { + repeated string Keys = 1 [json_name = "Keys"]; +} + +message JumpCommonResponse { + string JumpUrl = 1 [json_name = "jumpUrl"]; +} + +message ContractRequest { + string ContractId = 1 [json_name = "contractId"]; +} + +message ExtSignRequest { + string TransactionId = 1 [json_name = "transactionId"]; + string ContractId = 2 [json_name = "contractId"]; + string CustomerId = 3 [json_name = "customerId"]; + string ReturnUrl = 4 [json_name = "returnUrl"]; + string DocTitle = 5 [json_name = "docTitle"]; + string OpenEnvironment = 6 [json_name = "openEnvironment"]; + string MobileSignType = 7 [json_name = "mobileSignType"]; + string SignKeyword = 8 [json_name = "signKeyword"]; + string Keyx = 9 [json_name = "keyx"]; + string Keyy = 10 [json_name = "keyy"]; + string SignatureShowTime = 11 [json_name = "signatureShowTime"]; + string PcHandSignature = 12 [json_name = "PcHandSignature"]; +} + +message BeforeAuthSignRequest { + string TransactionId = 1 [json_name = "transactionId"]; + string ContractId = 2 [json_name = "contractId"]; + string CustomerId = 3 [json_name = "customerId"]; + string ReturnUrl = 4 [json_name = "returnUrl"]; + string NotifyUrl = 5 [json_name = "notifyUrl"]; +} + + +message UploadDocsRequest { + string ContractId = 1 [json_name = "customerId"]; + string DocTitle = 2 [json_name = "docTitle"]; + string DocUrl = 3 [json_name = "docUrl"]; + string File = 4 [json_name = "file"]; + //string doc_type = 1 [json_name = "customerId"]; +} + +message CompanyVerifyRequest { + string CustomerId = 1 [json_name = "customerId"]; +} + +message UploadTemplateResponse { + string CustomerId = 1 [json_name = "customerId"]; +} + +message PersonVerifyRequest { + string CustomerId = 1 [json_name = "customerId"]; + string VerifiedWay = 2 [json_name = "verifiedWay"]; + string CustomerName = 3 [json_name = "customerName"]; + string CustomerIdentNo = 4 [json_name = "customerIdentNo"]; + string Mobile = 5 [json_name = "mobile"]; + string ReturnUrl = 6 [json_name = "returnUrl"]; +} + +message PersonVerifyResponse { + string TransactionNo =1; + string Url =2; +} + +message RegisterResponse { + string CustomerId = 1 [json_name = "customerId"]; +} + +message CustomerIdRequest { + string CustomerId = 1 [json_name = "customerId"]; +} + +message CommonResponse { +} + +message RegisterOrgRequest { + string OpenId = 1 [json_name = "openId"]; +} + +message RegisterPersonRequest { + string OpenId = 1 [json_name = "openId"]; +} + +message AddSignRequest { + string CustomerId = 1 [json_name = "customerId"]; + bytes ReadImgByte = 2 [json_name = "readImgByte"]; +} + +message AddSignResponse { + string SignatureId = 1 [json_name = "signatureId"]; +} + +message CustomSignRequest { + string CustomerId = 1 [json_name = "customerId"]; + string Content = 2 [json_name = "content"]; +} + +message CustomSignResponse { + string SignatureImgBase64 = 1 [json_name = "signatureImgBase64"]; +} + + +message UploadTemplateRequest { + string TemplateId = 1 [json_name = "templateId"]; + string DocUrl = 2 [json_name = "docUrl"]; +} + +message ExtSignAutoRequest { + string TransactionId = 1 [json_name = "transactionId"]; + string ContractId = 2 [json_name = "contractId"]; + string CustomerId = 3 [json_name = "customerId"]; + string ClientRole = 4 [json_name = "clientRole"]; + string DocTitle = 5 [json_name = "docTitle"]; + string SignKeyword = 6 [json_name = "signKeyword"]; + string SignatureId = 7 [json_name = "signatureId"]; + string KeyX = 9 [json_name = "keyX"]; + string KeyY = 10 [json_name = "keyY"]; +} + +message GenerateContractRequest { + string TemplateId = 1 [json_name="templateId"]; + string ContractId = 2 [json_name="templateId"]; + string ParameterMap = 3 [json_name="ParameterMap"]; + string DynamicTables = 4 [json_name="dynamicTables"]; +} + diff --git a/pb/contract_microservice/contract.validator.pb.go b/pb/contract_microservice/contract.validator.pb.go new file mode 100644 index 0000000..6aae32b --- /dev/null +++ b/pb/contract_microservice/contract.validator.pb.go @@ -0,0 +1,131 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: contract.proto + +package contractMicroservice + +import ( + fmt "fmt" + math "math" + proto "github.com/golang/protobuf/proto" + github_com_mwitkow_go_proto_validators "github.com/mwitkow/go-proto-validators" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +func (this *CancelExtSignAutoRequest) Validate() error { + return nil +} +func (this *Person) Validate() error { + return nil +} +func (this *PersonCertInfoResponse) Validate() error { + if this.Person != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Person); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Person", err) + } + } + return nil +} +func (this *FindCertInfo) Validate() error { + return nil +} +func (this *Company) Validate() error { + return nil +} +func (this *Manager) Validate() error { + return nil +} +func (this *CompanyCertInfoResponse) Validate() error { + if this.Company != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Company); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Company", err) + } + } + if this.Manager != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Manager); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Manager", err) + } + } + return nil +} +func (this *AuthStatusResponse) Validate() error { + return nil +} +func (this *ApplyCertRequest) Validate() error { + return nil +} +func (this *ViewCommonResponse) Validate() error { + return nil +} +func (this *PdfTemplateKeysRequest) Validate() error { + return nil +} +func (this *PdfTemplateKeysResponse) Validate() error { + return nil +} +func (this *JumpCommonResponse) Validate() error { + return nil +} +func (this *ContractRequest) Validate() error { + return nil +} +func (this *ExtSignRequest) Validate() error { + return nil +} +func (this *BeforeAuthSignRequest) Validate() error { + return nil +} +func (this *UploadDocsRequest) Validate() error { + return nil +} +func (this *CompanyVerifyRequest) Validate() error { + return nil +} +func (this *UploadTemplateResponse) Validate() error { + return nil +} +func (this *PersonVerifyRequest) Validate() error { + return nil +} +func (this *PersonVerifyResponse) Validate() error { + return nil +} +func (this *RegisterResponse) Validate() error { + return nil +} +func (this *CustomerIdRequest) Validate() error { + return nil +} +func (this *CommonResponse) Validate() error { + return nil +} +func (this *RegisterOrgRequest) Validate() error { + return nil +} +func (this *RegisterPersonRequest) Validate() error { + return nil +} +func (this *AddSignRequest) Validate() error { + return nil +} +func (this *AddSignResponse) Validate() error { + return nil +} +func (this *CustomSignRequest) Validate() error { + return nil +} +func (this *CustomSignResponse) Validate() error { + return nil +} +func (this *UploadTemplateRequest) Validate() error { + return nil +} +func (this *ExtSignAutoRequest) Validate() error { + return nil +} +func (this *GenerateContractRequest) Validate() error { + return nil +} diff --git a/pb/contract_microservice/contract_triple.pb.go b/pb/contract_microservice/contract_triple.pb.go new file mode 100644 index 0000000..6e67426 --- /dev/null +++ b/pb/contract_microservice/contract_triple.pb.go @@ -0,0 +1,1047 @@ +// Code generated by protoc-gen-go-triple. DO NOT EDIT. +// versions: +// - protoc-gen-go-triple v1.0.8 +// - protoc v3.21.8 +// source: contract.proto + +package contractMicroservice + +import ( + context "context" + protocol "dubbo.apache.org/dubbo-go/v3/protocol" + dubbo3 "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3" + invocation "dubbo.apache.org/dubbo-go/v3/protocol/invocation" + grpc_go "github.com/dubbogo/grpc-go" + codes "github.com/dubbogo/grpc-go/codes" + metadata "github.com/dubbogo/grpc-go/metadata" + status "github.com/dubbogo/grpc-go/status" + common "github.com/dubbogo/triple/pkg/common" + constant "github.com/dubbogo/triple/pkg/common/constant" + triple "github.com/dubbogo/triple/pkg/triple" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc_go.SupportPackageIsVersion7 + +// ContractMicroserviceClient is the client API for ContractMicroservice service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type ContractMicroserviceClient interface { + RegisterPerson(ctx context.Context, in *RegisterPersonRequest, opts ...grpc_go.CallOption) (*RegisterResponse, common.ErrorWithAttachment) + PersonVerify(ctx context.Context, in *PersonVerifyRequest, opts ...grpc_go.CallOption) (*PersonVerifyResponse, common.ErrorWithAttachment) + RegisterOrg(ctx context.Context, in *RegisterOrgRequest, opts ...grpc_go.CallOption) (*RegisterResponse, common.ErrorWithAttachment) + CompanyVerify(ctx context.Context, in *CompanyVerifyRequest, opts ...grpc_go.CallOption) (*PersonVerifyResponse, common.ErrorWithAttachment) + FindPersonCertInfo(ctx context.Context, in *FindCertInfo, opts ...grpc_go.CallOption) (*PersonCertInfoResponse, common.ErrorWithAttachment) + FindCompanyCertInfo(ctx context.Context, in *FindCertInfo, opts ...grpc_go.CallOption) (*CompanyCertInfoResponse, common.ErrorWithAttachment) + ApplyCert(ctx context.Context, in *ApplyCertRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) + AddSignature(ctx context.Context, in *AddSignRequest, opts ...grpc_go.CallOption) (*AddSignResponse, common.ErrorWithAttachment) + CustomSign(ctx context.Context, in *CustomSignRequest, opts ...grpc_go.CallOption) (*CustomSignResponse, common.ErrorWithAttachment) + UploadTemplate(ctx context.Context, in *UploadTemplateRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) + UploadDocs(ctx context.Context, in *UploadDocsRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) + GenerateContract(ctx context.Context, in *GenerateContractRequest, opts ...grpc_go.CallOption) (*ViewCommonResponse, common.ErrorWithAttachment) + ExtSignAuto(ctx context.Context, in *ExtSignAutoRequest, opts ...grpc_go.CallOption) (*ViewCommonResponse, common.ErrorWithAttachment) + BeforeAuthSign(ctx context.Context, in *BeforeAuthSignRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) + ExtSign(ctx context.Context, in *ExtSignRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) + ViewContract(ctx context.Context, in *ContractRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) + DownLoadContract(ctx context.Context, in *ContractRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) + ContractFiling(ctx context.Context, in *ContractRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) + GetPdfTemplateKeys(ctx context.Context, in *PdfTemplateKeysRequest, opts ...grpc_go.CallOption) (*PdfTemplateKeysResponse, common.ErrorWithAttachment) + AuthStatus(ctx context.Context, in *CustomerIdRequest, opts ...grpc_go.CallOption) (*AuthStatusResponse, common.ErrorWithAttachment) + CancelExtSignAuto(ctx context.Context, in *CancelExtSignAutoRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) +} + +type contractMicroserviceClient struct { + cc *triple.TripleConn +} + +type ContractMicroserviceClientImpl struct { + RegisterPerson func(ctx context.Context, in *RegisterPersonRequest) (*RegisterResponse, error) + PersonVerify func(ctx context.Context, in *PersonVerifyRequest) (*PersonVerifyResponse, error) + RegisterOrg func(ctx context.Context, in *RegisterOrgRequest) (*RegisterResponse, error) + CompanyVerify func(ctx context.Context, in *CompanyVerifyRequest) (*PersonVerifyResponse, error) + FindPersonCertInfo func(ctx context.Context, in *FindCertInfo) (*PersonCertInfoResponse, error) + FindCompanyCertInfo func(ctx context.Context, in *FindCertInfo) (*CompanyCertInfoResponse, error) + ApplyCert func(ctx context.Context, in *ApplyCertRequest) (*CommonResponse, error) + AddSignature func(ctx context.Context, in *AddSignRequest) (*AddSignResponse, error) + CustomSign func(ctx context.Context, in *CustomSignRequest) (*CustomSignResponse, error) + UploadTemplate func(ctx context.Context, in *UploadTemplateRequest) (*CommonResponse, error) + UploadDocs func(ctx context.Context, in *UploadDocsRequest) (*CommonResponse, error) + GenerateContract func(ctx context.Context, in *GenerateContractRequest) (*ViewCommonResponse, error) + ExtSignAuto func(ctx context.Context, in *ExtSignAutoRequest) (*ViewCommonResponse, error) + BeforeAuthSign func(ctx context.Context, in *BeforeAuthSignRequest) (*JumpCommonResponse, error) + ExtSign func(ctx context.Context, in *ExtSignRequest) (*JumpCommonResponse, error) + ViewContract func(ctx context.Context, in *ContractRequest) (*JumpCommonResponse, error) + DownLoadContract func(ctx context.Context, in *ContractRequest) (*JumpCommonResponse, error) + ContractFiling func(ctx context.Context, in *ContractRequest) (*CommonResponse, error) + GetPdfTemplateKeys func(ctx context.Context, in *PdfTemplateKeysRequest) (*PdfTemplateKeysResponse, error) + AuthStatus func(ctx context.Context, in *CustomerIdRequest) (*AuthStatusResponse, error) + CancelExtSignAuto func(ctx context.Context, in *CancelExtSignAutoRequest) (*JumpCommonResponse, error) +} + +func (c *ContractMicroserviceClientImpl) GetDubboStub(cc *triple.TripleConn) ContractMicroserviceClient { + return NewContractMicroserviceClient(cc) +} + +func (c *ContractMicroserviceClientImpl) XXX_InterfaceName() string { + return "contractMicroservice.ContractMicroservice" +} + +func NewContractMicroserviceClient(cc *triple.TripleConn) ContractMicroserviceClient { + return &contractMicroserviceClient{cc} +} + +func (c *contractMicroserviceClient) RegisterPerson(ctx context.Context, in *RegisterPersonRequest, opts ...grpc_go.CallOption) (*RegisterResponse, common.ErrorWithAttachment) { + out := new(RegisterResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/RegisterPerson", in, out) +} + +func (c *contractMicroserviceClient) PersonVerify(ctx context.Context, in *PersonVerifyRequest, opts ...grpc_go.CallOption) (*PersonVerifyResponse, common.ErrorWithAttachment) { + out := new(PersonVerifyResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/PersonVerify", in, out) +} + +func (c *contractMicroserviceClient) RegisterOrg(ctx context.Context, in *RegisterOrgRequest, opts ...grpc_go.CallOption) (*RegisterResponse, common.ErrorWithAttachment) { + out := new(RegisterResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/RegisterOrg", in, out) +} + +func (c *contractMicroserviceClient) CompanyVerify(ctx context.Context, in *CompanyVerifyRequest, opts ...grpc_go.CallOption) (*PersonVerifyResponse, common.ErrorWithAttachment) { + out := new(PersonVerifyResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CompanyVerify", in, out) +} + +func (c *contractMicroserviceClient) FindPersonCertInfo(ctx context.Context, in *FindCertInfo, opts ...grpc_go.CallOption) (*PersonCertInfoResponse, common.ErrorWithAttachment) { + out := new(PersonCertInfoResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/FindPersonCertInfo", in, out) +} + +func (c *contractMicroserviceClient) FindCompanyCertInfo(ctx context.Context, in *FindCertInfo, opts ...grpc_go.CallOption) (*CompanyCertInfoResponse, common.ErrorWithAttachment) { + out := new(CompanyCertInfoResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/FindCompanyCertInfo", in, out) +} + +func (c *contractMicroserviceClient) ApplyCert(ctx context.Context, in *ApplyCertRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { + out := new(CommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ApplyCert", in, out) +} + +func (c *contractMicroserviceClient) AddSignature(ctx context.Context, in *AddSignRequest, opts ...grpc_go.CallOption) (*AddSignResponse, common.ErrorWithAttachment) { + out := new(AddSignResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AddSignature", in, out) +} + +func (c *contractMicroserviceClient) CustomSign(ctx context.Context, in *CustomSignRequest, opts ...grpc_go.CallOption) (*CustomSignResponse, common.ErrorWithAttachment) { + out := new(CustomSignResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CustomSign", in, out) +} + +func (c *contractMicroserviceClient) UploadTemplate(ctx context.Context, in *UploadTemplateRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { + out := new(CommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UploadTemplate", in, out) +} + +func (c *contractMicroserviceClient) UploadDocs(ctx context.Context, in *UploadDocsRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { + out := new(CommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UploadDocs", in, out) +} + +func (c *contractMicroserviceClient) GenerateContract(ctx context.Context, in *GenerateContractRequest, opts ...grpc_go.CallOption) (*ViewCommonResponse, common.ErrorWithAttachment) { + out := new(ViewCommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GenerateContract", in, out) +} + +func (c *contractMicroserviceClient) ExtSignAuto(ctx context.Context, in *ExtSignAutoRequest, opts ...grpc_go.CallOption) (*ViewCommonResponse, common.ErrorWithAttachment) { + out := new(ViewCommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ExtSignAuto", in, out) +} + +func (c *contractMicroserviceClient) BeforeAuthSign(ctx context.Context, in *BeforeAuthSignRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) { + out := new(JumpCommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/BeforeAuthSign", in, out) +} + +func (c *contractMicroserviceClient) ExtSign(ctx context.Context, in *ExtSignRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) { + out := new(JumpCommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ExtSign", in, out) +} + +func (c *contractMicroserviceClient) ViewContract(ctx context.Context, in *ContractRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) { + out := new(JumpCommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ViewContract", in, out) +} + +func (c *contractMicroserviceClient) DownLoadContract(ctx context.Context, in *ContractRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) { + out := new(JumpCommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DownLoadContract", in, out) +} + +func (c *contractMicroserviceClient) ContractFiling(ctx context.Context, in *ContractRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { + out := new(CommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ContractFiling", in, out) +} + +func (c *contractMicroserviceClient) GetPdfTemplateKeys(ctx context.Context, in *PdfTemplateKeysRequest, opts ...grpc_go.CallOption) (*PdfTemplateKeysResponse, common.ErrorWithAttachment) { + out := new(PdfTemplateKeysResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetPdfTemplateKeys", in, out) +} + +func (c *contractMicroserviceClient) AuthStatus(ctx context.Context, in *CustomerIdRequest, opts ...grpc_go.CallOption) (*AuthStatusResponse, common.ErrorWithAttachment) { + out := new(AuthStatusResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AuthStatus", in, out) +} + +func (c *contractMicroserviceClient) CancelExtSignAuto(ctx context.Context, in *CancelExtSignAutoRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) { + out := new(JumpCommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CancelExtSignAuto", in, out) +} + +// ContractMicroserviceServer is the server API for ContractMicroservice service. +// All implementations must embed UnimplementedContractMicroserviceServer +// for forward compatibility +type ContractMicroserviceServer interface { + RegisterPerson(context.Context, *RegisterPersonRequest) (*RegisterResponse, error) + PersonVerify(context.Context, *PersonVerifyRequest) (*PersonVerifyResponse, error) + RegisterOrg(context.Context, *RegisterOrgRequest) (*RegisterResponse, error) + CompanyVerify(context.Context, *CompanyVerifyRequest) (*PersonVerifyResponse, error) + FindPersonCertInfo(context.Context, *FindCertInfo) (*PersonCertInfoResponse, error) + FindCompanyCertInfo(context.Context, *FindCertInfo) (*CompanyCertInfoResponse, error) + ApplyCert(context.Context, *ApplyCertRequest) (*CommonResponse, error) + AddSignature(context.Context, *AddSignRequest) (*AddSignResponse, error) + CustomSign(context.Context, *CustomSignRequest) (*CustomSignResponse, error) + UploadTemplate(context.Context, *UploadTemplateRequest) (*CommonResponse, error) + UploadDocs(context.Context, *UploadDocsRequest) (*CommonResponse, error) + GenerateContract(context.Context, *GenerateContractRequest) (*ViewCommonResponse, error) + ExtSignAuto(context.Context, *ExtSignAutoRequest) (*ViewCommonResponse, error) + BeforeAuthSign(context.Context, *BeforeAuthSignRequest) (*JumpCommonResponse, error) + ExtSign(context.Context, *ExtSignRequest) (*JumpCommonResponse, error) + ViewContract(context.Context, *ContractRequest) (*JumpCommonResponse, error) + DownLoadContract(context.Context, *ContractRequest) (*JumpCommonResponse, error) + ContractFiling(context.Context, *ContractRequest) (*CommonResponse, error) + GetPdfTemplateKeys(context.Context, *PdfTemplateKeysRequest) (*PdfTemplateKeysResponse, error) + AuthStatus(context.Context, *CustomerIdRequest) (*AuthStatusResponse, error) + CancelExtSignAuto(context.Context, *CancelExtSignAutoRequest) (*JumpCommonResponse, error) + mustEmbedUnimplementedContractMicroserviceServer() +} + +// UnimplementedContractMicroserviceServer must be embedded to have forward compatible implementations. +type UnimplementedContractMicroserviceServer struct { + proxyImpl protocol.Invoker +} + +func (UnimplementedContractMicroserviceServer) RegisterPerson(context.Context, *RegisterPersonRequest) (*RegisterResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RegisterPerson not implemented") +} +func (UnimplementedContractMicroserviceServer) PersonVerify(context.Context, *PersonVerifyRequest) (*PersonVerifyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method PersonVerify not implemented") +} +func (UnimplementedContractMicroserviceServer) RegisterOrg(context.Context, *RegisterOrgRequest) (*RegisterResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RegisterOrg not implemented") +} +func (UnimplementedContractMicroserviceServer) CompanyVerify(context.Context, *CompanyVerifyRequest) (*PersonVerifyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CompanyVerify not implemented") +} +func (UnimplementedContractMicroserviceServer) FindPersonCertInfo(context.Context, *FindCertInfo) (*PersonCertInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FindPersonCertInfo not implemented") +} +func (UnimplementedContractMicroserviceServer) FindCompanyCertInfo(context.Context, *FindCertInfo) (*CompanyCertInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FindCompanyCertInfo not implemented") +} +func (UnimplementedContractMicroserviceServer) ApplyCert(context.Context, *ApplyCertRequest) (*CommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ApplyCert not implemented") +} +func (UnimplementedContractMicroserviceServer) AddSignature(context.Context, *AddSignRequest) (*AddSignResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddSignature not implemented") +} +func (UnimplementedContractMicroserviceServer) CustomSign(context.Context, *CustomSignRequest) (*CustomSignResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CustomSign not implemented") +} +func (UnimplementedContractMicroserviceServer) UploadTemplate(context.Context, *UploadTemplateRequest) (*CommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UploadTemplate not implemented") +} +func (UnimplementedContractMicroserviceServer) UploadDocs(context.Context, *UploadDocsRequest) (*CommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UploadDocs not implemented") +} +func (UnimplementedContractMicroserviceServer) GenerateContract(context.Context, *GenerateContractRequest) (*ViewCommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GenerateContract not implemented") +} +func (UnimplementedContractMicroserviceServer) ExtSignAuto(context.Context, *ExtSignAutoRequest) (*ViewCommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ExtSignAuto not implemented") +} +func (UnimplementedContractMicroserviceServer) BeforeAuthSign(context.Context, *BeforeAuthSignRequest) (*JumpCommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BeforeAuthSign not implemented") +} +func (UnimplementedContractMicroserviceServer) ExtSign(context.Context, *ExtSignRequest) (*JumpCommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ExtSign not implemented") +} +func (UnimplementedContractMicroserviceServer) ViewContract(context.Context, *ContractRequest) (*JumpCommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ViewContract not implemented") +} +func (UnimplementedContractMicroserviceServer) DownLoadContract(context.Context, *ContractRequest) (*JumpCommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DownLoadContract not implemented") +} +func (UnimplementedContractMicroserviceServer) ContractFiling(context.Context, *ContractRequest) (*CommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ContractFiling not implemented") +} +func (UnimplementedContractMicroserviceServer) GetPdfTemplateKeys(context.Context, *PdfTemplateKeysRequest) (*PdfTemplateKeysResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPdfTemplateKeys not implemented") +} +func (UnimplementedContractMicroserviceServer) AuthStatus(context.Context, *CustomerIdRequest) (*AuthStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AuthStatus not implemented") +} +func (UnimplementedContractMicroserviceServer) CancelExtSignAuto(context.Context, *CancelExtSignAutoRequest) (*JumpCommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CancelExtSignAuto not implemented") +} +func (s *UnimplementedContractMicroserviceServer) XXX_SetProxyImpl(impl protocol.Invoker) { + s.proxyImpl = impl +} + +func (s *UnimplementedContractMicroserviceServer) XXX_GetProxyImpl() protocol.Invoker { + return s.proxyImpl +} + +func (s *UnimplementedContractMicroserviceServer) XXX_ServiceDesc() *grpc_go.ServiceDesc { + return &ContractMicroservice_ServiceDesc +} +func (s *UnimplementedContractMicroserviceServer) XXX_InterfaceName() string { + return "contractMicroservice.ContractMicroservice" +} + +func (UnimplementedContractMicroserviceServer) mustEmbedUnimplementedContractMicroserviceServer() {} + +// UnsafeContractMicroserviceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ContractMicroserviceServer will +// result in compilation errors. +type UnsafeContractMicroserviceServer interface { + mustEmbedUnimplementedContractMicroserviceServer() +} + +func RegisterContractMicroserviceServer(s grpc_go.ServiceRegistrar, srv ContractMicroserviceServer) { + s.RegisterService(&ContractMicroservice_ServiceDesc, srv) +} + +func _ContractMicroservice_RegisterPerson_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(RegisterPersonRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("RegisterPerson", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ContractMicroservice_PersonVerify_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(PersonVerifyRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("PersonVerify", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ContractMicroservice_RegisterOrg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(RegisterOrgRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("RegisterOrg", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ContractMicroservice_CompanyVerify_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CompanyVerifyRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("CompanyVerify", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ContractMicroservice_FindPersonCertInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(FindCertInfo) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("FindPersonCertInfo", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ContractMicroservice_FindCompanyCertInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(FindCertInfo) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("FindCompanyCertInfo", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ContractMicroservice_ApplyCert_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ApplyCertRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("ApplyCert", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ContractMicroservice_AddSignature_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AddSignRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("AddSignature", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ContractMicroservice_CustomSign_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CustomSignRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("CustomSign", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ContractMicroservice_UploadTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UploadTemplateRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("UploadTemplate", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ContractMicroservice_UploadDocs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UploadDocsRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("UploadDocs", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ContractMicroservice_GenerateContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GenerateContractRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GenerateContract", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ContractMicroservice_ExtSignAuto_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ExtSignAutoRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("ExtSignAuto", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ContractMicroservice_BeforeAuthSign_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(BeforeAuthSignRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("BeforeAuthSign", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ContractMicroservice_ExtSign_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ExtSignRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("ExtSign", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ContractMicroservice_ViewContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ContractRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("ViewContract", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ContractMicroservice_DownLoadContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ContractRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("DownLoadContract", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ContractMicroservice_ContractFiling_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ContractRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("ContractFiling", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ContractMicroservice_GetPdfTemplateKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(PdfTemplateKeysRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetPdfTemplateKeys", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ContractMicroservice_AuthStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CustomerIdRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("AuthStatus", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ContractMicroservice_CancelExtSignAuto_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CancelExtSignAutoRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("CancelExtSignAuto", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +// ContractMicroservice_ServiceDesc is the grpc_go.ServiceDesc for ContractMicroservice service. +// It's only intended for direct use with grpc_go.RegisterService, +// and not to be introspected or modified (even as a copy) +var ContractMicroservice_ServiceDesc = grpc_go.ServiceDesc{ + ServiceName: "contractMicroservice.ContractMicroservice", + HandlerType: (*ContractMicroserviceServer)(nil), + Methods: []grpc_go.MethodDesc{ + { + MethodName: "RegisterPerson", + Handler: _ContractMicroservice_RegisterPerson_Handler, + }, + { + MethodName: "PersonVerify", + Handler: _ContractMicroservice_PersonVerify_Handler, + }, + { + MethodName: "RegisterOrg", + Handler: _ContractMicroservice_RegisterOrg_Handler, + }, + { + MethodName: "CompanyVerify", + Handler: _ContractMicroservice_CompanyVerify_Handler, + }, + { + MethodName: "FindPersonCertInfo", + Handler: _ContractMicroservice_FindPersonCertInfo_Handler, + }, + { + MethodName: "FindCompanyCertInfo", + Handler: _ContractMicroservice_FindCompanyCertInfo_Handler, + }, + { + MethodName: "ApplyCert", + Handler: _ContractMicroservice_ApplyCert_Handler, + }, + { + MethodName: "AddSignature", + Handler: _ContractMicroservice_AddSignature_Handler, + }, + { + MethodName: "CustomSign", + Handler: _ContractMicroservice_CustomSign_Handler, + }, + { + MethodName: "UploadTemplate", + Handler: _ContractMicroservice_UploadTemplate_Handler, + }, + { + MethodName: "UploadDocs", + Handler: _ContractMicroservice_UploadDocs_Handler, + }, + { + MethodName: "GenerateContract", + Handler: _ContractMicroservice_GenerateContract_Handler, + }, + { + MethodName: "ExtSignAuto", + Handler: _ContractMicroservice_ExtSignAuto_Handler, + }, + { + MethodName: "BeforeAuthSign", + Handler: _ContractMicroservice_BeforeAuthSign_Handler, + }, + { + MethodName: "ExtSign", + Handler: _ContractMicroservice_ExtSign_Handler, + }, + { + MethodName: "ViewContract", + Handler: _ContractMicroservice_ViewContract_Handler, + }, + { + MethodName: "DownLoadContract", + Handler: _ContractMicroservice_DownLoadContract_Handler, + }, + { + MethodName: "ContractFiling", + Handler: _ContractMicroservice_ContractFiling_Handler, + }, + { + MethodName: "GetPdfTemplateKeys", + Handler: _ContractMicroservice_GetPdfTemplateKeys_Handler, + }, + { + MethodName: "AuthStatus", + Handler: _ContractMicroservice_AuthStatus_Handler, + }, + { + MethodName: "CancelExtSignAuto", + Handler: _ContractMicroservice_CancelExtSignAuto_Handler, + }, + }, + Streams: []grpc_go.StreamDesc{}, + Metadata: "contract.proto", +} diff --git a/pkg/m/msg.go b/pkg/m/msg.go index 3d23e27..8f73c65 100644 --- a/pkg/m/msg.go +++ b/pkg/m/msg.go @@ -59,6 +59,7 @@ const ( ARTIST_NOT_EXISTS = "画家不存在" ERROR_DATA_NOT_EXISTS = "数据不存在" ERROR_UPDATE_ARTIST = "数据不存在" + ARTWORK_CONTRACT_EXISTS = "存在画作合同已经存在" ERROR_INVALID_CARDID = "身份证号不合法" INVITE_CODE_INVALID = "邀请码无效" ERROR_ISLOCK = "用户已被锁定" diff --git a/pkg/service/init.go b/pkg/service/init.go index ff39a3c..a893009 100644 --- a/pkg/service/init.go +++ b/pkg/service/init.go @@ -8,14 +8,15 @@ import ( //_ "dubbo.apache.org/dubbo-go/v3/imports" "github.com/fonchain/fonchain-artistinfo/pb/account" "github.com/fonchain/fonchain-artistinfo/pb/artist" + contractMicroservice "github.com/fonchain/fonchain-artistinfo/pb/contract_microservice" ) var ( - GrpcArtistImpl = new(artist.ArtistClientImpl) - + GrpcArtistImpl = new(artist.ArtistClientImpl) AccountProvider = new(account.AccountClientImpl) ArtworkImpl = new(artwork.ArtworkClientImpl) ArtworkQueryImpl = new(artwork_query.ArtworkQueryClientImpl) + ContractImpl = new(contractMicroservice.ContractMicroserviceClientImpl) ) func init() { @@ -23,6 +24,7 @@ func init() { config.SetConsumerService(AccountProvider) config.SetConsumerService(ArtworkImpl) config.SetConsumerService(ArtworkQueryImpl) + config.SetConsumerService(ContractImpl) //if os.Args[len(os.Args)-1] == "unit-test" { // _ = os.Setenv(constant.ConfigFileEnvKey, "../../conf/dubbogo.yaml") //} From 37b80dee1622942f207abd09fc82cc839b0e84bb Mon Sep 17 00:00:00 2001 From: songchuang <192749120@qq.com> Date: Tue, 14 Mar 2023 10:35:56 +0800 Subject: [PATCH 3/4] =?UTF-8?q?contract=20=E9=83=A8=E5=88=86=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/internal/controller/contract.go | 22 +- cmd/internal/dao/contract.go | 73 +-- cmd/internal/logic/artistInfo_user.go | 1 + cmd/internal/logic/contract.go | 163 ++++--- cmd/model/contract.go | 2 +- pb/contract/contract.pb.go | 665 ++++++++++---------------- pb/contract/contract.proto | 51 +- pb/contract/contract.validator.pb.go | 8 +- pb/contract/contract_triple.pb.go | 141 +----- 9 files changed, 433 insertions(+), 693 deletions(-) diff --git a/cmd/internal/controller/contract.go b/cmd/internal/controller/contract.go index 77f329e..e0407de 100644 --- a/cmd/internal/controller/contract.go +++ b/cmd/internal/controller/contract.go @@ -45,13 +45,21 @@ func (c *ContractProvider) SignContract(ctx context.Context, req *contract.SignC return rep, nil } -// func (c *ContractProvider) FinishContract(ctx context.Context, req *contract.FinishContractRequest) (rep *contract.FinishContractRespond, err error) { -// fmt.Println("第一处") -// if rep, err = c.contractLogic.FinishContract(req); err != nil { -// return nil, err -// } -// return rep, nil -// } +func (c *ContractProvider) FinishContract(ctx context.Context, req *contract.FinishContractRequest) (rep *contract.FinishContractRespond, err error) { + fmt.Println("第一处") + if rep, err = c.contractLogic.FinishContract(req); err != nil { + return nil, err + } + return rep, nil +} + +func (c *ContractProvider) ContractTxList(ctx context.Context, req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) { + fmt.Println("第一处") + if rep, err = c.contractLogic.ContractTxList(req); err != nil { + return nil, err + } + return rep, nil +} // func (c *ContractProvider) ContractList(ctx context.Context, req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) { // fmt.Println("第一处") diff --git a/cmd/internal/dao/contract.go b/cmd/internal/dao/contract.go index f4c8d2e..9cf18ae 100644 --- a/cmd/internal/dao/contract.go +++ b/cmd/internal/dao/contract.go @@ -1,16 +1,13 @@ package dao import ( - "context" "errors" "strings" "github.com/fonchain/fonchain-artistinfo/cmd/model" - "github.com/fonchain/fonchain-artistinfo/pb/artwork" "github.com/fonchain/fonchain-artistinfo/pb/contract" db "github.com/fonchain/fonchain-artistinfo/pkg/db" "github.com/fonchain/fonchain-artistinfo/pkg/m" - "github.com/fonchain/fonchain-artistinfo/pkg/service" uuid "github.com/satori/go.uuid" "go.uber.org/zap" "gorm.io/gorm" @@ -187,36 +184,57 @@ func UpdateContract(tx *gorm.DB, artistUid, ViewPdfUrl, DownloadUrl, ContractNo return } -// 根据画作uid获取画作信息 -func GetArtworkProfileByArtworkUid(artworkUid string) (artworkProfileInfo *artwork.ArtworkDetailResponse, err error) { - artworkProfileInfo = &artwork.ArtworkDetailResponse{} - - artworkDetailRequest := &artwork.ArtworkDetailRequest{ - ArtworkUuid: artworkUid, - Type: "1", - } - artworkDetailResponse, err := service.ArtworkImpl.ArtworkDetail(context.Background(), artworkDetailRequest) - if err != nil { +func UpdateContractTx(tx *gorm.DB, contractUid, transactionId string) (err error) { + if err = tx.Model(&model.Contract{}).Where("artist_uid = ?", contractUid).Updates(model.Contract{TransactionId: transactionId, State: 1}).Error; err != nil { + zap.L().Error("update contract info err", zap.Error(err)) + err = errors.New(m.UPDATE_FAILED) return } - return artworkDetailResponse, nil + return } -// func FinishContract(tx *gorm.DB, id string) (contract model.Contract, err error) { -// if err = tx.Where("transaction_id = ?", id).First(&contract).Error; err != nil { -// zap.L().Error("get contract info err", zap.Error(err)) -// err = errors.New(m.ERROR_SELECT) -// return -// } +func FinishContract(tx *gorm.DB, id string) (contracts *contract.Contracts, err error) { -// if err = db.DB.Model(&contract).Update("state", 3).Error; err != nil { -// zap.L().Error("user contract failed", zap.Error(err)) -// err = errors.New(m.UPDATE_FAILED) -// return -// } + var modelContract model.Contract + if err = tx.Where("transaction_id = ?", id).First(&modelContract).Error; err != nil { + zap.L().Error("get contract info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return + } -// return -// } + if err = db.DB.Model(&modelContract).Update("state", 3).Error; err != nil { + zap.L().Error("update user contract failed", zap.Error(err)) + err = errors.New(m.UPDATE_FAILED) + return + } + + contracts = &contract.Contracts{ + ArtistUid: modelContract.ArtistUid, + ArtworkUid: modelContract.ArtworkUid, + ContractUid: modelContract.ContractId, + TransactionId: modelContract.TransactionId, + Type: modelContract.Type, + ViewUrl: modelContract.ViewUrl, + DownloadUrl: modelContract.DownloadUrl, + State: modelContract.State, + Status: modelContract.Status, + LockTime: modelContract.LockTime, + SignTime: modelContract.SignTime, + } + + return +} + +func ContractTxList(uid string, state int32) (contracts []model.Contract, err error) { + if err = db.DB.Where("artist_uid = ? AND (type = 4 or type = 7) ADN state = ?", uid, state).Find(&contracts).Error; err != nil { + zap.L().Error("get contracts info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return + } + + return + +} // func UpdateArtworkState(tx *gorm.DB, id int32) (err error) { //无用 // var artworkState model.ArtworkState @@ -235,6 +253,7 @@ func GetArtworkProfileByArtworkUid(artworkUid string) (artworkProfileInfo *artwo // return // } // } +// } // if err = tx.Model(&model.Artwork{}).Where("id = ? ", id).Update("flow_state", 7).Error; err != nil { // zap.L().Error("Artwork Update Err", zap.Error(err)) diff --git a/cmd/internal/logic/artistInfo_user.go b/cmd/internal/logic/artistInfo_user.go index 1198cd7..b8a4a95 100644 --- a/cmd/internal/logic/artistInfo_user.go +++ b/cmd/internal/logic/artistInfo_user.go @@ -90,6 +90,7 @@ func (a *ArtistInfoUser) GetUserMsg(req *artistInfoUser.GetUserMsgRequest) (rep func (a *ArtistInfoUser) FindUser(req *artistInfoUser.FindUserRequest) (rep *artistInfoUser.UserInfo, err error) { return dao.FindUser(req) } + func (a *ArtistInfoUser) FindUserList(req *artistInfoUser.FindUsersRequest) (rep *artistInfoUser.FindUsersResponse, err error) { res, total, err := dao.FindUserList(req) rep = &artistInfoUser.FindUsersResponse{Data: res, Page: &artistInfoUser.UserCommonPageInfo{ diff --git a/cmd/internal/logic/contract.go b/cmd/internal/logic/contract.go index cc597e0..048dccf 100644 --- a/cmd/internal/logic/contract.go +++ b/cmd/internal/logic/contract.go @@ -12,6 +12,7 @@ import ( "github.com/fonchain/fonchain-artistinfo/cmd/model" "github.com/fonchain/fonchain-artistinfo/pb/artist" "github.com/fonchain/fonchain-artistinfo/pb/artistInfoUser" + "github.com/fonchain/fonchain-artistinfo/pb/artwork" "github.com/fonchain/fonchain-artistinfo/pb/contract" contractMicroservice "github.com/fonchain/fonchain-artistinfo/pb/contract_microservice" db "github.com/fonchain/fonchain-artistinfo/pkg/db" @@ -26,10 +27,10 @@ type IContract interface { ContractListMgmt(req *contract.ContractListMgmtRequest) (rep *contract.ContractListMgmtRespond, err error) ContractList(req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) SignContract(req *contract.SignContractRequest) (rep *contract.SignContractRespond, err error) + FinishContract(req *contract.FinishContractRequest) (rep *contract.FinishContractRespond, err error) + ContractTxList(req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) - // FinishContract(req *contract.FinishContractRequest) (rep *contract.FinishContractRespond, err error) // ContractList(req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) - // ContractTxList(req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) // UpdateContract(req *contract.UpdateContractRequest) (rep *contract.UpdateContractRespond, err error) // UpdateContractTx(req *contract.UpdateContractTxRequest) (rep *contract.UpdateContractTxRespond, err error) // GetContract(req *contract.GetContractRequest) (rep *contract.ContractData, err error) @@ -213,15 +214,8 @@ func (a *Contract) SignContract(req *contract.SignContractRequest) (rep *contrac return } - artistInfo, err := dao.GetArtistInfoById(req.ID) - if err != nil { - return - } - - detailRequest := &artist.DetailRequest{ - Uid: artistInfo.MgmtArtistUid, - } - artistDetailResponse, err := service.GrpcArtistImpl.ArtistDetail(context.Background(), detailRequest) + //根据画家id获取画家具体信息 + artistDetailResponse, customerId, err := GetArtistInfoById(req.ID) if err != nil { return rep, err } @@ -359,7 +353,7 @@ func (a *Contract) SignContract(req *contract.SignContractRequest) (rep *contrac var ContractNo = fmt.Sprintf("TF_%d", time.Now().UnixNano()) //获取画作信息 - artworkDetailResponse, err := dao.GetArtworkProfileByArtworkUid(contractInfo.ArtworkUid) + artworkDetailResponse, err := GetArtworkProfileByArtworkUid(contractInfo.ArtworkUid) if err != nil { return rep, err } @@ -397,7 +391,7 @@ func (a *Contract) SignContract(req *contract.SignContractRequest) (rep *contrac case 5: //获取画作信息 - artworkDetailResponse, err := dao.GetArtworkProfileByArtworkUid(contractInfo.ArtworkUid) + artworkDetailResponse, err := GetArtworkProfileByArtworkUid(contractInfo.ArtworkUid) if err != nil { return rep, err } @@ -460,7 +454,7 @@ func (a *Contract) SignContract(req *contract.SignContractRequest) (rep *contrac for k, v := range ArtistUids { //获取画作信息 - artworkDetailResponse, err := dao.GetArtworkProfileByArtworkUid(v) + artworkDetailResponse, err := GetArtworkProfileByArtworkUid(v) if err != nil { return rep, err } @@ -585,73 +579,120 @@ func (a *Contract) SignContract(req *contract.SignContractRequest) (rep *contrac if contractInfo.Type == 5 || contractInfo.Type == 3 || contractInfo.Type == 6 { signShowTime = "2" } + // 手动签署 extSignRequest := &contractMicroservice.ExtSignRequest{ TransactionId: transactionId, ContractId: contractInfo.ContractId, - CustomerId: "", - ReturnUrl: "", - DocTitle: "", - OpenEnvironment: "", - MobileSignType: "", - SignKeyword: "", - Keyx: "", - Keyy: "", - SignatureShowTime: "", - PcHandSignature: "", + CustomerId: customerId, + ReturnUrl: fmt.Sprintf("%v/contractwrite?htmltype=%s&envtype=%s&token= %s", "192.168.10.7", req.HtmlType, req.EnvType, req.Token), + DocTitle: contractInfo.ContractId, + OpenEnvironment: "0", + MobileSignType: "2", + SignKeyword: signKeyword, + Keyx: "100", + Keyy: "-5", + SignatureShowTime: signShowTime, + PcHandSignature: "2", } - _, err = service.ContractImpl.ExtSign(context.Background(), extSignRequest) + jumpCommonResponse, err := service.ContractImpl.ExtSign(context.Background(), extSignRequest) if err != nil { return rep, err } + err = dao.UpdateContractTx(tx, contractInfo.Uid, transactionId) + if err != nil { + return + } + rep.JumpUrl = jumpCommonResponse.JumpUrl + + return rep, nil +} + +func (a *Contract) FinishContract(req *contract.FinishContractRequest) (rep *contract.FinishContractRespond, err error) { + rep = &contract.FinishContractRespond{} + + tx := db.DB.Begin() + //更新合同状态并获取合同信息 + contract, err := dao.FinishContract(tx, req.TransactionId) + if err != nil { + tx.Rollback() + return nil, err + } + + rep.Contract = contract + + tx.Commit() + return +} + +func (a *Contract) ContractTxList(req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) { + + rep = &contract.ContractTxListRespond{} + var datas []*contract.Contracts + + artistDetailResponse, _, err := GetArtistInfoById(req.ID) + if err != nil { + return + } + + contracts, err := dao.ContractTxList(artistDetailResponse.ProfileInfo.Uid, req.State) + if err != nil { + return + } + data := &contract.Contracts{} + for _, v := range contracts { + data.ArtistUid = v.ArtistUid + data.ArtworkUid = v.ArtworkUid + data.ContractId = v.ContractId + data.TransactionId = v.TransactionId + data.Type = v.Type + data.ViewUrl = v.ViewUrl + data.DownloadUrl = v.DownloadUrl + data. + } + return } -// func (a *Contract) FinishContract(req *contract.FinishContractRequest) (rep *contract.FinishContractRespond, err error) { -// rep = &contract.FinishContractRespond{} +// 根据画作uid获取画作信息 +func GetArtworkProfileByArtworkUid(artworkUid string) (artworkProfileInfo *artwork.ArtworkDetailResponse, err error) { + artworkProfileInfo = &artwork.ArtworkDetailResponse{} -// tx := db.DB.Begin() -// //更新合同状态并获取合同信息 -// contract, err := dao.FinishContract(tx, req.TransactionId) -// if err != nil { -// tx.Rollback() -// return nil, err -// } + artworkDetailRequest := &artwork.ArtworkDetailRequest{ + ArtworkUuid: artworkUid, + Type: "1", + } + artworkDetailResponse, err := service.ArtworkImpl.ArtworkDetail(context.Background(), artworkDetailRequest) + if err != nil { + return + } + return artworkDetailResponse, nil +} -// //查看画作是否已经状态改变,没有则改变 无用 -// if err = dao.UpdateArtworkState(tx, contract.ID); err != nil { -// tx.Rollback() -// return -// } +// 根据画家id获取画家具体信息 +func GetArtistInfoById(id int32) (artistDetailResponse *artist.DetailResponse, customerId string, err error) { + artistDetailResponse = &artist.DetailResponse{} -// var tmp struct { -// Uid int32 `json:"uid"` -// } -// tmp.Uid = contract.BatchId -// tmpByte, _ := json.Marshal(&tmp) + artistInfo, err := dao.GetArtistInfoById(id) + if err != nil { + return + } -// if contract.Type == 4 { -// _, err = util.Post("https://ms.fontree.cn/mgmt/artworktx/updatebatchtype", string(tmpByte)) -// if err != nil { -// zap.L().Error("post request err", zap.Error(err)) -// return -// } -// } + detailRequest := &artist.DetailRequest{ + Uid: artistInfo.MgmtArtistUid, + } + artistDetailResponse, err = service.GrpcArtistImpl.ArtistDetail(context.Background(), detailRequest) + if err != nil { + return + } -// if contract.Type == 7 { -// _, err = util.Post("https://ms.fontree.cn/mgmt/artworktx/updatebatchtypecopy", string(tmpByte)) -// if err != nil { -// zap.L().Error("post request err", zap.Error(err)) -// return -// } -// } + customerId = artistInfo.CustomerId -// tx.Commit() -// return -// } + return +} // func (a *Contract) ContractList(req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) { diff --git a/cmd/model/contract.go b/cmd/model/contract.go index bed274e..7d2af38 100644 --- a/cmd/model/contract.go +++ b/cmd/model/contract.go @@ -14,7 +14,7 @@ type Contract struct { ViewUrl string `gorm:"column:view_url;type:varchar(500);comment:在线查看合同链接" json:"view_url"` DownloadUrl string `gorm:"column:download_url;type:varchar(500);comment:合同下载链接" json:"download_url"` State int32 `gorm:"column:state;type:int(1);comment:合同状态;NOT NULL" json:"state"` - Status int64 `gorm:"column:status;default:2;comment:2=锁定 3=解锁" json:"status" ` //跟随用户的锁定和解锁状态,用于控制数据的展示 + Status int32 `gorm:"column:status;default:2;comment:2=锁定 3=解锁" json:"status" ` //跟随用户的锁定和解锁状态,用于控制数据的展示 LockTime string `gorm:"column:lock_time;comment:锁定时间" json:"lockTime"` SignTime string `gorm:"column:sign_time;comment:签署时间" json:"sign_time"` CreatedAt int32 `gorm:"column:created_at;autoCreateTime"` diff --git a/pb/contract/contract.pb.go b/pb/contract/contract.pb.go index a6d7593..30b5dff 100644 --- a/pb/contract/contract.pb.go +++ b/pb/contract/contract.pb.go @@ -516,8 +516,9 @@ type SignContractRequest struct { ID int32 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` ContractId int32 `protobuf:"varint,2,opt,name=ContractId,json=contractId,proto3" json:"ContractId,omitempty"` - HtmlType string `protobuf:"bytes,3,opt,name=HtmlType,json=htmlType,proto3" json:"HtmlType,omitempty"` - EnvType string `protobuf:"bytes,4,opt,name=EnvType,json=envType,proto3" json:"EnvType,omitempty"` + Token string `protobuf:"bytes,3,opt,name=Token,json=token,proto3" json:"Token,omitempty"` + HtmlType string `protobuf:"bytes,4,opt,name=HtmlType,json=htmlType,proto3" json:"HtmlType,omitempty"` + EnvType string `protobuf:"bytes,5,opt,name=EnvType,json=envType,proto3" json:"EnvType,omitempty"` } func (x *SignContractRequest) Reset() { @@ -566,6 +567,13 @@ func (x *SignContractRequest) GetContractId() int32 { return 0 } +func (x *SignContractRequest) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + func (x *SignContractRequest) GetHtmlType() string { if x != nil { return x.HtmlType @@ -584,6 +592,9 @@ type SignContractRespond struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + JumpUrl string `protobuf:"bytes,1,opt,name=JumpUrl,json=jump_url,proto3" json:"JumpUrl,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` } func (x *SignContractRespond) Reset() { @@ -618,6 +629,20 @@ func (*SignContractRespond) Descriptor() ([]byte, []int) { return file_contract_proto_rawDescGZIP(), []int{8} } +func (x *SignContractRespond) GetJumpUrl() string { + if x != nil { + return x.JumpUrl + } + return "" +} + +func (x *SignContractRespond) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + type FinishContractRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -669,6 +694,9 @@ type FinishContractRespond struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + Contract *Contracts `protobuf:"bytes,1,opt,name=Contract,json=msg,proto3" json:"Contract,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` } func (x *FinishContractRespond) Reset() { @@ -703,177 +731,16 @@ func (*FinishContractRespond) Descriptor() ([]byte, []int) { return file_contract_proto_rawDescGZIP(), []int{10} } -type ContractData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` - UserId int64 `protobuf:"varint,2,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` - CardId string `protobuf:"bytes,3,opt,name=CardId,json=cardId,proto3" json:"CardId,omitempty"` - MgmtUserId string `protobuf:"bytes,4,opt,name=MgmtUserId,json=mgmtUserId,proto3" json:"MgmtUserId,omitempty"` - ArtworkId string `protobuf:"bytes,5,opt,name=ArtworkId,json=artworkId,proto3" json:"ArtworkId,omitempty"` - ContractId string `protobuf:"bytes,6,opt,name=ContractId,json=contractId,proto3" json:"ContractId,omitempty"` - TransactionId string `protobuf:"bytes,7,opt,name=TransactionId,json=transactionId,proto3" json:"TransactionId,omitempty"` - Type int64 `protobuf:"varint,8,opt,name=Type,json=type,proto3" json:"Type,omitempty"` - BatchId int64 `protobuf:"varint,9,opt,name=BatchId,json=batchId,proto3" json:"BatchId,omitempty"` - BatchName string `protobuf:"bytes,10,opt,name=BatchName,json=batchName,proto3" json:"BatchName,omitempty"` - ViewUrl string `protobuf:"bytes,11,opt,name=ViewUrl,json=viewUrl,proto3" json:"ViewUrl,omitempty"` - DownloadUrl string `protobuf:"bytes,12,opt,name=DownloadUrl,json=downloadUrl,proto3" json:"DownloadUrl,omitempty"` - State int64 `protobuf:"varint,13,opt,name=State,json=state,proto3" json:"State,omitempty"` - UpdateTime string `protobuf:"bytes,14,opt,name=UpdateTime,json=updateTime,proto3" json:"UpdateTime,omitempty"` - CreateTime string `protobuf:"bytes,15,opt,name=CreateTime,json=createTime,proto3" json:"CreateTime,omitempty"` - ExpirationTime string `protobuf:"bytes,16,opt,name=ExpirationTime,json=expirationTime,proto3" json:"ExpirationTime,omitempty"` - SignTime string `protobuf:"bytes,17,opt,name=SignTime,json=signTime,proto3" json:"SignTime,omitempty"` -} - -func (x *ContractData) Reset() { - *x = ContractData{} - if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ContractData) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ContractData) ProtoMessage() {} - -func (x *ContractData) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ContractData.ProtoReflect.Descriptor instead. -func (*ContractData) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{11} -} - -func (x *ContractData) GetID() uint64 { +func (x *FinishContractRespond) GetContract() *Contracts { if x != nil { - return x.ID + return x.Contract } - return 0 + return nil } -func (x *ContractData) GetUserId() int64 { +func (x *FinishContractRespond) GetMsg() string { if x != nil { - return x.UserId - } - return 0 -} - -func (x *ContractData) GetCardId() string { - if x != nil { - return x.CardId - } - return "" -} - -func (x *ContractData) GetMgmtUserId() string { - if x != nil { - return x.MgmtUserId - } - return "" -} - -func (x *ContractData) GetArtworkId() string { - if x != nil { - return x.ArtworkId - } - return "" -} - -func (x *ContractData) GetContractId() string { - if x != nil { - return x.ContractId - } - return "" -} - -func (x *ContractData) GetTransactionId() string { - if x != nil { - return x.TransactionId - } - return "" -} - -func (x *ContractData) GetType() int64 { - if x != nil { - return x.Type - } - return 0 -} - -func (x *ContractData) GetBatchId() int64 { - if x != nil { - return x.BatchId - } - return 0 -} - -func (x *ContractData) GetBatchName() string { - if x != nil { - return x.BatchName - } - return "" -} - -func (x *ContractData) GetViewUrl() string { - if x != nil { - return x.ViewUrl - } - return "" -} - -func (x *ContractData) GetDownloadUrl() string { - if x != nil { - return x.DownloadUrl - } - return "" -} - -func (x *ContractData) GetState() int64 { - if x != nil { - return x.State - } - return 0 -} - -func (x *ContractData) GetUpdateTime() string { - if x != nil { - return x.UpdateTime - } - return "" -} - -func (x *ContractData) GetCreateTime() string { - if x != nil { - return x.CreateTime - } - return "" -} - -func (x *ContractData) GetExpirationTime() string { - if x != nil { - return x.ExpirationTime - } - return "" -} - -func (x *ContractData) GetSignTime() string { - if x != nil { - return x.SignTime + return x.Msg } return "" } @@ -883,16 +750,16 @@ type ContractTxListRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - PageSize int64 `protobuf:"varint,1,opt,name=PageSize,json=pageSize,proto3" json:"PageSize,omitempty"` - Page int64 `protobuf:"varint,2,opt,name=Page,json=page,proto3" json:"Page,omitempty"` - State int64 `protobuf:"varint,3,opt,name=State,json=state,proto3" json:"State,omitempty"` - ID int64 `protobuf:"varint,4,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + ID int32 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + PageSize int32 `protobuf:"varint,2,opt,name=PageSize,json=pageSize,proto3" json:"PageSize,omitempty"` + Page int32 `protobuf:"varint,3,opt,name=Page,json=page,proto3" json:"Page,omitempty"` + State int32 `protobuf:"varint,4,opt,name=State,json=state,proto3" json:"State,omitempty"` } func (x *ContractTxListRequest) Reset() { *x = ContractTxListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[12] + mi := &file_contract_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -905,7 +772,7 @@ func (x *ContractTxListRequest) String() string { func (*ContractTxListRequest) ProtoMessage() {} func (x *ContractTxListRequest) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[12] + mi := &file_contract_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -918,49 +785,50 @@ func (x *ContractTxListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ContractTxListRequest.ProtoReflect.Descriptor instead. func (*ContractTxListRequest) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{12} + return file_contract_proto_rawDescGZIP(), []int{11} } -func (x *ContractTxListRequest) GetPageSize() int64 { +func (x *ContractTxListRequest) GetID() int32 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *ContractTxListRequest) GetPageSize() int32 { if x != nil { return x.PageSize } return 0 } -func (x *ContractTxListRequest) GetPage() int64 { +func (x *ContractTxListRequest) GetPage() int32 { if x != nil { return x.Page } return 0 } -func (x *ContractTxListRequest) GetState() int64 { +func (x *ContractTxListRequest) GetState() int32 { if x != nil { return x.State } return 0 } -func (x *ContractTxListRequest) GetID() int64 { - if x != nil { - return x.ID - } - return 0 -} - type ContractTxListRespond struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Data []*ContractData `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data,omitempty"` + Data []*Contracts `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` } func (x *ContractTxListRespond) Reset() { *x = ContractTxListRespond{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[13] + mi := &file_contract_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -973,7 +841,7 @@ func (x *ContractTxListRespond) String() string { func (*ContractTxListRespond) ProtoMessage() {} func (x *ContractTxListRespond) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[13] + mi := &file_contract_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -986,16 +854,23 @@ func (x *ContractTxListRespond) ProtoReflect() protoreflect.Message { // Deprecated: Use ContractTxListRespond.ProtoReflect.Descriptor instead. func (*ContractTxListRespond) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{13} + return file_contract_proto_rawDescGZIP(), []int{12} } -func (x *ContractTxListRespond) GetData() []*ContractData { +func (x *ContractTxListRespond) GetData() []*Contracts { if x != nil { return x.Data } return nil } +func (x *ContractTxListRespond) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + type GetContractRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1007,7 +882,7 @@ type GetContractRequest struct { func (x *GetContractRequest) Reset() { *x = GetContractRequest{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[14] + mi := &file_contract_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1020,7 +895,7 @@ func (x *GetContractRequest) String() string { func (*GetContractRequest) ProtoMessage() {} func (x *GetContractRequest) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[14] + mi := &file_contract_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1033,7 +908,7 @@ func (x *GetContractRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetContractRequest.ProtoReflect.Descriptor instead. func (*GetContractRequest) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{14} + return file_contract_proto_rawDescGZIP(), []int{13} } func (x *GetContractRequest) GetId() int64 { @@ -1070,7 +945,7 @@ type UpdateContractRequest struct { func (x *UpdateContractRequest) Reset() { *x = UpdateContractRequest{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[15] + mi := &file_contract_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1083,7 +958,7 @@ func (x *UpdateContractRequest) String() string { func (*UpdateContractRequest) ProtoMessage() {} func (x *UpdateContractRequest) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[15] + mi := &file_contract_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1096,7 +971,7 @@ func (x *UpdateContractRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateContractRequest.ProtoReflect.Descriptor instead. func (*UpdateContractRequest) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{15} + return file_contract_proto_rawDescGZIP(), []int{14} } func (x *UpdateContractRequest) GetID() uint64 { @@ -1227,7 +1102,7 @@ type UpdateContractRespond struct { func (x *UpdateContractRespond) Reset() { *x = UpdateContractRespond{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[16] + mi := &file_contract_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1240,7 +1115,7 @@ func (x *UpdateContractRespond) String() string { func (*UpdateContractRespond) ProtoMessage() {} func (x *UpdateContractRespond) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[16] + mi := &file_contract_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1253,7 +1128,7 @@ func (x *UpdateContractRespond) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateContractRespond.ProtoReflect.Descriptor instead. func (*UpdateContractRespond) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{16} + return file_contract_proto_rawDescGZIP(), []int{15} } type UpdateContractTxRequest struct { @@ -1268,7 +1143,7 @@ type UpdateContractTxRequest struct { func (x *UpdateContractTxRequest) Reset() { *x = UpdateContractTxRequest{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[17] + mi := &file_contract_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1281,7 +1156,7 @@ func (x *UpdateContractTxRequest) String() string { func (*UpdateContractTxRequest) ProtoMessage() {} func (x *UpdateContractTxRequest) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[17] + mi := &file_contract_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1294,7 +1169,7 @@ func (x *UpdateContractTxRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateContractTxRequest.ProtoReflect.Descriptor instead. func (*UpdateContractTxRequest) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{17} + return file_contract_proto_rawDescGZIP(), []int{16} } func (x *UpdateContractTxRequest) GetID() int64 { @@ -1320,7 +1195,7 @@ type UpdateContractTxRespond struct { func (x *UpdateContractTxRespond) Reset() { *x = UpdateContractTxRespond{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[18] + mi := &file_contract_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1333,7 +1208,7 @@ func (x *UpdateContractTxRespond) String() string { func (*UpdateContractTxRespond) ProtoMessage() {} func (x *UpdateContractTxRespond) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[18] + mi := &file_contract_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1346,14 +1221,14 @@ func (x *UpdateContractTxRespond) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateContractTxRespond.ProtoReflect.Descriptor instead. func (*UpdateContractTxRespond) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{18} + return file_contract_proto_rawDescGZIP(), []int{17} } var File_contract_proto protoreflect.FileDescriptor var file_contract_proto_rawDesc = []byte{ 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x12, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x22, 0xf0, 0x02, 0x0a, 0x09, 0x43, + 0x12, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x22, 0xf0, 0x02, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x41, @@ -1395,7 +1270,7 @@ var file_contract_proto_rawDesc = []byte{ 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x22, 0x54, 0x0a, 0x17, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x67, 0x6d, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x27, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, - 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x6b, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, @@ -1407,159 +1282,121 @@ var file_contract_proto_rawDesc = []byte{ 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x50, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x27, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x7b, 0x0a, 0x13, 0x53, 0x69, - 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, - 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x48, 0x74, 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x74, 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x45, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x65, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x69, 0x67, 0x6e, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x3d, - 0x0a, 0x15, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x17, 0x0a, - 0x15, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0xf4, 0x03, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x67, 0x6d, 0x74, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x67, 0x6d, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x72, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, - 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x07, 0x62, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, - 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x69, 0x65, 0x77, 0x55, - 0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x69, 0x65, 0x77, 0x55, 0x72, - 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, - 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x45, 0x78, 0x70, - 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x6d, 0x0a, - 0x15, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, - 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, - 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, - 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x43, 0x0a, 0x15, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x44, 0x61, 0x74, - 0x61, 0x22, 0x24, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0xfd, 0x03, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, - 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, - 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x67, 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x67, 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, - 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, - 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x61, 0x74, 0x63, - 0x68, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x69, 0x65, 0x77, 0x55, 0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x76, 0x69, 0x65, 0x77, 0x55, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x44, - 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, - 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x70, - 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, - 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, - 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, - 0x22, 0x4f, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, - 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x91, 0x01, 0x0a, 0x13, 0x53, + 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x48, 0x74, 0x6d, 0x6c, + 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x74, 0x6d, 0x6c, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x22, 0x42, + 0x0a, 0x13, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x19, 0x0a, 0x07, 0x4a, 0x75, 0x6d, 0x70, 0x55, 0x72, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x75, 0x6d, 0x70, 0x5f, 0x75, 0x72, 0x6c, + 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, + 0x73, 0x67, 0x22, 0x3d, 0x0a, 0x15, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x22, 0x19, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x32, 0x81, 0x06, 0x0a, - 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x54, 0x0a, 0x0e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1f, 0x2e, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, - 0x5a, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4d, - 0x67, 0x6d, 0x74, 0x12, 0x21, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x67, 0x6d, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x67, - 0x6d, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0c, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x2e, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0c, 0x53, - 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1d, 0x2e, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0e, 0x46, - 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1f, 0x2e, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, - 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, - 0x00, 0x12, 0x45, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x12, 0x1c, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, - 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, - 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x54, - 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x12, 0x1f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x64, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x12, 0x21, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, - 0x42, 0x0d, 0x5a, 0x0b, 0x2e, 0x2f, 0x3b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x64, 0x22, 0x55, 0x0a, 0x15, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x08, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x73, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x6d, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x52, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, + 0x12, 0x27, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x73, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x24, 0x0a, 0x12, 0x47, + 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, + 0x64, 0x22, 0xfd, 0x03, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, + 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, + 0x67, 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x6d, 0x67, 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, + 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1c, 0x0a, + 0x09, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x56, + 0x69, 0x65, 0x77, 0x55, 0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x69, + 0x65, 0x77, 0x55, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, + 0x64, 0x55, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, + 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, + 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, + 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, + 0x0e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, + 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, + 0x65, 0x22, 0x17, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x4f, 0x0a, 0x17, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x19, 0x0a, 0x17, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x32, 0x88, 0x04, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x12, 0x54, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x10, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x67, 0x6d, 0x74, 0x12, 0x21, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x67, 0x6d, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x67, 0x6d, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0c, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, + 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0e, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, + 0x00, 0x42, 0x0d, 0x5a, 0x0b, 0x2e, 0x2f, 0x3b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1574,55 +1411,49 @@ func file_contract_proto_rawDescGZIP() []byte { return file_contract_proto_rawDescData } -var file_contract_proto_msgTypes = make([]protoimpl.MessageInfo, 19) +var file_contract_proto_msgTypes = make([]protoimpl.MessageInfo, 18) var file_contract_proto_goTypes = []interface{}{ - (*Contracts)(nil), // 0: Contract.Contracts - (*CreateContractRequest)(nil), // 1: Contract.CreateContractRequest - (*CreateContractRespond)(nil), // 2: Contract.CreateContractRespond - (*ContractListMgmtRequest)(nil), // 3: Contract.ContractListMgmtRequest - (*ContractListMgmtRespond)(nil), // 4: Contract.ContractListMgmtRespond - (*ContractListRequest)(nil), // 5: Contract.ContractListRequest - (*ContractListRespond)(nil), // 6: Contract.ContractListRespond - (*SignContractRequest)(nil), // 7: Contract.SignContractRequest - (*SignContractRespond)(nil), // 8: Contract.SignContractRespond - (*FinishContractRequest)(nil), // 9: Contract.FinishContractRequest - (*FinishContractRespond)(nil), // 10: Contract.FinishContractRespond - (*ContractData)(nil), // 11: Contract.ContractData - (*ContractTxListRequest)(nil), // 12: Contract.ContractTxListRequest - (*ContractTxListRespond)(nil), // 13: Contract.ContractTxListRespond - (*GetContractRequest)(nil), // 14: Contract.GetContractRequest - (*UpdateContractRequest)(nil), // 15: Contract.UpdateContractRequest - (*UpdateContractRespond)(nil), // 16: Contract.UpdateContractRespond - (*UpdateContractTxRequest)(nil), // 17: Contract.UpdateContractTxRequest - (*UpdateContractTxRespond)(nil), // 18: Contract.UpdateContractTxRespond + (*Contracts)(nil), // 0: contract.Contracts + (*CreateContractRequest)(nil), // 1: contract.CreateContractRequest + (*CreateContractRespond)(nil), // 2: contract.CreateContractRespond + (*ContractListMgmtRequest)(nil), // 3: contract.ContractListMgmtRequest + (*ContractListMgmtRespond)(nil), // 4: contract.ContractListMgmtRespond + (*ContractListRequest)(nil), // 5: contract.ContractListRequest + (*ContractListRespond)(nil), // 6: contract.ContractListRespond + (*SignContractRequest)(nil), // 7: contract.SignContractRequest + (*SignContractRespond)(nil), // 8: contract.SignContractRespond + (*FinishContractRequest)(nil), // 9: contract.FinishContractRequest + (*FinishContractRespond)(nil), // 10: contract.FinishContractRespond + (*ContractTxListRequest)(nil), // 11: contract.ContractTxListRequest + (*ContractTxListRespond)(nil), // 12: contract.ContractTxListRespond + (*GetContractRequest)(nil), // 13: contract.GetContractRequest + (*UpdateContractRequest)(nil), // 14: contract.UpdateContractRequest + (*UpdateContractRespond)(nil), // 15: contract.UpdateContractRespond + (*UpdateContractTxRequest)(nil), // 16: contract.UpdateContractTxRequest + (*UpdateContractTxRespond)(nil), // 17: contract.UpdateContractTxRespond } var file_contract_proto_depIdxs = []int32{ - 0, // 0: Contract.ContractListMgmtRespond.Data:type_name -> Contract.Contracts - 0, // 1: Contract.ContractListRespond.Data:type_name -> Contract.Contracts - 11, // 2: Contract.ContractTxListRespond.Data:type_name -> Contract.ContractData - 1, // 3: Contract.Contract.CreateContract:input_type -> Contract.CreateContractRequest - 3, // 4: Contract.Contract.ContractListMgmt:input_type -> Contract.ContractListMgmtRequest - 5, // 5: Contract.Contract.ContractList:input_type -> Contract.ContractListRequest - 7, // 6: Contract.Contract.SignContract:input_type -> Contract.SignContractRequest - 9, // 7: Contract.Contract.FinishContract:input_type -> Contract.FinishContractRequest - 14, // 8: Contract.Contract.GetContract:input_type -> Contract.GetContractRequest - 12, // 9: Contract.Contract.ContractTxList:input_type -> Contract.ContractTxListRequest - 15, // 10: Contract.Contract.UpdateContract:input_type -> Contract.UpdateContractRequest - 17, // 11: Contract.Contract.UpdateContractTx:input_type -> Contract.UpdateContractTxRequest - 2, // 12: Contract.Contract.CreateContract:output_type -> Contract.CreateContractRespond - 4, // 13: Contract.Contract.ContractListMgmt:output_type -> Contract.ContractListMgmtRespond - 6, // 14: Contract.Contract.ContractList:output_type -> Contract.ContractListRespond - 8, // 15: Contract.Contract.SignContract:output_type -> Contract.SignContractRespond - 10, // 16: Contract.Contract.FinishContract:output_type -> Contract.FinishContractRespond - 11, // 17: Contract.Contract.GetContract:output_type -> Contract.ContractData - 13, // 18: Contract.Contract.ContractTxList:output_type -> Contract.ContractTxListRespond - 16, // 19: Contract.Contract.UpdateContract:output_type -> Contract.UpdateContractRespond - 18, // 20: Contract.Contract.UpdateContractTx:output_type -> Contract.UpdateContractTxRespond - 12, // [12:21] is the sub-list for method output_type - 3, // [3:12] is the sub-list for method input_type - 3, // [3:3] is the sub-list for extension type_name - 3, // [3:3] is the sub-list for extension extendee - 0, // [0:3] is the sub-list for field type_name + 0, // 0: contract.ContractListMgmtRespond.Data:type_name -> contract.Contracts + 0, // 1: contract.ContractListRespond.Data:type_name -> contract.Contracts + 0, // 2: contract.FinishContractRespond.Contract:type_name -> contract.Contracts + 0, // 3: contract.ContractTxListRespond.Data:type_name -> contract.Contracts + 1, // 4: contract.Contract.CreateContract:input_type -> contract.CreateContractRequest + 3, // 5: contract.Contract.ContractListMgmt:input_type -> contract.ContractListMgmtRequest + 5, // 6: contract.Contract.ContractList:input_type -> contract.ContractListRequest + 7, // 7: contract.Contract.SignContract:input_type -> contract.SignContractRequest + 9, // 8: contract.Contract.FinishContract:input_type -> contract.FinishContractRequest + 11, // 9: contract.Contract.ContractTxList:input_type -> contract.ContractTxListRequest + 2, // 10: contract.Contract.CreateContract:output_type -> contract.CreateContractRespond + 4, // 11: contract.Contract.ContractListMgmt:output_type -> contract.ContractListMgmtRespond + 6, // 12: contract.Contract.ContractList:output_type -> contract.ContractListRespond + 8, // 13: contract.Contract.SignContract:output_type -> contract.SignContractRespond + 10, // 14: contract.Contract.FinishContract:output_type -> contract.FinishContractRespond + 12, // 15: contract.Contract.ContractTxList:output_type -> contract.ContractTxListRespond + 10, // [10:16] is the sub-list for method output_type + 4, // [4:10] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name } func init() { file_contract_proto_init() } @@ -1764,18 +1595,6 @@ func file_contract_proto_init() { } } file_contract_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContractData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_contract_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ContractTxListRequest); i { case 0: return &v.state @@ -1787,7 +1606,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_contract_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ContractTxListRespond); i { case 0: return &v.state @@ -1799,7 +1618,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_contract_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetContractRequest); i { case 0: return &v.state @@ -1811,7 +1630,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_contract_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateContractRequest); i { case 0: return &v.state @@ -1823,7 +1642,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_contract_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateContractRespond); i { case 0: return &v.state @@ -1835,7 +1654,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_contract_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateContractTxRequest); i { case 0: return &v.state @@ -1847,7 +1666,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_contract_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateContractTxRespond); i { case 0: return &v.state @@ -1866,7 +1685,7 @@ func file_contract_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contract_proto_rawDesc, NumEnums: 0, - NumMessages: 19, + NumMessages: 18, NumExtensions: 0, NumServices: 1, }, diff --git a/pb/contract/contract.proto b/pb/contract/contract.proto index ed12a2e..ab6058a 100644 --- a/pb/contract/contract.proto +++ b/pb/contract/contract.proto @@ -7,12 +7,13 @@ service Contract { rpc ContractListMgmt (ContractListMgmtRequest) returns (ContractListMgmtRespond) {} rpc ContractList (ContractListRequest) returns (ContractListRespond) {} rpc SignContract (SignContractRequest) returns (SignContractRespond) {} - rpc FinishContract (FinishContractRequest) returns (FinishContractRespond) {} - rpc GetContract (GetContractRequest) returns (ContractData) {} rpc ContractTxList (ContractTxListRequest) returns (ContractTxListRespond) {} - rpc UpdateContract(UpdateContractRequest) returns (UpdateContractRespond) {} - rpc UpdateContractTx(UpdateContractTxRequest) returns (UpdateContractTxRespond) {} + + // rpc GetContract (GetContractRequest) returns (ContractData) {} + + // rpc UpdateContract(UpdateContractRequest) returns (UpdateContractRespond) {} + // rpc UpdateContractTx(UpdateContractTxRequest) returns (UpdateContractTxRespond) {} } message Contracts{ @@ -67,52 +68,36 @@ message ContractListRespond { message SignContractRequest { int32 ID = 1 [json_name = "id"]; int32 ContractId = 2 [json_name="contractId"]; - string HtmlType = 3 [json_name="htmlType"]; - string EnvType = 4 [json_name= "envType"]; + string Token = 3 [json_name="token"]; + string HtmlType = 4 [json_name="htmlType"]; + string EnvType = 5 [json_name= "envType"]; } message SignContractRespond { - + string JumpUrl = 1 [json_name = "jump_url"]; + string Msg = 2 [json_name = "msg"]; } message FinishContractRequest { string TransactionId = 1 [json_name="transactionId"]; - } message FinishContractRespond { - + Contracts Contract = 1 [json_name = "msg"]; + string Msg = 2 [json_name = "msg"]; } -message ContractData{ - uint64 ID = 1[json_name="id"]; - int64 UserId = 2[json_name="userId"]; - string CardId = 3[json_name="cardId"]; - string MgmtUserId = 4[json_name="mgmtUserId"]; - string ArtworkId = 5[json_name="artworkId"]; - string ContractId = 6[json_name="contractId"]; - string TransactionId = 7[json_name="transactionId"]; - int64 Type = 8[json_name="type"]; - int64 BatchId = 9[json_name="batchId"]; - string BatchName = 10[json_name="batchName"]; - string ViewUrl = 11[json_name="viewUrl"]; - string DownloadUrl = 12[json_name="downloadUrl"]; - int64 State = 13[json_name="state"]; - string UpdateTime = 14 [json_name="updateTime"]; - string CreateTime = 15[json_name="createTime"]; - string ExpirationTime = 16 [json_name="expirationTime"]; - string SignTime = 17 [json_name="signTime"]; -} message ContractTxListRequest { - int64 PageSize = 1 [json_name="pageSize"]; - int64 Page = 2 [json_name="page"]; - int64 State = 3 [json_name="state"]; - int64 ID =4 [json_name = "id"]; + int32 ID = 1 [json_name = "id"]; + int32 PageSize = 2 [json_name="pageSize"]; + int32 Page = 3 [json_name="page"]; + int32 State = 4 [json_name="state"]; } message ContractTxListRespond { - repeated ContractData Data =1; + repeated Contracts Data =1; + string Msg = 2 [json_name = "msg"]; } message GetContractRequest { diff --git a/pb/contract/contract.validator.pb.go b/pb/contract/contract.validator.pb.go index 0a62040..093ce2a 100644 --- a/pb/contract/contract.validator.pb.go +++ b/pb/contract/contract.validator.pb.go @@ -60,9 +60,11 @@ func (this *FinishContractRequest) Validate() error { return nil } func (this *FinishContractRespond) Validate() error { - return nil -} -func (this *ContractData) Validate() error { + if this.Contract != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Contract); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Contract", err) + } + } return nil } func (this *ContractTxListRequest) Validate() error { diff --git a/pb/contract/contract_triple.pb.go b/pb/contract/contract_triple.pb.go index 2a2e6e6..325e8a5 100644 --- a/pb/contract/contract_triple.pb.go +++ b/pb/contract/contract_triple.pb.go @@ -33,10 +33,7 @@ type ContractClient interface { ContractList(ctx context.Context, in *ContractListRequest, opts ...grpc_go.CallOption) (*ContractListRespond, common.ErrorWithAttachment) SignContract(ctx context.Context, in *SignContractRequest, opts ...grpc_go.CallOption) (*SignContractRespond, common.ErrorWithAttachment) FinishContract(ctx context.Context, in *FinishContractRequest, opts ...grpc_go.CallOption) (*FinishContractRespond, common.ErrorWithAttachment) - GetContract(ctx context.Context, in *GetContractRequest, opts ...grpc_go.CallOption) (*ContractData, common.ErrorWithAttachment) ContractTxList(ctx context.Context, in *ContractTxListRequest, opts ...grpc_go.CallOption) (*ContractTxListRespond, common.ErrorWithAttachment) - UpdateContract(ctx context.Context, in *UpdateContractRequest, opts ...grpc_go.CallOption) (*UpdateContractRespond, common.ErrorWithAttachment) - UpdateContractTx(ctx context.Context, in *UpdateContractTxRequest, opts ...grpc_go.CallOption) (*UpdateContractTxRespond, common.ErrorWithAttachment) } type contractClient struct { @@ -49,10 +46,7 @@ type ContractClientImpl struct { ContractList func(ctx context.Context, in *ContractListRequest) (*ContractListRespond, error) SignContract func(ctx context.Context, in *SignContractRequest) (*SignContractRespond, error) FinishContract func(ctx context.Context, in *FinishContractRequest) (*FinishContractRespond, error) - GetContract func(ctx context.Context, in *GetContractRequest) (*ContractData, error) ContractTxList func(ctx context.Context, in *ContractTxListRequest) (*ContractTxListRespond, error) - UpdateContract func(ctx context.Context, in *UpdateContractRequest) (*UpdateContractRespond, error) - UpdateContractTx func(ctx context.Context, in *UpdateContractTxRequest) (*UpdateContractTxRespond, error) } func (c *ContractClientImpl) GetDubboStub(cc *triple.TripleConn) ContractClient { @@ -60,7 +54,7 @@ func (c *ContractClientImpl) GetDubboStub(cc *triple.TripleConn) ContractClient } func (c *ContractClientImpl) XXX_InterfaceName() string { - return "Contract.Contract" + return "contract.Contract" } func NewContractClient(cc *triple.TripleConn) ContractClient { @@ -97,30 +91,12 @@ func (c *contractClient) FinishContract(ctx context.Context, in *FinishContractR return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/FinishContract", in, out) } -func (c *contractClient) GetContract(ctx context.Context, in *GetContractRequest, opts ...grpc_go.CallOption) (*ContractData, common.ErrorWithAttachment) { - out := new(ContractData) - interfaceKey := ctx.Value(constant.InterfaceKey).(string) - return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetContract", in, out) -} - func (c *contractClient) ContractTxList(ctx context.Context, in *ContractTxListRequest, opts ...grpc_go.CallOption) (*ContractTxListRespond, common.ErrorWithAttachment) { out := new(ContractTxListRespond) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ContractTxList", in, out) } -func (c *contractClient) UpdateContract(ctx context.Context, in *UpdateContractRequest, opts ...grpc_go.CallOption) (*UpdateContractRespond, common.ErrorWithAttachment) { - out := new(UpdateContractRespond) - interfaceKey := ctx.Value(constant.InterfaceKey).(string) - return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateContract", in, out) -} - -func (c *contractClient) UpdateContractTx(ctx context.Context, in *UpdateContractTxRequest, opts ...grpc_go.CallOption) (*UpdateContractTxRespond, common.ErrorWithAttachment) { - out := new(UpdateContractTxRespond) - interfaceKey := ctx.Value(constant.InterfaceKey).(string) - return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateContractTx", in, out) -} - // ContractServer is the server API for Contract service. // All implementations must embed UnimplementedContractServer // for forward compatibility @@ -130,10 +106,7 @@ type ContractServer interface { ContractList(context.Context, *ContractListRequest) (*ContractListRespond, error) SignContract(context.Context, *SignContractRequest) (*SignContractRespond, error) FinishContract(context.Context, *FinishContractRequest) (*FinishContractRespond, error) - GetContract(context.Context, *GetContractRequest) (*ContractData, error) ContractTxList(context.Context, *ContractTxListRequest) (*ContractTxListRespond, error) - UpdateContract(context.Context, *UpdateContractRequest) (*UpdateContractRespond, error) - UpdateContractTx(context.Context, *UpdateContractTxRequest) (*UpdateContractTxRespond, error) mustEmbedUnimplementedContractServer() } @@ -157,18 +130,9 @@ func (UnimplementedContractServer) SignContract(context.Context, *SignContractRe func (UnimplementedContractServer) FinishContract(context.Context, *FinishContractRequest) (*FinishContractRespond, error) { return nil, status.Errorf(codes.Unimplemented, "method FinishContract not implemented") } -func (UnimplementedContractServer) GetContract(context.Context, *GetContractRequest) (*ContractData, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetContract not implemented") -} func (UnimplementedContractServer) ContractTxList(context.Context, *ContractTxListRequest) (*ContractTxListRespond, error) { return nil, status.Errorf(codes.Unimplemented, "method ContractTxList not implemented") } -func (UnimplementedContractServer) UpdateContract(context.Context, *UpdateContractRequest) (*UpdateContractRespond, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateContract not implemented") -} -func (UnimplementedContractServer) UpdateContractTx(context.Context, *UpdateContractTxRequest) (*UpdateContractTxRespond, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateContractTx not implemented") -} func (s *UnimplementedContractServer) XXX_SetProxyImpl(impl protocol.Invoker) { s.proxyImpl = impl } @@ -181,7 +145,7 @@ func (s *UnimplementedContractServer) XXX_ServiceDesc() *grpc_go.ServiceDesc { return &Contract_ServiceDesc } func (s *UnimplementedContractServer) XXX_InterfaceName() string { - return "Contract.Contract" + return "contract.Contract" } func (UnimplementedContractServer) mustEmbedUnimplementedContractServer() {} @@ -342,35 +306,6 @@ func _Contract_FinishContract_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } -func _Contract_GetContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { - in := new(GetContractRequest) - if err := dec(in); err != nil { - return nil, err - } - base := srv.(dubbo3.Dubbo3GrpcService) - args := []interface{}{} - args = append(args, in) - md, _ := metadata.FromIncomingContext(ctx) - invAttachment := make(map[string]interface{}, len(md)) - for k, v := range md { - invAttachment[k] = v - } - invo := invocation.NewRPCInvocation("GetContract", args, invAttachment) - if interceptor == nil { - result := base.XXX_GetProxyImpl().Invoke(ctx, invo) - return result, result.Error() - } - info := &grpc_go.UnaryServerInfo{ - Server: srv, - FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - result := base.XXX_GetProxyImpl().Invoke(ctx, invo) - return result, result.Error() - } - return interceptor(ctx, in, info, handler) -} - func _Contract_ContractTxList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(ContractTxListRequest) if err := dec(in); err != nil { @@ -400,69 +335,11 @@ func _Contract_ContractTxList_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } -func _Contract_UpdateContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdateContractRequest) - if err := dec(in); err != nil { - return nil, err - } - base := srv.(dubbo3.Dubbo3GrpcService) - args := []interface{}{} - args = append(args, in) - md, _ := metadata.FromIncomingContext(ctx) - invAttachment := make(map[string]interface{}, len(md)) - for k, v := range md { - invAttachment[k] = v - } - invo := invocation.NewRPCInvocation("UpdateContract", args, invAttachment) - if interceptor == nil { - result := base.XXX_GetProxyImpl().Invoke(ctx, invo) - return result, result.Error() - } - info := &grpc_go.UnaryServerInfo{ - Server: srv, - FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - result := base.XXX_GetProxyImpl().Invoke(ctx, invo) - return result, result.Error() - } - return interceptor(ctx, in, info, handler) -} - -func _Contract_UpdateContractTx_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdateContractTxRequest) - if err := dec(in); err != nil { - return nil, err - } - base := srv.(dubbo3.Dubbo3GrpcService) - args := []interface{}{} - args = append(args, in) - md, _ := metadata.FromIncomingContext(ctx) - invAttachment := make(map[string]interface{}, len(md)) - for k, v := range md { - invAttachment[k] = v - } - invo := invocation.NewRPCInvocation("UpdateContractTx", args, invAttachment) - if interceptor == nil { - result := base.XXX_GetProxyImpl().Invoke(ctx, invo) - return result, result.Error() - } - info := &grpc_go.UnaryServerInfo{ - Server: srv, - FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - result := base.XXX_GetProxyImpl().Invoke(ctx, invo) - return result, result.Error() - } - return interceptor(ctx, in, info, handler) -} - // Contract_ServiceDesc is the grpc_go.ServiceDesc for Contract service. // It's only intended for direct use with grpc_go.RegisterService, // and not to be introspected or modified (even as a copy) var Contract_ServiceDesc = grpc_go.ServiceDesc{ - ServiceName: "Contract.Contract", + ServiceName: "contract.Contract", HandlerType: (*ContractServer)(nil), Methods: []grpc_go.MethodDesc{ { @@ -485,22 +362,10 @@ var Contract_ServiceDesc = grpc_go.ServiceDesc{ MethodName: "FinishContract", Handler: _Contract_FinishContract_Handler, }, - { - MethodName: "GetContract", - Handler: _Contract_GetContract_Handler, - }, { MethodName: "ContractTxList", Handler: _Contract_ContractTxList_Handler, }, - { - MethodName: "UpdateContract", - Handler: _Contract_UpdateContract_Handler, - }, - { - MethodName: "UpdateContractTx", - Handler: _Contract_UpdateContractTx_Handler, - }, }, Streams: []grpc_go.StreamDesc{}, Metadata: "contract.proto", From 274a13dec1234a0de8b6cd879c3966e4e0b3fc9e Mon Sep 17 00:00:00 2001 From: songchuang <192749120@qq.com> Date: Tue, 14 Mar 2023 13:19:20 +0800 Subject: [PATCH 4/4] =?UTF-8?q?contract=E4=BB=A3=E7=A0=81=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/internal/controller/contract.go | 18 +- cmd/internal/dao/contract.go | 2 +- cmd/internal/logic/contract.go | 58 +- cmd/model/contract.go | 2 + pb/contract/contract.pb.go | 436 +++--- pb/contract/contract.proto | 11 +- pb/contract/contract.validator.pb.go | 2 +- pb/contract/contract_triple.pb.go | 116 +- pb/contract_microservice/contract.pb.go | 1378 ++++++++--------- pb/contract_microservice/contract.proto | 6 +- .../contract.validator.pb.go | 4 +- .../contract_triple.pb.go | 242 +-- pkg/service/init.go | 2 +- 13 files changed, 1134 insertions(+), 1143 deletions(-) diff --git a/cmd/internal/controller/contract.go b/cmd/internal/controller/contract.go index e0407de..cc69ff3 100644 --- a/cmd/internal/controller/contract.go +++ b/cmd/internal/controller/contract.go @@ -5,11 +5,11 @@ import ( "fmt" "github.com/fonchain/fonchain-artistinfo/cmd/internal/logic" - "github.com/fonchain/fonchain-artistinfo/pb/contract" + contract "github.com/fonchain/fonchain-artistinfo/pb/contract" ) type ContractProvider struct { - contract.UnimplementedContractServer + contract.UnimplementedArtistContractServer contractLogic *logic.Contract } @@ -53,13 +53,13 @@ func (c *ContractProvider) FinishContract(ctx context.Context, req *contract.Fin return rep, nil } -func (c *ContractProvider) ContractTxList(ctx context.Context, req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) { - fmt.Println("第一处") - if rep, err = c.contractLogic.ContractTxList(req); err != nil { - return nil, err - } - return rep, nil -} +// func (c *ContractProvider) ContractTxList(ctx context.Context, req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) { +// fmt.Println("第一处") +// if rep, err = c.contractLogic.ContractTxList(req); err != nil { +// return nil, err +// } +// return rep, nil +// } // func (c *ContractProvider) ContractList(ctx context.Context, req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) { // fmt.Println("第一处") diff --git a/cmd/internal/dao/contract.go b/cmd/internal/dao/contract.go index 9cf18ae..3a363e8 100644 --- a/cmd/internal/dao/contract.go +++ b/cmd/internal/dao/contract.go @@ -5,7 +5,7 @@ import ( "strings" "github.com/fonchain/fonchain-artistinfo/cmd/model" - "github.com/fonchain/fonchain-artistinfo/pb/contract" + contract "github.com/fonchain/fonchain-artistinfo/pb/contract" db "github.com/fonchain/fonchain-artistinfo/pkg/db" "github.com/fonchain/fonchain-artistinfo/pkg/m" uuid "github.com/satori/go.uuid" diff --git a/cmd/internal/logic/contract.go b/cmd/internal/logic/contract.go index 048dccf..30ad3fc 100644 --- a/cmd/internal/logic/contract.go +++ b/cmd/internal/logic/contract.go @@ -13,7 +13,7 @@ import ( "github.com/fonchain/fonchain-artistinfo/pb/artist" "github.com/fonchain/fonchain-artistinfo/pb/artistInfoUser" "github.com/fonchain/fonchain-artistinfo/pb/artwork" - "github.com/fonchain/fonchain-artistinfo/pb/contract" + contract "github.com/fonchain/fonchain-artistinfo/pb/contract" contractMicroservice "github.com/fonchain/fonchain-artistinfo/pb/contract_microservice" db "github.com/fonchain/fonchain-artistinfo/pkg/db" "github.com/fonchain/fonchain-artistinfo/pkg/m" @@ -28,7 +28,7 @@ type IContract interface { ContractList(req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) SignContract(req *contract.SignContractRequest) (rep *contract.SignContractRespond, err error) FinishContract(req *contract.FinishContractRequest) (rep *contract.FinishContractRespond, err error) - ContractTxList(req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) + // ContractTxList(req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) // ContractList(req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) // UpdateContract(req *contract.UpdateContractRequest) (rep *contract.UpdateContractRespond, err error) @@ -627,35 +627,41 @@ func (a *Contract) FinishContract(req *contract.FinishContractRequest) (rep *con return } -func (a *Contract) ContractTxList(req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) { +// func (a *Contract) ContractTxList(req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) { - rep = &contract.ContractTxListRespond{} - var datas []*contract.Contracts +// rep = &contract.ContractTxListRespond{} +// var datas []*contract.Contracts - artistDetailResponse, _, err := GetArtistInfoById(req.ID) - if err != nil { - return - } +// artistDetailResponse, _, err := GetArtistInfoById(req.ID) +// if err != nil { +// return +// } - contracts, err := dao.ContractTxList(artistDetailResponse.ProfileInfo.Uid, req.State) - if err != nil { - return - } - data := &contract.Contracts{} - for _, v := range contracts { - data.ArtistUid = v.ArtistUid - data.ArtworkUid = v.ArtworkUid - data.ContractId = v.ContractId - data.TransactionId = v.TransactionId - data.Type = v.Type - data.ViewUrl = v.ViewUrl - data.DownloadUrl = v.DownloadUrl - data. - } +// contracts, err := dao.ContractTxList(artistDetailResponse.ProfileInfo.Uid, req.State) +// if err != nil { +// return +// } - return +// data := &contract.Contracts{} +// for _, v := range contracts { +// data.ArtistUid = v.ArtistUid +// data.ArtworkUid = v.ArtworkUid +// data.ContractId = v.ContractId +// data.TransactionId = v.TransactionId +// data.Type = v.Type +// data.ViewUrl = v.ViewUrl +// data.DownloadUrl = v.DownloadUrl +// //时间戳转时间 +// data.ExpirationTime = time.Unix(int64(v.CreatedAt), 0).Format("2006/01/02 15:04:05") +// data.SignTime = v.SignTime +// datas = append(datas, data) -} +// } + +// rep.Data = datas + +// return +// } // 根据画作uid获取画作信息 func GetArtworkProfileByArtworkUid(artworkUid string) (artworkProfileInfo *artwork.ArtworkDetailResponse, err error) { diff --git a/cmd/model/contract.go b/cmd/model/contract.go index 7d2af38..5ba1ee1 100644 --- a/cmd/model/contract.go +++ b/cmd/model/contract.go @@ -17,6 +17,8 @@ type Contract struct { Status int32 `gorm:"column:status;default:2;comment:2=锁定 3=解锁" json:"status" ` //跟随用户的锁定和解锁状态,用于控制数据的展示 LockTime string `gorm:"column:lock_time;comment:锁定时间" json:"lockTime"` SignTime string `gorm:"column:sign_time;comment:签署时间" json:"sign_time"` + BatchId int32 `gorm:"column:batch_id;comment:批次ID" json:"batch_id"` + BatchName string `gorm:"column:batch_name;comment:批次名" json:"batch_name"` CreatedAt int32 `gorm:"column:created_at;autoCreateTime"` UpdatedAt int32 `gorm:"column:updated_at;autoCreateTime"` DeletedAt soft_delete.DeletedAt diff --git a/pb/contract/contract.pb.go b/pb/contract/contract.pb.go index 30b5dff..304de92 100644 --- a/pb/contract/contract.pb.go +++ b/pb/contract/contract.pb.go @@ -4,7 +4,7 @@ // protoc v3.21.8 // source: contract.proto -package contract +package artistContract import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" @@ -25,18 +25,19 @@ type Contracts struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ContractUid string `protobuf:"bytes,1,opt,name=ContractUid,json=contract_uid,proto3" json:"ContractUid,omitempty"` - ArtistUid string `protobuf:"bytes,2,opt,name=ArtistUid,json=artist_uid,proto3" json:"ArtistUid,omitempty"` - ArtworkUid string `protobuf:"bytes,3,opt,name=ArtworkUid,json=artwork_uid,proto3" json:"ArtworkUid,omitempty"` - ContractId string `protobuf:"bytes,4,opt,name=ContractId,json=contract_id,proto3" json:"ContractId,omitempty"` - TransactionId string `protobuf:"bytes,5,opt,name=TransactionId,json=transaction_id,proto3" json:"TransactionId,omitempty"` - Type int32 `protobuf:"varint,6,opt,name=Type,json=type,proto3" json:"Type,omitempty"` - ViewUrl string `protobuf:"bytes,7,opt,name=ViewUrl,json=view_url,proto3" json:"ViewUrl,omitempty"` - DownloadUrl string `protobuf:"bytes,8,opt,name=DownloadUrl,json=download_url,proto3" json:"DownloadUrl,omitempty"` - State int32 `protobuf:"varint,9,opt,name=State,json=state,proto3" json:"State,omitempty"` - Status int32 `protobuf:"varint,10,opt,name=Status,json=status,proto3" json:"Status,omitempty"` - LockTime string `protobuf:"bytes,11,opt,name=LockTime,json=lock_time,proto3" json:"LockTime,omitempty"` - SignTime string `protobuf:"bytes,12,opt,name=SignTime,json=sign_time,proto3" json:"SignTime,omitempty"` + ContractUid string `protobuf:"bytes,1,opt,name=ContractUid,json=contract_uid,proto3" json:"ContractUid,omitempty"` + ArtistUid string `protobuf:"bytes,2,opt,name=ArtistUid,json=artist_uid,proto3" json:"ArtistUid,omitempty"` + ArtworkUid string `protobuf:"bytes,3,opt,name=ArtworkUid,json=artwork_uid,proto3" json:"ArtworkUid,omitempty"` + ContractId string `protobuf:"bytes,4,opt,name=ContractId,json=contract_id,proto3" json:"ContractId,omitempty"` + TransactionId string `protobuf:"bytes,5,opt,name=TransactionId,json=transaction_id,proto3" json:"TransactionId,omitempty"` + Type int32 `protobuf:"varint,6,opt,name=Type,json=type,proto3" json:"Type,omitempty"` + ViewUrl string `protobuf:"bytes,7,opt,name=ViewUrl,json=view_url,proto3" json:"ViewUrl,omitempty"` + DownloadUrl string `protobuf:"bytes,8,opt,name=DownloadUrl,json=download_url,proto3" json:"DownloadUrl,omitempty"` + State int32 `protobuf:"varint,9,opt,name=State,json=state,proto3" json:"State,omitempty"` + Status int32 `protobuf:"varint,10,opt,name=Status,json=status,proto3" json:"Status,omitempty"` + ExpirationTime string `protobuf:"bytes,11,opt,name=ExpirationTime,json=expiration_time,proto3" json:"ExpirationTime,omitempty"` + LockTime string `protobuf:"bytes,12,opt,name=LockTime,json=lock_time,proto3" json:"LockTime,omitempty"` + SignTime string `protobuf:"bytes,13,opt,name=SignTime,json=sign_time,proto3" json:"SignTime,omitempty"` } func (x *Contracts) Reset() { @@ -141,6 +142,13 @@ func (x *Contracts) GetStatus() int32 { return 0 } +func (x *Contracts) GetExpirationTime() string { + if x != nil { + return x.ExpirationTime + } + return "" +} + func (x *Contracts) GetLockTime() string { if x != nil { return x.LockTime @@ -1228,175 +1236,185 @@ var File_contract_proto protoreflect.FileDescriptor var file_contract_proto_rawDesc = []byte{ 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x12, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x22, 0xf0, 0x02, 0x0a, 0x09, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x41, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x41, 0x72, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0d, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x07, 0x56, 0x69, 0x65, 0x77, 0x55, - 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x75, - 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0b, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, - 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, - 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x12, 0x1b, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x6b, 0x0a, - 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x09, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x5f, 0x75, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x55, 0x69, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x5f, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x29, 0x0a, 0x15, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x5e, 0x0a, 0x17, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x67, 0x6d, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1d, 0x0a, 0x09, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, - 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x22, 0x54, 0x0a, 0x17, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x67, 0x6d, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, - 0x12, 0x27, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x73, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x6b, 0x0a, 0x13, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x12, 0x0e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x22, 0x99, 0x03, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x12, 0x21, + 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x75, 0x69, + 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x69, 0x64, + 0x12, 0x1f, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x69, + 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, + 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, + 0x07, 0x56, 0x69, 0x65, 0x77, 0x55, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x76, 0x69, 0x65, 0x77, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0b, 0x44, 0x6f, 0x77, 0x6e, + 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, + 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x27, 0x0a, 0x0e, 0x45, 0x78, 0x70, + 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, + 0x1b, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x6b, 0x0a, 0x15, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x09, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x5f, 0x75, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x5f, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x29, 0x0a, 0x15, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6d, 0x73, 0x67, 0x22, 0x5e, 0x0a, 0x17, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x67, 0x6d, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1d, 0x0a, 0x09, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, + 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x03, 0x6e, 0x75, 0x6d, 0x22, 0x5a, 0x0a, 0x17, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x67, 0x6d, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, + 0x2d, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, + 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, + 0x22, 0x6b, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, + 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, + 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x56, 0x0a, + 0x13, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x2d, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x52, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x91, 0x01, 0x0a, 0x13, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, + 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, + 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, + 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x48, 0x74, 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x74, 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x65, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x22, 0x42, 0x0a, 0x13, 0x53, 0x69, 0x67, + 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, + 0x12, 0x19, 0x0a, 0x07, 0x4a, 0x75, 0x6d, 0x70, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6a, 0x75, 0x6d, 0x70, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x4d, + 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x3d, 0x0a, + 0x15, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x5b, 0x0a, 0x15, + 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x30, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x73, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x6d, 0x0a, 0x15, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x50, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, - 0x27, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x73, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x91, 0x01, 0x0a, 0x13, 0x53, - 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x48, 0x74, 0x6d, 0x6c, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x74, 0x6d, 0x6c, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x22, 0x42, - 0x0a, 0x13, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x19, 0x0a, 0x07, 0x4a, 0x75, 0x6d, 0x70, 0x55, 0x72, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x75, 0x6d, 0x70, 0x5f, 0x75, 0x72, 0x6c, + 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x58, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x64, 0x12, 0x2d, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, - 0x73, 0x67, 0x22, 0x3d, 0x0a, 0x15, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x22, 0x55, 0x0a, 0x15, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x08, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, + 0x73, 0x67, 0x22, 0x24, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0xfd, 0x03, 0x0a, 0x15, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x61, + 0x72, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, + 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x67, 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x67, 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, + 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, + 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x61, 0x74, + 0x63, 0x68, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x69, 0x65, 0x77, 0x55, 0x72, 0x6c, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x69, 0x65, 0x77, 0x55, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0b, + 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x14, + 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, + 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x53, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x73, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x64, 0x22, 0x4f, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, + 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0d, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x22, 0x19, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x32, 0xd6, 0x04, + 0x0a, 0x0e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x12, 0x60, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x12, 0x25, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, + 0x22, 0x00, 0x12, 0x66, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, + 0x73, 0x74, 0x4d, 0x67, 0x6d, 0x74, 0x12, 0x27, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x73, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x6d, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x52, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, - 0x12, 0x27, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x73, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x24, 0x0a, 0x12, 0x47, - 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, - 0x64, 0x22, 0xfd, 0x03, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, - 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, - 0x67, 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x6d, 0x67, 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, - 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1c, 0x0a, - 0x09, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x56, - 0x69, 0x65, 0x77, 0x55, 0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x69, - 0x65, 0x77, 0x55, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, - 0x64, 0x55, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, - 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, - 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, - 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, - 0x0e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, - 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, - 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, - 0x65, 0x22, 0x17, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x4f, 0x0a, 0x17, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x19, 0x0a, 0x17, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x32, 0x88, 0x04, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x12, 0x54, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x10, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x67, 0x6d, 0x74, 0x12, 0x21, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x67, 0x6d, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x67, 0x6d, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0c, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, - 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0e, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, - 0x00, 0x42, 0x0d, 0x5a, 0x0b, 0x2e, 0x2f, 0x3b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x67, 0x6d, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x27, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x67, 0x6d, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0c, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x23, 0x2e, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x23, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0c, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x23, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x61, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x53, 0x69, 0x67, + 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, + 0x22, 0x00, 0x12, 0x60, 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x12, 0x25, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x61, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x46, 0x69, 0x6e, + 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x64, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x42, 0x13, 0x5a, 0x11, 0x2e, 0x2f, 0x3b, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -1413,42 +1431,42 @@ func file_contract_proto_rawDescGZIP() []byte { var file_contract_proto_msgTypes = make([]protoimpl.MessageInfo, 18) var file_contract_proto_goTypes = []interface{}{ - (*Contracts)(nil), // 0: contract.Contracts - (*CreateContractRequest)(nil), // 1: contract.CreateContractRequest - (*CreateContractRespond)(nil), // 2: contract.CreateContractRespond - (*ContractListMgmtRequest)(nil), // 3: contract.ContractListMgmtRequest - (*ContractListMgmtRespond)(nil), // 4: contract.ContractListMgmtRespond - (*ContractListRequest)(nil), // 5: contract.ContractListRequest - (*ContractListRespond)(nil), // 6: contract.ContractListRespond - (*SignContractRequest)(nil), // 7: contract.SignContractRequest - (*SignContractRespond)(nil), // 8: contract.SignContractRespond - (*FinishContractRequest)(nil), // 9: contract.FinishContractRequest - (*FinishContractRespond)(nil), // 10: contract.FinishContractRespond - (*ContractTxListRequest)(nil), // 11: contract.ContractTxListRequest - (*ContractTxListRespond)(nil), // 12: contract.ContractTxListRespond - (*GetContractRequest)(nil), // 13: contract.GetContractRequest - (*UpdateContractRequest)(nil), // 14: contract.UpdateContractRequest - (*UpdateContractRespond)(nil), // 15: contract.UpdateContractRespond - (*UpdateContractTxRequest)(nil), // 16: contract.UpdateContractTxRequest - (*UpdateContractTxRespond)(nil), // 17: contract.UpdateContractTxRespond + (*Contracts)(nil), // 0: artistContract.Contracts + (*CreateContractRequest)(nil), // 1: artistContract.CreateContractRequest + (*CreateContractRespond)(nil), // 2: artistContract.CreateContractRespond + (*ContractListMgmtRequest)(nil), // 3: artistContract.ContractListMgmtRequest + (*ContractListMgmtRespond)(nil), // 4: artistContract.ContractListMgmtRespond + (*ContractListRequest)(nil), // 5: artistContract.ContractListRequest + (*ContractListRespond)(nil), // 6: artistContract.ContractListRespond + (*SignContractRequest)(nil), // 7: artistContract.SignContractRequest + (*SignContractRespond)(nil), // 8: artistContract.SignContractRespond + (*FinishContractRequest)(nil), // 9: artistContract.FinishContractRequest + (*FinishContractRespond)(nil), // 10: artistContract.FinishContractRespond + (*ContractTxListRequest)(nil), // 11: artistContract.ContractTxListRequest + (*ContractTxListRespond)(nil), // 12: artistContract.ContractTxListRespond + (*GetContractRequest)(nil), // 13: artistContract.GetContractRequest + (*UpdateContractRequest)(nil), // 14: artistContract.UpdateContractRequest + (*UpdateContractRespond)(nil), // 15: artistContract.UpdateContractRespond + (*UpdateContractTxRequest)(nil), // 16: artistContract.UpdateContractTxRequest + (*UpdateContractTxRespond)(nil), // 17: artistContract.UpdateContractTxRespond } var file_contract_proto_depIdxs = []int32{ - 0, // 0: contract.ContractListMgmtRespond.Data:type_name -> contract.Contracts - 0, // 1: contract.ContractListRespond.Data:type_name -> contract.Contracts - 0, // 2: contract.FinishContractRespond.Contract:type_name -> contract.Contracts - 0, // 3: contract.ContractTxListRespond.Data:type_name -> contract.Contracts - 1, // 4: contract.Contract.CreateContract:input_type -> contract.CreateContractRequest - 3, // 5: contract.Contract.ContractListMgmt:input_type -> contract.ContractListMgmtRequest - 5, // 6: contract.Contract.ContractList:input_type -> contract.ContractListRequest - 7, // 7: contract.Contract.SignContract:input_type -> contract.SignContractRequest - 9, // 8: contract.Contract.FinishContract:input_type -> contract.FinishContractRequest - 11, // 9: contract.Contract.ContractTxList:input_type -> contract.ContractTxListRequest - 2, // 10: contract.Contract.CreateContract:output_type -> contract.CreateContractRespond - 4, // 11: contract.Contract.ContractListMgmt:output_type -> contract.ContractListMgmtRespond - 6, // 12: contract.Contract.ContractList:output_type -> contract.ContractListRespond - 8, // 13: contract.Contract.SignContract:output_type -> contract.SignContractRespond - 10, // 14: contract.Contract.FinishContract:output_type -> contract.FinishContractRespond - 12, // 15: contract.Contract.ContractTxList:output_type -> contract.ContractTxListRespond + 0, // 0: artistContract.ContractListMgmtRespond.Data:type_name -> artistContract.Contracts + 0, // 1: artistContract.ContractListRespond.Data:type_name -> artistContract.Contracts + 0, // 2: artistContract.FinishContractRespond.Contract:type_name -> artistContract.Contracts + 0, // 3: artistContract.ContractTxListRespond.Data:type_name -> artistContract.Contracts + 1, // 4: artistContract.ArtistContract.CreateContract:input_type -> artistContract.CreateContractRequest + 3, // 5: artistContract.ArtistContract.ContractListMgmt:input_type -> artistContract.ContractListMgmtRequest + 5, // 6: artistContract.ArtistContract.ContractList:input_type -> artistContract.ContractListRequest + 7, // 7: artistContract.ArtistContract.SignContract:input_type -> artistContract.SignContractRequest + 9, // 8: artistContract.ArtistContract.FinishContract:input_type -> artistContract.FinishContractRequest + 11, // 9: artistContract.ArtistContract.ContractTxList:input_type -> artistContract.ContractTxListRequest + 2, // 10: artistContract.ArtistContract.CreateContract:output_type -> artistContract.CreateContractRespond + 4, // 11: artistContract.ArtistContract.ContractListMgmt:output_type -> artistContract.ContractListMgmtRespond + 6, // 12: artistContract.ArtistContract.ContractList:output_type -> artistContract.ContractListRespond + 8, // 13: artistContract.ArtistContract.SignContract:output_type -> artistContract.SignContractRespond + 10, // 14: artistContract.ArtistContract.FinishContract:output_type -> artistContract.FinishContractRespond + 12, // 15: artistContract.ArtistContract.ContractTxList:output_type -> artistContract.ContractTxListRespond 10, // [10:16] is the sub-list for method output_type 4, // [4:10] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name diff --git a/pb/contract/contract.proto b/pb/contract/contract.proto index ab6058a..e92ddf1 100644 --- a/pb/contract/contract.proto +++ b/pb/contract/contract.proto @@ -1,8 +1,8 @@ syntax = "proto3"; -package contract; -option go_package = "./;contract"; +package artistContract; +option go_package = "./;artistContract"; //$ protoc --proto_path=. --go_out=./api/contract --go-triple_out=./api/contract ./api/contract/contract.proto -service Contract { +service ArtistContract { rpc CreateContract (CreateContractRequest) returns (CreateContractRespond) {} rpc ContractListMgmt (ContractListMgmtRequest) returns (ContractListMgmtRespond) {} rpc ContractList (ContractListRequest) returns (ContractListRespond) {} @@ -27,8 +27,9 @@ message Contracts{ string DownloadUrl = 8 [json_name = "download_url"]; int32 State = 9 [json_name = "state"]; int32 Status = 10 [json_name = "status"]; - string LockTime = 11 [json_name = "lock_time"]; - string SignTime = 12 [json_name = "sign_time"]; + string ExpirationTime = 11 [json_name = "expiration_time"]; + string LockTime = 12 [json_name = "lock_time"]; + string SignTime = 13 [json_name = "sign_time"]; } message CreateContractRequest { diff --git a/pb/contract/contract.validator.pb.go b/pb/contract/contract.validator.pb.go index 093ce2a..47b88f0 100644 --- a/pb/contract/contract.validator.pb.go +++ b/pb/contract/contract.validator.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: contract.proto -package contract +package artistContract import ( fmt "fmt" diff --git a/pb/contract/contract_triple.pb.go b/pb/contract/contract_triple.pb.go index 325e8a5..dc5935a 100644 --- a/pb/contract/contract_triple.pb.go +++ b/pb/contract/contract_triple.pb.go @@ -4,7 +4,7 @@ // - protoc v3.21.8 // source: contract.proto -package contract +package artistContract import ( context "context" @@ -24,10 +24,10 @@ import ( // is compatible with the grpc package it is being compiled against. const _ = grpc_go.SupportPackageIsVersion7 -// ContractClient is the client API for Contract service. +// ArtistContractClient is the client API for ArtistContract service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type ContractClient interface { +type ArtistContractClient interface { CreateContract(ctx context.Context, in *CreateContractRequest, opts ...grpc_go.CallOption) (*CreateContractRespond, common.ErrorWithAttachment) ContractListMgmt(ctx context.Context, in *ContractListMgmtRequest, opts ...grpc_go.CallOption) (*ContractListMgmtRespond, common.ErrorWithAttachment) ContractList(ctx context.Context, in *ContractListRequest, opts ...grpc_go.CallOption) (*ContractListRespond, common.ErrorWithAttachment) @@ -36,11 +36,11 @@ type ContractClient interface { ContractTxList(ctx context.Context, in *ContractTxListRequest, opts ...grpc_go.CallOption) (*ContractTxListRespond, common.ErrorWithAttachment) } -type contractClient struct { +type artistContractClient struct { cc *triple.TripleConn } -type ContractClientImpl struct { +type ArtistContractClientImpl struct { CreateContract func(ctx context.Context, in *CreateContractRequest) (*CreateContractRespond, error) ContractListMgmt func(ctx context.Context, in *ContractListMgmtRequest) (*ContractListMgmtRespond, error) ContractList func(ctx context.Context, in *ContractListRequest) (*ContractListRespond, error) @@ -49,119 +49,119 @@ type ContractClientImpl struct { ContractTxList func(ctx context.Context, in *ContractTxListRequest) (*ContractTxListRespond, error) } -func (c *ContractClientImpl) GetDubboStub(cc *triple.TripleConn) ContractClient { - return NewContractClient(cc) +func (c *ArtistContractClientImpl) GetDubboStub(cc *triple.TripleConn) ArtistContractClient { + return NewArtistContractClient(cc) } -func (c *ContractClientImpl) XXX_InterfaceName() string { - return "contract.Contract" +func (c *ArtistContractClientImpl) XXX_InterfaceName() string { + return "artistContract.ArtistContract" } -func NewContractClient(cc *triple.TripleConn) ContractClient { - return &contractClient{cc} +func NewArtistContractClient(cc *triple.TripleConn) ArtistContractClient { + return &artistContractClient{cc} } -func (c *contractClient) CreateContract(ctx context.Context, in *CreateContractRequest, opts ...grpc_go.CallOption) (*CreateContractRespond, common.ErrorWithAttachment) { +func (c *artistContractClient) CreateContract(ctx context.Context, in *CreateContractRequest, opts ...grpc_go.CallOption) (*CreateContractRespond, common.ErrorWithAttachment) { out := new(CreateContractRespond) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreateContract", in, out) } -func (c *contractClient) ContractListMgmt(ctx context.Context, in *ContractListMgmtRequest, opts ...grpc_go.CallOption) (*ContractListMgmtRespond, common.ErrorWithAttachment) { +func (c *artistContractClient) ContractListMgmt(ctx context.Context, in *ContractListMgmtRequest, opts ...grpc_go.CallOption) (*ContractListMgmtRespond, common.ErrorWithAttachment) { out := new(ContractListMgmtRespond) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ContractListMgmt", in, out) } -func (c *contractClient) ContractList(ctx context.Context, in *ContractListRequest, opts ...grpc_go.CallOption) (*ContractListRespond, common.ErrorWithAttachment) { +func (c *artistContractClient) ContractList(ctx context.Context, in *ContractListRequest, opts ...grpc_go.CallOption) (*ContractListRespond, common.ErrorWithAttachment) { out := new(ContractListRespond) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ContractList", in, out) } -func (c *contractClient) SignContract(ctx context.Context, in *SignContractRequest, opts ...grpc_go.CallOption) (*SignContractRespond, common.ErrorWithAttachment) { +func (c *artistContractClient) SignContract(ctx context.Context, in *SignContractRequest, opts ...grpc_go.CallOption) (*SignContractRespond, common.ErrorWithAttachment) { out := new(SignContractRespond) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SignContract", in, out) } -func (c *contractClient) FinishContract(ctx context.Context, in *FinishContractRequest, opts ...grpc_go.CallOption) (*FinishContractRespond, common.ErrorWithAttachment) { +func (c *artistContractClient) FinishContract(ctx context.Context, in *FinishContractRequest, opts ...grpc_go.CallOption) (*FinishContractRespond, common.ErrorWithAttachment) { out := new(FinishContractRespond) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/FinishContract", in, out) } -func (c *contractClient) ContractTxList(ctx context.Context, in *ContractTxListRequest, opts ...grpc_go.CallOption) (*ContractTxListRespond, common.ErrorWithAttachment) { +func (c *artistContractClient) ContractTxList(ctx context.Context, in *ContractTxListRequest, opts ...grpc_go.CallOption) (*ContractTxListRespond, common.ErrorWithAttachment) { out := new(ContractTxListRespond) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ContractTxList", in, out) } -// ContractServer is the server API for Contract service. -// All implementations must embed UnimplementedContractServer +// ArtistContractServer is the server API for ArtistContract service. +// All implementations must embed UnimplementedArtistContractServer // for forward compatibility -type ContractServer interface { +type ArtistContractServer interface { CreateContract(context.Context, *CreateContractRequest) (*CreateContractRespond, error) ContractListMgmt(context.Context, *ContractListMgmtRequest) (*ContractListMgmtRespond, error) ContractList(context.Context, *ContractListRequest) (*ContractListRespond, error) SignContract(context.Context, *SignContractRequest) (*SignContractRespond, error) FinishContract(context.Context, *FinishContractRequest) (*FinishContractRespond, error) ContractTxList(context.Context, *ContractTxListRequest) (*ContractTxListRespond, error) - mustEmbedUnimplementedContractServer() + mustEmbedUnimplementedArtistContractServer() } -// UnimplementedContractServer must be embedded to have forward compatible implementations. -type UnimplementedContractServer struct { +// UnimplementedArtistContractServer must be embedded to have forward compatible implementations. +type UnimplementedArtistContractServer struct { proxyImpl protocol.Invoker } -func (UnimplementedContractServer) CreateContract(context.Context, *CreateContractRequest) (*CreateContractRespond, error) { +func (UnimplementedArtistContractServer) CreateContract(context.Context, *CreateContractRequest) (*CreateContractRespond, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateContract not implemented") } -func (UnimplementedContractServer) ContractListMgmt(context.Context, *ContractListMgmtRequest) (*ContractListMgmtRespond, error) { +func (UnimplementedArtistContractServer) ContractListMgmt(context.Context, *ContractListMgmtRequest) (*ContractListMgmtRespond, error) { return nil, status.Errorf(codes.Unimplemented, "method ContractListMgmt not implemented") } -func (UnimplementedContractServer) ContractList(context.Context, *ContractListRequest) (*ContractListRespond, error) { +func (UnimplementedArtistContractServer) ContractList(context.Context, *ContractListRequest) (*ContractListRespond, error) { return nil, status.Errorf(codes.Unimplemented, "method ContractList not implemented") } -func (UnimplementedContractServer) SignContract(context.Context, *SignContractRequest) (*SignContractRespond, error) { +func (UnimplementedArtistContractServer) SignContract(context.Context, *SignContractRequest) (*SignContractRespond, error) { return nil, status.Errorf(codes.Unimplemented, "method SignContract not implemented") } -func (UnimplementedContractServer) FinishContract(context.Context, *FinishContractRequest) (*FinishContractRespond, error) { +func (UnimplementedArtistContractServer) FinishContract(context.Context, *FinishContractRequest) (*FinishContractRespond, error) { return nil, status.Errorf(codes.Unimplemented, "method FinishContract not implemented") } -func (UnimplementedContractServer) ContractTxList(context.Context, *ContractTxListRequest) (*ContractTxListRespond, error) { +func (UnimplementedArtistContractServer) ContractTxList(context.Context, *ContractTxListRequest) (*ContractTxListRespond, error) { return nil, status.Errorf(codes.Unimplemented, "method ContractTxList not implemented") } -func (s *UnimplementedContractServer) XXX_SetProxyImpl(impl protocol.Invoker) { +func (s *UnimplementedArtistContractServer) XXX_SetProxyImpl(impl protocol.Invoker) { s.proxyImpl = impl } -func (s *UnimplementedContractServer) XXX_GetProxyImpl() protocol.Invoker { +func (s *UnimplementedArtistContractServer) XXX_GetProxyImpl() protocol.Invoker { return s.proxyImpl } -func (s *UnimplementedContractServer) XXX_ServiceDesc() *grpc_go.ServiceDesc { - return &Contract_ServiceDesc +func (s *UnimplementedArtistContractServer) XXX_ServiceDesc() *grpc_go.ServiceDesc { + return &ArtistContract_ServiceDesc } -func (s *UnimplementedContractServer) XXX_InterfaceName() string { - return "contract.Contract" +func (s *UnimplementedArtistContractServer) XXX_InterfaceName() string { + return "artistContract.ArtistContract" } -func (UnimplementedContractServer) mustEmbedUnimplementedContractServer() {} +func (UnimplementedArtistContractServer) mustEmbedUnimplementedArtistContractServer() {} -// UnsafeContractServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to ContractServer will +// UnsafeArtistContractServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ArtistContractServer will // result in compilation errors. -type UnsafeContractServer interface { - mustEmbedUnimplementedContractServer() +type UnsafeArtistContractServer interface { + mustEmbedUnimplementedArtistContractServer() } -func RegisterContractServer(s grpc_go.ServiceRegistrar, srv ContractServer) { - s.RegisterService(&Contract_ServiceDesc, srv) +func RegisterArtistContractServer(s grpc_go.ServiceRegistrar, srv ArtistContractServer) { + s.RegisterService(&ArtistContract_ServiceDesc, srv) } -func _Contract_CreateContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _ArtistContract_CreateContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(CreateContractRequest) if err := dec(in); err != nil { return nil, err @@ -190,7 +190,7 @@ func _Contract_CreateContract_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } -func _Contract_ContractListMgmt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _ArtistContract_ContractListMgmt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(ContractListMgmtRequest) if err := dec(in); err != nil { return nil, err @@ -219,7 +219,7 @@ func _Contract_ContractListMgmt_Handler(srv interface{}, ctx context.Context, de return interceptor(ctx, in, info, handler) } -func _Contract_ContractList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _ArtistContract_ContractList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(ContractListRequest) if err := dec(in); err != nil { return nil, err @@ -248,7 +248,7 @@ func _Contract_ContractList_Handler(srv interface{}, ctx context.Context, dec fu return interceptor(ctx, in, info, handler) } -func _Contract_SignContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _ArtistContract_SignContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(SignContractRequest) if err := dec(in); err != nil { return nil, err @@ -277,7 +277,7 @@ func _Contract_SignContract_Handler(srv interface{}, ctx context.Context, dec fu return interceptor(ctx, in, info, handler) } -func _Contract_FinishContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _ArtistContract_FinishContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(FinishContractRequest) if err := dec(in); err != nil { return nil, err @@ -306,7 +306,7 @@ func _Contract_FinishContract_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } -func _Contract_ContractTxList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _ArtistContract_ContractTxList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(ContractTxListRequest) if err := dec(in); err != nil { return nil, err @@ -335,36 +335,36 @@ func _Contract_ContractTxList_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } -// Contract_ServiceDesc is the grpc_go.ServiceDesc for Contract service. +// ArtistContract_ServiceDesc is the grpc_go.ServiceDesc for ArtistContract service. // It's only intended for direct use with grpc_go.RegisterService, // and not to be introspected or modified (even as a copy) -var Contract_ServiceDesc = grpc_go.ServiceDesc{ - ServiceName: "contract.Contract", - HandlerType: (*ContractServer)(nil), +var ArtistContract_ServiceDesc = grpc_go.ServiceDesc{ + ServiceName: "artistContract.ArtistContract", + HandlerType: (*ArtistContractServer)(nil), Methods: []grpc_go.MethodDesc{ { MethodName: "CreateContract", - Handler: _Contract_CreateContract_Handler, + Handler: _ArtistContract_CreateContract_Handler, }, { MethodName: "ContractListMgmt", - Handler: _Contract_ContractListMgmt_Handler, + Handler: _ArtistContract_ContractListMgmt_Handler, }, { MethodName: "ContractList", - Handler: _Contract_ContractList_Handler, + Handler: _ArtistContract_ContractList_Handler, }, { MethodName: "SignContract", - Handler: _Contract_SignContract_Handler, + Handler: _ArtistContract_SignContract_Handler, }, { MethodName: "FinishContract", - Handler: _Contract_FinishContract_Handler, + Handler: _ArtistContract_FinishContract_Handler, }, { MethodName: "ContractTxList", - Handler: _Contract_ContractTxList_Handler, + Handler: _ArtistContract_ContractTxList_Handler, }, }, Streams: []grpc_go.StreamDesc{}, diff --git a/pb/contract_microservice/contract.pb.go b/pb/contract_microservice/contract.pb.go index ac2c10a..007d6da 100644 --- a/pb/contract_microservice/contract.pb.go +++ b/pb/contract_microservice/contract.pb.go @@ -17,10 +17,10 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 -// protoc v3.21.8 -// source: contract.proto +// protoc v3.21.12 +// source: api/contract/contract.proto -package contractMicroservice +package contract import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" @@ -49,7 +49,7 @@ type CancelExtSignAutoRequest struct { func (x *CancelExtSignAutoRequest) Reset() { *x = CancelExtSignAutoRequest{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[0] + mi := &file_api_contract_contract_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -62,7 +62,7 @@ func (x *CancelExtSignAutoRequest) String() string { func (*CancelExtSignAutoRequest) ProtoMessage() {} func (x *CancelExtSignAutoRequest) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[0] + mi := &file_api_contract_contract_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -75,7 +75,7 @@ func (x *CancelExtSignAutoRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CancelExtSignAutoRequest.ProtoReflect.Descriptor instead. func (*CancelExtSignAutoRequest) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{0} + return file_api_contract_contract_proto_rawDescGZIP(), []int{0} } func (x *CancelExtSignAutoRequest) GetCustomerId() string { @@ -134,7 +134,7 @@ type Person struct { func (x *Person) Reset() { *x = Person{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[1] + mi := &file_api_contract_contract_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -147,7 +147,7 @@ func (x *Person) String() string { func (*Person) ProtoMessage() {} func (x *Person) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[1] + mi := &file_api_contract_contract_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -160,7 +160,7 @@ func (x *Person) ProtoReflect() protoreflect.Message { // Deprecated: Use Person.ProtoReflect.Descriptor instead. func (*Person) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{1} + return file_api_contract_contract_proto_rawDescGZIP(), []int{1} } func (x *Person) GetAreaCode() string { @@ -353,7 +353,7 @@ type PersonCertInfoResponse struct { func (x *PersonCertInfoResponse) Reset() { *x = PersonCertInfoResponse{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[2] + mi := &file_api_contract_contract_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -366,7 +366,7 @@ func (x *PersonCertInfoResponse) String() string { func (*PersonCertInfoResponse) ProtoMessage() {} func (x *PersonCertInfoResponse) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[2] + mi := &file_api_contract_contract_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -379,7 +379,7 @@ func (x *PersonCertInfoResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PersonCertInfoResponse.ProtoReflect.Descriptor instead. func (*PersonCertInfoResponse) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{2} + return file_api_contract_contract_proto_rawDescGZIP(), []int{2} } func (x *PersonCertInfoResponse) GetPerson() *Person { @@ -428,7 +428,7 @@ type FindCertInfo struct { func (x *FindCertInfo) Reset() { *x = FindCertInfo{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[3] + mi := &file_api_contract_contract_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -441,7 +441,7 @@ func (x *FindCertInfo) String() string { func (*FindCertInfo) ProtoMessage() {} func (x *FindCertInfo) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[3] + mi := &file_api_contract_contract_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -454,7 +454,7 @@ func (x *FindCertInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use FindCertInfo.ProtoReflect.Descriptor instead. func (*FindCertInfo) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{3} + return file_api_contract_contract_proto_rawDescGZIP(), []int{3} } func (x *FindCertInfo) GetVerifiedSerialno() string { @@ -490,7 +490,7 @@ type Company struct { func (x *Company) Reset() { *x = Company{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[4] + mi := &file_api_contract_contract_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -503,7 +503,7 @@ func (x *Company) String() string { func (*Company) ProtoMessage() {} func (x *Company) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[4] + mi := &file_api_contract_contract_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -516,7 +516,7 @@ func (x *Company) ProtoReflect() protoreflect.Message { // Deprecated: Use Company.ProtoReflect.Descriptor instead. func (*Company) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{4} + return file_api_contract_contract_proto_rawDescGZIP(), []int{4} } func (x *Company) GetAuditFailReason() string { @@ -661,7 +661,7 @@ type Manager struct { func (x *Manager) Reset() { *x = Manager{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[5] + mi := &file_api_contract_contract_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -674,7 +674,7 @@ func (x *Manager) String() string { func (*Manager) ProtoMessage() {} func (x *Manager) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[5] + mi := &file_api_contract_contract_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -687,7 +687,7 @@ func (x *Manager) ProtoReflect() protoreflect.Message { // Deprecated: Use Manager.ProtoReflect.Descriptor instead. func (*Manager) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{5} + return file_api_contract_contract_proto_rawDescGZIP(), []int{5} } func (x *Manager) GetAreaCode() string { @@ -846,7 +846,7 @@ type CompanyCertInfoResponse struct { func (x *CompanyCertInfoResponse) Reset() { *x = CompanyCertInfoResponse{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[6] + mi := &file_api_contract_contract_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -859,7 +859,7 @@ func (x *CompanyCertInfoResponse) String() string { func (*CompanyCertInfoResponse) ProtoMessage() {} func (x *CompanyCertInfoResponse) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[6] + mi := &file_api_contract_contract_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -872,7 +872,7 @@ func (x *CompanyCertInfoResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CompanyCertInfoResponse.ProtoReflect.Descriptor instead. func (*CompanyCertInfoResponse) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{6} + return file_api_contract_contract_proto_rawDescGZIP(), []int{6} } func (x *CompanyCertInfoResponse) GetCompany() *Company { @@ -931,7 +931,7 @@ type AuthStatusResponse struct { func (x *AuthStatusResponse) Reset() { *x = AuthStatusResponse{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[7] + mi := &file_api_contract_contract_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -944,7 +944,7 @@ func (x *AuthStatusResponse) String() string { func (*AuthStatusResponse) ProtoMessage() {} func (x *AuthStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[7] + mi := &file_api_contract_contract_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -957,7 +957,7 @@ func (x *AuthStatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AuthStatusResponse.ProtoReflect.Descriptor instead. func (*AuthStatusResponse) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{7} + return file_api_contract_contract_proto_rawDescGZIP(), []int{7} } func (x *AuthStatusResponse) GetAuthType() uint64 { @@ -1000,7 +1000,7 @@ type ApplyCertRequest struct { func (x *ApplyCertRequest) Reset() { *x = ApplyCertRequest{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[8] + mi := &file_api_contract_contract_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1013,7 +1013,7 @@ func (x *ApplyCertRequest) String() string { func (*ApplyCertRequest) ProtoMessage() {} func (x *ApplyCertRequest) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[8] + mi := &file_api_contract_contract_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1026,7 +1026,7 @@ func (x *ApplyCertRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ApplyCertRequest.ProtoReflect.Descriptor instead. func (*ApplyCertRequest) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{8} + return file_api_contract_contract_proto_rawDescGZIP(), []int{8} } func (x *ApplyCertRequest) GetCustomerId() string { @@ -1055,7 +1055,7 @@ type ViewCommonResponse struct { func (x *ViewCommonResponse) Reset() { *x = ViewCommonResponse{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[9] + mi := &file_api_contract_contract_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1068,7 +1068,7 @@ func (x *ViewCommonResponse) String() string { func (*ViewCommonResponse) ProtoMessage() {} func (x *ViewCommonResponse) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[9] + mi := &file_api_contract_contract_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1081,7 +1081,7 @@ func (x *ViewCommonResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ViewCommonResponse.ProtoReflect.Descriptor instead. func (*ViewCommonResponse) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{9} + return file_api_contract_contract_proto_rawDescGZIP(), []int{9} } func (x *ViewCommonResponse) GetDownloadUrl() string { @@ -1109,7 +1109,7 @@ type PdfTemplateKeysRequest struct { func (x *PdfTemplateKeysRequest) Reset() { *x = PdfTemplateKeysRequest{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[10] + mi := &file_api_contract_contract_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1122,7 +1122,7 @@ func (x *PdfTemplateKeysRequest) String() string { func (*PdfTemplateKeysRequest) ProtoMessage() {} func (x *PdfTemplateKeysRequest) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[10] + mi := &file_api_contract_contract_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1135,7 +1135,7 @@ func (x *PdfTemplateKeysRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PdfTemplateKeysRequest.ProtoReflect.Descriptor instead. func (*PdfTemplateKeysRequest) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{10} + return file_api_contract_contract_proto_rawDescGZIP(), []int{10} } func (x *PdfTemplateKeysRequest) GetTemplateId() string { @@ -1156,7 +1156,7 @@ type PdfTemplateKeysResponse struct { func (x *PdfTemplateKeysResponse) Reset() { *x = PdfTemplateKeysResponse{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[11] + mi := &file_api_contract_contract_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1169,7 +1169,7 @@ func (x *PdfTemplateKeysResponse) String() string { func (*PdfTemplateKeysResponse) ProtoMessage() {} func (x *PdfTemplateKeysResponse) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[11] + mi := &file_api_contract_contract_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1182,7 +1182,7 @@ func (x *PdfTemplateKeysResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PdfTemplateKeysResponse.ProtoReflect.Descriptor instead. func (*PdfTemplateKeysResponse) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{11} + return file_api_contract_contract_proto_rawDescGZIP(), []int{11} } func (x *PdfTemplateKeysResponse) GetKeys() []string { @@ -1203,7 +1203,7 @@ type JumpCommonResponse struct { func (x *JumpCommonResponse) Reset() { *x = JumpCommonResponse{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[12] + mi := &file_api_contract_contract_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1216,7 +1216,7 @@ func (x *JumpCommonResponse) String() string { func (*JumpCommonResponse) ProtoMessage() {} func (x *JumpCommonResponse) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[12] + mi := &file_api_contract_contract_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1229,7 +1229,7 @@ func (x *JumpCommonResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use JumpCommonResponse.ProtoReflect.Descriptor instead. func (*JumpCommonResponse) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{12} + return file_api_contract_contract_proto_rawDescGZIP(), []int{12} } func (x *JumpCommonResponse) GetJumpUrl() string { @@ -1250,7 +1250,7 @@ type ContractRequest struct { func (x *ContractRequest) Reset() { *x = ContractRequest{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[13] + mi := &file_api_contract_contract_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1263,7 +1263,7 @@ func (x *ContractRequest) String() string { func (*ContractRequest) ProtoMessage() {} func (x *ContractRequest) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[13] + mi := &file_api_contract_contract_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1276,7 +1276,7 @@ func (x *ContractRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ContractRequest.ProtoReflect.Descriptor instead. func (*ContractRequest) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{13} + return file_api_contract_contract_proto_rawDescGZIP(), []int{13} } func (x *ContractRequest) GetContractId() string { @@ -1308,7 +1308,7 @@ type ExtSignRequest struct { func (x *ExtSignRequest) Reset() { *x = ExtSignRequest{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[14] + mi := &file_api_contract_contract_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1321,7 +1321,7 @@ func (x *ExtSignRequest) String() string { func (*ExtSignRequest) ProtoMessage() {} func (x *ExtSignRequest) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[14] + mi := &file_api_contract_contract_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1334,7 +1334,7 @@ func (x *ExtSignRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ExtSignRequest.ProtoReflect.Descriptor instead. func (*ExtSignRequest) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{14} + return file_api_contract_contract_proto_rawDescGZIP(), []int{14} } func (x *ExtSignRequest) GetTransactionId() string { @@ -1436,7 +1436,7 @@ type BeforeAuthSignRequest struct { func (x *BeforeAuthSignRequest) Reset() { *x = BeforeAuthSignRequest{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[15] + mi := &file_api_contract_contract_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1449,7 +1449,7 @@ func (x *BeforeAuthSignRequest) String() string { func (*BeforeAuthSignRequest) ProtoMessage() {} func (x *BeforeAuthSignRequest) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[15] + mi := &file_api_contract_contract_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1462,7 +1462,7 @@ func (x *BeforeAuthSignRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BeforeAuthSignRequest.ProtoReflect.Descriptor instead. func (*BeforeAuthSignRequest) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{15} + return file_api_contract_contract_proto_rawDescGZIP(), []int{15} } func (x *BeforeAuthSignRequest) GetTransactionId() string { @@ -1514,7 +1514,7 @@ type UploadDocsRequest struct { func (x *UploadDocsRequest) Reset() { *x = UploadDocsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[16] + mi := &file_api_contract_contract_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1527,7 +1527,7 @@ func (x *UploadDocsRequest) String() string { func (*UploadDocsRequest) ProtoMessage() {} func (x *UploadDocsRequest) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[16] + mi := &file_api_contract_contract_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1540,7 +1540,7 @@ func (x *UploadDocsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UploadDocsRequest.ProtoReflect.Descriptor instead. func (*UploadDocsRequest) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{16} + return file_api_contract_contract_proto_rawDescGZIP(), []int{16} } func (x *UploadDocsRequest) GetContractId() string { @@ -1582,7 +1582,7 @@ type CompanyVerifyRequest struct { func (x *CompanyVerifyRequest) Reset() { *x = CompanyVerifyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[17] + mi := &file_api_contract_contract_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1595,7 +1595,7 @@ func (x *CompanyVerifyRequest) String() string { func (*CompanyVerifyRequest) ProtoMessage() {} func (x *CompanyVerifyRequest) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[17] + mi := &file_api_contract_contract_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1608,7 +1608,7 @@ func (x *CompanyVerifyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CompanyVerifyRequest.ProtoReflect.Descriptor instead. func (*CompanyVerifyRequest) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{17} + return file_api_contract_contract_proto_rawDescGZIP(), []int{17} } func (x *CompanyVerifyRequest) GetCustomerId() string { @@ -1629,7 +1629,7 @@ type UploadTemplateResponse struct { func (x *UploadTemplateResponse) Reset() { *x = UploadTemplateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[18] + mi := &file_api_contract_contract_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1642,7 +1642,7 @@ func (x *UploadTemplateResponse) String() string { func (*UploadTemplateResponse) ProtoMessage() {} func (x *UploadTemplateResponse) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[18] + mi := &file_api_contract_contract_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1655,7 +1655,7 @@ func (x *UploadTemplateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UploadTemplateResponse.ProtoReflect.Descriptor instead. func (*UploadTemplateResponse) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{18} + return file_api_contract_contract_proto_rawDescGZIP(), []int{18} } func (x *UploadTemplateResponse) GetCustomerId() string { @@ -1681,7 +1681,7 @@ type PersonVerifyRequest struct { func (x *PersonVerifyRequest) Reset() { *x = PersonVerifyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[19] + mi := &file_api_contract_contract_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1694,7 +1694,7 @@ func (x *PersonVerifyRequest) String() string { func (*PersonVerifyRequest) ProtoMessage() {} func (x *PersonVerifyRequest) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[19] + mi := &file_api_contract_contract_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1707,7 +1707,7 @@ func (x *PersonVerifyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PersonVerifyRequest.ProtoReflect.Descriptor instead. func (*PersonVerifyRequest) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{19} + return file_api_contract_contract_proto_rawDescGZIP(), []int{19} } func (x *PersonVerifyRequest) GetCustomerId() string { @@ -1764,7 +1764,7 @@ type PersonVerifyResponse struct { func (x *PersonVerifyResponse) Reset() { *x = PersonVerifyResponse{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[20] + mi := &file_api_contract_contract_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1777,7 +1777,7 @@ func (x *PersonVerifyResponse) String() string { func (*PersonVerifyResponse) ProtoMessage() {} func (x *PersonVerifyResponse) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[20] + mi := &file_api_contract_contract_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1790,7 +1790,7 @@ func (x *PersonVerifyResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PersonVerifyResponse.ProtoReflect.Descriptor instead. func (*PersonVerifyResponse) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{20} + return file_api_contract_contract_proto_rawDescGZIP(), []int{20} } func (x *PersonVerifyResponse) GetTransactionNo() string { @@ -1818,7 +1818,7 @@ type RegisterResponse struct { func (x *RegisterResponse) Reset() { *x = RegisterResponse{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[21] + mi := &file_api_contract_contract_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1831,7 +1831,7 @@ func (x *RegisterResponse) String() string { func (*RegisterResponse) ProtoMessage() {} func (x *RegisterResponse) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[21] + mi := &file_api_contract_contract_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1844,7 +1844,7 @@ func (x *RegisterResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RegisterResponse.ProtoReflect.Descriptor instead. func (*RegisterResponse) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{21} + return file_api_contract_contract_proto_rawDescGZIP(), []int{21} } func (x *RegisterResponse) GetCustomerId() string { @@ -1865,7 +1865,7 @@ type CustomerIdRequest struct { func (x *CustomerIdRequest) Reset() { *x = CustomerIdRequest{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[22] + mi := &file_api_contract_contract_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1878,7 +1878,7 @@ func (x *CustomerIdRequest) String() string { func (*CustomerIdRequest) ProtoMessage() {} func (x *CustomerIdRequest) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[22] + mi := &file_api_contract_contract_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1891,7 +1891,7 @@ func (x *CustomerIdRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CustomerIdRequest.ProtoReflect.Descriptor instead. func (*CustomerIdRequest) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{22} + return file_api_contract_contract_proto_rawDescGZIP(), []int{22} } func (x *CustomerIdRequest) GetCustomerId() string { @@ -1910,7 +1910,7 @@ type CommonResponse struct { func (x *CommonResponse) Reset() { *x = CommonResponse{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[23] + mi := &file_api_contract_contract_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1923,7 +1923,7 @@ func (x *CommonResponse) String() string { func (*CommonResponse) ProtoMessage() {} func (x *CommonResponse) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[23] + mi := &file_api_contract_contract_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1936,7 +1936,7 @@ func (x *CommonResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CommonResponse.ProtoReflect.Descriptor instead. func (*CommonResponse) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{23} + return file_api_contract_contract_proto_rawDescGZIP(), []int{23} } type RegisterOrgRequest struct { @@ -1950,7 +1950,7 @@ type RegisterOrgRequest struct { func (x *RegisterOrgRequest) Reset() { *x = RegisterOrgRequest{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[24] + mi := &file_api_contract_contract_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1963,7 +1963,7 @@ func (x *RegisterOrgRequest) String() string { func (*RegisterOrgRequest) ProtoMessage() {} func (x *RegisterOrgRequest) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[24] + mi := &file_api_contract_contract_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1976,7 +1976,7 @@ func (x *RegisterOrgRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RegisterOrgRequest.ProtoReflect.Descriptor instead. func (*RegisterOrgRequest) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{24} + return file_api_contract_contract_proto_rawDescGZIP(), []int{24} } func (x *RegisterOrgRequest) GetOpenId() string { @@ -1997,7 +1997,7 @@ type RegisterPersonRequest struct { func (x *RegisterPersonRequest) Reset() { *x = RegisterPersonRequest{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[25] + mi := &file_api_contract_contract_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2010,7 +2010,7 @@ func (x *RegisterPersonRequest) String() string { func (*RegisterPersonRequest) ProtoMessage() {} func (x *RegisterPersonRequest) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[25] + mi := &file_api_contract_contract_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2023,7 +2023,7 @@ func (x *RegisterPersonRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RegisterPersonRequest.ProtoReflect.Descriptor instead. func (*RegisterPersonRequest) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{25} + return file_api_contract_contract_proto_rawDescGZIP(), []int{25} } func (x *RegisterPersonRequest) GetOpenId() string { @@ -2045,7 +2045,7 @@ type AddSignRequest struct { func (x *AddSignRequest) Reset() { *x = AddSignRequest{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[26] + mi := &file_api_contract_contract_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2058,7 +2058,7 @@ func (x *AddSignRequest) String() string { func (*AddSignRequest) ProtoMessage() {} func (x *AddSignRequest) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[26] + mi := &file_api_contract_contract_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2071,7 +2071,7 @@ func (x *AddSignRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AddSignRequest.ProtoReflect.Descriptor instead. func (*AddSignRequest) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{26} + return file_api_contract_contract_proto_rawDescGZIP(), []int{26} } func (x *AddSignRequest) GetCustomerId() string { @@ -2099,7 +2099,7 @@ type AddSignResponse struct { func (x *AddSignResponse) Reset() { *x = AddSignResponse{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[27] + mi := &file_api_contract_contract_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2112,7 +2112,7 @@ func (x *AddSignResponse) String() string { func (*AddSignResponse) ProtoMessage() {} func (x *AddSignResponse) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[27] + mi := &file_api_contract_contract_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2125,7 +2125,7 @@ func (x *AddSignResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AddSignResponse.ProtoReflect.Descriptor instead. func (*AddSignResponse) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{27} + return file_api_contract_contract_proto_rawDescGZIP(), []int{27} } func (x *AddSignResponse) GetSignatureId() string { @@ -2147,7 +2147,7 @@ type CustomSignRequest struct { func (x *CustomSignRequest) Reset() { *x = CustomSignRequest{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[28] + mi := &file_api_contract_contract_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2160,7 +2160,7 @@ func (x *CustomSignRequest) String() string { func (*CustomSignRequest) ProtoMessage() {} func (x *CustomSignRequest) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[28] + mi := &file_api_contract_contract_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2173,7 +2173,7 @@ func (x *CustomSignRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CustomSignRequest.ProtoReflect.Descriptor instead. func (*CustomSignRequest) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{28} + return file_api_contract_contract_proto_rawDescGZIP(), []int{28} } func (x *CustomSignRequest) GetCustomerId() string { @@ -2201,7 +2201,7 @@ type CustomSignResponse struct { func (x *CustomSignResponse) Reset() { *x = CustomSignResponse{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[29] + mi := &file_api_contract_contract_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2214,7 +2214,7 @@ func (x *CustomSignResponse) String() string { func (*CustomSignResponse) ProtoMessage() {} func (x *CustomSignResponse) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[29] + mi := &file_api_contract_contract_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2227,7 +2227,7 @@ func (x *CustomSignResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CustomSignResponse.ProtoReflect.Descriptor instead. func (*CustomSignResponse) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{29} + return file_api_contract_contract_proto_rawDescGZIP(), []int{29} } func (x *CustomSignResponse) GetSignatureImgBase64() string { @@ -2249,7 +2249,7 @@ type UploadTemplateRequest struct { func (x *UploadTemplateRequest) Reset() { *x = UploadTemplateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[30] + mi := &file_api_contract_contract_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2262,7 +2262,7 @@ func (x *UploadTemplateRequest) String() string { func (*UploadTemplateRequest) ProtoMessage() {} func (x *UploadTemplateRequest) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[30] + mi := &file_api_contract_contract_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2275,7 +2275,7 @@ func (x *UploadTemplateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UploadTemplateRequest.ProtoReflect.Descriptor instead. func (*UploadTemplateRequest) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{30} + return file_api_contract_contract_proto_rawDescGZIP(), []int{30} } func (x *UploadTemplateRequest) GetTemplateId() string { @@ -2311,7 +2311,7 @@ type ExtSignAutoRequest struct { func (x *ExtSignAutoRequest) Reset() { *x = ExtSignAutoRequest{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[31] + mi := &file_api_contract_contract_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2324,7 +2324,7 @@ func (x *ExtSignAutoRequest) String() string { func (*ExtSignAutoRequest) ProtoMessage() {} func (x *ExtSignAutoRequest) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[31] + mi := &file_api_contract_contract_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2337,7 +2337,7 @@ func (x *ExtSignAutoRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ExtSignAutoRequest.ProtoReflect.Descriptor instead. func (*ExtSignAutoRequest) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{31} + return file_api_contract_contract_proto_rawDescGZIP(), []int{31} } func (x *ExtSignAutoRequest) GetTransactionId() string { @@ -2417,7 +2417,7 @@ type GenerateContractRequest struct { func (x *GenerateContractRequest) Reset() { *x = GenerateContractRequest{} if protoimpl.UnsafeEnabled { - mi := &file_contract_proto_msgTypes[32] + mi := &file_api_contract_contract_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2430,7 +2430,7 @@ func (x *GenerateContractRequest) String() string { func (*GenerateContractRequest) ProtoMessage() {} func (x *GenerateContractRequest) ProtoReflect() protoreflect.Message { - mi := &file_contract_proto_msgTypes[32] + mi := &file_api_contract_contract_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2443,7 +2443,7 @@ func (x *GenerateContractRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GenerateContractRequest.ProtoReflect.Descriptor instead. func (*GenerateContractRequest) Descriptor() ([]byte, []int) { - return file_contract_proto_rawDescGZIP(), []int{32} + return file_api_contract_contract_proto_rawDescGZIP(), []int{32} } func (x *GenerateContractRequest) GetTemplateId() string { @@ -2474,587 +2474,551 @@ func (x *GenerateContractRequest) GetDynamicTables() string { return "" } -var File_contract_proto protoreflect.FileDescriptor +var File_api_contract_contract_proto protoreflect.FileDescriptor -var file_contract_proto_rawDesc = []byte{ - 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x12, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x76, 0x0a, 0x18, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, - 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, - 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, - 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x22, 0xb0, - 0x06, 0x0a, 0x06, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x72, 0x65, - 0x61, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x41, 0x72, 0x65, - 0x61, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x41, 0x75, 0x64, 0x69, 0x74, 0x46, 0x61, - 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, - 0x41, 0x75, 0x64, 0x69, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, - 0x20, 0x0a, 0x0b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x32, 0x0a, 0x14, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x49, - 0x64, 0x43, 0x61, 0x72, 0x64, 0x50, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x14, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x43, 0x61, 0x72, - 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x61, 0x72, - 0x64, 0x4e, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x42, 0x61, 0x6e, 0x6b, 0x43, - 0x61, 0x72, 0x64, 0x4e, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, - 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, - 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x43, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, - 0x0b, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x44, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x44, 0x61, 0x74, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x46, 0x6f, 0x72, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x46, - 0x6f, 0x72, 0x6b, 0x12, 0x2c, 0x0a, 0x11, 0x47, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x73, 0x50, - 0x68, 0x6f, 0x74, 0x6f, 0x50, 0x61, 0x74, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, - 0x47, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x73, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x50, 0x61, 0x74, - 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x48, 0x65, 0x61, 0x64, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x50, 0x61, - 0x74, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x48, 0x65, 0x61, 0x64, 0x50, 0x68, - 0x6f, 0x74, 0x6f, 0x50, 0x61, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x64, 0x43, 0x61, 0x72, - 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x12, - 0x1e, 0x0a, 0x0a, 0x49, 0x73, 0x4c, 0x6f, 0x6e, 0x67, 0x54, 0x65, 0x72, 0x6d, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x49, 0x73, 0x4c, 0x6f, 0x6e, 0x67, 0x54, 0x65, 0x72, 0x6d, 0x12, - 0x2c, 0x0a, 0x11, 0x49, 0x73, 0x50, 0x61, 0x73, 0x73, 0x46, 0x6f, 0x75, 0x72, 0x45, 0x6c, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x49, 0x73, 0x50, 0x61, - 0x73, 0x73, 0x46, 0x6f, 0x75, 0x72, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x0a, - 0x12, 0x49, 0x73, 0x50, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x65, 0x65, 0x45, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x49, 0x73, 0x50, 0x61, 0x73, - 0x73, 0x54, 0x68, 0x72, 0x65, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, - 0x0e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, - 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x41, 0x75, 0x74, 0x68, - 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x18, - 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x12, 0x1e, 0x0a, - 0x0a, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x55, 0x75, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x55, 0x75, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x53, - 0x65, 0x78, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x53, 0x65, 0x78, 0x12, 0x1c, 0x0a, - 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x56, 0x65, 0x72, 0x69, 0x66, - 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x56, 0x65, 0x72, - 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x22, 0xe0, 0x01, 0x0a, 0x16, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x43, 0x65, 0x72, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x06, - 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x65, 0x72, 0x73, - 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x18, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, - 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x0a, 0x0c, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x65, 0x72, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x10, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, +var file_api_contract_contract_proto_rawDesc = []byte{ + 0x0a, 0x1b, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2f, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x22, 0x76, 0x0a, 0x18, 0x43, 0x61, 0x6e, 0x63, 0x65, + 0x6c, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, + 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x22, + 0xb0, 0x06, 0x0a, 0x06, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x72, + 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x41, 0x72, + 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x41, 0x75, 0x64, 0x69, 0x74, 0x46, + 0x61, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x41, 0x75, 0x64, 0x69, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, + 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x50, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x14, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x43, 0x61, + 0x72, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x61, + 0x72, 0x64, 0x4e, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x42, 0x61, 0x6e, 0x6b, + 0x43, 0x61, 0x72, 0x64, 0x4e, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, + 0x61, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, + 0x61, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x43, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, + 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x44, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x44, 0x61, 0x74, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x46, 0x6f, 0x72, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x46, 0x6f, 0x72, 0x6b, 0x12, 0x2c, 0x0a, 0x11, 0x47, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x73, + 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x50, 0x61, 0x74, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x11, 0x47, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x73, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x50, 0x61, + 0x74, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x48, 0x65, 0x61, 0x64, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x50, + 0x61, 0x74, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x48, 0x65, 0x61, 0x64, 0x50, + 0x68, 0x6f, 0x74, 0x6f, 0x50, 0x61, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x64, 0x43, 0x61, + 0x72, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, + 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x73, 0x4c, 0x6f, 0x6e, 0x67, 0x54, 0x65, 0x72, 0x6d, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x49, 0x73, 0x4c, 0x6f, 0x6e, 0x67, 0x54, 0x65, 0x72, 0x6d, + 0x12, 0x2c, 0x0a, 0x11, 0x49, 0x73, 0x50, 0x61, 0x73, 0x73, 0x46, 0x6f, 0x75, 0x72, 0x45, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x49, 0x73, 0x50, + 0x61, 0x73, 0x73, 0x46, 0x6f, 0x75, 0x72, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2e, + 0x0a, 0x12, 0x49, 0x73, 0x50, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x65, 0x65, 0x45, 0x6c, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x49, 0x73, 0x50, 0x61, + 0x73, 0x73, 0x54, 0x68, 0x72, 0x65, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, + 0x0a, 0x0e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x41, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x12, 0x1e, + 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x55, 0x75, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x55, 0x75, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, + 0x53, 0x65, 0x78, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x53, 0x65, 0x78, 0x12, 0x1c, + 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x17, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x56, 0x65, 0x72, 0x69, + 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x56, 0x65, + 0x72, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x22, 0xd4, 0x01, 0x0a, 0x16, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x43, 0x65, 0x72, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, + 0x06, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, + 0x06, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x18, 0x41, 0x75, 0x74, 0x68, 0x65, + 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x61, 0x75, 0x74, 0x68, 0x65, + 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x0a, 0x0c, 0x46, 0x69, 0x6e, + 0x64, 0x43, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x10, 0x56, 0x65, 0x72, + 0x69, 0x66, 0x69, 0x65, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x6e, 0x6f, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x10, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x53, 0x65, 0x72, + 0x69, 0x61, 0x6c, 0x6e, 0x6f, 0x22, 0xc3, 0x04, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, + 0x79, 0x12, 0x28, 0x0a, 0x0f, 0x41, 0x75, 0x64, 0x69, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x52, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x41, 0x75, 0x64, 0x69, + 0x74, 0x46, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x41, + 0x75, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, + 0x10, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x6f, 0x6d, + 0x70, 0x61, 0x6e, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x20, 0x0a, + 0x0b, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x48, 0x61, 0x73, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x48, 0x61, 0x73, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x4c, + 0x65, 0x67, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x4c, 0x65, 0x67, 0x61, + 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x4c, 0x65, 0x67, 0x61, 0x6c, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4c, 0x65, 0x67, 0x61, 0x6c, 0x4d, 0x6f, 0x62, + 0x69, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x65, 0x67, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4c, 0x65, 0x67, 0x61, 0x6c, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x10, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x10, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, + 0x68, 0x12, 0x2a, 0x0a, 0x10, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x4f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, + 0x0b, 0x52, 0x65, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x52, 0x65, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x12, + 0x32, 0x0a, 0x14, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x52, + 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x4e, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0f, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x56, + 0x65, 0x72, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0xe9, 0x04, 0x0a, 0x07, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x72, 0x65, 0x61, 0x43, + 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x41, 0x72, 0x65, 0x61, 0x43, + 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x41, 0x75, 0x64, 0x69, 0x74, 0x46, 0x61, 0x69, 0x6c, + 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x41, 0x75, + 0x64, 0x69, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x20, 0x0a, + 0x0b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x32, 0x0a, 0x14, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x43, + 0x61, 0x72, 0x64, 0x50, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x42, + 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x50, + 0x61, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x12, + 0x20, 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x44, 0x61, 0x74, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x44, 0x61, 0x74, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x6f, 0x72, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x46, 0x6f, 0x72, 0x6b, 0x12, 0x24, 0x0a, 0x0d, 0x48, 0x65, 0x61, 0x64, 0x50, 0x68, 0x6f, + 0x74, 0x6f, 0x50, 0x61, 0x74, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x48, 0x65, + 0x61, 0x64, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x50, 0x61, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x49, + 0x64, 0x43, 0x61, 0x72, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x49, 0x64, 0x43, + 0x61, 0x72, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x73, 0x4c, 0x6f, 0x6e, 0x67, 0x54, 0x65, 0x72, + 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x49, 0x73, 0x4c, 0x6f, 0x6e, 0x67, 0x54, + 0x65, 0x72, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x41, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x49, 0x73, 0x73, + 0x75, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x4d, + 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4d, 0x6f, 0x62, + 0x69, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x55, 0x75, 0x69, 0x64, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x55, 0x75, 0x69, + 0x64, 0x12, 0x10, 0x0a, 0x03, 0x53, 0x65, 0x78, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x53, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, + 0x0a, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x85, 0x02, 0x0a, 0x17, 0x43, 0x6f, 0x6d, 0x70, + 0x61, 0x6e, 0x79, 0x43, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, + 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x52, 0x07, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, + 0x12, 0x2b, 0x0a, 0x07, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x3a, 0x0a, + 0x18, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x18, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x73, + 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, + 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, + 0x8e, 0x01, 0x0a, 0x12, 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x75, 0x74, 0x68, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x61, 0x75, 0x74, 0x68, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x22, 0x5e, 0x0a, 0x10, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x6e, 0x6f, - 0x22, 0xc3, 0x04, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x12, 0x28, 0x0a, 0x0f, - 0x41, 0x75, 0x64, 0x69, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x41, 0x75, 0x64, 0x69, 0x74, 0x46, 0x61, 0x69, 0x6c, - 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x6f, - 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x41, 0x75, 0x64, - 0x69, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x43, 0x65, 0x72, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x10, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x45, - 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x43, 0x6f, 0x6d, 0x70, - 0x61, 0x6e, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x70, - 0x61, 0x6e, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x43, - 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x48, 0x61, - 0x73, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x48, 0x61, - 0x73, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x67, 0x61, 0x6c, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x4c, 0x65, 0x67, 0x61, 0x6c, 0x12, 0x20, 0x0a, 0x0b, - 0x4c, 0x65, 0x67, 0x61, 0x6c, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x4c, 0x65, 0x67, 0x61, 0x6c, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x4c, 0x65, 0x67, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x4c, 0x65, 0x67, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, - 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x2a, 0x0a, 0x10, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x61, 0x74, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x4f, 0x72, 0x67, 0x61, - 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2a, 0x0a, 0x10, - 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x67, 0x46, - 0x6f, 0x72, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x52, - 0x65, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x12, 0x32, 0x0a, 0x14, 0x52, 0x65, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x4e, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x12, 0x16, - 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x56, 0x65, 0x72, 0x69, - 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0xe9, 0x04, 0x0a, 0x07, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x28, - 0x0a, 0x0f, 0x41, 0x75, 0x64, 0x69, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x41, 0x75, 0x64, 0x69, 0x74, 0x46, 0x61, - 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x75, 0x64, 0x69, - 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x41, - 0x75, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x42, 0x61, - 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x50, 0x61, - 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, - 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1a, - 0x0a, 0x08, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x45, 0x78, - 0x70, 0x69, 0x72, 0x65, 0x73, 0x44, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x44, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x46, 0x6f, 0x72, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x46, 0x6f, 0x72, 0x6b, - 0x12, 0x24, 0x0a, 0x0d, 0x48, 0x65, 0x61, 0x64, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x50, 0x61, 0x74, - 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x48, 0x65, 0x61, 0x64, 0x50, 0x68, 0x6f, - 0x74, 0x6f, 0x50, 0x61, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x12, 0x1e, - 0x0a, 0x0a, 0x49, 0x73, 0x4c, 0x6f, 0x6e, 0x67, 0x54, 0x65, 0x72, 0x6d, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x49, 0x73, 0x4c, 0x6f, 0x6e, 0x67, 0x54, 0x65, 0x72, 0x6d, 0x12, 0x26, - 0x0a, 0x0e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x41, 0x75, 0x74, - 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x12, 0x1e, - 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x55, 0x75, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x55, 0x75, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, - 0x53, 0x65, 0x78, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x53, 0x65, 0x78, 0x12, 0x1c, - 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x12, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x56, 0x65, 0x72, 0x69, - 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x56, 0x65, - 0x72, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x22, 0x9d, 0x02, 0x0a, 0x17, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x43, 0x65, - 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, - 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x52, 0x07, - 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x12, 0x37, 0x0a, 0x07, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x12, 0x3a, 0x0a, 0x18, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x18, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x50, 0x61, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x70, 0x61, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x12, 0x12, - 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x22, 0x8e, 0x01, 0x0a, 0x12, 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x75, 0x74, - 0x68, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x61, 0x75, 0x74, - 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, - 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x22, 0x5e, 0x0a, 0x10, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x65, 0x72, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x56, 0x65, 0x72, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x10, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, - 0x6c, 0x6e, 0x6f, 0x22, 0x56, 0x0a, 0x12, 0x56, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x6f, 0x77, - 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x56, - 0x69, 0x65, 0x77, 0x50, 0x64, 0x66, 0x55, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x76, 0x69, 0x65, 0x77, 0x50, 0x64, 0x66, 0x55, 0x72, 0x6c, 0x22, 0x38, 0x0a, 0x16, 0x50, - 0x64, 0x66, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x49, 0x64, 0x22, 0x2d, 0x0a, 0x17, 0x50, 0x64, 0x66, 0x54, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x4b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, - 0x4b, 0x65, 0x79, 0x73, 0x22, 0x2e, 0x0a, 0x12, 0x4a, 0x75, 0x6d, 0x70, 0x43, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x4a, 0x75, - 0x6d, 0x70, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x75, 0x6d, - 0x70, 0x55, 0x72, 0x6c, 0x22, 0x31, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x22, 0xa4, 0x03, 0x0a, 0x0e, 0x45, 0x78, 0x74, 0x53, - 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, - 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x1a, - 0x0a, 0x08, 0x44, 0x6f, 0x63, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x64, 0x6f, 0x63, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x4f, 0x70, - 0x65, 0x6e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6f, 0x70, 0x65, 0x6e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, - 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x53, 0x69, - 0x67, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x6f, - 0x62, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, - 0x53, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x4b, 0x65, 0x79, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, - 0x79, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x4b, 0x65, 0x79, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6b, 0x65, 0x79, 0x79, 0x12, 0x2c, 0x0a, 0x11, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x11, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x68, 0x6f, 0x77, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x50, 0x63, 0x48, 0x61, 0x6e, 0x64, 0x53, 0x69, - 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x50, - 0x63, 0x48, 0x61, 0x6e, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0xb9, - 0x01, 0x0a, 0x15, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x41, 0x75, 0x74, 0x68, 0x53, 0x69, 0x67, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, - 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1e, - 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, - 0x0a, 0x09, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, - 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x22, 0x7b, 0x0a, 0x11, 0x55, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x1a, 0x0a, 0x08, 0x44, 0x6f, 0x63, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x64, 0x6f, 0x63, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x44, - 0x6f, 0x63, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x63, - 0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x69, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x36, 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x70, 0x61, - 0x6e, 0x79, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x22, - 0x38, 0x0a, 0x16, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x22, 0xdb, 0x01, 0x0a, 0x13, 0x50, 0x65, - 0x72, 0x73, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x57, 0x61, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x57, 0x61, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x43, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x4e, - 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x22, 0x4e, 0x0a, 0x14, 0x50, 0x65, 0x72, 0x73, 0x6f, - 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x55, 0x72, 0x6c, 0x22, 0x32, 0x0a, 0x10, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x22, 0x33, 0x0a, 0x11, 0x43, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, - 0x22, 0x10, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x2c, 0x0a, 0x12, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x72, - 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x65, 0x6e, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, - 0x22, 0x2f, 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x65, 0x72, 0x73, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x65, - 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, - 0x64, 0x22, 0x52, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x61, 0x64, 0x49, 0x6d, 0x67, 0x42, 0x79, - 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x49, 0x6d, - 0x67, 0x42, 0x79, 0x74, 0x65, 0x22, 0x33, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x53, 0x69, 0x67, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, - 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x11, 0x43, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x44, 0x0a, 0x12, 0x43, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x2e, 0x0a, 0x12, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x6d, 0x67, 0x42, - 0x61, 0x73, 0x65, 0x36, 0x34, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x6d, 0x67, 0x42, 0x61, 0x73, 0x65, 0x36, 0x34, 0x22, - 0x4f, 0x0a, 0x15, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x63, 0x55, - 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x63, 0x55, 0x72, 0x6c, - 0x22, 0xa2, 0x02, 0x0a, 0x12, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x75, 0x74, 0x6f, + 0x22, 0x56, 0x0a, 0x12, 0x56, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, + 0x61, 0x64, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x56, 0x69, 0x65, 0x77, + 0x50, 0x64, 0x66, 0x55, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x69, + 0x65, 0x77, 0x50, 0x64, 0x66, 0x55, 0x72, 0x6c, 0x22, 0x38, 0x0a, 0x16, 0x50, 0x64, 0x66, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x49, 0x64, 0x22, 0x2d, 0x0a, 0x17, 0x50, 0x64, 0x66, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x4b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x4b, 0x65, 0x79, + 0x73, 0x22, 0x2e, 0x0a, 0x12, 0x4a, 0x75, 0x6d, 0x70, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x4a, 0x75, 0x6d, 0x70, 0x55, + 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x75, 0x6d, 0x70, 0x55, 0x72, + 0x6c, 0x22, 0x31, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x49, 0x64, 0x22, 0xa4, 0x03, 0x0a, 0x0e, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, - 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x44, 0x6f, 0x63, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x64, 0x6f, 0x63, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x69, 0x67, - 0x6e, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x73, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x53, - 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x4b, 0x65, 0x79, 0x58, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, - 0x58, 0x12, 0x12, 0x0a, 0x04, 0x4b, 0x65, 0x79, 0x59, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6b, 0x65, 0x79, 0x59, 0x22, 0xa3, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, - 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, - 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x61, - 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x4d, 0x61, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x79, - 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x32, 0x81, 0x11, 0x0a, 0x14, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x67, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, - 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, - 0x0c, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x29, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x61, 0x0a, 0x0b, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x4f, 0x72, 0x67, 0x12, 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x72, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x26, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, - 0x70, 0x61, 0x6e, 0x79, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x65, - 0x72, 0x73, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x68, 0x0a, 0x12, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, - 0x6f, 0x6e, 0x43, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x2e, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x2c, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x43, 0x65, 0x72, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, - 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x43, 0x65, 0x72, - 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x46, 0x69, 0x6e, - 0x64, 0x43, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x43, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x09, 0x41, 0x70, - 0x70, 0x6c, 0x79, 0x43, 0x65, 0x72, 0x74, 0x12, 0x26, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, - 0x70, 0x70, 0x6c, 0x79, 0x43, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x0c, 0x41, 0x64, 0x64, 0x53, 0x69, - 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, - 0x64, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x61, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x53, 0x69, 0x67, 0x6e, 0x12, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, - 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x69, 0x67, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x0e, 0x55, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x2b, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, + 0x09, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x44, + 0x6f, 0x63, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, + 0x6f, 0x63, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x4f, 0x70, 0x65, 0x6e, 0x45, + 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x6f, 0x70, 0x65, 0x6e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x6f, 0x62, 0x69, 0x6c, + 0x65, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x69, 0x67, + 0x6e, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x73, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4b, + 0x65, 0x79, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x78, 0x12, + 0x12, 0x0a, 0x04, 0x4b, 0x65, 0x79, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, + 0x65, 0x79, 0x79, 0x12, 0x2c, 0x0a, 0x11, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x53, 0x68, 0x6f, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x50, 0x63, 0x48, 0x61, 0x6e, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x50, 0x63, 0x48, 0x61, + 0x6e, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0xb9, 0x01, 0x0a, 0x15, + 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x41, 0x75, 0x74, 0x68, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x52, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x4e, 0x6f, 0x74, + 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x6f, + 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x22, 0x7b, 0x0a, 0x11, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x44, 0x6f, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x44, 0x6f, 0x63, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x64, 0x6f, 0x63, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x63, 0x55, + 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x63, 0x55, 0x72, 0x6c, + 0x12, 0x12, 0x0a, 0x04, 0x46, 0x69, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x66, 0x69, 0x6c, 0x65, 0x22, 0x36, 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x56, + 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x22, 0x38, 0x0a, 0x16, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x22, 0xdb, 0x01, 0x0a, 0x13, 0x50, 0x65, 0x72, 0x73, 0x6f, + 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, + 0x0a, 0x0b, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x57, 0x61, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x57, 0x61, 0x79, + 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, + 0x49, 0x64, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x12, 0x16, + 0x0a, 0x06, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x55, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x55, 0x72, 0x6c, 0x22, 0x4e, 0x0a, 0x14, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x56, 0x65, + 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x0d, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x4e, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x55, 0x72, 0x6c, 0x22, 0x32, 0x0a, 0x10, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x22, 0x33, 0x0a, 0x11, 0x43, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, + 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x22, 0x10, 0x0a, + 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x2c, 0x0a, 0x12, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x72, 0x67, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x22, 0x2f, 0x0a, + 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x22, 0x52, + 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x61, 0x64, 0x49, 0x6d, 0x67, 0x42, 0x79, 0x74, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x49, 0x6d, 0x67, 0x42, 0x79, + 0x74, 0x65, 0x22, 0x33, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x11, 0x43, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x44, 0x0a, 0x12, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x12, + 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x6d, 0x67, 0x42, 0x61, 0x73, 0x65, + 0x36, 0x34, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x49, 0x6d, 0x67, 0x42, 0x61, 0x73, 0x65, 0x36, 0x34, 0x22, 0x4f, 0x0a, 0x15, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x63, 0x55, 0x72, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x63, 0x55, 0x72, 0x6c, 0x22, 0xa2, 0x02, + 0x0a, 0x12, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x6f, + 0x63, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x6f, + 0x63, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x69, 0x67, 0x6e, 0x4b, 0x65, + 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x69, 0x67, + 0x6e, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4b, 0x65, + 0x79, 0x58, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x58, 0x12, 0x12, + 0x0a, 0x04, 0x4b, 0x65, 0x79, 0x59, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, + 0x79, 0x59, 0x22, 0xa3, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, 0x1e, + 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, 0x22, + 0x0a, 0x0c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, + 0x61, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x79, 0x6e, 0x61, 0x6d, + 0x69, 0x63, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x32, 0xfd, 0x0c, 0x0a, 0x08, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x4f, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x65, 0x72, 0x73, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0c, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, + 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0b, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x4f, 0x72, 0x67, 0x12, 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x72, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x56, 0x65, 0x72, + 0x69, 0x66, 0x79, 0x12, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, + 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x50, + 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x12, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x65, 0x72, + 0x73, 0x6f, 0x6e, 0x43, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x65, 0x72, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x1a, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x50, + 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x43, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x64, 0x43, + 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x43, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x65, + 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x43, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x09, 0x41, + 0x70, 0x70, 0x6c, 0x79, 0x43, 0x65, 0x72, 0x74, 0x12, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x5d, 0x0a, 0x0a, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x63, 0x73, 0x12, 0x27, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x63, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, + 0x12, 0x45, 0x0a, 0x0c, 0x41, 0x64, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x12, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x53, + 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x45, 0x0a, 0x0a, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x63, 0x73, 0x12, + 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x44, 0x6f, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x21, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x6d, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, - 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, - 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, - 0x0a, 0x0b, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x12, 0x28, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x75, 0x74, 0x6f, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, - 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x0e, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x41, 0x75, 0x74, - 0x68, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x2b, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x42, 0x65, 0x66, - 0x6f, 0x72, 0x65, 0x41, 0x75, 0x74, 0x68, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, - 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4a, 0x75, 0x6d, 0x70, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, - 0x0a, 0x07, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4a, 0x75, 0x6d, 0x70, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x61, 0x0a, 0x0c, 0x56, - 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, - 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4a, 0x75, 0x6d, 0x70, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, - 0x0a, 0x10, 0x44, 0x6f, 0x77, 0x6e, 0x4c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, - 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x4a, 0x75, 0x6d, 0x70, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x46, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x64, 0x66, - 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x2c, 0x2e, 0x63, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x50, 0x64, 0x66, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4b, - 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x50, 0x64, 0x66, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x61, 0x0a, 0x0a, 0x41, - 0x75, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, 0x63, - 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, - 0x0a, 0x11, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x41, - 0x75, 0x74, 0x6f, 0x12, 0x2e, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, - 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, - 0x6c, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, - 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4a, 0x75, 0x6d, 0x70, 0x43, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, - 0x19, 0x5a, 0x17, 0x2e, 0x2f, 0x3b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x69, - 0x63, 0x72, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x4b, 0x0a, 0x0b, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x12, 0x1c, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, + 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0e, + 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x41, 0x75, 0x74, 0x68, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x1f, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, + 0x41, 0x75, 0x74, 0x68, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x4a, 0x75, 0x6d, 0x70, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x43, 0x0a, 0x07, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x18, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, + 0x4a, 0x75, 0x6d, 0x70, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0c, 0x56, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x12, 0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x4a, 0x75, 0x6d, 0x70, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x4d, 0x0a, 0x10, 0x44, 0x6f, 0x77, 0x6e, 0x4c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x12, 0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x4a, 0x75, 0x6d, 0x70, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, + 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x46, 0x69, 0x6c, 0x69, 0x6e, 0x67, + 0x12, 0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x64, + 0x66, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x20, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x50, 0x64, 0x66, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x50, 0x64, 0x66, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x57, 0x0a, 0x11, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, + 0x41, 0x75, 0x74, 0x6f, 0x12, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, + 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x75, 0x74, + 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x2e, 0x4a, 0x75, 0x6d, 0x70, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x0d, 0x5a, 0x0b, 0x2e, 0x2f, 0x3b, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( - file_contract_proto_rawDescOnce sync.Once - file_contract_proto_rawDescData = file_contract_proto_rawDesc + file_api_contract_contract_proto_rawDescOnce sync.Once + file_api_contract_contract_proto_rawDescData = file_api_contract_contract_proto_rawDesc ) -func file_contract_proto_rawDescGZIP() []byte { - file_contract_proto_rawDescOnce.Do(func() { - file_contract_proto_rawDescData = protoimpl.X.CompressGZIP(file_contract_proto_rawDescData) +func file_api_contract_contract_proto_rawDescGZIP() []byte { + file_api_contract_contract_proto_rawDescOnce.Do(func() { + file_api_contract_contract_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_contract_contract_proto_rawDescData) }) - return file_contract_proto_rawDescData + return file_api_contract_contract_proto_rawDescData } -var file_contract_proto_msgTypes = make([]protoimpl.MessageInfo, 33) -var file_contract_proto_goTypes = []interface{}{ - (*CancelExtSignAutoRequest)(nil), // 0: contractMicroservice.CancelExtSignAutoRequest - (*Person)(nil), // 1: contractMicroservice.Person - (*PersonCertInfoResponse)(nil), // 2: contractMicroservice.PersonCertInfoResponse - (*FindCertInfo)(nil), // 3: contractMicroservice.FindCertInfo - (*Company)(nil), // 4: contractMicroservice.Company - (*Manager)(nil), // 5: contractMicroservice.Manager - (*CompanyCertInfoResponse)(nil), // 6: contractMicroservice.CompanyCertInfoResponse - (*AuthStatusResponse)(nil), // 7: contractMicroservice.AuthStatusResponse - (*ApplyCertRequest)(nil), // 8: contractMicroservice.ApplyCertRequest - (*ViewCommonResponse)(nil), // 9: contractMicroservice.ViewCommonResponse - (*PdfTemplateKeysRequest)(nil), // 10: contractMicroservice.PdfTemplateKeysRequest - (*PdfTemplateKeysResponse)(nil), // 11: contractMicroservice.PdfTemplateKeysResponse - (*JumpCommonResponse)(nil), // 12: contractMicroservice.JumpCommonResponse - (*ContractRequest)(nil), // 13: contractMicroservice.ContractRequest - (*ExtSignRequest)(nil), // 14: contractMicroservice.ExtSignRequest - (*BeforeAuthSignRequest)(nil), // 15: contractMicroservice.BeforeAuthSignRequest - (*UploadDocsRequest)(nil), // 16: contractMicroservice.UploadDocsRequest - (*CompanyVerifyRequest)(nil), // 17: contractMicroservice.CompanyVerifyRequest - (*UploadTemplateResponse)(nil), // 18: contractMicroservice.UploadTemplateResponse - (*PersonVerifyRequest)(nil), // 19: contractMicroservice.PersonVerifyRequest - (*PersonVerifyResponse)(nil), // 20: contractMicroservice.PersonVerifyResponse - (*RegisterResponse)(nil), // 21: contractMicroservice.RegisterResponse - (*CustomerIdRequest)(nil), // 22: contractMicroservice.CustomerIdRequest - (*CommonResponse)(nil), // 23: contractMicroservice.CommonResponse - (*RegisterOrgRequest)(nil), // 24: contractMicroservice.RegisterOrgRequest - (*RegisterPersonRequest)(nil), // 25: contractMicroservice.RegisterPersonRequest - (*AddSignRequest)(nil), // 26: contractMicroservice.AddSignRequest - (*AddSignResponse)(nil), // 27: contractMicroservice.AddSignResponse - (*CustomSignRequest)(nil), // 28: contractMicroservice.CustomSignRequest - (*CustomSignResponse)(nil), // 29: contractMicroservice.CustomSignResponse - (*UploadTemplateRequest)(nil), // 30: contractMicroservice.UploadTemplateRequest - (*ExtSignAutoRequest)(nil), // 31: contractMicroservice.ExtSignAutoRequest - (*GenerateContractRequest)(nil), // 32: contractMicroservice.GenerateContractRequest +var file_api_contract_contract_proto_msgTypes = make([]protoimpl.MessageInfo, 33) +var file_api_contract_contract_proto_goTypes = []interface{}{ + (*CancelExtSignAutoRequest)(nil), // 0: contract.CancelExtSignAutoRequest + (*Person)(nil), // 1: contract.Person + (*PersonCertInfoResponse)(nil), // 2: contract.PersonCertInfoResponse + (*FindCertInfo)(nil), // 3: contract.FindCertInfo + (*Company)(nil), // 4: contract.Company + (*Manager)(nil), // 5: contract.Manager + (*CompanyCertInfoResponse)(nil), // 6: contract.CompanyCertInfoResponse + (*AuthStatusResponse)(nil), // 7: contract.AuthStatusResponse + (*ApplyCertRequest)(nil), // 8: contract.ApplyCertRequest + (*ViewCommonResponse)(nil), // 9: contract.ViewCommonResponse + (*PdfTemplateKeysRequest)(nil), // 10: contract.PdfTemplateKeysRequest + (*PdfTemplateKeysResponse)(nil), // 11: contract.PdfTemplateKeysResponse + (*JumpCommonResponse)(nil), // 12: contract.JumpCommonResponse + (*ContractRequest)(nil), // 13: contract.ContractRequest + (*ExtSignRequest)(nil), // 14: contract.ExtSignRequest + (*BeforeAuthSignRequest)(nil), // 15: contract.BeforeAuthSignRequest + (*UploadDocsRequest)(nil), // 16: contract.UploadDocsRequest + (*CompanyVerifyRequest)(nil), // 17: contract.CompanyVerifyRequest + (*UploadTemplateResponse)(nil), // 18: contract.UploadTemplateResponse + (*PersonVerifyRequest)(nil), // 19: contract.PersonVerifyRequest + (*PersonVerifyResponse)(nil), // 20: contract.PersonVerifyResponse + (*RegisterResponse)(nil), // 21: contract.RegisterResponse + (*CustomerIdRequest)(nil), // 22: contract.CustomerIdRequest + (*CommonResponse)(nil), // 23: contract.CommonResponse + (*RegisterOrgRequest)(nil), // 24: contract.RegisterOrgRequest + (*RegisterPersonRequest)(nil), // 25: contract.RegisterPersonRequest + (*AddSignRequest)(nil), // 26: contract.AddSignRequest + (*AddSignResponse)(nil), // 27: contract.AddSignResponse + (*CustomSignRequest)(nil), // 28: contract.CustomSignRequest + (*CustomSignResponse)(nil), // 29: contract.CustomSignResponse + (*UploadTemplateRequest)(nil), // 30: contract.UploadTemplateRequest + (*ExtSignAutoRequest)(nil), // 31: contract.ExtSignAutoRequest + (*GenerateContractRequest)(nil), // 32: contract.GenerateContractRequest } -var file_contract_proto_depIdxs = []int32{ - 1, // 0: contractMicroservice.PersonCertInfoResponse.Person:type_name -> contractMicroservice.Person - 4, // 1: contractMicroservice.CompanyCertInfoResponse.Company:type_name -> contractMicroservice.Company - 5, // 2: contractMicroservice.CompanyCertInfoResponse.Manager:type_name -> contractMicroservice.Manager - 25, // 3: contractMicroservice.ContractMicroservice.RegisterPerson:input_type -> contractMicroservice.RegisterPersonRequest - 19, // 4: contractMicroservice.ContractMicroservice.PersonVerify:input_type -> contractMicroservice.PersonVerifyRequest - 24, // 5: contractMicroservice.ContractMicroservice.RegisterOrg:input_type -> contractMicroservice.RegisterOrgRequest - 17, // 6: contractMicroservice.ContractMicroservice.CompanyVerify:input_type -> contractMicroservice.CompanyVerifyRequest - 3, // 7: contractMicroservice.ContractMicroservice.FindPersonCertInfo:input_type -> contractMicroservice.FindCertInfo - 3, // 8: contractMicroservice.ContractMicroservice.FindCompanyCertInfo:input_type -> contractMicroservice.FindCertInfo - 8, // 9: contractMicroservice.ContractMicroservice.ApplyCert:input_type -> contractMicroservice.ApplyCertRequest - 26, // 10: contractMicroservice.ContractMicroservice.AddSignature:input_type -> contractMicroservice.AddSignRequest - 28, // 11: contractMicroservice.ContractMicroservice.CustomSign:input_type -> contractMicroservice.CustomSignRequest - 30, // 12: contractMicroservice.ContractMicroservice.UploadTemplate:input_type -> contractMicroservice.UploadTemplateRequest - 16, // 13: contractMicroservice.ContractMicroservice.UploadDocs:input_type -> contractMicroservice.UploadDocsRequest - 32, // 14: contractMicroservice.ContractMicroservice.GenerateContract:input_type -> contractMicroservice.GenerateContractRequest - 31, // 15: contractMicroservice.ContractMicroservice.ExtSignAuto:input_type -> contractMicroservice.ExtSignAutoRequest - 15, // 16: contractMicroservice.ContractMicroservice.BeforeAuthSign:input_type -> contractMicroservice.BeforeAuthSignRequest - 14, // 17: contractMicroservice.ContractMicroservice.ExtSign:input_type -> contractMicroservice.ExtSignRequest - 13, // 18: contractMicroservice.ContractMicroservice.ViewContract:input_type -> contractMicroservice.ContractRequest - 13, // 19: contractMicroservice.ContractMicroservice.DownLoadContract:input_type -> contractMicroservice.ContractRequest - 13, // 20: contractMicroservice.ContractMicroservice.ContractFiling:input_type -> contractMicroservice.ContractRequest - 10, // 21: contractMicroservice.ContractMicroservice.GetPdfTemplateKeys:input_type -> contractMicroservice.PdfTemplateKeysRequest - 22, // 22: contractMicroservice.ContractMicroservice.AuthStatus:input_type -> contractMicroservice.CustomerIdRequest - 0, // 23: contractMicroservice.ContractMicroservice.CancelExtSignAuto:input_type -> contractMicroservice.CancelExtSignAutoRequest - 21, // 24: contractMicroservice.ContractMicroservice.RegisterPerson:output_type -> contractMicroservice.RegisterResponse - 20, // 25: contractMicroservice.ContractMicroservice.PersonVerify:output_type -> contractMicroservice.PersonVerifyResponse - 21, // 26: contractMicroservice.ContractMicroservice.RegisterOrg:output_type -> contractMicroservice.RegisterResponse - 20, // 27: contractMicroservice.ContractMicroservice.CompanyVerify:output_type -> contractMicroservice.PersonVerifyResponse - 2, // 28: contractMicroservice.ContractMicroservice.FindPersonCertInfo:output_type -> contractMicroservice.PersonCertInfoResponse - 6, // 29: contractMicroservice.ContractMicroservice.FindCompanyCertInfo:output_type -> contractMicroservice.CompanyCertInfoResponse - 23, // 30: contractMicroservice.ContractMicroservice.ApplyCert:output_type -> contractMicroservice.CommonResponse - 27, // 31: contractMicroservice.ContractMicroservice.AddSignature:output_type -> contractMicroservice.AddSignResponse - 29, // 32: contractMicroservice.ContractMicroservice.CustomSign:output_type -> contractMicroservice.CustomSignResponse - 23, // 33: contractMicroservice.ContractMicroservice.UploadTemplate:output_type -> contractMicroservice.CommonResponse - 23, // 34: contractMicroservice.ContractMicroservice.UploadDocs:output_type -> contractMicroservice.CommonResponse - 9, // 35: contractMicroservice.ContractMicroservice.GenerateContract:output_type -> contractMicroservice.ViewCommonResponse - 9, // 36: contractMicroservice.ContractMicroservice.ExtSignAuto:output_type -> contractMicroservice.ViewCommonResponse - 12, // 37: contractMicroservice.ContractMicroservice.BeforeAuthSign:output_type -> contractMicroservice.JumpCommonResponse - 12, // 38: contractMicroservice.ContractMicroservice.ExtSign:output_type -> contractMicroservice.JumpCommonResponse - 12, // 39: contractMicroservice.ContractMicroservice.ViewContract:output_type -> contractMicroservice.JumpCommonResponse - 12, // 40: contractMicroservice.ContractMicroservice.DownLoadContract:output_type -> contractMicroservice.JumpCommonResponse - 23, // 41: contractMicroservice.ContractMicroservice.ContractFiling:output_type -> contractMicroservice.CommonResponse - 11, // 42: contractMicroservice.ContractMicroservice.GetPdfTemplateKeys:output_type -> contractMicroservice.PdfTemplateKeysResponse - 7, // 43: contractMicroservice.ContractMicroservice.AuthStatus:output_type -> contractMicroservice.AuthStatusResponse - 12, // 44: contractMicroservice.ContractMicroservice.CancelExtSignAuto:output_type -> contractMicroservice.JumpCommonResponse +var file_api_contract_contract_proto_depIdxs = []int32{ + 1, // 0: contract.PersonCertInfoResponse.Person:type_name -> contract.Person + 4, // 1: contract.CompanyCertInfoResponse.Company:type_name -> contract.Company + 5, // 2: contract.CompanyCertInfoResponse.Manager:type_name -> contract.Manager + 25, // 3: contract.Contract.RegisterPerson:input_type -> contract.RegisterPersonRequest + 19, // 4: contract.Contract.PersonVerify:input_type -> contract.PersonVerifyRequest + 24, // 5: contract.Contract.RegisterOrg:input_type -> contract.RegisterOrgRequest + 17, // 6: contract.Contract.CompanyVerify:input_type -> contract.CompanyVerifyRequest + 3, // 7: contract.Contract.FindPersonCertInfo:input_type -> contract.FindCertInfo + 3, // 8: contract.Contract.FindCompanyCertInfo:input_type -> contract.FindCertInfo + 8, // 9: contract.Contract.ApplyCert:input_type -> contract.ApplyCertRequest + 26, // 10: contract.Contract.AddSignature:input_type -> contract.AddSignRequest + 28, // 11: contract.Contract.CustomSign:input_type -> contract.CustomSignRequest + 30, // 12: contract.Contract.UploadTemplate:input_type -> contract.UploadTemplateRequest + 16, // 13: contract.Contract.UploadDocs:input_type -> contract.UploadDocsRequest + 32, // 14: contract.Contract.GenerateContract:input_type -> contract.GenerateContractRequest + 31, // 15: contract.Contract.ExtSignAuto:input_type -> contract.ExtSignAutoRequest + 15, // 16: contract.Contract.BeforeAuthSign:input_type -> contract.BeforeAuthSignRequest + 14, // 17: contract.Contract.ExtSign:input_type -> contract.ExtSignRequest + 13, // 18: contract.Contract.ViewContract:input_type -> contract.ContractRequest + 13, // 19: contract.Contract.DownLoadContract:input_type -> contract.ContractRequest + 13, // 20: contract.Contract.ContractFiling:input_type -> contract.ContractRequest + 10, // 21: contract.Contract.GetPdfTemplateKeys:input_type -> contract.PdfTemplateKeysRequest + 22, // 22: contract.Contract.AuthStatus:input_type -> contract.CustomerIdRequest + 0, // 23: contract.Contract.CancelExtSignAuto:input_type -> contract.CancelExtSignAutoRequest + 21, // 24: contract.Contract.RegisterPerson:output_type -> contract.RegisterResponse + 20, // 25: contract.Contract.PersonVerify:output_type -> contract.PersonVerifyResponse + 21, // 26: contract.Contract.RegisterOrg:output_type -> contract.RegisterResponse + 20, // 27: contract.Contract.CompanyVerify:output_type -> contract.PersonVerifyResponse + 2, // 28: contract.Contract.FindPersonCertInfo:output_type -> contract.PersonCertInfoResponse + 6, // 29: contract.Contract.FindCompanyCertInfo:output_type -> contract.CompanyCertInfoResponse + 23, // 30: contract.Contract.ApplyCert:output_type -> contract.CommonResponse + 27, // 31: contract.Contract.AddSignature:output_type -> contract.AddSignResponse + 29, // 32: contract.Contract.CustomSign:output_type -> contract.CustomSignResponse + 23, // 33: contract.Contract.UploadTemplate:output_type -> contract.CommonResponse + 23, // 34: contract.Contract.UploadDocs:output_type -> contract.CommonResponse + 9, // 35: contract.Contract.GenerateContract:output_type -> contract.ViewCommonResponse + 9, // 36: contract.Contract.ExtSignAuto:output_type -> contract.ViewCommonResponse + 12, // 37: contract.Contract.BeforeAuthSign:output_type -> contract.JumpCommonResponse + 12, // 38: contract.Contract.ExtSign:output_type -> contract.JumpCommonResponse + 12, // 39: contract.Contract.ViewContract:output_type -> contract.JumpCommonResponse + 12, // 40: contract.Contract.DownLoadContract:output_type -> contract.JumpCommonResponse + 23, // 41: contract.Contract.ContractFiling:output_type -> contract.CommonResponse + 11, // 42: contract.Contract.GetPdfTemplateKeys:output_type -> contract.PdfTemplateKeysResponse + 7, // 43: contract.Contract.AuthStatus:output_type -> contract.AuthStatusResponse + 12, // 44: contract.Contract.CancelExtSignAuto:output_type -> contract.JumpCommonResponse 24, // [24:45] is the sub-list for method output_type 3, // [3:24] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name @@ -3062,13 +3026,13 @@ var file_contract_proto_depIdxs = []int32{ 0, // [0:3] is the sub-list for field type_name } -func init() { file_contract_proto_init() } -func file_contract_proto_init() { - if File_contract_proto != nil { +func init() { file_api_contract_contract_proto_init() } +func file_api_contract_contract_proto_init() { + if File_api_contract_contract_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_contract_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CancelExtSignAutoRequest); i { case 0: return &v.state @@ -3080,7 +3044,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Person); i { case 0: return &v.state @@ -3092,7 +3056,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PersonCertInfoResponse); i { case 0: return &v.state @@ -3104,7 +3068,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindCertInfo); i { case 0: return &v.state @@ -3116,7 +3080,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Company); i { case 0: return &v.state @@ -3128,7 +3092,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Manager); i { case 0: return &v.state @@ -3140,7 +3104,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CompanyCertInfoResponse); i { case 0: return &v.state @@ -3152,7 +3116,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthStatusResponse); i { case 0: return &v.state @@ -3164,7 +3128,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ApplyCertRequest); i { case 0: return &v.state @@ -3176,7 +3140,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ViewCommonResponse); i { case 0: return &v.state @@ -3188,7 +3152,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PdfTemplateKeysRequest); i { case 0: return &v.state @@ -3200,7 +3164,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PdfTemplateKeysResponse); i { case 0: return &v.state @@ -3212,7 +3176,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JumpCommonResponse); i { case 0: return &v.state @@ -3224,7 +3188,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ContractRequest); i { case 0: return &v.state @@ -3236,7 +3200,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExtSignRequest); i { case 0: return &v.state @@ -3248,7 +3212,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BeforeAuthSignRequest); i { case 0: return &v.state @@ -3260,7 +3224,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UploadDocsRequest); i { case 0: return &v.state @@ -3272,7 +3236,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CompanyVerifyRequest); i { case 0: return &v.state @@ -3284,7 +3248,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UploadTemplateResponse); i { case 0: return &v.state @@ -3296,7 +3260,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PersonVerifyRequest); i { case 0: return &v.state @@ -3308,7 +3272,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PersonVerifyResponse); i { case 0: return &v.state @@ -3320,7 +3284,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegisterResponse); i { case 0: return &v.state @@ -3332,7 +3296,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CustomerIdRequest); i { case 0: return &v.state @@ -3344,7 +3308,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommonResponse); i { case 0: return &v.state @@ -3356,7 +3320,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegisterOrgRequest); i { case 0: return &v.state @@ -3368,7 +3332,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegisterPersonRequest); i { case 0: return &v.state @@ -3380,7 +3344,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AddSignRequest); i { case 0: return &v.state @@ -3392,7 +3356,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AddSignResponse); i { case 0: return &v.state @@ -3404,7 +3368,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CustomSignRequest); i { case 0: return &v.state @@ -3416,7 +3380,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CustomSignResponse); i { case 0: return &v.state @@ -3428,7 +3392,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UploadTemplateRequest); i { case 0: return &v.state @@ -3440,7 +3404,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExtSignAutoRequest); i { case 0: return &v.state @@ -3452,7 +3416,7 @@ func file_contract_proto_init() { return nil } } - file_contract_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + file_api_contract_contract_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GenerateContractRequest); i { case 0: return &v.state @@ -3469,18 +3433,18 @@ func file_contract_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_contract_proto_rawDesc, + RawDescriptor: file_api_contract_contract_proto_rawDesc, NumEnums: 0, NumMessages: 33, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_contract_proto_goTypes, - DependencyIndexes: file_contract_proto_depIdxs, - MessageInfos: file_contract_proto_msgTypes, + GoTypes: file_api_contract_contract_proto_goTypes, + DependencyIndexes: file_api_contract_contract_proto_depIdxs, + MessageInfos: file_api_contract_contract_proto_msgTypes, }.Build() - File_contract_proto = out.File - file_contract_proto_rawDesc = nil - file_contract_proto_goTypes = nil - file_contract_proto_depIdxs = nil + File_api_contract_contract_proto = out.File + file_api_contract_contract_proto_rawDesc = nil + file_api_contract_contract_proto_goTypes = nil + file_api_contract_contract_proto_depIdxs = nil } diff --git a/pb/contract_microservice/contract.proto b/pb/contract_microservice/contract.proto index ecec62f..e8183a7 100644 --- a/pb/contract_microservice/contract.proto +++ b/pb/contract_microservice/contract.proto @@ -16,12 +16,12 @@ */ syntax = "proto3"; -package contractMicroservice; +package contract; //import "github.com/mwitkow/go-proto-validators/validator.proto"; -option go_package = "./;contractMicroservice"; +option go_package = "./;contract"; -service ContractMicroservice { +service Contract { rpc RegisterPerson (RegisterPersonRequest) returns (RegisterResponse) {} //个人注册 rpc PersonVerify (PersonVerifyRequest) returns (PersonVerifyResponse) {} //个人身份校验 diff --git a/pb/contract_microservice/contract.validator.pb.go b/pb/contract_microservice/contract.validator.pb.go index 6aae32b..813cfd5 100644 --- a/pb/contract_microservice/contract.validator.pb.go +++ b/pb/contract_microservice/contract.validator.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: contract.proto +// source: api/contract/contract.proto -package contractMicroservice +package contract import ( fmt "fmt" diff --git a/pb/contract_microservice/contract_triple.pb.go b/pb/contract_microservice/contract_triple.pb.go index 6e67426..dbdd26d 100644 --- a/pb/contract_microservice/contract_triple.pb.go +++ b/pb/contract_microservice/contract_triple.pb.go @@ -1,10 +1,10 @@ // Code generated by protoc-gen-go-triple. DO NOT EDIT. // versions: // - protoc-gen-go-triple v1.0.8 -// - protoc v3.21.8 -// source: contract.proto +// - protoc v3.21.12 +// source: api/contract/contract.proto -package contractMicroservice +package contract import ( context "context" @@ -24,10 +24,10 @@ import ( // is compatible with the grpc package it is being compiled against. const _ = grpc_go.SupportPackageIsVersion7 -// ContractMicroserviceClient is the client API for ContractMicroservice service. +// ContractClient is the client API for Contract service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type ContractMicroserviceClient interface { +type ContractClient interface { RegisterPerson(ctx context.Context, in *RegisterPersonRequest, opts ...grpc_go.CallOption) (*RegisterResponse, common.ErrorWithAttachment) PersonVerify(ctx context.Context, in *PersonVerifyRequest, opts ...grpc_go.CallOption) (*PersonVerifyResponse, common.ErrorWithAttachment) RegisterOrg(ctx context.Context, in *RegisterOrgRequest, opts ...grpc_go.CallOption) (*RegisterResponse, common.ErrorWithAttachment) @@ -51,11 +51,11 @@ type ContractMicroserviceClient interface { CancelExtSignAuto(ctx context.Context, in *CancelExtSignAutoRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) } -type contractMicroserviceClient struct { +type contractClient struct { cc *triple.TripleConn } -type ContractMicroserviceClientImpl struct { +type ContractClientImpl struct { RegisterPerson func(ctx context.Context, in *RegisterPersonRequest) (*RegisterResponse, error) PersonVerify func(ctx context.Context, in *PersonVerifyRequest) (*PersonVerifyResponse, error) RegisterOrg func(ctx context.Context, in *RegisterOrgRequest) (*RegisterResponse, error) @@ -79,148 +79,148 @@ type ContractMicroserviceClientImpl struct { CancelExtSignAuto func(ctx context.Context, in *CancelExtSignAutoRequest) (*JumpCommonResponse, error) } -func (c *ContractMicroserviceClientImpl) GetDubboStub(cc *triple.TripleConn) ContractMicroserviceClient { - return NewContractMicroserviceClient(cc) +func (c *ContractClientImpl) GetDubboStub(cc *triple.TripleConn) ContractClient { + return NewContractClient(cc) } -func (c *ContractMicroserviceClientImpl) XXX_InterfaceName() string { - return "contractMicroservice.ContractMicroservice" +func (c *ContractClientImpl) XXX_InterfaceName() string { + return "contract.Contract" } -func NewContractMicroserviceClient(cc *triple.TripleConn) ContractMicroserviceClient { - return &contractMicroserviceClient{cc} +func NewContractClient(cc *triple.TripleConn) ContractClient { + return &contractClient{cc} } -func (c *contractMicroserviceClient) RegisterPerson(ctx context.Context, in *RegisterPersonRequest, opts ...grpc_go.CallOption) (*RegisterResponse, common.ErrorWithAttachment) { +func (c *contractClient) RegisterPerson(ctx context.Context, in *RegisterPersonRequest, opts ...grpc_go.CallOption) (*RegisterResponse, common.ErrorWithAttachment) { out := new(RegisterResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/RegisterPerson", in, out) } -func (c *contractMicroserviceClient) PersonVerify(ctx context.Context, in *PersonVerifyRequest, opts ...grpc_go.CallOption) (*PersonVerifyResponse, common.ErrorWithAttachment) { +func (c *contractClient) PersonVerify(ctx context.Context, in *PersonVerifyRequest, opts ...grpc_go.CallOption) (*PersonVerifyResponse, common.ErrorWithAttachment) { out := new(PersonVerifyResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/PersonVerify", in, out) } -func (c *contractMicroserviceClient) RegisterOrg(ctx context.Context, in *RegisterOrgRequest, opts ...grpc_go.CallOption) (*RegisterResponse, common.ErrorWithAttachment) { +func (c *contractClient) RegisterOrg(ctx context.Context, in *RegisterOrgRequest, opts ...grpc_go.CallOption) (*RegisterResponse, common.ErrorWithAttachment) { out := new(RegisterResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/RegisterOrg", in, out) } -func (c *contractMicroserviceClient) CompanyVerify(ctx context.Context, in *CompanyVerifyRequest, opts ...grpc_go.CallOption) (*PersonVerifyResponse, common.ErrorWithAttachment) { +func (c *contractClient) CompanyVerify(ctx context.Context, in *CompanyVerifyRequest, opts ...grpc_go.CallOption) (*PersonVerifyResponse, common.ErrorWithAttachment) { out := new(PersonVerifyResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CompanyVerify", in, out) } -func (c *contractMicroserviceClient) FindPersonCertInfo(ctx context.Context, in *FindCertInfo, opts ...grpc_go.CallOption) (*PersonCertInfoResponse, common.ErrorWithAttachment) { +func (c *contractClient) FindPersonCertInfo(ctx context.Context, in *FindCertInfo, opts ...grpc_go.CallOption) (*PersonCertInfoResponse, common.ErrorWithAttachment) { out := new(PersonCertInfoResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/FindPersonCertInfo", in, out) } -func (c *contractMicroserviceClient) FindCompanyCertInfo(ctx context.Context, in *FindCertInfo, opts ...grpc_go.CallOption) (*CompanyCertInfoResponse, common.ErrorWithAttachment) { +func (c *contractClient) FindCompanyCertInfo(ctx context.Context, in *FindCertInfo, opts ...grpc_go.CallOption) (*CompanyCertInfoResponse, common.ErrorWithAttachment) { out := new(CompanyCertInfoResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/FindCompanyCertInfo", in, out) } -func (c *contractMicroserviceClient) ApplyCert(ctx context.Context, in *ApplyCertRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { +func (c *contractClient) ApplyCert(ctx context.Context, in *ApplyCertRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { out := new(CommonResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ApplyCert", in, out) } -func (c *contractMicroserviceClient) AddSignature(ctx context.Context, in *AddSignRequest, opts ...grpc_go.CallOption) (*AddSignResponse, common.ErrorWithAttachment) { +func (c *contractClient) AddSignature(ctx context.Context, in *AddSignRequest, opts ...grpc_go.CallOption) (*AddSignResponse, common.ErrorWithAttachment) { out := new(AddSignResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AddSignature", in, out) } -func (c *contractMicroserviceClient) CustomSign(ctx context.Context, in *CustomSignRequest, opts ...grpc_go.CallOption) (*CustomSignResponse, common.ErrorWithAttachment) { +func (c *contractClient) CustomSign(ctx context.Context, in *CustomSignRequest, opts ...grpc_go.CallOption) (*CustomSignResponse, common.ErrorWithAttachment) { out := new(CustomSignResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CustomSign", in, out) } -func (c *contractMicroserviceClient) UploadTemplate(ctx context.Context, in *UploadTemplateRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { +func (c *contractClient) UploadTemplate(ctx context.Context, in *UploadTemplateRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { out := new(CommonResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UploadTemplate", in, out) } -func (c *contractMicroserviceClient) UploadDocs(ctx context.Context, in *UploadDocsRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { +func (c *contractClient) UploadDocs(ctx context.Context, in *UploadDocsRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { out := new(CommonResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UploadDocs", in, out) } -func (c *contractMicroserviceClient) GenerateContract(ctx context.Context, in *GenerateContractRequest, opts ...grpc_go.CallOption) (*ViewCommonResponse, common.ErrorWithAttachment) { +func (c *contractClient) GenerateContract(ctx context.Context, in *GenerateContractRequest, opts ...grpc_go.CallOption) (*ViewCommonResponse, common.ErrorWithAttachment) { out := new(ViewCommonResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GenerateContract", in, out) } -func (c *contractMicroserviceClient) ExtSignAuto(ctx context.Context, in *ExtSignAutoRequest, opts ...grpc_go.CallOption) (*ViewCommonResponse, common.ErrorWithAttachment) { +func (c *contractClient) ExtSignAuto(ctx context.Context, in *ExtSignAutoRequest, opts ...grpc_go.CallOption) (*ViewCommonResponse, common.ErrorWithAttachment) { out := new(ViewCommonResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ExtSignAuto", in, out) } -func (c *contractMicroserviceClient) BeforeAuthSign(ctx context.Context, in *BeforeAuthSignRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) { +func (c *contractClient) BeforeAuthSign(ctx context.Context, in *BeforeAuthSignRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) { out := new(JumpCommonResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/BeforeAuthSign", in, out) } -func (c *contractMicroserviceClient) ExtSign(ctx context.Context, in *ExtSignRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) { +func (c *contractClient) ExtSign(ctx context.Context, in *ExtSignRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) { out := new(JumpCommonResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ExtSign", in, out) } -func (c *contractMicroserviceClient) ViewContract(ctx context.Context, in *ContractRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) { +func (c *contractClient) ViewContract(ctx context.Context, in *ContractRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) { out := new(JumpCommonResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ViewContract", in, out) } -func (c *contractMicroserviceClient) DownLoadContract(ctx context.Context, in *ContractRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) { +func (c *contractClient) DownLoadContract(ctx context.Context, in *ContractRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) { out := new(JumpCommonResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DownLoadContract", in, out) } -func (c *contractMicroserviceClient) ContractFiling(ctx context.Context, in *ContractRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { +func (c *contractClient) ContractFiling(ctx context.Context, in *ContractRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { out := new(CommonResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ContractFiling", in, out) } -func (c *contractMicroserviceClient) GetPdfTemplateKeys(ctx context.Context, in *PdfTemplateKeysRequest, opts ...grpc_go.CallOption) (*PdfTemplateKeysResponse, common.ErrorWithAttachment) { +func (c *contractClient) GetPdfTemplateKeys(ctx context.Context, in *PdfTemplateKeysRequest, opts ...grpc_go.CallOption) (*PdfTemplateKeysResponse, common.ErrorWithAttachment) { out := new(PdfTemplateKeysResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetPdfTemplateKeys", in, out) } -func (c *contractMicroserviceClient) AuthStatus(ctx context.Context, in *CustomerIdRequest, opts ...grpc_go.CallOption) (*AuthStatusResponse, common.ErrorWithAttachment) { +func (c *contractClient) AuthStatus(ctx context.Context, in *CustomerIdRequest, opts ...grpc_go.CallOption) (*AuthStatusResponse, common.ErrorWithAttachment) { out := new(AuthStatusResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AuthStatus", in, out) } -func (c *contractMicroserviceClient) CancelExtSignAuto(ctx context.Context, in *CancelExtSignAutoRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) { +func (c *contractClient) CancelExtSignAuto(ctx context.Context, in *CancelExtSignAutoRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) { out := new(JumpCommonResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CancelExtSignAuto", in, out) } -// ContractMicroserviceServer is the server API for ContractMicroservice service. -// All implementations must embed UnimplementedContractMicroserviceServer +// ContractServer is the server API for Contract service. +// All implementations must embed UnimplementedContractServer // for forward compatibility -type ContractMicroserviceServer interface { +type ContractServer interface { RegisterPerson(context.Context, *RegisterPersonRequest) (*RegisterResponse, error) PersonVerify(context.Context, *PersonVerifyRequest) (*PersonVerifyResponse, error) RegisterOrg(context.Context, *RegisterOrgRequest) (*RegisterResponse, error) @@ -242,106 +242,106 @@ type ContractMicroserviceServer interface { GetPdfTemplateKeys(context.Context, *PdfTemplateKeysRequest) (*PdfTemplateKeysResponse, error) AuthStatus(context.Context, *CustomerIdRequest) (*AuthStatusResponse, error) CancelExtSignAuto(context.Context, *CancelExtSignAutoRequest) (*JumpCommonResponse, error) - mustEmbedUnimplementedContractMicroserviceServer() + mustEmbedUnimplementedContractServer() } -// UnimplementedContractMicroserviceServer must be embedded to have forward compatible implementations. -type UnimplementedContractMicroserviceServer struct { +// UnimplementedContractServer must be embedded to have forward compatible implementations. +type UnimplementedContractServer struct { proxyImpl protocol.Invoker } -func (UnimplementedContractMicroserviceServer) RegisterPerson(context.Context, *RegisterPersonRequest) (*RegisterResponse, error) { +func (UnimplementedContractServer) RegisterPerson(context.Context, *RegisterPersonRequest) (*RegisterResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method RegisterPerson not implemented") } -func (UnimplementedContractMicroserviceServer) PersonVerify(context.Context, *PersonVerifyRequest) (*PersonVerifyResponse, error) { +func (UnimplementedContractServer) PersonVerify(context.Context, *PersonVerifyRequest) (*PersonVerifyResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method PersonVerify not implemented") } -func (UnimplementedContractMicroserviceServer) RegisterOrg(context.Context, *RegisterOrgRequest) (*RegisterResponse, error) { +func (UnimplementedContractServer) RegisterOrg(context.Context, *RegisterOrgRequest) (*RegisterResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method RegisterOrg not implemented") } -func (UnimplementedContractMicroserviceServer) CompanyVerify(context.Context, *CompanyVerifyRequest) (*PersonVerifyResponse, error) { +func (UnimplementedContractServer) CompanyVerify(context.Context, *CompanyVerifyRequest) (*PersonVerifyResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CompanyVerify not implemented") } -func (UnimplementedContractMicroserviceServer) FindPersonCertInfo(context.Context, *FindCertInfo) (*PersonCertInfoResponse, error) { +func (UnimplementedContractServer) FindPersonCertInfo(context.Context, *FindCertInfo) (*PersonCertInfoResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FindPersonCertInfo not implemented") } -func (UnimplementedContractMicroserviceServer) FindCompanyCertInfo(context.Context, *FindCertInfo) (*CompanyCertInfoResponse, error) { +func (UnimplementedContractServer) FindCompanyCertInfo(context.Context, *FindCertInfo) (*CompanyCertInfoResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FindCompanyCertInfo not implemented") } -func (UnimplementedContractMicroserviceServer) ApplyCert(context.Context, *ApplyCertRequest) (*CommonResponse, error) { +func (UnimplementedContractServer) ApplyCert(context.Context, *ApplyCertRequest) (*CommonResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ApplyCert not implemented") } -func (UnimplementedContractMicroserviceServer) AddSignature(context.Context, *AddSignRequest) (*AddSignResponse, error) { +func (UnimplementedContractServer) AddSignature(context.Context, *AddSignRequest) (*AddSignResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AddSignature not implemented") } -func (UnimplementedContractMicroserviceServer) CustomSign(context.Context, *CustomSignRequest) (*CustomSignResponse, error) { +func (UnimplementedContractServer) CustomSign(context.Context, *CustomSignRequest) (*CustomSignResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CustomSign not implemented") } -func (UnimplementedContractMicroserviceServer) UploadTemplate(context.Context, *UploadTemplateRequest) (*CommonResponse, error) { +func (UnimplementedContractServer) UploadTemplate(context.Context, *UploadTemplateRequest) (*CommonResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UploadTemplate not implemented") } -func (UnimplementedContractMicroserviceServer) UploadDocs(context.Context, *UploadDocsRequest) (*CommonResponse, error) { +func (UnimplementedContractServer) UploadDocs(context.Context, *UploadDocsRequest) (*CommonResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UploadDocs not implemented") } -func (UnimplementedContractMicroserviceServer) GenerateContract(context.Context, *GenerateContractRequest) (*ViewCommonResponse, error) { +func (UnimplementedContractServer) GenerateContract(context.Context, *GenerateContractRequest) (*ViewCommonResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GenerateContract not implemented") } -func (UnimplementedContractMicroserviceServer) ExtSignAuto(context.Context, *ExtSignAutoRequest) (*ViewCommonResponse, error) { +func (UnimplementedContractServer) ExtSignAuto(context.Context, *ExtSignAutoRequest) (*ViewCommonResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ExtSignAuto not implemented") } -func (UnimplementedContractMicroserviceServer) BeforeAuthSign(context.Context, *BeforeAuthSignRequest) (*JumpCommonResponse, error) { +func (UnimplementedContractServer) BeforeAuthSign(context.Context, *BeforeAuthSignRequest) (*JumpCommonResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method BeforeAuthSign not implemented") } -func (UnimplementedContractMicroserviceServer) ExtSign(context.Context, *ExtSignRequest) (*JumpCommonResponse, error) { +func (UnimplementedContractServer) ExtSign(context.Context, *ExtSignRequest) (*JumpCommonResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ExtSign not implemented") } -func (UnimplementedContractMicroserviceServer) ViewContract(context.Context, *ContractRequest) (*JumpCommonResponse, error) { +func (UnimplementedContractServer) ViewContract(context.Context, *ContractRequest) (*JumpCommonResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ViewContract not implemented") } -func (UnimplementedContractMicroserviceServer) DownLoadContract(context.Context, *ContractRequest) (*JumpCommonResponse, error) { +func (UnimplementedContractServer) DownLoadContract(context.Context, *ContractRequest) (*JumpCommonResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DownLoadContract not implemented") } -func (UnimplementedContractMicroserviceServer) ContractFiling(context.Context, *ContractRequest) (*CommonResponse, error) { +func (UnimplementedContractServer) ContractFiling(context.Context, *ContractRequest) (*CommonResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ContractFiling not implemented") } -func (UnimplementedContractMicroserviceServer) GetPdfTemplateKeys(context.Context, *PdfTemplateKeysRequest) (*PdfTemplateKeysResponse, error) { +func (UnimplementedContractServer) GetPdfTemplateKeys(context.Context, *PdfTemplateKeysRequest) (*PdfTemplateKeysResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetPdfTemplateKeys not implemented") } -func (UnimplementedContractMicroserviceServer) AuthStatus(context.Context, *CustomerIdRequest) (*AuthStatusResponse, error) { +func (UnimplementedContractServer) AuthStatus(context.Context, *CustomerIdRequest) (*AuthStatusResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AuthStatus not implemented") } -func (UnimplementedContractMicroserviceServer) CancelExtSignAuto(context.Context, *CancelExtSignAutoRequest) (*JumpCommonResponse, error) { +func (UnimplementedContractServer) CancelExtSignAuto(context.Context, *CancelExtSignAutoRequest) (*JumpCommonResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CancelExtSignAuto not implemented") } -func (s *UnimplementedContractMicroserviceServer) XXX_SetProxyImpl(impl protocol.Invoker) { +func (s *UnimplementedContractServer) XXX_SetProxyImpl(impl protocol.Invoker) { s.proxyImpl = impl } -func (s *UnimplementedContractMicroserviceServer) XXX_GetProxyImpl() protocol.Invoker { +func (s *UnimplementedContractServer) XXX_GetProxyImpl() protocol.Invoker { return s.proxyImpl } -func (s *UnimplementedContractMicroserviceServer) XXX_ServiceDesc() *grpc_go.ServiceDesc { - return &ContractMicroservice_ServiceDesc +func (s *UnimplementedContractServer) XXX_ServiceDesc() *grpc_go.ServiceDesc { + return &Contract_ServiceDesc } -func (s *UnimplementedContractMicroserviceServer) XXX_InterfaceName() string { - return "contractMicroservice.ContractMicroservice" +func (s *UnimplementedContractServer) XXX_InterfaceName() string { + return "contract.Contract" } -func (UnimplementedContractMicroserviceServer) mustEmbedUnimplementedContractMicroserviceServer() {} +func (UnimplementedContractServer) mustEmbedUnimplementedContractServer() {} -// UnsafeContractMicroserviceServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to ContractMicroserviceServer will +// UnsafeContractServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ContractServer will // result in compilation errors. -type UnsafeContractMicroserviceServer interface { - mustEmbedUnimplementedContractMicroserviceServer() +type UnsafeContractServer interface { + mustEmbedUnimplementedContractServer() } -func RegisterContractMicroserviceServer(s grpc_go.ServiceRegistrar, srv ContractMicroserviceServer) { - s.RegisterService(&ContractMicroservice_ServiceDesc, srv) +func RegisterContractServer(s grpc_go.ServiceRegistrar, srv ContractServer) { + s.RegisterService(&Contract_ServiceDesc, srv) } -func _ContractMicroservice_RegisterPerson_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _Contract_RegisterPerson_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(RegisterPersonRequest) if err := dec(in); err != nil { return nil, err @@ -370,7 +370,7 @@ func _ContractMicroservice_RegisterPerson_Handler(srv interface{}, ctx context.C return interceptor(ctx, in, info, handler) } -func _ContractMicroservice_PersonVerify_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _Contract_PersonVerify_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(PersonVerifyRequest) if err := dec(in); err != nil { return nil, err @@ -399,7 +399,7 @@ func _ContractMicroservice_PersonVerify_Handler(srv interface{}, ctx context.Con return interceptor(ctx, in, info, handler) } -func _ContractMicroservice_RegisterOrg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _Contract_RegisterOrg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(RegisterOrgRequest) if err := dec(in); err != nil { return nil, err @@ -428,7 +428,7 @@ func _ContractMicroservice_RegisterOrg_Handler(srv interface{}, ctx context.Cont return interceptor(ctx, in, info, handler) } -func _ContractMicroservice_CompanyVerify_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _Contract_CompanyVerify_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(CompanyVerifyRequest) if err := dec(in); err != nil { return nil, err @@ -457,7 +457,7 @@ func _ContractMicroservice_CompanyVerify_Handler(srv interface{}, ctx context.Co return interceptor(ctx, in, info, handler) } -func _ContractMicroservice_FindPersonCertInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _Contract_FindPersonCertInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(FindCertInfo) if err := dec(in); err != nil { return nil, err @@ -486,7 +486,7 @@ func _ContractMicroservice_FindPersonCertInfo_Handler(srv interface{}, ctx conte return interceptor(ctx, in, info, handler) } -func _ContractMicroservice_FindCompanyCertInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _Contract_FindCompanyCertInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(FindCertInfo) if err := dec(in); err != nil { return nil, err @@ -515,7 +515,7 @@ func _ContractMicroservice_FindCompanyCertInfo_Handler(srv interface{}, ctx cont return interceptor(ctx, in, info, handler) } -func _ContractMicroservice_ApplyCert_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _Contract_ApplyCert_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(ApplyCertRequest) if err := dec(in); err != nil { return nil, err @@ -544,7 +544,7 @@ func _ContractMicroservice_ApplyCert_Handler(srv interface{}, ctx context.Contex return interceptor(ctx, in, info, handler) } -func _ContractMicroservice_AddSignature_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _Contract_AddSignature_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(AddSignRequest) if err := dec(in); err != nil { return nil, err @@ -573,7 +573,7 @@ func _ContractMicroservice_AddSignature_Handler(srv interface{}, ctx context.Con return interceptor(ctx, in, info, handler) } -func _ContractMicroservice_CustomSign_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _Contract_CustomSign_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(CustomSignRequest) if err := dec(in); err != nil { return nil, err @@ -602,7 +602,7 @@ func _ContractMicroservice_CustomSign_Handler(srv interface{}, ctx context.Conte return interceptor(ctx, in, info, handler) } -func _ContractMicroservice_UploadTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _Contract_UploadTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(UploadTemplateRequest) if err := dec(in); err != nil { return nil, err @@ -631,7 +631,7 @@ func _ContractMicroservice_UploadTemplate_Handler(srv interface{}, ctx context.C return interceptor(ctx, in, info, handler) } -func _ContractMicroservice_UploadDocs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _Contract_UploadDocs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(UploadDocsRequest) if err := dec(in); err != nil { return nil, err @@ -660,7 +660,7 @@ func _ContractMicroservice_UploadDocs_Handler(srv interface{}, ctx context.Conte return interceptor(ctx, in, info, handler) } -func _ContractMicroservice_GenerateContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _Contract_GenerateContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(GenerateContractRequest) if err := dec(in); err != nil { return nil, err @@ -689,7 +689,7 @@ func _ContractMicroservice_GenerateContract_Handler(srv interface{}, ctx context return interceptor(ctx, in, info, handler) } -func _ContractMicroservice_ExtSignAuto_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _Contract_ExtSignAuto_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(ExtSignAutoRequest) if err := dec(in); err != nil { return nil, err @@ -718,7 +718,7 @@ func _ContractMicroservice_ExtSignAuto_Handler(srv interface{}, ctx context.Cont return interceptor(ctx, in, info, handler) } -func _ContractMicroservice_BeforeAuthSign_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _Contract_BeforeAuthSign_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(BeforeAuthSignRequest) if err := dec(in); err != nil { return nil, err @@ -747,7 +747,7 @@ func _ContractMicroservice_BeforeAuthSign_Handler(srv interface{}, ctx context.C return interceptor(ctx, in, info, handler) } -func _ContractMicroservice_ExtSign_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _Contract_ExtSign_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(ExtSignRequest) if err := dec(in); err != nil { return nil, err @@ -776,7 +776,7 @@ func _ContractMicroservice_ExtSign_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } -func _ContractMicroservice_ViewContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _Contract_ViewContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(ContractRequest) if err := dec(in); err != nil { return nil, err @@ -805,7 +805,7 @@ func _ContractMicroservice_ViewContract_Handler(srv interface{}, ctx context.Con return interceptor(ctx, in, info, handler) } -func _ContractMicroservice_DownLoadContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _Contract_DownLoadContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(ContractRequest) if err := dec(in); err != nil { return nil, err @@ -834,7 +834,7 @@ func _ContractMicroservice_DownLoadContract_Handler(srv interface{}, ctx context return interceptor(ctx, in, info, handler) } -func _ContractMicroservice_ContractFiling_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _Contract_ContractFiling_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(ContractRequest) if err := dec(in); err != nil { return nil, err @@ -863,7 +863,7 @@ func _ContractMicroservice_ContractFiling_Handler(srv interface{}, ctx context.C return interceptor(ctx, in, info, handler) } -func _ContractMicroservice_GetPdfTemplateKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _Contract_GetPdfTemplateKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(PdfTemplateKeysRequest) if err := dec(in); err != nil { return nil, err @@ -892,7 +892,7 @@ func _ContractMicroservice_GetPdfTemplateKeys_Handler(srv interface{}, ctx conte return interceptor(ctx, in, info, handler) } -func _ContractMicroservice_AuthStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _Contract_AuthStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(CustomerIdRequest) if err := dec(in); err != nil { return nil, err @@ -921,7 +921,7 @@ func _ContractMicroservice_AuthStatus_Handler(srv interface{}, ctx context.Conte return interceptor(ctx, in, info, handler) } -func _ContractMicroservice_CancelExtSignAuto_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _Contract_CancelExtSignAuto_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(CancelExtSignAutoRequest) if err := dec(in); err != nil { return nil, err @@ -950,98 +950,98 @@ func _ContractMicroservice_CancelExtSignAuto_Handler(srv interface{}, ctx contex return interceptor(ctx, in, info, handler) } -// ContractMicroservice_ServiceDesc is the grpc_go.ServiceDesc for ContractMicroservice service. +// Contract_ServiceDesc is the grpc_go.ServiceDesc for Contract service. // It's only intended for direct use with grpc_go.RegisterService, // and not to be introspected or modified (even as a copy) -var ContractMicroservice_ServiceDesc = grpc_go.ServiceDesc{ - ServiceName: "contractMicroservice.ContractMicroservice", - HandlerType: (*ContractMicroserviceServer)(nil), +var Contract_ServiceDesc = grpc_go.ServiceDesc{ + ServiceName: "contract.Contract", + HandlerType: (*ContractServer)(nil), Methods: []grpc_go.MethodDesc{ { MethodName: "RegisterPerson", - Handler: _ContractMicroservice_RegisterPerson_Handler, + Handler: _Contract_RegisterPerson_Handler, }, { MethodName: "PersonVerify", - Handler: _ContractMicroservice_PersonVerify_Handler, + Handler: _Contract_PersonVerify_Handler, }, { MethodName: "RegisterOrg", - Handler: _ContractMicroservice_RegisterOrg_Handler, + Handler: _Contract_RegisterOrg_Handler, }, { MethodName: "CompanyVerify", - Handler: _ContractMicroservice_CompanyVerify_Handler, + Handler: _Contract_CompanyVerify_Handler, }, { MethodName: "FindPersonCertInfo", - Handler: _ContractMicroservice_FindPersonCertInfo_Handler, + Handler: _Contract_FindPersonCertInfo_Handler, }, { MethodName: "FindCompanyCertInfo", - Handler: _ContractMicroservice_FindCompanyCertInfo_Handler, + Handler: _Contract_FindCompanyCertInfo_Handler, }, { MethodName: "ApplyCert", - Handler: _ContractMicroservice_ApplyCert_Handler, + Handler: _Contract_ApplyCert_Handler, }, { MethodName: "AddSignature", - Handler: _ContractMicroservice_AddSignature_Handler, + Handler: _Contract_AddSignature_Handler, }, { MethodName: "CustomSign", - Handler: _ContractMicroservice_CustomSign_Handler, + Handler: _Contract_CustomSign_Handler, }, { MethodName: "UploadTemplate", - Handler: _ContractMicroservice_UploadTemplate_Handler, + Handler: _Contract_UploadTemplate_Handler, }, { MethodName: "UploadDocs", - Handler: _ContractMicroservice_UploadDocs_Handler, + Handler: _Contract_UploadDocs_Handler, }, { MethodName: "GenerateContract", - Handler: _ContractMicroservice_GenerateContract_Handler, + Handler: _Contract_GenerateContract_Handler, }, { MethodName: "ExtSignAuto", - Handler: _ContractMicroservice_ExtSignAuto_Handler, + Handler: _Contract_ExtSignAuto_Handler, }, { MethodName: "BeforeAuthSign", - Handler: _ContractMicroservice_BeforeAuthSign_Handler, + Handler: _Contract_BeforeAuthSign_Handler, }, { MethodName: "ExtSign", - Handler: _ContractMicroservice_ExtSign_Handler, + Handler: _Contract_ExtSign_Handler, }, { MethodName: "ViewContract", - Handler: _ContractMicroservice_ViewContract_Handler, + Handler: _Contract_ViewContract_Handler, }, { MethodName: "DownLoadContract", - Handler: _ContractMicroservice_DownLoadContract_Handler, + Handler: _Contract_DownLoadContract_Handler, }, { MethodName: "ContractFiling", - Handler: _ContractMicroservice_ContractFiling_Handler, + Handler: _Contract_ContractFiling_Handler, }, { MethodName: "GetPdfTemplateKeys", - Handler: _ContractMicroservice_GetPdfTemplateKeys_Handler, + Handler: _Contract_GetPdfTemplateKeys_Handler, }, { MethodName: "AuthStatus", - Handler: _ContractMicroservice_AuthStatus_Handler, + Handler: _Contract_AuthStatus_Handler, }, { MethodName: "CancelExtSignAuto", - Handler: _ContractMicroservice_CancelExtSignAuto_Handler, + Handler: _Contract_CancelExtSignAuto_Handler, }, }, Streams: []grpc_go.StreamDesc{}, - Metadata: "contract.proto", + Metadata: "api/contract/contract.proto", } diff --git a/pkg/service/init.go b/pkg/service/init.go index a893009..1cae9b1 100644 --- a/pkg/service/init.go +++ b/pkg/service/init.go @@ -16,7 +16,7 @@ var ( AccountProvider = new(account.AccountClientImpl) ArtworkImpl = new(artwork.ArtworkClientImpl) ArtworkQueryImpl = new(artwork_query.ArtworkQueryClientImpl) - ContractImpl = new(contractMicroservice.ContractMicroserviceClientImpl) + ContractImpl = new(contractMicroservice.ContractClientImpl) ) func init() {