From 8054de27b049ce6ff038bc6ae64e8ab9d8b099eb Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Tue, 2 Jan 2024 12:16:54 +0800 Subject: [PATCH 001/116] for order conflict --- block-etl/pkg/chains/eth/price.go | 2 +- nft-meta/pkg/client/v1/order/order.go | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/block-etl/pkg/chains/eth/price.go b/block-etl/pkg/chains/eth/price.go index 4eb91ca7..5218ed70 100644 --- a/block-etl/pkg/chains/eth/price.go +++ b/block-etl/pkg/chains/eth/price.go @@ -35,7 +35,7 @@ func (e *EthIndexer) IndexOrder(ctx context.Context, logs []*types.Log) ([]*Cont } } - _, err := orderNMCli.CreateOrders(ctx, &order.CreateOrdersRequest{Infos: ordersReq}) + _, err := orderNMCli.UpsertOrders(ctx, &order.UpsertOrdersRequest{Infos: ordersReq}) if err != nil { return nil, fmt.Errorf("failed store orders to db,err: %v", err) } diff --git a/nft-meta/pkg/client/v1/order/order.go b/nft-meta/pkg/client/v1/order/order.go index e04af2bb..676f10a7 100644 --- a/nft-meta/pkg/client/v1/order/order.go +++ b/nft-meta/pkg/client/v1/order/order.go @@ -52,6 +52,22 @@ func CreateOrders(ctx context.Context, in *npool.CreateOrdersRequest) (resp *npo return resp, err } +func UpsertOrder(ctx context.Context, in *npool.UpsertOrderRequest) (resp *npool.UpsertOrderResponse, err error) { + _, err = withCRUD(ctx, func(_ctx context.Context, cli npool.ManagerClient) (cruder.Any, error) { + resp, err = cli.UpsertOrder(ctx, in) + return resp, err + }) + return resp, err +} + +func UpsertOrders(ctx context.Context, in *npool.UpsertOrdersRequest) (resp *npool.UpsertOrdersResponse, err error) { + _, err = withCRUD(ctx, func(_ctx context.Context, cli npool.ManagerClient) (cruder.Any, error) { + resp, err = cli.UpsertOrders(ctx, in) + return resp, err + }) + return resp, err +} + func UpdateOrder(ctx context.Context, in *npool.UpdateOrderRequest) (resp *npool.UpdateOrderResponse, err error) { _, err = withCRUD(ctx, func(_ctx context.Context, cli npool.ManagerClient) (cruder.Any, error) { resp, err = cli.UpdateOrder(ctx, in) From e959657dd4c91c82d37967a6f89dd08f7f0e48de Mon Sep 17 00:00:00 2001 From: lidaqiang Date: Tue, 2 Jan 2024 14:22:17 +0800 Subject: [PATCH 002/116] http://47.116.78.131:10083/issues/2561 --- webui/src/components/Main/Main.vue | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/webui/src/components/Main/Main.vue b/webui/src/components/Main/Main.vue index ae2886c6..07dc68d2 100644 --- a/webui/src/components/Main/Main.vue +++ b/webui/src/components/Main/Main.vue @@ -103,7 +103,9 @@ enum State { Dragging, Drop, } + const state = ref(State.Normal) +const contract = ref('') onMounted(() => { const dropArea = document.getElementById('drop-target') @@ -151,9 +153,14 @@ onMounted(() => { opening.value = false } }) + dropZone?.addEventListener('drop', (e) => { + e.stopPropagation() + e.preventDefault() + opening.value = false + }) }) -const contract = ref('') + From 9504d72ab5827d5da28a9788f78576a32f4668d5 Mon Sep 17 00:00:00 2001 From: lidaqiang Date: Tue, 2 Jan 2024 15:52:13 +0800 Subject: [PATCH 010/116] fix page --- webui/src/components/Token/Token.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webui/src/components/Token/Token.vue b/webui/src/components/Token/Token.vue index ab3d4fab..3e6d7987 100644 --- a/webui/src/components/Token/Token.vue +++ b/webui/src/components/Token/Token.vue @@ -202,7 +202,7 @@ const currentPage = ref(1) const loading = ref(false) const loadMore = () => { - if (currentPage.value > token.SearchTokens.Pages && token.SearchTokens.Pages !== 0) { + if (currentPage.value >= token.SearchTokens.Pages && token.SearchTokens.Pages !== 0) { haveMore.value = true return } From dd79d369ecad90dd989101d6d44ceb181eb3b7cd Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Tue, 2 Jan 2024 15:57:21 +0800 Subject: [PATCH 011/116] add tokenURIState --- block-etl/pkg/chains/eth/token.go | 8 +- block-etl/pkg/chains/sol/token.go | 10 +- block-etl/pkg/token/token.go | 13 +- nft-meta/api/v1/token/token.go | 29 +- nft-meta/pkg/crud/v1/token/token.go | 20 + nft-meta/pkg/db/ent/entql.go | 6 + nft-meta/pkg/db/ent/internal/schema.go | 2 +- nft-meta/pkg/db/ent/migrate/schema.go | 1 + nft-meta/pkg/db/ent/mutation.go | 75 +- nft-meta/pkg/db/ent/runtime/runtime.go | 2 +- nft-meta/pkg/db/ent/schema/token.go | 2 + nft-meta/pkg/db/ent/token.go | 13 +- nft-meta/pkg/db/ent/token/token.go | 3 + nft-meta/pkg/db/ent/token/where.go | 120 +++ nft-meta/pkg/db/ent/token_create.go | 82 ++ nft-meta/pkg/db/ent/token_update.go | 66 ++ nft-meta/pkg/mw/v1/token/create.go | 1 + nft-meta/pkg/mw/v1/token/handler.go | 30 + nft-meta/pkg/mw/v1/token/query.go | 2 + nft-meta/pkg/mw/v1/token/token_test.go | 5 + nft-meta/pkg/mw/v1/token/update.go | 1 + nft-meta/pkg/mw/v1/token/upsert.go | 2 + proto/web3eye/basetype/v1/chain.pb.go | 78 +- proto/web3eye/basetype/v1/chain.proto | 8 + .../entrance/v1/token/token.swagger.json | 21 + proto/web3eye/nftmeta/v1/token/token.pb.go | 864 +++++++++--------- proto/web3eye/nftmeta/v1/token/token.proto | 5 + .../nftmeta/v1/token/token.swagger.json | 24 + proto/web3eye/ranker/v1/token/token.pb.go | 235 ++--- proto/web3eye/ranker/v1/token/token.proto | 1 + .../ranker/v1/token/token.swagger.json | 24 + ranker/pkg/converter/v1/token/token.go | 1 + 32 files changed, 1212 insertions(+), 542 deletions(-) diff --git a/block-etl/pkg/chains/eth/token.go b/block-etl/pkg/chains/eth/token.go index 2b9df5fa..4ca07c84 100644 --- a/block-etl/pkg/chains/eth/token.go +++ b/block-etl/pkg/chains/eth/token.go @@ -197,18 +197,23 @@ func (e *EthIndexer) IndexToken(ctx context.Context, inTransfers []*chains.Token return nil, fmt.Errorf("cannot get eth client,err: %v", err) } + uriState := basetype.TokenURIState_TokenURIFinish tokenURI, err := cli.TokenURI(ctx, transfer.TokenType, transfer.Contract, transfer.TokenID, transfer.BlockNumber) if err != nil { + uriState = basetype.TokenURIState_TokenURIError e.checkErr(ctx, err) logger.Sugar().Warnf("cannot get tokenURI,err: %v", err) remark = fmt.Sprintf("%v,%v", remark, err) } - tokenURIInfo, err := token.GetTokenURIInfo(ctx, tokenURI) + tokenURIInfo, complete, err := token.GetTokenURIInfo(ctx, tokenURI) if err != nil { // if cannot get tokenURIInfo,then set the default value + uriState = basetype.TokenURIState_TokenURIError tokenURIInfo = &token.TokenURIInfo{} remark = fmt.Sprintf("%v,%v", remark, err) + } else if !complete { + uriState = basetype.TokenURIState_TokenURIIncomplete } if len(tokenURI) > indexer.MaxTokenURILength { @@ -224,6 +229,7 @@ func (e *EthIndexer) IndexToken(ctx context.Context, inTransfers []*chains.Token TokenType: &transfer.TokenType, TokenID: &transfer.TokenID, URI: &tokenURI, + URIState: &uriState, URIType: (*string)(&tokenURIInfo.URIType), ImageURL: &tokenURIInfo.ImageURL, VideoURL: &tokenURIInfo.VideoURL, diff --git a/block-etl/pkg/chains/sol/token.go b/block-etl/pkg/chains/sol/token.go index fbf98a13..1bf9963f 100644 --- a/block-etl/pkg/chains/sol/token.go +++ b/block-etl/pkg/chains/sol/token.go @@ -169,8 +169,10 @@ func (e *SolIndexer) IndexToken(ctx context.Context, inTransfers []*chains.Token } remark := "" + uriState := basetype.TokenURIState_TokenURIFinish metadata, err := cli.GetMetadata(ctx, transfer.TokenID) if err != nil { + uriState = basetype.TokenURIState_TokenURIError e.checkErr(ctx, err) logger.Sugar().Warnf("cannot get metadata,err: %v, tokenID: %v", err, transfer.TokenID) remark = fmt.Sprintf("%v,%v", remark, err) @@ -178,12 +180,17 @@ func (e *SolIndexer) IndexToken(ctx context.Context, inTransfers []*chains.Token tokenURIInfo := &token.TokenURIInfo{} if metadata != nil { - tokenURIInfo, err = token.GetTokenURIInfo(ctx, metadata.Data.Uri) + var complete bool + tokenURIInfo, complete, err = token.GetTokenURIInfo(ctx, metadata.Data.Uri) if err != nil { + uriState = basetype.TokenURIState_TokenURIError tokenURIInfo = &token.TokenURIInfo{} remark = fmt.Sprintf("%v,%v", remark, err) + } else if !complete { + uriState = basetype.TokenURIState_TokenURIIncomplete } } else { + uriState = basetype.TokenURIState_TokenURIError // if cannot get metadata,then set the default value metadata = &token_metadata.Metadata{} } @@ -201,6 +208,7 @@ func (e *SolIndexer) IndexToken(ctx context.Context, inTransfers []*chains.Token TokenType: &transfer.TokenType, TokenID: &transfer.TokenID, URI: &metadata.Data.Uri, + URIState: &uriState, URIType: (*string)(&tokenURIInfo.URIType), ImageURL: &tokenURIInfo.ImageURL, VideoURL: &tokenURIInfo.VideoURL, diff --git a/block-etl/pkg/token/token.go b/block-etl/pkg/token/token.go index 4880ddb0..ca4c2bf0 100644 --- a/block-etl/pkg/token/token.go +++ b/block-etl/pkg/token/token.go @@ -14,17 +14,24 @@ type TokenURIInfo struct { } // TODO: support special nft project -func GetTokenURIInfo(ctx context.Context, uri string) (*TokenURIInfo, error) { +func GetTokenURIInfo(ctx context.Context, uri string) (*TokenURIInfo, bool, error) { into := &TokenMetadata{} err := DecodeMetadataFromURI(ctx, uri, into) if err != nil { - return nil, err + return nil, false, err } tokenURIType := TokenURIType(uri) name, description := FindNameAndDescription(ctx, *into) iURL, vURL := FindImageAndAnimationURLs(ctx, *into, uri, AnimationKeywords, ImageKeywords, true) + + complete := true + if name == "" || + description == "" || + iURL == "" { + complete = false + } return &TokenURIInfo{ URI: uri, URIType: tokenURIType, @@ -32,5 +39,5 @@ func GetTokenURIInfo(ctx context.Context, uri string) (*TokenURIInfo, error) { Description: description, ImageURL: iURL, VideoURL: vURL, - }, nil + }, complete, nil } diff --git a/nft-meta/api/v1/token/token.go b/nft-meta/api/v1/token/token.go index 996cb6ca..9dff94b6 100644 --- a/nft-meta/api/v1/token/token.go +++ b/nft-meta/api/v1/token/token.go @@ -18,6 +18,7 @@ import ( "google.golang.org/grpc/status" "github.com/NpoolPlatform/go-service-framework/pkg/logger" + basetype "github.com/web3eye-io/Web3Eye/proto/web3eye/basetype/v1" npool "github.com/web3eye-io/Web3Eye/proto/web3eye/nftmeta/v1/token" "github.com/google/uuid" @@ -75,10 +76,6 @@ func (s *Server) CreateToken(ctx context.Context, in *npool.CreateTokenRequest) entID := uuid.New().String() inInfo.EntID = &entID - err := TransformImage(ctx, inInfo) - if err != nil { - logger.Sugar().Errorw("CreateToken", "action", "publish imageurl to pulsar", "error", err) - } h, err := handler.NewHandler(ctx, handler.WithEntID(inInfo.EntID, true), handler.WithChainType(inInfo.ChainType, true), @@ -88,6 +85,7 @@ func (s *Server) CreateToken(ctx context.Context, in *npool.CreateTokenRequest) handler.WithTokenID(inInfo.TokenID, true), handler.WithOwner(inInfo.Owner, false), handler.WithURI(inInfo.URI, false), + handler.WithURIState(inInfo.URIState, false), handler.WithURIType(inInfo.URIType, false), handler.WithImageURL(inInfo.ImageURL, false), handler.WithVideoURL(inInfo.VideoURL, false), @@ -110,6 +108,11 @@ func (s *Server) CreateToken(ctx context.Context, in *npool.CreateTokenRequest) return &npool.CreateTokenResponse{}, status.Error(codes.Internal, err.Error()) } + err = TransformImage(ctx, inInfo) + if err != nil { + logger.Sugar().Errorw("CreateToken", "action", "publish imageurl to pulsar", "error", err) + } + return &npool.CreateTokenResponse{ Info: info, }, nil @@ -133,6 +136,7 @@ func (s *Server) UpsertToken(ctx context.Context, in *npool.UpsertTokenRequest) handler.WithTokenID(in.Info.TokenID, true), handler.WithOwner(in.Info.Owner, false), handler.WithURI(in.Info.URI, false), + handler.WithURIState(in.Info.URIState, false), handler.WithURIType(in.Info.URIType, false), handler.WithImageURL(in.Info.ImageURL, false), handler.WithVideoURL(in.Info.VideoURL, false), @@ -177,10 +181,6 @@ func (s *Server) CreateTokens(ctx context.Context, in *npool.CreateTokensRequest for i := 0; i < len(inInfos); i++ { entID := uuid.New().String() inInfos[i].EntID = &entID - err := TransformImage(ctx, inInfos[i]) - if err != nil { - logger.Sugar().Errorw("CreateToken", "action", "publish imageurl to pulsar", "error", err) - } } h, err := handler.NewHandler(ctx, @@ -196,6 +196,13 @@ func (s *Server) CreateTokens(ctx context.Context, in *npool.CreateTokensRequest return &npool.CreateTokensResponse{}, status.Error(codes.Internal, err.Error()) } + for i := 0; i < len(inInfos); i++ { + err := TransformImage(ctx, inInfos[i]) + if err != nil { + logger.Sugar().Errorw("CreateToken", "action", "publish imageurl to pulsar", "error", err) + } + } + return &npool.CreateTokensResponse{ Infos: infos, }, nil @@ -218,6 +225,7 @@ func (s *Server) UpdateToken(ctx context.Context, in *npool.UpdateTokenRequest) handler.WithTokenID(in.Info.TokenID, false), handler.WithOwner(in.Info.Owner, false), handler.WithURI(in.Info.URI, false), + handler.WithURIState(in.Info.URIState, false), handler.WithURIType(in.Info.URIType, false), handler.WithImageURL(in.Info.ImageURL, false), handler.WithVideoURL(in.Info.VideoURL, false), @@ -250,6 +258,11 @@ func TransformImage(ctx context.Context, inInfo *npool.TokenReq) error { return fmt.Errorf("not set entID") } + if inInfo.URIState.String() != basetype.TokenURIState_TokenURIFinish.String() || + inInfo.URIState.String() != basetype.TokenURIState_TokenURIIncomplete.String() { + return nil + } + if inInfo.VectorState.String() != npool.ConvertState_Waiting.String() { return nil } diff --git a/nft-meta/pkg/crud/v1/token/token.go b/nft-meta/pkg/crud/v1/token/token.go index 49b1326f..dcdc37b5 100644 --- a/nft-meta/pkg/crud/v1/token/token.go +++ b/nft-meta/pkg/crud/v1/token/token.go @@ -22,6 +22,7 @@ type Req struct { TokenID *string Owner *string URI *string + URIState *basetype.TokenURIState URIType *string ImageURL *string VideoURL *string @@ -60,6 +61,9 @@ func CreateSet(c *ent.TokenCreate, req *Req) *ent.TokenCreate { if req.URI != nil { c.SetURI(*req.URI) } + if req.URIState != nil { + c.SetURIState(req.URIState.String()) + } if req.URIType != nil { c.SetURIType(*req.URIType) } @@ -116,6 +120,9 @@ func UpdateSet(u *ent.TokenUpdateOne, req *Req) (*ent.TokenUpdateOne, error) { if req.URI != nil { u.SetURI(*req.URI) } + if req.URIState != nil { + u.SetURIState(req.URIState.String()) + } if req.URIType != nil { u.SetURIType(*req.URIType) } @@ -159,6 +166,7 @@ type Conds struct { TokenID *cruder.Cond Owner *cruder.Cond URI *cruder.Cond + URIState *cruder.Cond URIType *cruder.Cond ImageURL *cruder.Cond VideoURL *cruder.Cond @@ -293,6 +301,18 @@ func SetQueryConds(q *ent.TokenQuery, conds *Conds) (*ent.TokenQuery, error) { / return nil, fmt.Errorf("invalid uri field") } } + if conds.URIState != nil { + uristate, ok := conds.URIState.Val.(basetype.TokenURIState) + if !ok { + return nil, fmt.Errorf("invalid uristate") + } + switch conds.URI.Op { + case cruder.EQ: + q.Where(enttoken.URIState(uristate.String())) + default: + return nil, fmt.Errorf("invalid uristate field") + } + } if conds.URIType != nil { uritype, ok := conds.URIType.Val.(string) if !ok { diff --git a/nft-meta/pkg/db/ent/entql.go b/nft-meta/pkg/db/ent/entql.go index 16374c48..3cc1284f 100644 --- a/nft-meta/pkg/db/ent/entql.go +++ b/nft-meta/pkg/db/ent/entql.go @@ -219,6 +219,7 @@ var schemaGraph = func() *sqlgraph.Schema { token.FieldTokenID: {Type: field.TypeString, Column: token.FieldTokenID}, token.FieldOwner: {Type: field.TypeString, Column: token.FieldOwner}, token.FieldURI: {Type: field.TypeString, Column: token.FieldURI}, + token.FieldURIState: {Type: field.TypeString, Column: token.FieldURIState}, token.FieldURIType: {Type: field.TypeString, Column: token.FieldURIType}, token.FieldImageURL: {Type: field.TypeString, Column: token.FieldImageURL}, token.FieldVideoURL: {Type: field.TypeString, Column: token.FieldVideoURL}, @@ -1066,6 +1067,11 @@ func (f *TokenFilter) WhereURI(p entql.StringP) { f.Where(p.Field(token.FieldURI)) } +// WhereURIState applies the entql string predicate on the uri_state field. +func (f *TokenFilter) WhereURIState(p entql.StringP) { + f.Where(p.Field(token.FieldURIState)) +} + // WhereURIType applies the entql string predicate on the uri_type field. func (f *TokenFilter) WhereURIType(p entql.StringP) { f.Where(p.Field(token.FieldURIType)) diff --git a/nft-meta/pkg/db/ent/internal/schema.go b/nft-meta/pkg/db/ent/internal/schema.go index 94390611..c3217ef3 100644 --- a/nft-meta/pkg/db/ent/internal/schema.go +++ b/nft-meta/pkg/db/ent/internal/schema.go @@ -6,4 +6,4 @@ // Package internal holds a loadable version of the latest schema. package internal -const Schema = `{"Schema":"github.com/web3eye-io/Web3Eye/nft-meta/pkg/db/ent/schema","Package":"github.com/web3eye-io/Web3Eye/nft-meta/pkg/db/ent","Schemas":[{"name":"Block","config":{"Table":""},"fields":[{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":0}},{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"block_number","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"block_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"block_time","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"parse_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":6,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["chain_type","chain_id","block_number"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":0}]},{"name":"Contract","config":{"Table":""},"fields":[{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":0}},{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"address","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"name","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"symbol","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"decimals","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_value":0,"default_kind":10,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"creator","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"block_num","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"tx_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":8,"MixedIn":false,"MixinIndex":0}},{"name":"tx_time","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":9,"MixedIn":false,"MixinIndex":0}},{"name":"profile_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":10,"MixedIn":false,"MixinIndex":0}},{"name":"base_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":11,"MixedIn":false,"MixinIndex":0}},{"name":"banner_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":12,"MixedIn":false,"MixinIndex":0}},{"name":"description","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":13,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":14,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["chain_type","chain_id","address"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":0}]},{"name":"Endpoint","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"address","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":4,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"Order","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"tx_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"block_number","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"tx_index","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"log_index","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"recipient","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["tx_hash","recipient","log_index"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"OrderItem","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"order_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"optional":true,"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"order_item_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"contract","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"token_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"token_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"amount","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"fields":["order_id"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"Snapshot","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"index","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"snapshot_comm_p","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"snapshot_root","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"snapshot_uri","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"backup_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["index","backup_state"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"SyncTask","config":{"Table":""},"fields":[{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":0}},{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"default":true,"default_value":"ChainUnkonwn","default_kind":24,"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"start","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"end","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"current","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"topic","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"unique":true,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"description","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"sync_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"default":true,"default_value":"Default","default_kind":24,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":8,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"fields":["topic"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":0}]},{"name":"Token","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"contract","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"token_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"token_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"owner","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"uri","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"uri_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"image_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":8,"MixedIn":false,"MixinIndex":0}},{"name":"video_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":9,"MixedIn":false,"MixinIndex":0}},{"name":"description","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":10,"MixedIn":false,"MixinIndex":0}},{"name":"name","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":11,"MixedIn":false,"MixinIndex":0}},{"name":"vector_id","type":{"Type":13,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":12,"MixedIn":false,"MixinIndex":0}},{"name":"vector_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"default":true,"default_value":"Default","default_kind":24,"position":{"Index":13,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":14,"MixedIn":false,"MixinIndex":0}},{"name":"ipfs_image_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":15,"MixedIn":false,"MixinIndex":0}},{"name":"image_snapshot_id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":16,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["contract","token_id"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"Transfer","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"contract","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"token_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"token_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"from","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"to","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"amount","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"block_number","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":8,"MixedIn":false,"MixinIndex":0}},{"name":"tx_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":9,"MixedIn":false,"MixinIndex":0}},{"name":"block_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":10,"MixedIn":false,"MixinIndex":0}},{"name":"tx_time","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":11,"MixedIn":false,"MixinIndex":0}},{"name":"log_index","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_value":0,"default_kind":10,"position":{"Index":12,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":13,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["contract","token_id","tx_hash","from","log_index"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]}],"Features":["entql","sql/lock","sql/execquery","sql/upsert","privacy","schema/snapshot","sql/modifier"]}` +const Schema = `{"Schema":"github.com/web3eye-io/Web3Eye/nft-meta/pkg/db/ent/schema","Package":"github.com/web3eye-io/Web3Eye/nft-meta/pkg/db/ent","Schemas":[{"name":"Block","config":{"Table":""},"fields":[{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":0}},{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"block_number","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"block_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"block_time","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"parse_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":6,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["chain_type","chain_id","block_number"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":0}]},{"name":"Contract","config":{"Table":""},"fields":[{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":0}},{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"address","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"name","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"symbol","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"decimals","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_value":0,"default_kind":10,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"creator","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"block_num","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"tx_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":8,"MixedIn":false,"MixinIndex":0}},{"name":"tx_time","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":9,"MixedIn":false,"MixinIndex":0}},{"name":"profile_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":10,"MixedIn":false,"MixinIndex":0}},{"name":"base_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":11,"MixedIn":false,"MixinIndex":0}},{"name":"banner_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":12,"MixedIn":false,"MixinIndex":0}},{"name":"description","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":13,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":14,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["chain_type","chain_id","address"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":0}]},{"name":"Endpoint","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"address","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":4,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"Order","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"tx_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"block_number","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"tx_index","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"log_index","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"recipient","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["tx_hash","recipient","log_index"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"OrderItem","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"order_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"optional":true,"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"order_item_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"contract","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"token_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"token_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"amount","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"fields":["order_id"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"Snapshot","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"index","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"snapshot_comm_p","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"snapshot_root","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"snapshot_uri","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"backup_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["index","backup_state"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"SyncTask","config":{"Table":""},"fields":[{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":0}},{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"default":true,"default_value":"ChainUnkonwn","default_kind":24,"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"start","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"end","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"current","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"topic","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"unique":true,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"description","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"sync_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"default":true,"default_value":"Default","default_kind":24,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":8,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"fields":["topic"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":0}]},{"name":"Token","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"contract","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"token_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"token_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"owner","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"uri","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"uri_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"uri_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":8,"MixedIn":false,"MixinIndex":0}},{"name":"image_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":9,"MixedIn":false,"MixinIndex":0}},{"name":"video_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":10,"MixedIn":false,"MixinIndex":0}},{"name":"description","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":11,"MixedIn":false,"MixinIndex":0}},{"name":"name","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":12,"MixedIn":false,"MixinIndex":0}},{"name":"vector_id","type":{"Type":13,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":13,"MixedIn":false,"MixinIndex":0}},{"name":"vector_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"default":true,"default_value":"Default","default_kind":24,"position":{"Index":14,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":15,"MixedIn":false,"MixinIndex":0}},{"name":"ipfs_image_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":16,"MixedIn":false,"MixinIndex":0}},{"name":"image_snapshot_id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":17,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["contract","token_id"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"Transfer","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"contract","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"token_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"token_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"from","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"to","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"amount","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"block_number","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":8,"MixedIn":false,"MixinIndex":0}},{"name":"tx_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":9,"MixedIn":false,"MixinIndex":0}},{"name":"block_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":10,"MixedIn":false,"MixinIndex":0}},{"name":"tx_time","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":11,"MixedIn":false,"MixinIndex":0}},{"name":"log_index","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_value":0,"default_kind":10,"position":{"Index":12,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":13,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["contract","token_id","tx_hash","from","log_index"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]}],"Features":["entql","sql/lock","sql/execquery","sql/upsert","privacy","schema/snapshot","sql/modifier"]}` diff --git a/nft-meta/pkg/db/ent/migrate/schema.go b/nft-meta/pkg/db/ent/migrate/schema.go index 711d2656..c1278853 100644 --- a/nft-meta/pkg/db/ent/migrate/schema.go +++ b/nft-meta/pkg/db/ent/migrate/schema.go @@ -255,6 +255,7 @@ var ( {Name: "token_id", Type: field.TypeString}, {Name: "owner", Type: field.TypeString, Nullable: true}, {Name: "uri", Type: field.TypeString, Nullable: true, Size: 2147483647}, + {Name: "uri_state", Type: field.TypeString, Nullable: true, Size: 2147483647}, {Name: "uri_type", Type: field.TypeString, Nullable: true}, {Name: "image_url", Type: field.TypeString, Nullable: true, Size: 2147483647}, {Name: "video_url", Type: field.TypeString, Nullable: true, Size: 2147483647}, diff --git a/nft-meta/pkg/db/ent/mutation.go b/nft-meta/pkg/db/ent/mutation.go index 632663ea..68ebcd93 100644 --- a/nft-meta/pkg/db/ent/mutation.go +++ b/nft-meta/pkg/db/ent/mutation.go @@ -7928,6 +7928,7 @@ type TokenMutation struct { token_id *string owner *string uri *string + uri_state *string uri_type *string image_url *string video_url *string @@ -8532,6 +8533,55 @@ func (m *TokenMutation) ResetURI() { delete(m.clearedFields, token.FieldURI) } +// SetURIState sets the "uri_state" field. +func (m *TokenMutation) SetURIState(s string) { + m.uri_state = &s +} + +// URIState returns the value of the "uri_state" field in the mutation. +func (m *TokenMutation) URIState() (r string, exists bool) { + v := m.uri_state + if v == nil { + return + } + return *v, true +} + +// OldURIState returns the old "uri_state" field's value of the Token entity. +// If the Token object wasn't provided to the builder, the object is fetched from the database. +// An error is returned if the mutation operation is not UpdateOne, or the database query fails. +func (m *TokenMutation) OldURIState(ctx context.Context) (v string, err error) { + if !m.op.Is(OpUpdateOne) { + return v, errors.New("OldURIState is only allowed on UpdateOne operations") + } + if m.id == nil || m.oldValue == nil { + return v, errors.New("OldURIState requires an ID field in the mutation") + } + oldValue, err := m.oldValue(ctx) + if err != nil { + return v, fmt.Errorf("querying old value for OldURIState: %w", err) + } + return oldValue.URIState, nil +} + +// ClearURIState clears the value of the "uri_state" field. +func (m *TokenMutation) ClearURIState() { + m.uri_state = nil + m.clearedFields[token.FieldURIState] = struct{}{} +} + +// URIStateCleared returns if the "uri_state" field was cleared in this mutation. +func (m *TokenMutation) URIStateCleared() bool { + _, ok := m.clearedFields[token.FieldURIState] + return ok +} + +// ResetURIState resets all changes to the "uri_state" field. +func (m *TokenMutation) ResetURIState() { + m.uri_state = nil + delete(m.clearedFields, token.FieldURIState) +} + // SetURIType sets the "uri_type" field. func (m *TokenMutation) SetURIType(s string) { m.uri_type = &s @@ -9083,7 +9133,7 @@ func (m *TokenMutation) Type() string { // order to get all numeric fields that were incremented/decremented, call // AddedFields(). func (m *TokenMutation) Fields() []string { - fields := make([]string, 0, 21) + fields := make([]string, 0, 22) if m.ent_id != nil { fields = append(fields, token.FieldEntID) } @@ -9117,6 +9167,9 @@ func (m *TokenMutation) Fields() []string { if m.uri != nil { fields = append(fields, token.FieldURI) } + if m.uri_state != nil { + fields = append(fields, token.FieldURIState) + } if m.uri_type != nil { fields = append(fields, token.FieldURIType) } @@ -9177,6 +9230,8 @@ func (m *TokenMutation) Field(name string) (ent.Value, bool) { return m.Owner() case token.FieldURI: return m.URI() + case token.FieldURIState: + return m.URIState() case token.FieldURIType: return m.URIType() case token.FieldImageURL: @@ -9228,6 +9283,8 @@ func (m *TokenMutation) OldField(ctx context.Context, name string) (ent.Value, e return m.OldOwner(ctx) case token.FieldURI: return m.OldURI(ctx) + case token.FieldURIState: + return m.OldURIState(ctx) case token.FieldURIType: return m.OldURIType(ctx) case token.FieldImageURL: @@ -9334,6 +9391,13 @@ func (m *TokenMutation) SetField(name string, value ent.Value) error { } m.SetURI(v) return nil + case token.FieldURIState: + v, ok := value.(string) + if !ok { + return fmt.Errorf("unexpected type %T for field %s", value, name) + } + m.SetURIState(v) + return nil case token.FieldURIType: v, ok := value.(string) if !ok { @@ -9503,6 +9567,9 @@ func (m *TokenMutation) ClearedFields() []string { if m.FieldCleared(token.FieldURI) { fields = append(fields, token.FieldURI) } + if m.FieldCleared(token.FieldURIState) { + fields = append(fields, token.FieldURIState) + } if m.FieldCleared(token.FieldURIType) { fields = append(fields, token.FieldURIType) } @@ -9553,6 +9620,9 @@ func (m *TokenMutation) ClearField(name string) error { case token.FieldURI: m.ClearURI() return nil + case token.FieldURIState: + m.ClearURIState() + return nil case token.FieldURIType: m.ClearURIType() return nil @@ -9624,6 +9694,9 @@ func (m *TokenMutation) ResetField(name string) error { case token.FieldURI: m.ResetURI() return nil + case token.FieldURIState: + m.ResetURIState() + return nil case token.FieldURIType: m.ResetURIType() return nil diff --git a/nft-meta/pkg/db/ent/runtime/runtime.go b/nft-meta/pkg/db/ent/runtime/runtime.go index e842d84b..b53a04e2 100644 --- a/nft-meta/pkg/db/ent/runtime/runtime.go +++ b/nft-meta/pkg/db/ent/runtime/runtime.go @@ -322,7 +322,7 @@ func init() { // token.DefaultDeletedAt holds the default value on creation for the deleted_at field. token.DefaultDeletedAt = tokenDescDeletedAt.Default.(func() uint32) // tokenDescVectorState is the schema descriptor for vector_state field. - tokenDescVectorState := tokenFields[13].Descriptor() + tokenDescVectorState := tokenFields[14].Descriptor() // token.DefaultVectorState holds the default value on creation for the vector_state field. token.DefaultVectorState = tokenDescVectorState.Default.(string) transferMixin := schema.Transfer{}.Mixin() diff --git a/nft-meta/pkg/db/ent/schema/token.go b/nft-meta/pkg/db/ent/schema/token.go index df306eee..fdf860e9 100644 --- a/nft-meta/pkg/db/ent/schema/token.go +++ b/nft-meta/pkg/db/ent/schema/token.go @@ -32,6 +32,8 @@ func (Token) Fields() []ent.Field { Optional(), field.Text("uri"). Optional(), + field.Text("uri_state"). + Optional(), field.String("uri_type"). Optional(), field.Text("image_url"). diff --git a/nft-meta/pkg/db/ent/token.go b/nft-meta/pkg/db/ent/token.go index 5282d742..304e13d5 100644 --- a/nft-meta/pkg/db/ent/token.go +++ b/nft-meta/pkg/db/ent/token.go @@ -38,6 +38,8 @@ type Token struct { Owner string `json:"owner,omitempty"` // URI holds the value of the "uri" field. URI string `json:"uri,omitempty"` + // URIState holds the value of the "uri_state" field. + URIState string `json:"uri_state,omitempty"` // URIType holds the value of the "uri_type" field. URIType string `json:"uri_type,omitempty"` // ImageURL holds the value of the "image_url" field. @@ -67,7 +69,7 @@ func (*Token) scanValues(columns []string) ([]interface{}, error) { switch columns[i] { case token.FieldID, token.FieldCreatedAt, token.FieldUpdatedAt, token.FieldDeletedAt, token.FieldVectorID, token.FieldImageSnapshotID: values[i] = new(sql.NullInt64) - case token.FieldChainType, token.FieldChainID, token.FieldContract, token.FieldTokenType, token.FieldTokenID, token.FieldOwner, token.FieldURI, token.FieldURIType, token.FieldImageURL, token.FieldVideoURL, token.FieldDescription, token.FieldName, token.FieldVectorState, token.FieldRemark, token.FieldIpfsImageURL: + case token.FieldChainType, token.FieldChainID, token.FieldContract, token.FieldTokenType, token.FieldTokenID, token.FieldOwner, token.FieldURI, token.FieldURIState, token.FieldURIType, token.FieldImageURL, token.FieldVideoURL, token.FieldDescription, token.FieldName, token.FieldVectorState, token.FieldRemark, token.FieldIpfsImageURL: values[i] = new(sql.NullString) case token.FieldEntID: values[i] = new(uuid.UUID) @@ -158,6 +160,12 @@ func (t *Token) assignValues(columns []string, values []interface{}) error { } else if value.Valid { t.URI = value.String } + case token.FieldURIState: + if value, ok := values[i].(*sql.NullString); !ok { + return fmt.Errorf("unexpected type %T for field uri_state", values[i]) + } else if value.Valid { + t.URIState = value.String + } case token.FieldURIType: if value, ok := values[i].(*sql.NullString); !ok { return fmt.Errorf("unexpected type %T for field uri_type", values[i]) @@ -279,6 +287,9 @@ func (t *Token) String() string { builder.WriteString("uri=") builder.WriteString(t.URI) builder.WriteString(", ") + builder.WriteString("uri_state=") + builder.WriteString(t.URIState) + builder.WriteString(", ") builder.WriteString("uri_type=") builder.WriteString(t.URIType) builder.WriteString(", ") diff --git a/nft-meta/pkg/db/ent/token/token.go b/nft-meta/pkg/db/ent/token/token.go index 7ae1371b..d427ef92 100644 --- a/nft-meta/pkg/db/ent/token/token.go +++ b/nft-meta/pkg/db/ent/token/token.go @@ -34,6 +34,8 @@ const ( FieldOwner = "owner" // FieldURI holds the string denoting the uri field in the database. FieldURI = "uri" + // FieldURIState holds the string denoting the uri_state field in the database. + FieldURIState = "uri_state" // FieldURIType holds the string denoting the uri_type field in the database. FieldURIType = "uri_type" // FieldImageURL holds the string denoting the image_url field in the database. @@ -72,6 +74,7 @@ var Columns = []string{ FieldTokenID, FieldOwner, FieldURI, + FieldURIState, FieldURIType, FieldImageURL, FieldVideoURL, diff --git a/nft-meta/pkg/db/ent/token/where.go b/nft-meta/pkg/db/ent/token/where.go index 3a88141d..39fdb504 100644 --- a/nft-meta/pkg/db/ent/token/where.go +++ b/nft-meta/pkg/db/ent/token/where.go @@ -156,6 +156,13 @@ func URI(v string) predicate.Token { }) } +// URIState applies equality check predicate on the "uri_state" field. It's identical to URIStateEQ. +func URIState(v string) predicate.Token { + return predicate.Token(func(s *sql.Selector) { + s.Where(sql.EQ(s.C(FieldURIState), v)) + }) +} + // URIType applies equality check predicate on the "uri_type" field. It's identical to URITypeEQ. func URIType(v string) predicate.Token { return predicate.Token(func(s *sql.Selector) { @@ -1203,6 +1210,119 @@ func URIContainsFold(v string) predicate.Token { }) } +// URIStateEQ applies the EQ predicate on the "uri_state" field. +func URIStateEQ(v string) predicate.Token { + return predicate.Token(func(s *sql.Selector) { + s.Where(sql.EQ(s.C(FieldURIState), v)) + }) +} + +// URIStateNEQ applies the NEQ predicate on the "uri_state" field. +func URIStateNEQ(v string) predicate.Token { + return predicate.Token(func(s *sql.Selector) { + s.Where(sql.NEQ(s.C(FieldURIState), v)) + }) +} + +// URIStateIn applies the In predicate on the "uri_state" field. +func URIStateIn(vs ...string) predicate.Token { + v := make([]interface{}, len(vs)) + for i := range v { + v[i] = vs[i] + } + return predicate.Token(func(s *sql.Selector) { + s.Where(sql.In(s.C(FieldURIState), v...)) + }) +} + +// URIStateNotIn applies the NotIn predicate on the "uri_state" field. +func URIStateNotIn(vs ...string) predicate.Token { + v := make([]interface{}, len(vs)) + for i := range v { + v[i] = vs[i] + } + return predicate.Token(func(s *sql.Selector) { + s.Where(sql.NotIn(s.C(FieldURIState), v...)) + }) +} + +// URIStateGT applies the GT predicate on the "uri_state" field. +func URIStateGT(v string) predicate.Token { + return predicate.Token(func(s *sql.Selector) { + s.Where(sql.GT(s.C(FieldURIState), v)) + }) +} + +// URIStateGTE applies the GTE predicate on the "uri_state" field. +func URIStateGTE(v string) predicate.Token { + return predicate.Token(func(s *sql.Selector) { + s.Where(sql.GTE(s.C(FieldURIState), v)) + }) +} + +// URIStateLT applies the LT predicate on the "uri_state" field. +func URIStateLT(v string) predicate.Token { + return predicate.Token(func(s *sql.Selector) { + s.Where(sql.LT(s.C(FieldURIState), v)) + }) +} + +// URIStateLTE applies the LTE predicate on the "uri_state" field. +func URIStateLTE(v string) predicate.Token { + return predicate.Token(func(s *sql.Selector) { + s.Where(sql.LTE(s.C(FieldURIState), v)) + }) +} + +// URIStateContains applies the Contains predicate on the "uri_state" field. +func URIStateContains(v string) predicate.Token { + return predicate.Token(func(s *sql.Selector) { + s.Where(sql.Contains(s.C(FieldURIState), v)) + }) +} + +// URIStateHasPrefix applies the HasPrefix predicate on the "uri_state" field. +func URIStateHasPrefix(v string) predicate.Token { + return predicate.Token(func(s *sql.Selector) { + s.Where(sql.HasPrefix(s.C(FieldURIState), v)) + }) +} + +// URIStateHasSuffix applies the HasSuffix predicate on the "uri_state" field. +func URIStateHasSuffix(v string) predicate.Token { + return predicate.Token(func(s *sql.Selector) { + s.Where(sql.HasSuffix(s.C(FieldURIState), v)) + }) +} + +// URIStateIsNil applies the IsNil predicate on the "uri_state" field. +func URIStateIsNil() predicate.Token { + return predicate.Token(func(s *sql.Selector) { + s.Where(sql.IsNull(s.C(FieldURIState))) + }) +} + +// URIStateNotNil applies the NotNil predicate on the "uri_state" field. +func URIStateNotNil() predicate.Token { + return predicate.Token(func(s *sql.Selector) { + s.Where(sql.NotNull(s.C(FieldURIState))) + }) +} + +// URIStateEqualFold applies the EqualFold predicate on the "uri_state" field. +func URIStateEqualFold(v string) predicate.Token { + return predicate.Token(func(s *sql.Selector) { + s.Where(sql.EqualFold(s.C(FieldURIState), v)) + }) +} + +// URIStateContainsFold applies the ContainsFold predicate on the "uri_state" field. +func URIStateContainsFold(v string) predicate.Token { + return predicate.Token(func(s *sql.Selector) { + s.Where(sql.ContainsFold(s.C(FieldURIState), v)) + }) +} + // URITypeEQ applies the EQ predicate on the "uri_type" field. func URITypeEQ(v string) predicate.Token { return predicate.Token(func(s *sql.Selector) { diff --git a/nft-meta/pkg/db/ent/token_create.go b/nft-meta/pkg/db/ent/token_create.go index d4d4f5bd..6655f8d4 100644 --- a/nft-meta/pkg/db/ent/token_create.go +++ b/nft-meta/pkg/db/ent/token_create.go @@ -136,6 +136,20 @@ func (tc *TokenCreate) SetNillableURI(s *string) *TokenCreate { return tc } +// SetURIState sets the "uri_state" field. +func (tc *TokenCreate) SetURIState(s string) *TokenCreate { + tc.mutation.SetURIState(s) + return tc +} + +// SetNillableURIState sets the "uri_state" field if the given value is not nil. +func (tc *TokenCreate) SetNillableURIState(s *string) *TokenCreate { + if s != nil { + tc.SetURIState(*s) + } + return tc +} + // SetURIType sets the "uri_type" field. func (tc *TokenCreate) SetURIType(s string) *TokenCreate { tc.mutation.SetURIType(s) @@ -547,6 +561,14 @@ func (tc *TokenCreate) createSpec() (*Token, *sqlgraph.CreateSpec) { }) _node.URI = value } + if value, ok := tc.mutation.URIState(); ok { + _spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{ + Type: field.TypeString, + Value: value, + Column: token.FieldURIState, + }) + _node.URIState = value + } if value, ok := tc.mutation.URIType(); ok { _spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{ Type: field.TypeString, @@ -841,6 +863,24 @@ func (u *TokenUpsert) ClearURI() *TokenUpsert { return u } +// SetURIState sets the "uri_state" field. +func (u *TokenUpsert) SetURIState(v string) *TokenUpsert { + u.Set(token.FieldURIState, v) + return u +} + +// UpdateURIState sets the "uri_state" field to the value that was provided on create. +func (u *TokenUpsert) UpdateURIState() *TokenUpsert { + u.SetExcluded(token.FieldURIState) + return u +} + +// ClearURIState clears the value of the "uri_state" field. +func (u *TokenUpsert) ClearURIState() *TokenUpsert { + u.SetNull(token.FieldURIState) + return u +} + // SetURIType sets the "uri_type" field. func (u *TokenUpsert) SetURIType(v string) *TokenUpsert { u.Set(token.FieldURIType, v) @@ -1270,6 +1310,27 @@ func (u *TokenUpsertOne) ClearURI() *TokenUpsertOne { }) } +// SetURIState sets the "uri_state" field. +func (u *TokenUpsertOne) SetURIState(v string) *TokenUpsertOne { + return u.Update(func(s *TokenUpsert) { + s.SetURIState(v) + }) +} + +// UpdateURIState sets the "uri_state" field to the value that was provided on create. +func (u *TokenUpsertOne) UpdateURIState() *TokenUpsertOne { + return u.Update(func(s *TokenUpsert) { + s.UpdateURIState() + }) +} + +// ClearURIState clears the value of the "uri_state" field. +func (u *TokenUpsertOne) ClearURIState() *TokenUpsertOne { + return u.Update(func(s *TokenUpsert) { + s.ClearURIState() + }) +} + // SetURIType sets the "uri_type" field. func (u *TokenUpsertOne) SetURIType(v string) *TokenUpsertOne { return u.Update(func(s *TokenUpsert) { @@ -1894,6 +1955,27 @@ func (u *TokenUpsertBulk) ClearURI() *TokenUpsertBulk { }) } +// SetURIState sets the "uri_state" field. +func (u *TokenUpsertBulk) SetURIState(v string) *TokenUpsertBulk { + return u.Update(func(s *TokenUpsert) { + s.SetURIState(v) + }) +} + +// UpdateURIState sets the "uri_state" field to the value that was provided on create. +func (u *TokenUpsertBulk) UpdateURIState() *TokenUpsertBulk { + return u.Update(func(s *TokenUpsert) { + s.UpdateURIState() + }) +} + +// ClearURIState clears the value of the "uri_state" field. +func (u *TokenUpsertBulk) ClearURIState() *TokenUpsertBulk { + return u.Update(func(s *TokenUpsert) { + s.ClearURIState() + }) +} + // SetURIType sets the "uri_type" field. func (u *TokenUpsertBulk) SetURIType(v string) *TokenUpsertBulk { return u.Update(func(s *TokenUpsert) { diff --git a/nft-meta/pkg/db/ent/token_update.go b/nft-meta/pkg/db/ent/token_update.go index 2fe75e49..e0bb48d1 100644 --- a/nft-meta/pkg/db/ent/token_update.go +++ b/nft-meta/pkg/db/ent/token_update.go @@ -168,6 +168,26 @@ func (tu *TokenUpdate) ClearURI() *TokenUpdate { return tu } +// SetURIState sets the "uri_state" field. +func (tu *TokenUpdate) SetURIState(s string) *TokenUpdate { + tu.mutation.SetURIState(s) + return tu +} + +// SetNillableURIState sets the "uri_state" field if the given value is not nil. +func (tu *TokenUpdate) SetNillableURIState(s *string) *TokenUpdate { + if s != nil { + tu.SetURIState(*s) + } + return tu +} + +// ClearURIState clears the value of the "uri_state" field. +func (tu *TokenUpdate) ClearURIState() *TokenUpdate { + tu.mutation.ClearURIState() + return tu +} + // SetURIType sets the "uri_type" field. func (tu *TokenUpdate) SetURIType(s string) *TokenUpdate { tu.mutation.SetURIType(s) @@ -590,6 +610,19 @@ func (tu *TokenUpdate) sqlSave(ctx context.Context) (n int, err error) { Column: token.FieldURI, }) } + if value, ok := tu.mutation.URIState(); ok { + _spec.Fields.Set = append(_spec.Fields.Set, &sqlgraph.FieldSpec{ + Type: field.TypeString, + Value: value, + Column: token.FieldURIState, + }) + } + if tu.mutation.URIStateCleared() { + _spec.Fields.Clear = append(_spec.Fields.Clear, &sqlgraph.FieldSpec{ + Type: field.TypeString, + Column: token.FieldURIState, + }) + } if value, ok := tu.mutation.URIType(); ok { _spec.Fields.Set = append(_spec.Fields.Set, &sqlgraph.FieldSpec{ Type: field.TypeString, @@ -894,6 +927,26 @@ func (tuo *TokenUpdateOne) ClearURI() *TokenUpdateOne { return tuo } +// SetURIState sets the "uri_state" field. +func (tuo *TokenUpdateOne) SetURIState(s string) *TokenUpdateOne { + tuo.mutation.SetURIState(s) + return tuo +} + +// SetNillableURIState sets the "uri_state" field if the given value is not nil. +func (tuo *TokenUpdateOne) SetNillableURIState(s *string) *TokenUpdateOne { + if s != nil { + tuo.SetURIState(*s) + } + return tuo +} + +// ClearURIState clears the value of the "uri_state" field. +func (tuo *TokenUpdateOne) ClearURIState() *TokenUpdateOne { + tuo.mutation.ClearURIState() + return tuo +} + // SetURIType sets the "uri_type" field. func (tuo *TokenUpdateOne) SetURIType(s string) *TokenUpdateOne { tuo.mutation.SetURIType(s) @@ -1346,6 +1399,19 @@ func (tuo *TokenUpdateOne) sqlSave(ctx context.Context) (_node *Token, err error Column: token.FieldURI, }) } + if value, ok := tuo.mutation.URIState(); ok { + _spec.Fields.Set = append(_spec.Fields.Set, &sqlgraph.FieldSpec{ + Type: field.TypeString, + Value: value, + Column: token.FieldURIState, + }) + } + if tuo.mutation.URIStateCleared() { + _spec.Fields.Clear = append(_spec.Fields.Clear, &sqlgraph.FieldSpec{ + Type: field.TypeString, + Column: token.FieldURIState, + }) + } if value, ok := tuo.mutation.URIType(); ok { _spec.Fields.Set = append(_spec.Fields.Set, &sqlgraph.FieldSpec{ Type: field.TypeString, diff --git a/nft-meta/pkg/mw/v1/token/create.go b/nft-meta/pkg/mw/v1/token/create.go index 8fc8959a..2b6ebb2b 100644 --- a/nft-meta/pkg/mw/v1/token/create.go +++ b/nft-meta/pkg/mw/v1/token/create.go @@ -32,6 +32,7 @@ func (h *Handler) CreateToken(ctx context.Context) (*tokenproto.Token, error) { TokenID: h.TokenID, Owner: h.Owner, URI: h.URI, + URIState: h.URIState, URIType: h.URIType, ImageURL: h.ImageURL, VideoURL: h.VideoURL, diff --git a/nft-meta/pkg/mw/v1/token/handler.go b/nft-meta/pkg/mw/v1/token/handler.go index 6ef75911..0aeae6c9 100644 --- a/nft-meta/pkg/mw/v1/token/handler.go +++ b/nft-meta/pkg/mw/v1/token/handler.go @@ -24,6 +24,7 @@ type Handler struct { TokenID *string Owner *string URI *string + URIState *basetype.TokenURIState URIType *string ImageURL *string VideoURL *string @@ -170,6 +171,23 @@ func WithURI(u *string, must bool) func(context.Context, *Handler) error { return nil } } + +func WithURIState(u *basetype.TokenURIState, must bool) func(context.Context, *Handler) error { + return func(ctx context.Context, h *Handler) error { + if u == nil { + if must { + return fmt.Errorf("invalid uristate") + } + return nil + } + if _, ok := basetype.TokenURIState_name[int32(*u)]; !ok { + return fmt.Errorf("invalid uristate field") + } + h.URIState = u + return nil + } +} + func WithURIType(u *string, must bool) func(context.Context, *Handler) error { return func(ctx context.Context, h *Handler) error { if u == nil { @@ -335,6 +353,12 @@ func WithReqs(reqs []*tokenproto.TokenReq, must bool) func(context.Context, *Han if req.URI != nil { _req.URI = req.URI } + if req.URIState != nil { + if _, ok := basetype.TokenURIState_name[int32(*req.URIState)]; !ok { + return fmt.Errorf("invalid uristate field") + } + _req.URIState = req.URIState + } if req.URIType != nil { _req.URIType = req.URIType } @@ -454,6 +478,12 @@ func WithConds(conds *tokenproto.Conds) func(context.Context, *Handler) error { Val: conds.GetURI().GetValue(), } } + if conds.URIState != nil { + h.Conds.URIState = &cruder.Cond{ + Op: conds.GetURIState().GetOp(), + Val: basetype.TokenURIState(conds.GetURIState().GetValue()), + } + } if conds.URIType != nil { h.Conds.URIType = &cruder.Cond{ Op: conds.GetURIType().GetOp(), diff --git a/nft-meta/pkg/mw/v1/token/query.go b/nft-meta/pkg/mw/v1/token/query.go index 314084df..e9076023 100644 --- a/nft-meta/pkg/mw/v1/token/query.go +++ b/nft-meta/pkg/mw/v1/token/query.go @@ -31,6 +31,7 @@ func (h *queryHandler) selectToken(stm *ent.TokenQuery) { tokenent.FieldTokenID, tokenent.FieldOwner, tokenent.FieldURI, + tokenent.FieldURIState, tokenent.FieldURIType, tokenent.FieldImageURL, tokenent.FieldVideoURL, @@ -50,6 +51,7 @@ func (h *queryHandler) formalize() { for _, info := range h.infos { info.ChainType = basetype.ChainType(basetype.ChainType_value[info.ChainTypeStr]) info.TokenType = basetype.TokenType(basetype.TokenType_value[info.TokenTypeStr]) + info.URIState = basetype.TokenURIState(basetype.TokenURIState_value[info.URIStateStr]) info.VectorState = tokenproto.ConvertState(tokenproto.ConvertState_value[info.VectorStateStr]) } } diff --git a/nft-meta/pkg/mw/v1/token/token_test.go b/nft-meta/pkg/mw/v1/token/token_test.go index 8e82b32a..4ddc573a 100644 --- a/nft-meta/pkg/mw/v1/token/token_test.go +++ b/nft-meta/pkg/mw/v1/token/token_test.go @@ -32,6 +32,7 @@ var ret = &tokenproto.Token{ TokenID: "test_token", Owner: "test_token", URI: "test_token", + URIState: basetype.TokenURIState_TokenURIFinish, URIType: "test_token", ImageURL: "test_token", VideoURL: "test_token", @@ -52,6 +53,7 @@ var req = &tokenproto.TokenReq{ TokenID: &ret.TokenID, Owner: &ret.Owner, URI: &ret.URI, + URIState: &ret.URIState, URIType: &ret.URIType, ImageURL: &ret.ImageURL, VideoURL: &ret.VideoURL, @@ -74,6 +76,7 @@ func create(t *testing.T) { WithTokenID(req.TokenID, true), WithOwner(req.Owner, true), WithURI(req.URI, true), + WithURIState(req.URIState, true), WithURIType(req.URIType, true), WithImageURL(req.ImageURL, true), WithVideoURL(req.VideoURL, true), @@ -114,6 +117,7 @@ func update(t *testing.T) { assert.Equal(t, info.IPFSImageURL, req.GetIPFSImageURL()) assert.Equal(t, info.ChainTypeStr, req.ChainType.String()) assert.Equal(t, info.TokenTypeStr, req.TokenType.String()) + assert.Equal(t, info.URIStateStr, req.URIState.String()) assert.Equal(t, info.VectorStateStr, req.VectorState.String()) } } @@ -149,6 +153,7 @@ func upsert(t *testing.T) { WithTokenID(&tokenid, true), WithOwner(req.Owner, true), WithURI(req.URI, true), + WithURIState(req.URIState, true), WithURIType(req.URIType, true), WithImageURL(req.ImageURL, true), WithVideoURL(req.VideoURL, true), diff --git a/nft-meta/pkg/mw/v1/token/update.go b/nft-meta/pkg/mw/v1/token/update.go index 6612c5f2..d7655eaa 100644 --- a/nft-meta/pkg/mw/v1/token/update.go +++ b/nft-meta/pkg/mw/v1/token/update.go @@ -38,6 +38,7 @@ func (h *Handler) UpdateToken(ctx context.Context) (*tokenproto.Token, error) { TokenID: h.TokenID, Owner: h.Owner, URI: h.URI, + URIState: h.URIState, URIType: h.URIType, ImageURL: h.ImageURL, VideoURL: h.VideoURL, diff --git a/nft-meta/pkg/mw/v1/token/upsert.go b/nft-meta/pkg/mw/v1/token/upsert.go index ed71fd5f..e7b2e817 100644 --- a/nft-meta/pkg/mw/v1/token/upsert.go +++ b/nft-meta/pkg/mw/v1/token/upsert.go @@ -29,6 +29,7 @@ func (h *Handler) UpsertToken(ctx context.Context) (*tokenproto.Token, error) { TokenID: h.TokenID, Owner: h.Owner, URI: h.URI, + URIState: h.URIState, URIType: h.URIType, ImageURL: h.ImageURL, VideoURL: h.VideoURL, @@ -59,6 +60,7 @@ func (h *Handler) UpsertToken(ctx context.Context) (*tokenproto.Token, error) { TokenID: h.TokenID, Owner: h.Owner, URI: h.URI, + URIState: h.URIState, URIType: h.URIType, ImageURL: h.ImageURL, VideoURL: h.VideoURL, diff --git a/proto/web3eye/basetype/v1/chain.pb.go b/proto/web3eye/basetype/v1/chain.pb.go index ef0fbb13..2d93b2dd 100644 --- a/proto/web3eye/basetype/v1/chain.pb.go +++ b/proto/web3eye/basetype/v1/chain.pb.go @@ -395,6 +395,61 @@ func (EndpointState) EnumDescriptor() ([]byte, []int) { return file_web3eye_basetype_v1_chain_proto_rawDescGZIP(), []int{6} } +type TokenURIState int32 + +const ( + TokenURIState_TokenURIDefault TokenURIState = 0 + TokenURIState_TokenURIFinish TokenURIState = 10 + TokenURIState_TokenURIIncomplete TokenURIState = 20 + TokenURIState_TokenURIUnsupport TokenURIState = 30 + TokenURIState_TokenURIError TokenURIState = 40 +) + +// Enum value maps for TokenURIState. +var ( + TokenURIState_name = map[int32]string{ + 0: "TokenURIDefault", + 10: "TokenURIFinish", + 20: "TokenURIIncomplete", + 30: "TokenURIUnsupport", + 40: "TokenURIError", + } + TokenURIState_value = map[string]int32{ + "TokenURIDefault": 0, + "TokenURIFinish": 10, + "TokenURIIncomplete": 20, + "TokenURIUnsupport": 30, + "TokenURIError": 40, + } +) + +func (x TokenURIState) Enum() *TokenURIState { + p := new(TokenURIState) + *p = x + return p +} + +func (x TokenURIState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TokenURIState) Descriptor() protoreflect.EnumDescriptor { + return file_web3eye_basetype_v1_chain_proto_enumTypes[7].Descriptor() +} + +func (TokenURIState) Type() protoreflect.EnumType { + return &file_web3eye_basetype_v1_chain_proto_enumTypes[7] +} + +func (x TokenURIState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use TokenURIState.Descriptor instead. +func (TokenURIState) EnumDescriptor() ([]byte, []int) { + return file_web3eye_basetype_v1_chain_proto_rawDescGZIP(), []int{7} +} + var File_web3eye_basetype_v1_chain_proto protoreflect.FileDescriptor var file_web3eye_basetype_v1_chain_proto_rawDesc = []byte{ @@ -440,11 +495,19 @@ var file_web3eye_basetype_v1_chain_proto_rawDesc = []byte{ 0x41, 0x76, 0x61, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x0a, 0x12, 0x14, 0x0a, 0x10, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x55, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x14, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x10, 0x28, 0x42, 0x39, 0x5a, 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2d, 0x69, 0x6f, 0x2f, 0x57, 0x65, - 0x62, 0x33, 0x45, 0x79, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x77, 0x65, 0x62, 0x33, - 0x65, 0x79, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x72, 0x10, 0x28, 0x2a, 0x7a, 0x0a, 0x0d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x55, 0x52, 0x49, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x55, 0x52, + 0x49, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x55, 0x52, 0x49, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x10, 0x0a, 0x12, 0x16, + 0x0a, 0x12, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x55, 0x52, 0x49, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x10, 0x14, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x55, + 0x52, 0x49, 0x55, 0x6e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x10, 0x1e, 0x12, 0x11, 0x0a, + 0x0d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x55, 0x52, 0x49, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x28, + 0x42, 0x39, 0x5a, 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, + 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2d, 0x69, 0x6f, 0x2f, 0x57, 0x65, 0x62, 0x33, 0x45, 0x79, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2f, + 0x62, 0x61, 0x73, 0x65, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -459,7 +522,7 @@ func file_web3eye_basetype_v1_chain_proto_rawDescGZIP() []byte { return file_web3eye_basetype_v1_chain_proto_rawDescData } -var file_web3eye_basetype_v1_chain_proto_enumTypes = make([]protoimpl.EnumInfo, 7) +var file_web3eye_basetype_v1_chain_proto_enumTypes = make([]protoimpl.EnumInfo, 8) var file_web3eye_basetype_v1_chain_proto_goTypes = []interface{}{ (ChainType)(0), // 0: chain.ChainType (TokenType)(0), // 1: chain.TokenType @@ -468,6 +531,7 @@ var file_web3eye_basetype_v1_chain_proto_goTypes = []interface{}{ (OrderItemType)(0), // 4: chain.OrderItemType (SyncState)(0), // 5: chain.SyncState (EndpointState)(0), // 6: chain.EndpointState + (TokenURIState)(0), // 7: chain.TokenURIState } var file_web3eye_basetype_v1_chain_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type @@ -487,7 +551,7 @@ func file_web3eye_basetype_v1_chain_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_web3eye_basetype_v1_chain_proto_rawDesc, - NumEnums: 7, + NumEnums: 8, NumMessages: 0, NumExtensions: 0, NumServices: 0, diff --git a/proto/web3eye/basetype/v1/chain.proto b/proto/web3eye/basetype/v1/chain.proto index 83ff6b4b..4e360a48 100644 --- a/proto/web3eye/basetype/v1/chain.proto +++ b/proto/web3eye/basetype/v1/chain.proto @@ -57,4 +57,12 @@ enum EndpointState { EndpointAvaliable = 10; EndpointUnstable = 20; EndpointError = 40; +} + +enum TokenURIState { + TokenURIDefault = 0; + TokenURIFinish = 10; + TokenURIIncomplete = 20; + TokenURIUnsupport = 30; + TokenURIError = 40; } \ No newline at end of file diff --git a/proto/web3eye/entrance/v1/token/token.swagger.json b/proto/web3eye/entrance/v1/token/token.swagger.json index 4dee6b91..2311d5f3 100644 --- a/proto/web3eye/entrance/v1/token/token.swagger.json +++ b/proto/web3eye/entrance/v1/token/token.swagger.json @@ -106,6 +106,17 @@ ], "default": "TokenUnkonwn" }, + "chainTokenURIState": { + "type": "string", + "enum": [ + "TokenURIDefault", + "TokenURIFinish", + "TokenURIIncomplete", + "TokenURIUnsupport", + "TokenURIError" + ], + "default": "TokenURIDefault" + }, "protobufAny": { "type": "object", "properties": { @@ -237,6 +248,9 @@ "URI": { "type": "string" }, + "URIState": { + "$ref": "#/definitions/chainTokenURIState" + }, "URIType": { "type": "string" }, @@ -352,6 +366,13 @@ "type": "string", "title": "@inject_tag: sql:\"uri\"" }, + "URIStateStr": { + "type": "string", + "title": "@inject_tag: sql:\"uri_state\"" + }, + "URIState": { + "$ref": "#/definitions/chainTokenURIState" + }, "URIType": { "type": "string", "title": "@inject_tag: sql:\"uri_type\"" diff --git a/proto/web3eye/nftmeta/v1/token/token.pb.go b/proto/web3eye/nftmeta/v1/token/token.pb.go index 4bf2ec95..1f440820 100644 --- a/proto/web3eye/nftmeta/v1/token/token.pb.go +++ b/proto/web3eye/nftmeta/v1/token/token.pb.go @@ -87,25 +87,26 @@ type TokenReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID *uint32 `protobuf:"varint,10,opt,name=ID,proto3,oneof" json:"ID,omitempty"` - EntID *string `protobuf:"bytes,11,opt,name=EntID,proto3,oneof" json:"EntID,omitempty"` - ChainType *v1.ChainType `protobuf:"varint,20,opt,name=ChainType,proto3,enum=chain.ChainType,oneof" json:"ChainType,omitempty"` - ChainID *string `protobuf:"bytes,30,opt,name=ChainID,proto3,oneof" json:"ChainID,omitempty"` - Contract *string `protobuf:"bytes,40,opt,name=Contract,proto3,oneof" json:"Contract,omitempty"` - TokenType *v1.TokenType `protobuf:"varint,50,opt,name=TokenType,proto3,enum=chain.TokenType,oneof" json:"TokenType,omitempty"` - TokenID *string `protobuf:"bytes,60,opt,name=TokenID,proto3,oneof" json:"TokenID,omitempty"` - Owner *string `protobuf:"bytes,70,opt,name=Owner,proto3,oneof" json:"Owner,omitempty"` - URI *string `protobuf:"bytes,80,opt,name=URI,proto3,oneof" json:"URI,omitempty"` - URIType *string `protobuf:"bytes,90,opt,name=URIType,proto3,oneof" json:"URIType,omitempty"` - ImageURL *string `protobuf:"bytes,100,opt,name=ImageURL,proto3,oneof" json:"ImageURL,omitempty"` - VideoURL *string `protobuf:"bytes,110,opt,name=VideoURL,proto3,oneof" json:"VideoURL,omitempty"` - Name *string `protobuf:"bytes,120,opt,name=Name,proto3,oneof" json:"Name,omitempty"` - Description *string `protobuf:"bytes,130,opt,name=Description,proto3,oneof" json:"Description,omitempty"` - VectorState *ConvertState `protobuf:"varint,140,opt,name=VectorState,proto3,enum=nftmeta.v1.token.ConvertState,oneof" json:"VectorState,omitempty"` - VectorID *int64 `protobuf:"varint,150,opt,name=VectorID,proto3,oneof" json:"VectorID,omitempty"` - Remark *string `protobuf:"bytes,160,opt,name=Remark,proto3,oneof" json:"Remark,omitempty"` - IPFSImageURL *string `protobuf:"bytes,170,opt,name=IPFSImageURL,proto3,oneof" json:"IPFSImageURL,omitempty"` - ImageSnapshotID *uint32 `protobuf:"varint,180,opt,name=ImageSnapshotID,proto3,oneof" json:"ImageSnapshotID,omitempty"` + ID *uint32 `protobuf:"varint,10,opt,name=ID,proto3,oneof" json:"ID,omitempty"` + EntID *string `protobuf:"bytes,11,opt,name=EntID,proto3,oneof" json:"EntID,omitempty"` + ChainType *v1.ChainType `protobuf:"varint,20,opt,name=ChainType,proto3,enum=chain.ChainType,oneof" json:"ChainType,omitempty"` + ChainID *string `protobuf:"bytes,30,opt,name=ChainID,proto3,oneof" json:"ChainID,omitempty"` + Contract *string `protobuf:"bytes,40,opt,name=Contract,proto3,oneof" json:"Contract,omitempty"` + TokenType *v1.TokenType `protobuf:"varint,50,opt,name=TokenType,proto3,enum=chain.TokenType,oneof" json:"TokenType,omitempty"` + TokenID *string `protobuf:"bytes,60,opt,name=TokenID,proto3,oneof" json:"TokenID,omitempty"` + Owner *string `protobuf:"bytes,70,opt,name=Owner,proto3,oneof" json:"Owner,omitempty"` + URI *string `protobuf:"bytes,80,opt,name=URI,proto3,oneof" json:"URI,omitempty"` + URIState *v1.TokenURIState `protobuf:"varint,81,opt,name=URIState,proto3,enum=chain.TokenURIState,oneof" json:"URIState,omitempty"` + URIType *string `protobuf:"bytes,90,opt,name=URIType,proto3,oneof" json:"URIType,omitempty"` + ImageURL *string `protobuf:"bytes,100,opt,name=ImageURL,proto3,oneof" json:"ImageURL,omitempty"` + VideoURL *string `protobuf:"bytes,110,opt,name=VideoURL,proto3,oneof" json:"VideoURL,omitempty"` + Name *string `protobuf:"bytes,120,opt,name=Name,proto3,oneof" json:"Name,omitempty"` + Description *string `protobuf:"bytes,130,opt,name=Description,proto3,oneof" json:"Description,omitempty"` + VectorState *ConvertState `protobuf:"varint,140,opt,name=VectorState,proto3,enum=nftmeta.v1.token.ConvertState,oneof" json:"VectorState,omitempty"` + VectorID *int64 `protobuf:"varint,150,opt,name=VectorID,proto3,oneof" json:"VectorID,omitempty"` + Remark *string `protobuf:"bytes,160,opt,name=Remark,proto3,oneof" json:"Remark,omitempty"` + IPFSImageURL *string `protobuf:"bytes,170,opt,name=IPFSImageURL,proto3,oneof" json:"IPFSImageURL,omitempty"` + ImageSnapshotID *uint32 `protobuf:"varint,180,opt,name=ImageSnapshotID,proto3,oneof" json:"ImageSnapshotID,omitempty"` } func (x *TokenReq) Reset() { @@ -203,6 +204,13 @@ func (x *TokenReq) GetURI() string { return "" } +func (x *TokenReq) GetURIState() v1.TokenURIState { + if x != nil && x.URIState != nil { + return *x.URIState + } + return v1.TokenURIState(0) +} + func (x *TokenReq) GetURIType() string { if x != nil && x.URIType != nil { return *x.URIType @@ -298,6 +306,9 @@ type Token struct { Owner string `protobuf:"bytes,70,opt,name=Owner,proto3" json:"Owner,omitempty" sql:"owner"` // @inject_tag: sql:"uri" URI string `protobuf:"bytes,80,opt,name=URI,proto3" json:"URI,omitempty" sql:"uri"` + // @inject_tag: sql:"uri_state" + URIStateStr string `protobuf:"bytes,81,opt,name=URIStateStr,proto3" json:"URIStateStr,omitempty" sql:"uri_state"` + URIState v1.TokenURIState `protobuf:"varint,82,opt,name=URIState,proto3,enum=chain.TokenURIState" json:"URIState,omitempty"` // @inject_tag: sql:"uri_type" URIType string `protobuf:"bytes,90,opt,name=URIType,proto3" json:"URIType,omitempty" sql:"uri_type"` // @inject_tag: sql:"image_url" @@ -434,6 +445,20 @@ func (x *Token) GetURI() string { return "" } +func (x *Token) GetURIStateStr() string { + if x != nil { + return x.URIStateStr + } + return "" +} + +func (x *Token) GetURIState() v1.TokenURIState { + if x != nil { + return x.URIState + } + return v1.TokenURIState(0) +} + func (x *Token) GetURIType() string { if x != nil { return x.URIType @@ -539,6 +564,7 @@ type Conds struct { TokenID *web3eye.StringVal `protobuf:"bytes,60,opt,name=TokenID,proto3" json:"TokenID,omitempty"` Owner *web3eye.StringVal `protobuf:"bytes,70,opt,name=Owner,proto3" json:"Owner,omitempty"` URI *web3eye.StringVal `protobuf:"bytes,80,opt,name=URI,proto3" json:"URI,omitempty"` + URIState *web3eye.Uint32Val `protobuf:"bytes,81,opt,name=URIState,proto3" json:"URIState,omitempty"` URIType *web3eye.StringVal `protobuf:"bytes,90,opt,name=URIType,proto3" json:"URIType,omitempty"` ImageURL *web3eye.StringVal `protobuf:"bytes,100,opt,name=ImageURL,proto3" json:"ImageURL,omitempty"` VideoURL *web3eye.StringVal `protobuf:"bytes,110,opt,name=VideoURL,proto3" json:"VideoURL,omitempty"` @@ -648,6 +674,13 @@ func (x *Conds) GetURI() *web3eye.StringVal { return nil } +func (x *Conds) GetURIState() *web3eye.Uint32Val { + if x != nil { + return x.URIState + } + return nil +} + func (x *Conds) GetURIType() *web3eye.StringVal { if x != nil { return x.URIType @@ -1817,7 +1850,7 @@ var file_web3eye_nftmeta_v1_token_token_proto_rawDesc = []byte{ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2f, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x74, 0x79, 0x70, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa9, + 0x76, 0x31, 0x2f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xed, 0x07, 0x0a, 0x08, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x13, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x02, 0x49, 0x44, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, @@ -1837,331 +1870,344 @@ var file_web3eye_nftmeta_v1_token_token_proto_rawDesc = []byte{ 0x44, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x46, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x05, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x55, 0x52, 0x49, 0x18, 0x50, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x03, - 0x55, 0x52, 0x49, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x55, 0x52, 0x49, 0x54, 0x79, 0x70, - 0x65, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x07, 0x55, 0x52, 0x49, 0x54, 0x79, - 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, - 0x4c, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x55, 0x52, 0x4c, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x55, - 0x52, 0x4c, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x08, 0x56, 0x69, 0x64, 0x65, - 0x6f, 0x55, 0x52, 0x4c, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x78, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x26, 0x0a, 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x82, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x0b, 0x56, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, - 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x0e, - 0x52, 0x0b, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x20, 0x0a, 0x08, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x18, 0x96, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x48, 0x0f, 0x52, 0x08, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x88, - 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0xa0, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x10, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x88, 0x01, 0x01, - 0x12, 0x28, 0x0a, 0x0c, 0x49, 0x50, 0x46, 0x53, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, - 0x18, 0xaa, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x11, 0x52, 0x0c, 0x49, 0x50, 0x46, 0x53, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x49, 0x6d, - 0x61, 0x67, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x44, 0x18, 0xb4, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x48, 0x12, 0x52, 0x0f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x44, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x49, - 0x44, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x45, 0x6e, 0x74, 0x49, 0x44, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, - 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x43, 0x68, - 0x61, 0x69, 0x6e, 0x49, 0x44, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x44, 0x42, 0x08, 0x0a, 0x06, - 0x5f, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x55, 0x52, 0x49, 0x42, 0x0a, - 0x0a, 0x08, 0x5f, 0x55, 0x52, 0x49, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x56, 0x69, 0x64, 0x65, - 0x6f, 0x55, 0x52, 0x4c, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x0e, 0x0a, - 0x0c, 0x5f, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, - 0x0c, 0x5f, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x0b, 0x0a, - 0x09, 0x5f, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x52, - 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x49, 0x50, 0x46, 0x53, 0x49, 0x6d, - 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x44, 0x22, 0x86, 0x06, 0x0a, 0x05, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x02, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x68, - 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x72, 0x12, 0x2e, - 0x0a, 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x10, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x53, 0x74, 0x72, 0x18, 0x32, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x72, 0x12, 0x2e, 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x49, 0x44, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x46, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x52, 0x49, 0x18, - 0x50, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x55, 0x52, 0x49, 0x12, 0x18, 0x0a, 0x07, 0x55, 0x52, - 0x49, 0x54, 0x79, 0x70, 0x65, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x55, 0x52, 0x49, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, - 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, - 0x12, 0x1a, 0x0a, 0x08, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x55, 0x52, 0x4c, 0x18, 0x6e, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x55, 0x52, 0x4c, 0x12, 0x20, 0x0a, 0x0b, - 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x78, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x13, - 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x82, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x53, 0x74, 0x72, 0x18, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x56, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x12, 0x41, 0x0a, 0x0b, - 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x8d, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x52, 0x0b, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x1b, 0x0a, 0x08, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x18, 0x96, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x08, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x12, 0x17, 0x0a, 0x06, - 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, - 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x23, 0x0a, 0x0c, 0x49, 0x50, 0x46, 0x53, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x55, 0x52, 0x4c, 0x18, 0xaa, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x49, 0x50, - 0x46, 0x53, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x29, 0x0a, 0x0f, 0x49, 0x6d, - 0x61, 0x67, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x44, 0x18, 0xb4, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x49, 0x44, 0x12, 0x1d, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x18, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, - 0x74, 0x18, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x22, 0xf7, 0x07, 0x0a, 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x22, 0x0a, - 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, - 0x65, 0x79, 0x65, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x52, 0x02, 0x49, - 0x44, 0x12, 0x28, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x56, 0x61, 0x6c, 0x52, 0x05, 0x45, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x30, 0x0a, 0x09, 0x43, - 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, - 0x61, 0x6c, 0x52, 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, - 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, - 0x61, 0x6c, 0x52, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x2e, 0x0a, 0x08, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, - 0x6c, 0x52, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x30, 0x0a, 0x09, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, - 0x61, 0x6c, 0x52, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, - 0x07, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, - 0x61, 0x6c, 0x52, 0x07, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x05, 0x4f, - 0x77, 0x6e, 0x65, 0x72, 0x18, 0x46, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, - 0x33, 0x65, 0x79, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x52, 0x05, - 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x03, 0x55, 0x52, 0x49, 0x18, 0x50, 0x20, 0x01, + 0x55, 0x52, 0x49, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x08, 0x55, 0x52, 0x49, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x51, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x55, 0x52, 0x49, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x09, + 0x52, 0x08, 0x55, 0x52, 0x49, 0x53, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, + 0x07, 0x55, 0x52, 0x49, 0x54, 0x79, 0x70, 0x65, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, + 0x52, 0x07, 0x55, 0x52, 0x49, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, + 0x52, 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, + 0x08, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x55, 0x52, 0x4c, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x0c, 0x52, 0x08, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x55, 0x52, 0x4c, 0x88, 0x01, 0x01, 0x12, 0x17, + 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x78, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x04, + 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x82, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, + 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x46, 0x0a, 0x0b, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x8c, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, + 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x0f, 0x52, 0x0b, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x08, 0x56, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x49, 0x44, 0x18, 0x96, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x10, 0x52, 0x08, 0x56, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x06, 0x52, 0x65, 0x6d, + 0x61, 0x72, 0x6b, 0x18, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x11, 0x52, 0x06, 0x52, 0x65, + 0x6d, 0x61, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0c, 0x49, 0x50, 0x46, 0x53, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x18, 0xaa, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x12, + 0x52, 0x0c, 0x49, 0x50, 0x46, 0x53, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x88, 0x01, + 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x49, 0x44, 0x18, 0xb4, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x13, 0x52, 0x0f, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x44, 0x88, 0x01, + 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x49, 0x44, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x45, 0x6e, 0x74, + 0x49, 0x44, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x42, 0x0b, 0x0a, 0x09, + 0x5f, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x49, 0x44, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x42, 0x06, 0x0a, + 0x04, 0x5f, 0x55, 0x52, 0x49, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x55, 0x52, 0x49, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x55, 0x52, 0x49, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0b, + 0x0a, 0x09, 0x5f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x42, 0x0b, 0x0a, 0x09, 0x5f, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x55, 0x52, 0x4c, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x4e, 0x61, 0x6d, + 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x49, 0x50, + 0x46, 0x53, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x44, 0x22, 0xda, + 0x06, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x49, + 0x44, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x22, + 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x72, 0x18, 0x14, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x53, + 0x74, 0x72, 0x12, 0x2e, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x15, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x68, + 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x18, 0x1e, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x72, 0x18, 0x32, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x72, 0x12, 0x2e, 0x0a, 0x09, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x10, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x18, + 0x46, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, + 0x55, 0x52, 0x49, 0x18, 0x50, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x55, 0x52, 0x49, 0x12, 0x20, + 0x0a, 0x0b, 0x55, 0x52, 0x49, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x18, 0x51, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x55, 0x52, 0x49, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, + 0x12, 0x30, 0x0a, 0x08, 0x55, 0x52, 0x49, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x52, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x55, 0x52, 0x49, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x08, 0x55, 0x52, 0x49, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x55, 0x52, 0x49, 0x54, 0x79, 0x70, 0x65, 0x18, 0x5a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x55, 0x52, 0x49, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x1a, 0x0a, 0x08, 0x56, 0x69, 0x64, 0x65, + 0x6f, 0x55, 0x52, 0x4c, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x56, 0x69, 0x64, 0x65, + 0x6f, 0x55, 0x52, 0x4c, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x78, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x13, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x82, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0e, 0x56, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x18, 0x8c, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x53, 0x74, 0x72, 0x12, 0x41, 0x0a, 0x0b, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x8d, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x6e, 0x66, 0x74, + 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x43, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x56, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x56, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x49, 0x44, 0x18, 0x96, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x56, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x49, 0x44, 0x12, 0x17, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0xa0, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x23, 0x0a, + 0x0c, 0x49, 0x50, 0x46, 0x53, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x18, 0xaa, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x49, 0x50, 0x46, 0x53, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, + 0x52, 0x4c, 0x12, 0x29, 0x0a, 0x0f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x49, 0x44, 0x18, 0xb4, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x44, 0x12, 0x1d, 0x0a, + 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0xbe, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x09, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0xa7, 0x08, 0x0a, 0x05, + 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x55, 0x69, 0x6e, 0x74, + 0x33, 0x32, 0x56, 0x61, 0x6c, 0x52, 0x02, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x05, 0x45, 0x6e, 0x74, + 0x49, 0x44, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, + 0x79, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x52, 0x05, 0x45, 0x6e, + 0x74, 0x49, 0x44, 0x12, 0x30, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, + 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x52, 0x09, 0x43, 0x68, 0x61, 0x69, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, + 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x52, 0x07, 0x43, 0x68, 0x61, 0x69, + 0x6e, 0x49, 0x44, 0x12, 0x2e, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, + 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x52, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x12, 0x30, 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, + 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x52, 0x09, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x07, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x44, + 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x52, 0x07, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x05, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x46, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x52, 0x03, 0x55, 0x52, 0x49, 0x12, 0x2c, 0x0a, 0x07, 0x55, - 0x52, 0x49, 0x54, 0x79, 0x70, 0x65, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, - 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, - 0x52, 0x07, 0x55, 0x52, 0x49, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, - 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x52, - 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x2e, 0x0a, 0x08, 0x56, 0x69, 0x64, - 0x65, 0x6f, 0x55, 0x52, 0x4c, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, - 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x52, - 0x08, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x55, 0x52, 0x4c, 0x12, 0x34, 0x0a, 0x0b, 0x44, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x78, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, - 0x61, 0x6c, 0x52, 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x27, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x82, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, - 0x61, 0x6c, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x56, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, - 0x61, 0x6c, 0x52, 0x0b, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x2e, 0x0a, 0x08, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x18, 0x96, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x49, 0x6e, 0x74, - 0x36, 0x34, 0x56, 0x61, 0x6c, 0x52, 0x08, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x12, - 0x2b, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x56, 0x61, 0x6c, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x37, 0x0a, 0x0c, - 0x49, 0x50, 0x46, 0x53, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x18, 0xaa, 0x01, 0x20, + 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x52, 0x05, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x24, 0x0a, + 0x03, 0x55, 0x52, 0x49, 0x18, 0x50, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, + 0x33, 0x65, 0x79, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x52, 0x03, + 0x55, 0x52, 0x49, 0x12, 0x2e, 0x0a, 0x08, 0x55, 0x52, 0x49, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x51, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, + 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x52, 0x08, 0x55, 0x52, 0x49, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x07, 0x55, 0x52, 0x49, 0x54, 0x79, 0x70, 0x65, 0x18, 0x5a, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x52, 0x07, 0x55, 0x52, 0x49, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x52, 0x0c, 0x49, 0x50, 0x46, 0x53, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x3d, 0x0a, 0x0f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x44, 0x18, 0xb4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, - 0x56, 0x61, 0x6c, 0x52, 0x0f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x49, 0x44, 0x12, 0x30, 0x0a, 0x06, 0x45, 0x6e, 0x74, 0x49, 0x44, 0x73, 0x18, 0xbe, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, - 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x56, 0x61, 0x6c, 0x52, 0x06, - 0x45, 0x6e, 0x74, 0x49, 0x44, 0x73, 0x12, 0x35, 0x0a, 0x09, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x49, 0x44, 0x73, 0x18, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x77, 0x65, 0x62, - 0x33, 0x65, 0x79, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x56, - 0x61, 0x6c, 0x52, 0x09, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x73, 0x22, 0x44, 0x0a, - 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x52, 0x04, 0x49, - 0x6e, 0x66, 0x6f, 0x22, 0x42, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x49, 0x6e, - 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, - 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x44, 0x0a, 0x12, 0x55, 0x70, 0x73, 0x65, 0x72, - 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, - 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x66, - 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x42, 0x0a, - 0x13, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x04, 0x49, 0x6e, 0x66, - 0x6f, 0x22, 0x47, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x05, 0x49, 0x6e, 0x66, 0x6f, - 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, - 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x52, 0x65, 0x71, 0x52, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0x45, 0x0a, 0x14, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x05, 0x49, 0x6e, 0x66, 0x6f, - 0x73, 0x22, 0x21, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x02, 0x49, 0x44, 0x22, 0x3f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, - 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, - 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x6f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x43, 0x6f, 0x6e, - 0x64, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, - 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x64, - 0x73, 0x52, 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x66, 0x66, 0x73, - 0x65, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, - 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x58, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x49, - 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x52, 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, + 0x4c, 0x12, 0x2e, 0x0a, 0x08, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x55, 0x52, 0x4c, 0x18, 0x6e, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x52, 0x08, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x55, 0x52, + 0x4c, 0x12, 0x34, 0x0a, 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x78, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x52, 0x0b, 0x44, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x82, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x35, 0x0a, 0x0b, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x8c, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, + 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x52, 0x0b, 0x56, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x56, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x49, 0x44, 0x18, 0x96, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x62, + 0x33, 0x65, 0x79, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x52, 0x08, 0x56, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x12, 0x2b, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, + 0x6b, 0x18, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, + 0x79, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x52, 0x06, 0x52, 0x65, + 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x37, 0x0a, 0x0c, 0x49, 0x50, 0x46, 0x53, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x55, 0x52, 0x4c, 0x18, 0xaa, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, + 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x52, + 0x0c, 0x49, 0x50, 0x46, 0x53, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x3d, 0x0a, + 0x0f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x44, + 0x18, 0xb4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, + 0x65, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x52, 0x0f, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x44, 0x12, 0x30, 0x0a, 0x06, + 0x45, 0x6e, 0x74, 0x49, 0x44, 0x73, 0x18, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x6c, + 0x69, 0x63, 0x65, 0x56, 0x61, 0x6c, 0x52, 0x06, 0x45, 0x6e, 0x74, 0x49, 0x44, 0x73, 0x12, 0x35, + 0x0a, 0x09, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x73, 0x18, 0xc8, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x49, 0x6e, 0x74, + 0x36, 0x34, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x56, 0x61, 0x6c, 0x52, 0x09, 0x56, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x49, 0x44, 0x73, 0x22, 0x44, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x49, + 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x66, 0x74, 0x6d, + 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x52, 0x65, 0x71, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x42, 0x0a, 0x13, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, + 0x44, 0x0a, 0x12, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, + 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x52, + 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x42, 0x0a, 0x13, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, + 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x52, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, - 0x74, 0x61, 0x6c, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, - 0x22, 0x44, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, - 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, - 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x43, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, - 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, - 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x44, 0x0a, 0x12, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x6b, 0x65, 0x6e, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x47, 0x0a, 0x13, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x30, 0x0a, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x52, 0x04, 0x49, 0x6e, 0x66, - 0x6f, 0x22, 0x42, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, - 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, - 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x60, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x45, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x56, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x18, 0x14, 0x20, 0x03, 0x28, 0x02, 0x52, 0x06, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, - 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0x48, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, + 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x52, 0x05, 0x49, 0x6e, 0x66, + 0x6f, 0x73, 0x22, 0x45, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x49, 0x6e, + 0x66, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, 0x6d, + 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x52, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0x21, 0x0a, 0x0f, 0x47, 0x65, 0x74, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, + 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x22, 0x3f, 0x0a, 0x10, + 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x2b, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x6f, 0x0a, + 0x10, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, + 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x58, + 0x0a, 0x11, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x04, 0x49, 0x6e, 0x66, - 0x6f, 0x22, 0x23, 0x0a, 0x11, 0x45, 0x78, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x22, 0x2a, 0x0a, 0x12, 0x45, 0x78, 0x69, 0x73, 0x74, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x45, 0x78, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x45, 0x78, 0x69, - 0x73, 0x74, 0x22, 0x47, 0x0a, 0x16, 0x45, 0x78, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x05, - 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, - 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x43, - 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x2f, 0x0a, 0x17, 0x45, - 0x78, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x78, 0x69, 0x73, 0x74, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x45, 0x78, 0x69, 0x73, 0x74, 0x22, 0x24, 0x0a, 0x12, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, - 0x49, 0x44, 0x22, 0x42, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x49, 0x6e, 0x66, - 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, - 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x2a, 0x5c, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x0a, - 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x10, 0x14, - 0x12, 0x09, 0x0a, 0x05, 0x50, 0x61, 0x75, 0x73, 0x65, 0x10, 0x1e, 0x12, 0x0b, 0x0a, 0x07, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x28, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x61, 0x69, 0x6c, - 0x65, 0x64, 0x10, 0x32, 0x32, 0xe1, 0x08, 0x0a, 0x07, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x12, 0x5c, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, - 0x24, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, - 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, - 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x25, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x05, 0x49, 0x6e, 0x66, + 0x6f, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x14, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x44, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x2d, 0x0a, 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, - 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x5c, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x24, + 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x43, + 0x0a, 0x14, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, + 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x04, 0x49, + 0x6e, 0x66, 0x6f, 0x22, 0x44, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x49, 0x6e, 0x66, + 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, + 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x52, 0x65, 0x71, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x42, 0x0a, 0x13, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x2b, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, - 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, - 0x0b, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x24, 0x2e, 0x6e, - 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, - 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x90, 0x01, 0x0a, 0x11, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x12, 0x2a, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, + 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x60, 0x0a, + 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x6e, 0x74, + 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, 0x6e, 0x74, 0x49, 0x44, 0x12, + 0x16, 0x0a, 0x06, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x14, 0x20, 0x03, 0x28, 0x02, 0x52, + 0x06, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, + 0x6b, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x22, + 0x48, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, + 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, + 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x23, 0x0a, 0x11, 0x45, 0x78, 0x69, + 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x22, 0x2a, + 0x0a, 0x12, 0x45, 0x78, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x78, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x05, 0x45, 0x78, 0x69, 0x73, 0x74, 0x22, 0x47, 0x0a, 0x16, 0x45, 0x78, + 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, + 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x05, 0x43, 0x6f, + 0x6e, 0x64, 0x73, 0x22, 0x2f, 0x0a, 0x17, 0x45, 0x78, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x45, 0x78, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x45, + 0x78, 0x69, 0x73, 0x74, 0x22, 0x24, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x22, 0x42, 0x0a, 0x13, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x2a, 0x5c, + 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, + 0x0a, 0x07, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x57, + 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x0a, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x10, 0x14, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x61, 0x75, 0x73, + 0x65, 0x10, 0x1e, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x28, + 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x32, 0x32, 0xe1, 0x08, 0x0a, + 0x07, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x5c, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x24, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, + 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x1c, 0x3a, 0x01, 0x2a, 0x22, 0x17, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x53, - 0x0a, 0x08, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x21, 0x2e, 0x6e, 0x66, 0x74, - 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, - 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x25, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, + 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4f, - 0x6e, 0x6c, 0x79, 0x12, 0x25, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, - 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4f, - 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6e, 0x66, 0x74, - 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, - 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x73, 0x12, 0x22, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x24, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, + 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6e, + 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x0b, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x24, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, + 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6e, 0x66, 0x74, + 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x55, 0x70, + 0x73, 0x65, 0x72, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x90, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x6e, 0x66, 0x74, 0x6d, + 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, + 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x3a, 0x01, 0x2a, 0x22, 0x17, 0x2f, + 0x76, 0x31, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2f, + 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x53, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x12, 0x21, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x19, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x13, 0x3a, 0x01, 0x2a, 0x22, 0x0e, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x65, 0x74, 0x2f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x59, 0x0a, 0x0a, 0x45, 0x78, 0x69, 0x73, 0x74, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x12, 0x23, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, - 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, - 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x45, 0x78, 0x69, 0x73, - 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x68, 0x0a, 0x0f, 0x45, 0x78, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, - 0x6e, 0x64, 0x73, 0x12, 0x28, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, - 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x0c, 0x47, + 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x25, 0x2e, 0x6e, 0x66, + 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, + 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4f, 0x6e, + 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x09, + 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x22, 0x2e, 0x6e, 0x66, 0x74, 0x6d, + 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x0b, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x24, 0x2e, 0x6e, 0x66, 0x74, 0x6d, - 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x25, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x3e, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2d, 0x69, - 0x6f, 0x2f, 0x57, 0x65, 0x62, 0x33, 0x45, 0x79, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, - 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2f, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2f, - 0x76, 0x31, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x3a, 0x01, 0x2a, 0x22, 0x0e, 0x2f, + 0x76, 0x31, 0x2f, 0x67, 0x65, 0x74, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x59, 0x0a, + 0x0a, 0x45, 0x78, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x23, 0x2e, 0x6e, 0x66, + 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x45, + 0x78, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x24, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x68, 0x0a, 0x0f, 0x45, 0x78, 0x69, 0x73, + 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x28, 0x2e, 0x6e, 0x66, + 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x45, + 0x78, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, + 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x24, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, + 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x42, 0x3e, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, + 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2d, 0x69, 0x6f, 0x2f, 0x57, 0x65, 0x62, 0x33, 0x45, 0x79, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2f, + 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2207,83 +2253,87 @@ var file_web3eye_nftmeta_v1_token_token_proto_goTypes = []interface{}{ (*DeleteTokenResponse)(nil), // 25: nftmeta.v1.token.DeleteTokenResponse (v1.ChainType)(0), // 26: chain.ChainType (v1.TokenType)(0), // 27: chain.TokenType - (*web3eye.Uint32Val)(nil), // 28: web3eye.Uint32Val - (*web3eye.StringVal)(nil), // 29: web3eye.StringVal - (*web3eye.Int64Val)(nil), // 30: web3eye.Int64Val - (*web3eye.StringSliceVal)(nil), // 31: web3eye.StringSliceVal - (*web3eye.Int64SliceVal)(nil), // 32: web3eye.Int64SliceVal + (v1.TokenURIState)(0), // 28: chain.TokenURIState + (*web3eye.Uint32Val)(nil), // 29: web3eye.Uint32Val + (*web3eye.StringVal)(nil), // 30: web3eye.StringVal + (*web3eye.Int64Val)(nil), // 31: web3eye.Int64Val + (*web3eye.StringSliceVal)(nil), // 32: web3eye.StringSliceVal + (*web3eye.Int64SliceVal)(nil), // 33: web3eye.Int64SliceVal } var file_web3eye_nftmeta_v1_token_token_proto_depIdxs = []int32{ 26, // 0: nftmeta.v1.token.TokenReq.ChainType:type_name -> chain.ChainType 27, // 1: nftmeta.v1.token.TokenReq.TokenType:type_name -> chain.TokenType - 0, // 2: nftmeta.v1.token.TokenReq.VectorState:type_name -> nftmeta.v1.token.ConvertState - 26, // 3: nftmeta.v1.token.Token.ChainType:type_name -> chain.ChainType - 27, // 4: nftmeta.v1.token.Token.TokenType:type_name -> chain.TokenType - 0, // 5: nftmeta.v1.token.Token.VectorState:type_name -> nftmeta.v1.token.ConvertState - 28, // 6: nftmeta.v1.token.Conds.ID:type_name -> web3eye.Uint32Val - 29, // 7: nftmeta.v1.token.Conds.EntID:type_name -> web3eye.StringVal - 28, // 8: nftmeta.v1.token.Conds.ChainType:type_name -> web3eye.Uint32Val - 29, // 9: nftmeta.v1.token.Conds.ChainID:type_name -> web3eye.StringVal - 29, // 10: nftmeta.v1.token.Conds.Contract:type_name -> web3eye.StringVal - 28, // 11: nftmeta.v1.token.Conds.TokenType:type_name -> web3eye.Uint32Val - 29, // 12: nftmeta.v1.token.Conds.TokenID:type_name -> web3eye.StringVal - 29, // 13: nftmeta.v1.token.Conds.Owner:type_name -> web3eye.StringVal - 29, // 14: nftmeta.v1.token.Conds.URI:type_name -> web3eye.StringVal - 29, // 15: nftmeta.v1.token.Conds.URIType:type_name -> web3eye.StringVal - 29, // 16: nftmeta.v1.token.Conds.ImageURL:type_name -> web3eye.StringVal - 29, // 17: nftmeta.v1.token.Conds.VideoURL:type_name -> web3eye.StringVal - 29, // 18: nftmeta.v1.token.Conds.Description:type_name -> web3eye.StringVal - 29, // 19: nftmeta.v1.token.Conds.Name:type_name -> web3eye.StringVal - 28, // 20: nftmeta.v1.token.Conds.VectorState:type_name -> web3eye.Uint32Val - 30, // 21: nftmeta.v1.token.Conds.VectorID:type_name -> web3eye.Int64Val - 29, // 22: nftmeta.v1.token.Conds.Remark:type_name -> web3eye.StringVal - 29, // 23: nftmeta.v1.token.Conds.IPFSImageURL:type_name -> web3eye.StringVal - 28, // 24: nftmeta.v1.token.Conds.ImageSnapshotID:type_name -> web3eye.Uint32Val - 31, // 25: nftmeta.v1.token.Conds.EntIDs:type_name -> web3eye.StringSliceVal - 32, // 26: nftmeta.v1.token.Conds.VectorIDs:type_name -> web3eye.Int64SliceVal - 1, // 27: nftmeta.v1.token.CreateTokenRequest.Info:type_name -> nftmeta.v1.token.TokenReq - 2, // 28: nftmeta.v1.token.CreateTokenResponse.Info:type_name -> nftmeta.v1.token.Token - 1, // 29: nftmeta.v1.token.UpsertTokenRequest.Info:type_name -> nftmeta.v1.token.TokenReq - 2, // 30: nftmeta.v1.token.UpsertTokenResponse.Info:type_name -> nftmeta.v1.token.Token - 1, // 31: nftmeta.v1.token.CreateTokensRequest.Infos:type_name -> nftmeta.v1.token.TokenReq - 2, // 32: nftmeta.v1.token.CreateTokensResponse.Infos:type_name -> nftmeta.v1.token.Token - 2, // 33: nftmeta.v1.token.GetTokenResponse.Info:type_name -> nftmeta.v1.token.Token - 3, // 34: nftmeta.v1.token.GetTokensRequest.Conds:type_name -> nftmeta.v1.token.Conds - 2, // 35: nftmeta.v1.token.GetTokensResponse.Infos:type_name -> nftmeta.v1.token.Token - 3, // 36: nftmeta.v1.token.GetTokenOnlyRequest.Conds:type_name -> nftmeta.v1.token.Conds - 2, // 37: nftmeta.v1.token.GetTokenOnlyResponse.Info:type_name -> nftmeta.v1.token.Token - 1, // 38: nftmeta.v1.token.UpdateTokenRequest.Info:type_name -> nftmeta.v1.token.TokenReq - 2, // 39: nftmeta.v1.token.UpdateTokenResponse.Info:type_name -> nftmeta.v1.token.Token - 2, // 40: nftmeta.v1.token.UpdateImageVectorResponse.Info:type_name -> nftmeta.v1.token.Token - 3, // 41: nftmeta.v1.token.ExistTokenCondsRequest.Conds:type_name -> nftmeta.v1.token.Conds - 2, // 42: nftmeta.v1.token.DeleteTokenResponse.Info:type_name -> nftmeta.v1.token.Token - 4, // 43: nftmeta.v1.token.Manager.CreateToken:input_type -> nftmeta.v1.token.CreateTokenRequest - 8, // 44: nftmeta.v1.token.Manager.CreateTokens:input_type -> nftmeta.v1.token.CreateTokensRequest - 16, // 45: nftmeta.v1.token.Manager.UpdateToken:input_type -> nftmeta.v1.token.UpdateTokenRequest - 6, // 46: nftmeta.v1.token.Manager.UpsertToken:input_type -> nftmeta.v1.token.UpsertTokenRequest - 18, // 47: nftmeta.v1.token.Manager.UpdateImageVector:input_type -> nftmeta.v1.token.UpdateImageVectorRequest - 10, // 48: nftmeta.v1.token.Manager.GetToken:input_type -> nftmeta.v1.token.GetTokenRequest - 14, // 49: nftmeta.v1.token.Manager.GetTokenOnly:input_type -> nftmeta.v1.token.GetTokenOnlyRequest - 12, // 50: nftmeta.v1.token.Manager.GetTokens:input_type -> nftmeta.v1.token.GetTokensRequest - 20, // 51: nftmeta.v1.token.Manager.ExistToken:input_type -> nftmeta.v1.token.ExistTokenRequest - 22, // 52: nftmeta.v1.token.Manager.ExistTokenConds:input_type -> nftmeta.v1.token.ExistTokenCondsRequest - 24, // 53: nftmeta.v1.token.Manager.DeleteToken:input_type -> nftmeta.v1.token.DeleteTokenRequest - 5, // 54: nftmeta.v1.token.Manager.CreateToken:output_type -> nftmeta.v1.token.CreateTokenResponse - 9, // 55: nftmeta.v1.token.Manager.CreateTokens:output_type -> nftmeta.v1.token.CreateTokensResponse - 17, // 56: nftmeta.v1.token.Manager.UpdateToken:output_type -> nftmeta.v1.token.UpdateTokenResponse - 7, // 57: nftmeta.v1.token.Manager.UpsertToken:output_type -> nftmeta.v1.token.UpsertTokenResponse - 19, // 58: nftmeta.v1.token.Manager.UpdateImageVector:output_type -> nftmeta.v1.token.UpdateImageVectorResponse - 11, // 59: nftmeta.v1.token.Manager.GetToken:output_type -> nftmeta.v1.token.GetTokenResponse - 15, // 60: nftmeta.v1.token.Manager.GetTokenOnly:output_type -> nftmeta.v1.token.GetTokenOnlyResponse - 13, // 61: nftmeta.v1.token.Manager.GetTokens:output_type -> nftmeta.v1.token.GetTokensResponse - 21, // 62: nftmeta.v1.token.Manager.ExistToken:output_type -> nftmeta.v1.token.ExistTokenResponse - 23, // 63: nftmeta.v1.token.Manager.ExistTokenConds:output_type -> nftmeta.v1.token.ExistTokenCondsResponse - 25, // 64: nftmeta.v1.token.Manager.DeleteToken:output_type -> nftmeta.v1.token.DeleteTokenResponse - 54, // [54:65] is the sub-list for method output_type - 43, // [43:54] is the sub-list for method input_type - 43, // [43:43] is the sub-list for extension type_name - 43, // [43:43] is the sub-list for extension extendee - 0, // [0:43] is the sub-list for field type_name + 28, // 2: nftmeta.v1.token.TokenReq.URIState:type_name -> chain.TokenURIState + 0, // 3: nftmeta.v1.token.TokenReq.VectorState:type_name -> nftmeta.v1.token.ConvertState + 26, // 4: nftmeta.v1.token.Token.ChainType:type_name -> chain.ChainType + 27, // 5: nftmeta.v1.token.Token.TokenType:type_name -> chain.TokenType + 28, // 6: nftmeta.v1.token.Token.URIState:type_name -> chain.TokenURIState + 0, // 7: nftmeta.v1.token.Token.VectorState:type_name -> nftmeta.v1.token.ConvertState + 29, // 8: nftmeta.v1.token.Conds.ID:type_name -> web3eye.Uint32Val + 30, // 9: nftmeta.v1.token.Conds.EntID:type_name -> web3eye.StringVal + 29, // 10: nftmeta.v1.token.Conds.ChainType:type_name -> web3eye.Uint32Val + 30, // 11: nftmeta.v1.token.Conds.ChainID:type_name -> web3eye.StringVal + 30, // 12: nftmeta.v1.token.Conds.Contract:type_name -> web3eye.StringVal + 29, // 13: nftmeta.v1.token.Conds.TokenType:type_name -> web3eye.Uint32Val + 30, // 14: nftmeta.v1.token.Conds.TokenID:type_name -> web3eye.StringVal + 30, // 15: nftmeta.v1.token.Conds.Owner:type_name -> web3eye.StringVal + 30, // 16: nftmeta.v1.token.Conds.URI:type_name -> web3eye.StringVal + 29, // 17: nftmeta.v1.token.Conds.URIState:type_name -> web3eye.Uint32Val + 30, // 18: nftmeta.v1.token.Conds.URIType:type_name -> web3eye.StringVal + 30, // 19: nftmeta.v1.token.Conds.ImageURL:type_name -> web3eye.StringVal + 30, // 20: nftmeta.v1.token.Conds.VideoURL:type_name -> web3eye.StringVal + 30, // 21: nftmeta.v1.token.Conds.Description:type_name -> web3eye.StringVal + 30, // 22: nftmeta.v1.token.Conds.Name:type_name -> web3eye.StringVal + 29, // 23: nftmeta.v1.token.Conds.VectorState:type_name -> web3eye.Uint32Val + 31, // 24: nftmeta.v1.token.Conds.VectorID:type_name -> web3eye.Int64Val + 30, // 25: nftmeta.v1.token.Conds.Remark:type_name -> web3eye.StringVal + 30, // 26: nftmeta.v1.token.Conds.IPFSImageURL:type_name -> web3eye.StringVal + 29, // 27: nftmeta.v1.token.Conds.ImageSnapshotID:type_name -> web3eye.Uint32Val + 32, // 28: nftmeta.v1.token.Conds.EntIDs:type_name -> web3eye.StringSliceVal + 33, // 29: nftmeta.v1.token.Conds.VectorIDs:type_name -> web3eye.Int64SliceVal + 1, // 30: nftmeta.v1.token.CreateTokenRequest.Info:type_name -> nftmeta.v1.token.TokenReq + 2, // 31: nftmeta.v1.token.CreateTokenResponse.Info:type_name -> nftmeta.v1.token.Token + 1, // 32: nftmeta.v1.token.UpsertTokenRequest.Info:type_name -> nftmeta.v1.token.TokenReq + 2, // 33: nftmeta.v1.token.UpsertTokenResponse.Info:type_name -> nftmeta.v1.token.Token + 1, // 34: nftmeta.v1.token.CreateTokensRequest.Infos:type_name -> nftmeta.v1.token.TokenReq + 2, // 35: nftmeta.v1.token.CreateTokensResponse.Infos:type_name -> nftmeta.v1.token.Token + 2, // 36: nftmeta.v1.token.GetTokenResponse.Info:type_name -> nftmeta.v1.token.Token + 3, // 37: nftmeta.v1.token.GetTokensRequest.Conds:type_name -> nftmeta.v1.token.Conds + 2, // 38: nftmeta.v1.token.GetTokensResponse.Infos:type_name -> nftmeta.v1.token.Token + 3, // 39: nftmeta.v1.token.GetTokenOnlyRequest.Conds:type_name -> nftmeta.v1.token.Conds + 2, // 40: nftmeta.v1.token.GetTokenOnlyResponse.Info:type_name -> nftmeta.v1.token.Token + 1, // 41: nftmeta.v1.token.UpdateTokenRequest.Info:type_name -> nftmeta.v1.token.TokenReq + 2, // 42: nftmeta.v1.token.UpdateTokenResponse.Info:type_name -> nftmeta.v1.token.Token + 2, // 43: nftmeta.v1.token.UpdateImageVectorResponse.Info:type_name -> nftmeta.v1.token.Token + 3, // 44: nftmeta.v1.token.ExistTokenCondsRequest.Conds:type_name -> nftmeta.v1.token.Conds + 2, // 45: nftmeta.v1.token.DeleteTokenResponse.Info:type_name -> nftmeta.v1.token.Token + 4, // 46: nftmeta.v1.token.Manager.CreateToken:input_type -> nftmeta.v1.token.CreateTokenRequest + 8, // 47: nftmeta.v1.token.Manager.CreateTokens:input_type -> nftmeta.v1.token.CreateTokensRequest + 16, // 48: nftmeta.v1.token.Manager.UpdateToken:input_type -> nftmeta.v1.token.UpdateTokenRequest + 6, // 49: nftmeta.v1.token.Manager.UpsertToken:input_type -> nftmeta.v1.token.UpsertTokenRequest + 18, // 50: nftmeta.v1.token.Manager.UpdateImageVector:input_type -> nftmeta.v1.token.UpdateImageVectorRequest + 10, // 51: nftmeta.v1.token.Manager.GetToken:input_type -> nftmeta.v1.token.GetTokenRequest + 14, // 52: nftmeta.v1.token.Manager.GetTokenOnly:input_type -> nftmeta.v1.token.GetTokenOnlyRequest + 12, // 53: nftmeta.v1.token.Manager.GetTokens:input_type -> nftmeta.v1.token.GetTokensRequest + 20, // 54: nftmeta.v1.token.Manager.ExistToken:input_type -> nftmeta.v1.token.ExistTokenRequest + 22, // 55: nftmeta.v1.token.Manager.ExistTokenConds:input_type -> nftmeta.v1.token.ExistTokenCondsRequest + 24, // 56: nftmeta.v1.token.Manager.DeleteToken:input_type -> nftmeta.v1.token.DeleteTokenRequest + 5, // 57: nftmeta.v1.token.Manager.CreateToken:output_type -> nftmeta.v1.token.CreateTokenResponse + 9, // 58: nftmeta.v1.token.Manager.CreateTokens:output_type -> nftmeta.v1.token.CreateTokensResponse + 17, // 59: nftmeta.v1.token.Manager.UpdateToken:output_type -> nftmeta.v1.token.UpdateTokenResponse + 7, // 60: nftmeta.v1.token.Manager.UpsertToken:output_type -> nftmeta.v1.token.UpsertTokenResponse + 19, // 61: nftmeta.v1.token.Manager.UpdateImageVector:output_type -> nftmeta.v1.token.UpdateImageVectorResponse + 11, // 62: nftmeta.v1.token.Manager.GetToken:output_type -> nftmeta.v1.token.GetTokenResponse + 15, // 63: nftmeta.v1.token.Manager.GetTokenOnly:output_type -> nftmeta.v1.token.GetTokenOnlyResponse + 13, // 64: nftmeta.v1.token.Manager.GetTokens:output_type -> nftmeta.v1.token.GetTokensResponse + 21, // 65: nftmeta.v1.token.Manager.ExistToken:output_type -> nftmeta.v1.token.ExistTokenResponse + 23, // 66: nftmeta.v1.token.Manager.ExistTokenConds:output_type -> nftmeta.v1.token.ExistTokenCondsResponse + 25, // 67: nftmeta.v1.token.Manager.DeleteToken:output_type -> nftmeta.v1.token.DeleteTokenResponse + 57, // [57:68] is the sub-list for method output_type + 46, // [46:57] is the sub-list for method input_type + 46, // [46:46] is the sub-list for extension type_name + 46, // [46:46] is the sub-list for extension extendee + 0, // [0:46] is the sub-list for field type_name } func init() { file_web3eye_nftmeta_v1_token_token_proto_init() } diff --git a/proto/web3eye/nftmeta/v1/token/token.proto b/proto/web3eye/nftmeta/v1/token/token.proto index 9830cefd..9f6fdc6f 100644 --- a/proto/web3eye/nftmeta/v1/token/token.proto +++ b/proto/web3eye/nftmeta/v1/token/token.proto @@ -52,6 +52,7 @@ message TokenReq { optional string TokenID = 60; optional string Owner = 70; optional string URI = 80; + optional chain.TokenURIState URIState = 81; optional string URIType = 90; optional string ImageURL = 100; optional string VideoURL = 110; @@ -85,6 +86,9 @@ message Token { string Owner = 70; // @inject_tag: sql:"uri" string URI = 80; + // @inject_tag: sql:"uri_state" + string URIStateStr = 81; + chain.TokenURIState URIState = 82; // @inject_tag: sql:"uri_type" string URIType = 90; // @inject_tag: sql:"image_url" @@ -122,6 +126,7 @@ message Conds { web3eye.StringVal TokenID = 60; web3eye.StringVal Owner = 70; web3eye.StringVal URI = 80; + web3eye.Uint32Val URIState = 81; web3eye.StringVal URIType = 90; web3eye.StringVal ImageURL = 100; web3eye.StringVal VideoURL = 110; diff --git a/proto/web3eye/nftmeta/v1/token/token.swagger.json b/proto/web3eye/nftmeta/v1/token/token.swagger.json index 372e84d7..ac1733bf 100644 --- a/proto/web3eye/nftmeta/v1/token/token.swagger.json +++ b/proto/web3eye/nftmeta/v1/token/token.swagger.json @@ -106,6 +106,17 @@ ], "default": "TokenUnkonwn" }, + "chainTokenURIState": { + "type": "string", + "enum": [ + "TokenURIDefault", + "TokenURIFinish", + "TokenURIIncomplete", + "TokenURIUnsupport", + "TokenURIError" + ], + "default": "TokenURIDefault" + }, "protobufAny": { "type": "object", "properties": { @@ -163,6 +174,9 @@ "URI": { "$ref": "#/definitions/web3eyeStringVal" }, + "URIState": { + "$ref": "#/definitions/web3eyeUint32Val" + }, "URIType": { "$ref": "#/definitions/web3eyeStringVal" }, @@ -350,6 +364,13 @@ "type": "string", "title": "@inject_tag: sql:\"uri\"" }, + "URIStateStr": { + "type": "string", + "title": "@inject_tag: sql:\"uri_state\"" + }, + "URIState": { + "$ref": "#/definitions/chainTokenURIState" + }, "URIType": { "type": "string", "title": "@inject_tag: sql:\"uri_type\"" @@ -438,6 +459,9 @@ "URI": { "type": "string" }, + "URIState": { + "$ref": "#/definitions/chainTokenURIState" + }, "URIType": { "type": "string" }, diff --git a/proto/web3eye/ranker/v1/token/token.pb.go b/proto/web3eye/ranker/v1/token/token.pb.go index deb37ebd..0b8829c3 100644 --- a/proto/web3eye/ranker/v1/token/token.pb.go +++ b/proto/web3eye/ranker/v1/token/token.pb.go @@ -108,6 +108,7 @@ type SearchToken struct { TokenID string `protobuf:"bytes,60,opt,name=TokenID,proto3" json:"TokenID,omitempty"` Owner string `protobuf:"bytes,70,opt,name=Owner,proto3" json:"Owner,omitempty"` URI string `protobuf:"bytes,80,opt,name=URI,proto3" json:"URI,omitempty"` + URIState v1.TokenURIState `protobuf:"varint,81,opt,name=URIState,proto3,enum=chain.TokenURIState" json:"URIState,omitempty"` URIType string `protobuf:"bytes,90,opt,name=URIType,proto3" json:"URIType,omitempty"` ImageURL string `protobuf:"bytes,100,opt,name=ImageURL,proto3" json:"ImageURL,omitempty"` VideoURL string `protobuf:"bytes,110,opt,name=VideoURL,proto3" json:"VideoURL,omitempty"` @@ -219,6 +220,13 @@ func (x *SearchToken) GetURI() string { return "" } +func (x *SearchToken) GetURIState() v1.TokenURIState { + if x != nil { + return x.URIState + } + return v1.TokenURIState(0) +} + func (x *SearchToken) GetURIType() string { if x != nil { return x.URIType @@ -532,7 +540,7 @@ var file_web3eye_ranker_v1_token_token_proto_rawDesc = []byte{ 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x22, 0x0a, 0x0c, 0x49, 0x50, 0x46, 0x53, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x49, 0x50, 0x46, 0x53, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x22, 0x88, 0x06, + 0x0c, 0x49, 0x50, 0x46, 0x53, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x22, 0xba, 0x06, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, 0x6e, @@ -549,92 +557,95 @@ var file_web3eye_ranker_v1_token_token_proto_rawDesc = []byte{ 0x65, 0x6e, 0x49, 0x44, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x46, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x52, 0x49, - 0x18, 0x50, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x55, 0x52, 0x49, 0x12, 0x18, 0x0a, 0x07, 0x55, - 0x52, 0x49, 0x54, 0x79, 0x70, 0x65, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x55, 0x52, - 0x49, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, - 0x4c, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, - 0x4c, 0x12, 0x1a, 0x0a, 0x08, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x55, 0x52, 0x4c, 0x18, 0x6e, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x55, 0x52, 0x4c, 0x12, 0x20, 0x0a, - 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x78, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x13, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x82, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x0b, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x18, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x6e, 0x66, 0x74, - 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x43, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x56, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x56, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x49, 0x44, 0x18, 0x96, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x56, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x49, 0x44, 0x12, 0x17, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0xa0, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x23, 0x0a, - 0x0c, 0x49, 0x50, 0x46, 0x53, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x18, 0xaa, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x49, 0x50, 0x46, 0x53, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, - 0x52, 0x4c, 0x12, 0x29, 0x0a, 0x0f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x49, 0x44, 0x18, 0xb4, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x49, 0x6d, - 0x61, 0x67, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x44, 0x12, 0x23, 0x0a, - 0x0c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x4e, 0x75, 0x6d, 0x18, 0xbe, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x4e, - 0x75, 0x6d, 0x12, 0x44, 0x0a, 0x0d, 0x53, 0x69, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x73, 0x18, 0x90, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x72, 0x61, 0x6e, - 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x53, 0x69, 0x62, - 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x0d, 0x53, 0x69, 0x62, 0x6c, 0x69, - 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0b, 0x53, 0x69, 0x62, 0x6c, - 0x69, 0x6e, 0x67, 0x73, 0x4e, 0x75, 0x6d, 0x18, 0x9a, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, - 0x53, 0x69, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x73, 0x4e, 0x75, 0x6d, 0x12, 0x1b, 0x0a, 0x08, 0x44, - 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0xf4, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, - 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x42, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, - 0x0a, 0x06, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x02, 0x52, 0x06, - 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, - 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x47, 0x0a, 0x11, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4b, 0x65, - 0x79, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x04, 0x50, 0x61, 0x67, 0x65, 0x22, 0xba, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x49, 0x6e, 0x66, 0x6f, - 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x1e, 0x0a, 0x0a, - 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, - 0x50, 0x61, 0x67, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x50, 0x61, 0x67, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x50, 0x61, 0x67, 0x65, 0x73, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x05, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, - 0x32, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x32, 0xbe, 0x03, 0x0a, 0x07, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x53, - 0x0a, 0x08, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x21, 0x2e, 0x6e, 0x66, 0x74, - 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, - 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, - 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4f, - 0x6e, 0x6c, 0x79, 0x12, 0x25, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, - 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4f, - 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6e, 0x66, 0x74, - 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, - 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x73, 0x12, 0x22, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, - 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x06, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x23, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x72, 0x61, - 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x53, - 0x0a, 0x0a, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x61, 0x67, 0x65, 0x12, 0x22, 0x2e, 0x72, + 0x18, 0x50, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x55, 0x52, 0x49, 0x12, 0x30, 0x0a, 0x08, 0x55, + 0x52, 0x49, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x51, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x55, 0x52, 0x49, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x52, 0x08, 0x55, 0x52, 0x49, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x55, 0x52, 0x49, 0x54, 0x79, 0x70, 0x65, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x55, 0x52, 0x49, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x55, 0x52, 0x4c, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x55, 0x52, 0x4c, 0x12, 0x1a, 0x0a, 0x08, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x55, 0x52, 0x4c, 0x18, + 0x6e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x55, 0x52, 0x4c, 0x12, + 0x20, 0x0a, 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x78, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x13, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x82, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x0b, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x6e, + 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, + 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x56, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x56, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x49, 0x44, 0x18, 0x96, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x56, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x12, 0x17, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, + 0x18, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, + 0x23, 0x0a, 0x0c, 0x49, 0x50, 0x46, 0x53, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x18, + 0xaa, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x49, 0x50, 0x46, 0x53, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x55, 0x52, 0x4c, 0x12, 0x29, 0x0a, 0x0f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x44, 0x18, 0xb4, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x44, 0x12, + 0x23, 0x0a, 0x0c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x4e, 0x75, 0x6d, 0x18, + 0xbe, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, + 0x73, 0x4e, 0x75, 0x6d, 0x12, 0x44, 0x0a, 0x0d, 0x53, 0x69, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x90, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1f, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x42, 0x3d, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2d, 0x69, 0x6f, 0x2f, 0x57, 0x65, 0x62, - 0x33, 0x45, 0x79, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x77, 0x65, 0x62, 0x33, 0x65, - 0x79, 0x65, 0x2f, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x0d, 0x53, 0x69, 0x62, + 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0b, 0x53, 0x69, + 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x73, 0x4e, 0x75, 0x6d, 0x18, 0x9a, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0b, 0x53, 0x69, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x73, 0x4e, 0x75, 0x6d, 0x12, 0x1b, 0x0a, + 0x08, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0xf4, 0x03, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x08, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x42, 0x0a, 0x12, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x02, + 0x52, 0x06, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x47, + 0x0a, 0x11, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4b, 0x65, + 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x04, 0x50, 0x61, 0x67, 0x65, 0x22, 0xba, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x49, 0x6e, + 0x66, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x61, 0x6e, 0x6b, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x1e, + 0x0a, 0x0a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x14, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x12, + 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x50, 0x61, + 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x61, 0x67, 0x65, 0x73, 0x18, 0x28, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x05, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x74, 0x61, + 0x6c, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x14, + 0x0a, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x32, 0xbe, 0x03, 0x0a, 0x07, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x12, 0x53, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x21, 0x2e, 0x6e, + 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, + 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x22, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x25, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, + 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6e, + 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, + 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x73, 0x12, 0x22, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, + 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, + 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, + 0x0a, 0x06, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x23, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, + 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x53, 0x0a, 0x0a, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x61, 0x67, 0x65, 0x12, 0x22, + 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x3d, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2d, 0x69, 0x6f, 0x2f, 0x57, + 0x65, 0x62, 0x33, 0x45, 0x79, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x77, 0x65, 0x62, + 0x33, 0x65, 0x79, 0x65, 0x2f, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -658,35 +669,37 @@ var file_web3eye_ranker_v1_token_token_proto_goTypes = []interface{}{ (*SearchResponse)(nil), // 4: ranker.v1.token.SearchResponse (v1.ChainType)(0), // 5: chain.ChainType (v1.TokenType)(0), // 6: chain.TokenType - (token.ConvertState)(0), // 7: nftmeta.v1.token.ConvertState - (*token.GetTokenRequest)(nil), // 8: nftmeta.v1.token.GetTokenRequest - (*token.GetTokenOnlyRequest)(nil), // 9: nftmeta.v1.token.GetTokenOnlyRequest - (*token.GetTokensRequest)(nil), // 10: nftmeta.v1.token.GetTokensRequest - (*token.GetTokenResponse)(nil), // 11: nftmeta.v1.token.GetTokenResponse - (*token.GetTokenOnlyResponse)(nil), // 12: nftmeta.v1.token.GetTokenOnlyResponse - (*token.GetTokensResponse)(nil), // 13: nftmeta.v1.token.GetTokensResponse + (v1.TokenURIState)(0), // 7: chain.TokenURIState + (token.ConvertState)(0), // 8: nftmeta.v1.token.ConvertState + (*token.GetTokenRequest)(nil), // 9: nftmeta.v1.token.GetTokenRequest + (*token.GetTokenOnlyRequest)(nil), // 10: nftmeta.v1.token.GetTokenOnlyRequest + (*token.GetTokensRequest)(nil), // 11: nftmeta.v1.token.GetTokensRequest + (*token.GetTokenResponse)(nil), // 12: nftmeta.v1.token.GetTokenResponse + (*token.GetTokenOnlyResponse)(nil), // 13: nftmeta.v1.token.GetTokenOnlyResponse + (*token.GetTokensResponse)(nil), // 14: nftmeta.v1.token.GetTokensResponse } var file_web3eye_ranker_v1_token_token_proto_depIdxs = []int32{ 5, // 0: ranker.v1.token.SearchToken.ChainType:type_name -> chain.ChainType 6, // 1: ranker.v1.token.SearchToken.TokenType:type_name -> chain.TokenType - 7, // 2: ranker.v1.token.SearchToken.VectorState:type_name -> nftmeta.v1.token.ConvertState - 0, // 3: ranker.v1.token.SearchToken.SiblingTokens:type_name -> ranker.v1.token.SiblingToken - 1, // 4: ranker.v1.token.SearchResponse.Infos:type_name -> ranker.v1.token.SearchToken - 8, // 5: ranker.v1.token.Manager.GetToken:input_type -> nftmeta.v1.token.GetTokenRequest - 9, // 6: ranker.v1.token.Manager.GetTokenOnly:input_type -> nftmeta.v1.token.GetTokenOnlyRequest - 10, // 7: ranker.v1.token.Manager.GetTokens:input_type -> nftmeta.v1.token.GetTokensRequest - 2, // 8: ranker.v1.token.Manager.Search:input_type -> ranker.v1.token.SearchTokenRequest - 3, // 9: ranker.v1.token.Manager.SearchPage:input_type -> ranker.v1.token.SearchPageRequest - 11, // 10: ranker.v1.token.Manager.GetToken:output_type -> nftmeta.v1.token.GetTokenResponse - 12, // 11: ranker.v1.token.Manager.GetTokenOnly:output_type -> nftmeta.v1.token.GetTokenOnlyResponse - 13, // 12: ranker.v1.token.Manager.GetTokens:output_type -> nftmeta.v1.token.GetTokensResponse - 4, // 13: ranker.v1.token.Manager.Search:output_type -> ranker.v1.token.SearchResponse - 4, // 14: ranker.v1.token.Manager.SearchPage:output_type -> ranker.v1.token.SearchResponse - 10, // [10:15] is the sub-list for method output_type - 5, // [5:10] is the sub-list for method input_type - 5, // [5:5] is the sub-list for extension type_name - 5, // [5:5] is the sub-list for extension extendee - 0, // [0:5] is the sub-list for field type_name + 7, // 2: ranker.v1.token.SearchToken.URIState:type_name -> chain.TokenURIState + 8, // 3: ranker.v1.token.SearchToken.VectorState:type_name -> nftmeta.v1.token.ConvertState + 0, // 4: ranker.v1.token.SearchToken.SiblingTokens:type_name -> ranker.v1.token.SiblingToken + 1, // 5: ranker.v1.token.SearchResponse.Infos:type_name -> ranker.v1.token.SearchToken + 9, // 6: ranker.v1.token.Manager.GetToken:input_type -> nftmeta.v1.token.GetTokenRequest + 10, // 7: ranker.v1.token.Manager.GetTokenOnly:input_type -> nftmeta.v1.token.GetTokenOnlyRequest + 11, // 8: ranker.v1.token.Manager.GetTokens:input_type -> nftmeta.v1.token.GetTokensRequest + 2, // 9: ranker.v1.token.Manager.Search:input_type -> ranker.v1.token.SearchTokenRequest + 3, // 10: ranker.v1.token.Manager.SearchPage:input_type -> ranker.v1.token.SearchPageRequest + 12, // 11: ranker.v1.token.Manager.GetToken:output_type -> nftmeta.v1.token.GetTokenResponse + 13, // 12: ranker.v1.token.Manager.GetTokenOnly:output_type -> nftmeta.v1.token.GetTokenOnlyResponse + 14, // 13: ranker.v1.token.Manager.GetTokens:output_type -> nftmeta.v1.token.GetTokensResponse + 4, // 14: ranker.v1.token.Manager.Search:output_type -> ranker.v1.token.SearchResponse + 4, // 15: ranker.v1.token.Manager.SearchPage:output_type -> ranker.v1.token.SearchResponse + 11, // [11:16] is the sub-list for method output_type + 6, // [6:11] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name } func init() { file_web3eye_ranker_v1_token_token_proto_init() } diff --git a/proto/web3eye/ranker/v1/token/token.proto b/proto/web3eye/ranker/v1/token/token.proto index 68cfec12..7b56f57a 100644 --- a/proto/web3eye/ranker/v1/token/token.proto +++ b/proto/web3eye/ranker/v1/token/token.proto @@ -32,6 +32,7 @@ message SearchToken{ string TokenID = 60; string Owner = 70; string URI = 80; + chain.TokenURIState URIState = 81; string URIType = 90; string ImageURL = 100; string VideoURL = 110; diff --git a/proto/web3eye/ranker/v1/token/token.swagger.json b/proto/web3eye/ranker/v1/token/token.swagger.json index 721248ea..898aa0c2 100644 --- a/proto/web3eye/ranker/v1/token/token.swagger.json +++ b/proto/web3eye/ranker/v1/token/token.swagger.json @@ -41,6 +41,17 @@ ], "default": "TokenUnkonwn" }, + "chainTokenURIState": { + "type": "string", + "enum": [ + "TokenURIDefault", + "TokenURIFinish", + "TokenURIIncomplete", + "TokenURIUnsupport", + "TokenURIError" + ], + "default": "TokenURIDefault" + }, "protobufAny": { "type": "object", "properties": { @@ -98,6 +109,9 @@ "URI": { "$ref": "#/definitions/web3eyeStringVal" }, + "URIState": { + "$ref": "#/definitions/web3eyeUint32Val" + }, "URIType": { "$ref": "#/definitions/web3eyeStringVal" }, @@ -242,6 +256,9 @@ "URI": { "type": "string" }, + "URIState": { + "$ref": "#/definitions/chainTokenURIState" + }, "URIType": { "type": "string" }, @@ -357,6 +374,13 @@ "type": "string", "title": "@inject_tag: sql:\"uri\"" }, + "URIStateStr": { + "type": "string", + "title": "@inject_tag: sql:\"uri_state\"" + }, + "URIState": { + "$ref": "#/definitions/chainTokenURIState" + }, "URIType": { "type": "string", "title": "@inject_tag: sql:\"uri_type\"" diff --git a/ranker/pkg/converter/v1/token/token.go b/ranker/pkg/converter/v1/token/token.go index dde673d7..17038e2e 100644 --- a/ranker/pkg/converter/v1/token/token.go +++ b/ranker/pkg/converter/v1/token/token.go @@ -20,6 +20,7 @@ func Ent2Grpc(row *nftmetaproto.Token) *rankerproto.SearchToken { TokenType: row.TokenType, Owner: row.Owner, URI: row.URI, + URIState: row.URIState, URIType: row.URIType, ImageURL: row.ImageURL, VideoURL: row.VideoURL, From d3e4f08b2ce94b3b3c586e7a482b87de88ab7c6a Mon Sep 17 00:00:00 2001 From: lidaqiang Date: Tue, 2 Jan 2024 16:06:19 +0800 Subject: [PATCH 012/116] reset key --- webui/src/components/Main/Main.vue | 3 +++ webui/src/localstore/storagekey/index.ts | 22 ++++++++++++++++++++++ webui/src/teststore/token/index.ts | 11 ++++++++--- 3 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 webui/src/localstore/storagekey/index.ts diff --git a/webui/src/components/Main/Main.vue b/webui/src/components/Main/Main.vue index 07dc68d2..413d821a 100644 --- a/webui/src/components/Main/Main.vue +++ b/webui/src/components/Main/Main.vue @@ -49,6 +49,7 @@ import largelogo from '../../assets/logo/large-logo.png' import { useRouter } from 'vue-router' import { useTokenStore } from 'src/teststore/token' import { SearchTokenMessage } from 'src/teststore/token/types' +import { useStorageKeyStore } from 'src/localstore/storagekey' const Loading = defineAsyncComponent(() => import('src/components/Loading/Loading.vue')) const loadFileButton = ref() @@ -67,6 +68,7 @@ const uploadFile = (evt: Event) => { const router = useRouter() const token = useTokenStore() +const localkey = useStorageKeyStore() // eslint-disable-next-line @typescript-eslint/no-explicit-any const handleUploadFile = (file: any, fromDropArea: boolean) => { @@ -77,6 +79,7 @@ const handleUploadFile = (file: any, fromDropArea: boolean) => { contract.value = file?.name const reqMessage = {} as SearchTokenMessage token.$reset() + localkey.resetStorageKey() token.searchTokens(formData, reqMessage, (error: boolean) => { if (!error) { const normalBox = document.getElementById('normal-box') diff --git a/webui/src/localstore/storagekey/index.ts b/webui/src/localstore/storagekey/index.ts new file mode 100644 index 00000000..7c23befb --- /dev/null +++ b/webui/src/localstore/storagekey/index.ts @@ -0,0 +1,22 @@ +import { defineStore } from 'pinia' +import { Cookies } from 'quasar' + +export const useStorageKeyStore = defineStore('local-storage-key', { + state: () => ({}), + getters: { + setStorageKey () { + return (key: string) => { + if (key && key?.length > 0) { + Cookies.set('Storage-Key', key, { expires: '4h', secure: true, path: '/' }) + } + } + }, + getStorageKey () { + return () => Cookies.get('Storage-Key') + }, + resetStorageKey () { + return () => Cookies.remove('Storage-Key') + }, + }, + actions: {} +}) diff --git a/webui/src/teststore/token/index.ts b/webui/src/teststore/token/index.ts index ff7fd7d0..37c90981 100644 --- a/webui/src/teststore/token/index.ts +++ b/webui/src/teststore/token/index.ts @@ -2,7 +2,7 @@ import { defineStore } from 'pinia' import { doActionWithError } from '../action' import { API } from './const' import { GetTokenRequest, GetTokenResponse, GetTokensRequest, GetTokensResponse, SearchToken, SearchTokenMessage, SearchTokensResponse, Token } from './types' -import { Cookies } from 'quasar' +import { useStorageKeyStore } from 'src/localstore/storagekey' export const useTokenStore = defineStore('token', { state: () => ({ @@ -49,8 +49,9 @@ export const useTokenStore = defineStore('token', { this.SearchTokens.Pages = resp.Pages this.SearchTokens.Total = resp.Total this.SearchTokens.StorageKey = resp.StorageKey + const localkey = useStorageKeyStore() if (resp.StorageKey?.length > 0) { - Cookies.set('Storage-Key', resp.StorageKey, { expires: '4h', secure: true, path: '/' }) + localkey.setStorageKey(resp.StorageKey) } done(false, resp.Infos) }, () => { @@ -58,7 +59,11 @@ export const useTokenStore = defineStore('token', { }) }, getTokens (req: GetTokensRequest, done: (error: boolean, rows: SearchToken[], totalPages?: number) => void) { - const key = Cookies.get('Storage-Key') + const localkey = useStorageKeyStore() + const key = localkey.getStorageKey() + if (key === null) { + return + } if (key && key?.length > 0) { req.StorageKey = key } From 0c8f5fe86d8b85a986f66c30eeaf93571d177f04 Mon Sep 17 00:00:00 2001 From: lidaqiang Date: Tue, 2 Jan 2024 16:36:55 +0800 Subject: [PATCH 013/116] prevent default --- webui/src/components/Main/Main.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/webui/src/components/Main/Main.vue b/webui/src/components/Main/Main.vue index 413d821a..29f95fe2 100644 --- a/webui/src/components/Main/Main.vue +++ b/webui/src/components/Main/Main.vue @@ -150,9 +150,9 @@ onMounted(() => { }) dropZone?.addEventListener('dragleave', (e) => { e.stopPropagation() - e.preventDefault() + // e.preventDefault() let relatedTarget = e.relatedTarget - if (!relatedTarget) { // leave window + if (!relatedTarget?.dispatchEvent) { // leave window opening.value = false } }) From effaca49a9109de42005b2613dcf80469c45dd32 Mon Sep 17 00:00:00 2001 From: lidaqiang Date: Tue, 2 Jan 2024 16:54:15 +0800 Subject: [PATCH 014/116] http://47.116.78.131:10083/issues/2567 --- webui/src/components/Main/SearchBox.vue | 4 ++++ webui/src/components/Token/Token.vue | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/webui/src/components/Main/SearchBox.vue b/webui/src/components/Main/SearchBox.vue index 0c1516ab..c83e8ab0 100644 --- a/webui/src/components/Main/SearchBox.vue +++ b/webui/src/components/Main/SearchBox.vue @@ -17,6 +17,7 @@ import { useRouter } from 'vue-router' import { useContractStore } from 'src/teststore/contract' import { useTokenStore } from 'src/teststore/token' import { SearchTokenMessage } from 'src/teststore/token/types' +import { useStorageKeyStore } from 'src/localstore/storagekey' const contract = ref('') const _contract = useContractStore() @@ -52,6 +53,8 @@ const uploadFile = (evt: Event) => { const router = useRouter() const token = useTokenStore() +const localkey = useStorageKeyStore() + // eslint-disable-next-line @typescript-eslint/no-explicit-any const handleUploadFile = (file: any) => { let formData = new FormData() @@ -61,6 +64,7 @@ const handleUploadFile = (file: any) => { contract.value = file?.name const reqMessage = {} as SearchTokenMessage token.$reset() + localkey.resetStorageKey() token.searchTokens(formData, reqMessage, (error: boolean) => { if (!error) { void router.push('/token') diff --git a/webui/src/components/Token/Token.vue b/webui/src/components/Token/Token.vue index 3e6d7987..fd8191a6 100644 --- a/webui/src/components/Token/Token.vue +++ b/webui/src/components/Token/Token.vue @@ -85,6 +85,7 @@ const MyImage = defineAsyncComponent(() => import('src/components/Token/Image.vu const TransferCard = defineAsyncComponent(() => import('src/components/Transfer/Transfer.vue')) import { copyToClipboard } from 'quasar' import { Notify } from 'quasar' +import { useStorageKeyStore } from 'src/localstore/storagekey'; const token = useTokenStore() const tokens = computed(() => { @@ -201,7 +202,14 @@ const haveMore = ref(false) const currentPage = ref(1) const loading = ref(false) +const localkey = useStorageKeyStore() + const loadMore = () => { + if (localkey.getStorageKey() == null) { + haveMore.value = false + isLoading.value = false + return + } if (currentPage.value >= token.SearchTokens.Pages && token.SearchTokens.Pages !== 0) { haveMore.value = true return From 106323fdb861950ca02b73636ea6c062bbdbcdce Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Tue, 2 Jan 2024 17:05:38 +0800 Subject: [PATCH 015/116] if lock failed in triggerSyncTask,do not return err --- nft-meta/api/v1/synctask/synctask.go | 2 +- nft-meta/api/v1/token/token.go | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/nft-meta/api/v1/synctask/synctask.go b/nft-meta/api/v1/synctask/synctask.go index f6a3b175..4203579e 100644 --- a/nft-meta/api/v1/synctask/synctask.go +++ b/nft-meta/api/v1/synctask/synctask.go @@ -100,7 +100,7 @@ func (s *Server) TriggerSyncTask(ctx context.Context, in *npool.TriggerSyncTaskR lockID, err := ctredis.TryLock(lockKey, RedisLockTimeout) if err != nil { logger.Sugar().Warn("TriggerSyncTask", "warning", err) - return &npool.TriggerSyncTaskResponse{}, err + return &npool.TriggerSyncTaskResponse{}, nil } defer func() { diff --git a/nft-meta/api/v1/token/token.go b/nft-meta/api/v1/token/token.go index 9dff94b6..d7a95089 100644 --- a/nft-meta/api/v1/token/token.go +++ b/nft-meta/api/v1/token/token.go @@ -485,15 +485,12 @@ func (s *Server) DeleteToken(ctx context.Context, in *npool.DeleteTokenRequest) //nolint:funlen,gocyclo func (s *Server) TriggerTokenTransform(ctx context.Context, conds *npool.Conds) error { - // TODO: will be rewrite,too long - // TODO: each state corresponds to a processing function - // query synctask // lock lockKey := "TriggerTokenTransform_Lock" lockID, err := ctredis.TryLock(lockKey, RedisLockTimeout) if err != nil { logger.Sugar().Warn("TriggerTokenTransform", "warning", err) - return err + return nil } defer func() { From 46380262f8600eaa564c49cd51d111736555971e Mon Sep 17 00:00:00 2001 From: lidaqiang Date: Tue, 2 Jan 2024 17:07:49 +0800 Subject: [PATCH 016/116] bugfix: http://47.116.78.131:10083/issues/2566 --- webui/src/components/Contract/Contract.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webui/src/components/Contract/Contract.vue b/webui/src/components/Contract/Contract.vue index 9ba5896a..978fad7c 100644 --- a/webui/src/components/Contract/Contract.vue +++ b/webui/src/components/Contract/Contract.vue @@ -250,7 +250,7 @@ const onTokenClick = (token: ShotToken) => { void router.push({ path: '/token/detail', query: { - chainID: _chainID.value, + chainID: current.value.ChainID, chainType: token.ChainType, contract: _contract.value, tokenID: token.TokenID, From 41f0ac6d831d4fc37e9e1883acad1d93b646c171 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Wed, 3 Jan 2024 17:52:10 +0800 Subject: [PATCH 017/116] search for storageKey --- entrance/api/v1/token/search.go | 14 +- .../entrance/v1/token/token.swagger.json | 18 ++ proto/web3eye/ranker/v1/token/token.pb.go | 147 ++++++++++------ proto/web3eye/ranker/v1/token/token.proto | 8 +- .../ranker/v1/token/token.swagger.json | 7 + ranker/api/v1/token/search.go | 166 ++++++++++-------- 6 files changed, 229 insertions(+), 131 deletions(-) diff --git a/entrance/api/v1/token/search.go b/entrance/api/v1/token/search.go index 9d3938a6..53b8a00f 100644 --- a/entrance/api/v1/token/search.go +++ b/entrance/api/v1/token/search.go @@ -17,6 +17,7 @@ import ( "github.com/gogo/protobuf/jsonpb" "github.com/web3eye-io/Web3Eye/common/servermux" + "github.com/web3eye-io/Web3Eye/common/utils" "github.com/web3eye-io/Web3Eye/config" "github.com/web3eye-io/Web3Eye/entrance/resource" rankerproto "github.com/web3eye-io/Web3Eye/proto/web3eye/ranker/v1/token" @@ -100,7 +101,13 @@ func Search(w http.ResponseWriter, r *http.Request) { // convert to vector vector, err := ImgReqConvertVector(r.Context(), r) if err != nil { - errMsg = fmt.Sprintf("image convert fail, %v", err) + errMsg = fmt.Sprintf("image convert to vector fail, %v", err) + return + } + + storageKey, err := utils.Sha256Hash(vector) + if err != nil { + errMsg = fmt.Sprintf("image convert to sha256 hash fail, %v", err) return } @@ -109,8 +116,9 @@ func Search(w http.ResponseWriter, r *http.Request) { token.UseCloudProxyCC() resp, err := token.Search(context.Background(), &rankerproto.SearchTokenRequest{ - Vector: vector, - Limit: uint32(limit), + Vector: vector, + StorageKey: storageKey, + Limit: uint32(limit), }) if err != nil { errMsg = fmt.Sprintf("search fail, %v", err) diff --git a/proto/web3eye/entrance/v1/token/token.swagger.json b/proto/web3eye/entrance/v1/token/token.swagger.json index 2311d5f3..5872b144 100644 --- a/proto/web3eye/entrance/v1/token/token.swagger.json +++ b/proto/web3eye/entrance/v1/token/token.swagger.json @@ -177,12 +177,23 @@ "tokenSearchPageRequest": { "type": "object", "properties": { + "Vector": { + "type": "array", + "items": { + "type": "number", + "format": "float" + } + }, "StorageKey": { "type": "string" }, "Page": { "type": "integer", "format": "int64" + }, + "Limit": { + "type": "integer", + "format": "int64" } } }, @@ -195,6 +206,13 @@ "$ref": "#/definitions/tokenSearchToken" } }, + "Vector": { + "type": "array", + "items": { + "type": "number", + "format": "float" + } + }, "StorageKey": { "type": "string" }, diff --git a/proto/web3eye/ranker/v1/token/token.pb.go b/proto/web3eye/ranker/v1/token/token.pb.go index 0b8829c3..15d9c83b 100644 --- a/proto/web3eye/ranker/v1/token/token.pb.go +++ b/proto/web3eye/ranker/v1/token/token.pb.go @@ -330,8 +330,9 @@ type SearchTokenRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Vector []float32 `protobuf:"fixed32,10,rep,packed,name=Vector,proto3" json:"Vector,omitempty"` - Limit uint32 `protobuf:"varint,20,opt,name=Limit,proto3" json:"Limit,omitempty"` + Vector []float32 `protobuf:"fixed32,10,rep,packed,name=Vector,proto3" json:"Vector,omitempty"` + StorageKey string `protobuf:"bytes,11,opt,name=StorageKey,proto3" json:"StorageKey,omitempty"` + Limit uint32 `protobuf:"varint,20,opt,name=Limit,proto3" json:"Limit,omitempty"` } func (x *SearchTokenRequest) Reset() { @@ -373,6 +374,13 @@ func (x *SearchTokenRequest) GetVector() []float32 { return nil } +func (x *SearchTokenRequest) GetStorageKey() string { + if x != nil { + return x.StorageKey + } + return "" +} + func (x *SearchTokenRequest) GetLimit() uint32 { if x != nil { return x.Limit @@ -385,8 +393,10 @@ type SearchPageRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - StorageKey string `protobuf:"bytes,10,opt,name=StorageKey,proto3" json:"StorageKey,omitempty"` - Page uint32 `protobuf:"varint,20,opt,name=Page,proto3" json:"Page,omitempty"` + Vector []float32 `protobuf:"fixed32,10,rep,packed,name=Vector,proto3" json:"Vector,omitempty"` + StorageKey string `protobuf:"bytes,11,opt,name=StorageKey,proto3" json:"StorageKey,omitempty"` + Page uint32 `protobuf:"varint,20,opt,name=Page,proto3" json:"Page,omitempty"` + Limit uint32 `protobuf:"varint,30,opt,name=Limit,proto3" json:"Limit,omitempty"` } func (x *SearchPageRequest) Reset() { @@ -421,6 +431,13 @@ func (*SearchPageRequest) Descriptor() ([]byte, []int) { return file_web3eye_ranker_v1_token_token_proto_rawDescGZIP(), []int{3} } +func (x *SearchPageRequest) GetVector() []float32 { + if x != nil { + return x.Vector + } + return nil +} + func (x *SearchPageRequest) GetStorageKey() string { if x != nil { return x.StorageKey @@ -435,13 +452,21 @@ func (x *SearchPageRequest) GetPage() uint32 { return 0 } +func (x *SearchPageRequest) GetLimit() uint32 { + if x != nil { + return x.Limit + } + return 0 +} + type SearchResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Infos []*SearchToken `protobuf:"bytes,10,rep,name=Infos,proto3" json:"Infos,omitempty"` - StorageKey string `protobuf:"bytes,20,opt,name=StorageKey,proto3" json:"StorageKey,omitempty"` + Vector []float32 `protobuf:"fixed32,20,rep,packed,name=Vector,proto3" json:"Vector,omitempty"` + StorageKey string `protobuf:"bytes,21,opt,name=StorageKey,proto3" json:"StorageKey,omitempty"` Page uint32 `protobuf:"varint,30,opt,name=Page,proto3" json:"Page,omitempty"` Pages uint32 `protobuf:"varint,40,opt,name=Pages,proto3" json:"Pages,omitempty"` Total uint32 `protobuf:"varint,50,opt,name=Total,proto3" json:"Total,omitempty"` @@ -487,6 +512,13 @@ func (x *SearchResponse) GetInfos() []*SearchToken { return nil } +func (x *SearchResponse) GetVector() []float32 { + if x != nil { + return x.Vector + } + return nil +} + func (x *SearchResponse) GetStorageKey() string { if x != nil { return x.StorageKey @@ -592,60 +624,67 @@ var file_web3eye_ranker_v1_token_token_proto_rawDesc = []byte{ 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x73, 0x4e, 0x75, 0x6d, 0x18, 0x9a, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x53, 0x69, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x73, 0x4e, 0x75, 0x6d, 0x12, 0x1b, 0x0a, 0x08, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0xf4, 0x03, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x08, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x42, 0x0a, 0x12, 0x53, 0x65, + 0x52, 0x08, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x62, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x02, - 0x52, 0x06, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x69, 0x6d, 0x69, - 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x47, + 0x52, 0x06, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x75, 0x0a, 0x11, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4b, 0x65, - 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x04, 0x50, 0x61, 0x67, 0x65, 0x22, 0xba, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x49, 0x6e, - 0x66, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x61, 0x6e, 0x6b, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x1e, - 0x0a, 0x0a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x14, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x12, - 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x50, 0x61, - 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x61, 0x67, 0x65, 0x73, 0x18, 0x28, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x05, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x74, 0x61, - 0x6c, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x14, - 0x0a, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x32, 0xbe, 0x03, 0x0a, 0x07, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x12, 0x53, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x21, 0x2e, 0x6e, - 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, - 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x22, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x25, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, + 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x0a, 0x20, + 0x03, 0x28, 0x02, 0x52, 0x06, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x53, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x50, + 0x61, 0x67, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x50, 0x61, 0x67, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, + 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xd2, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x49, 0x6e, 0x66, 0x6f, + 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x16, 0x0a, 0x06, + 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x14, 0x20, 0x03, 0x28, 0x02, 0x52, 0x06, 0x56, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4b, + 0x65, 0x79, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x1e, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x04, 0x50, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x61, 0x67, 0x65, + 0x73, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x14, + 0x0a, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x54, + 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x3c, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x32, 0xbe, 0x03, 0x0a, 0x07, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x53, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x12, 0x21, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6e, - 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, - 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x73, 0x12, 0x22, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, - 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, - 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, - 0x0a, 0x06, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x23, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, - 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x53, 0x0a, 0x0a, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x61, 0x67, 0x65, 0x12, 0x22, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x0c, 0x47, + 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x25, 0x2e, 0x6e, 0x66, + 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, + 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4f, 0x6e, + 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x09, + 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x22, 0x2e, 0x6e, 0x66, 0x74, 0x6d, + 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, + 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x06, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x23, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x3d, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2d, 0x69, 0x6f, 0x2f, 0x57, - 0x65, 0x62, 0x33, 0x45, 0x79, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x77, 0x65, 0x62, - 0x33, 0x65, 0x79, 0x65, 0x2f, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x0a, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x50, 0x61, 0x67, 0x65, 0x12, 0x22, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x3d, 0x5a, 0x3b, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, + 0x65, 0x2d, 0x69, 0x6f, 0x2f, 0x57, 0x65, 0x62, 0x33, 0x45, 0x79, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2f, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2f, 0x72, 0x61, 0x6e, 0x6b, 0x65, + 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( diff --git a/proto/web3eye/ranker/v1/token/token.proto b/proto/web3eye/ranker/v1/token/token.proto index 7b56f57a..bd120a05 100644 --- a/proto/web3eye/ranker/v1/token/token.proto +++ b/proto/web3eye/ranker/v1/token/token.proto @@ -51,17 +51,21 @@ message SearchToken{ message SearchTokenRequest { repeated float Vector = 10; + string StorageKey = 11; uint32 Limit = 20; } message SearchPageRequest { - string StorageKey =10; + repeated float Vector = 10; + string StorageKey =11; uint32 Page = 20; + uint32 Limit = 30; } message SearchResponse { repeated SearchToken Infos = 10; - string StorageKey =20; + repeated float Vector = 20; + string StorageKey =21; uint32 Page = 30; uint32 Pages = 40; uint32 Total = 50; diff --git a/proto/web3eye/ranker/v1/token/token.swagger.json b/proto/web3eye/ranker/v1/token/token.swagger.json index 898aa0c2..4bc23081 100644 --- a/proto/web3eye/ranker/v1/token/token.swagger.json +++ b/proto/web3eye/ranker/v1/token/token.swagger.json @@ -203,6 +203,13 @@ "$ref": "#/definitions/tokenSearchToken" } }, + "Vector": { + "type": "array", + "items": { + "type": "number", + "format": "float" + } + }, "StorageKey": { "type": "string" }, diff --git a/ranker/api/v1/token/search.go b/ranker/api/v1/token/search.go index 16386045..c7d7bd24 100644 --- a/ranker/api/v1/token/search.go +++ b/ranker/api/v1/token/search.go @@ -2,14 +2,12 @@ package token import ( "context" - "encoding/json" "errors" "fmt" "sort" "time" "github.com/NpoolPlatform/go-service-framework/pkg/logger" - "github.com/google/uuid" "github.com/web3eye-io/Web3Eye/common/ctredis" "github.com/web3eye-io/Web3Eye/nft-meta/pkg/imageconvert" "github.com/web3eye-io/Web3Eye/nft-meta/pkg/milvusdb" @@ -51,35 +49,90 @@ type ScoreItem struct { } func (s *Server) Search(ctx context.Context, in *rankernpool.SearchTokenRequest) (*rankernpool.SearchResponse, error) { + return s.SearchPage(ctx, &rankernpool.SearchPageRequest{ + Vector: in.Vector, + StorageKey: in.StorageKey, + Page: 1, + Limit: in.Limit, + }) +} + +func (s *Server) SearchPage(ctx context.Context, in *rankernpool.SearchPageRequest) (*rankernpool.SearchResponse, error) { + pBone := &PageBone{} + err := ctredis.Get(searchKey(in.StorageKey, in.Page), pBone) + if err == nil { + logger.Sugar().Infof("sueccess to get tokens for storageKey: %v page: %v", in.StorageKey, in.Page) + tokens, err := ToSearchTokens(ctx, pBone.TokenBones) + if err == nil { + return &rankernpool.SearchResponse{ + Infos: tokens, + StorageKey: in.StorageKey, + Page: pBone.Page, + Pages: pBone.Pages, + Total: pBone.Total, + Limit: pBone.Limit, + }, nil + } + } + + logger.Sugar().Infof("try to search tokens for storageKey: %v page: %v", in.StorageKey, in.Page) + _, _, err = s.RankerTokens(ctx, in.Vector, in.StorageKey, in.Limit) + if err != nil { + logger.Sugar().Errorf("failed to search tokens for storageKey: %v page: %v,err: %v", in.StorageKey, in.Page, err) + return nil, err + } + + err = ctredis.Get(searchKey(in.StorageKey, in.Page), pBone) + if err != nil { + logger.Sugar().Errorf("failed to get tokens from redis for storageKey: %v page: %v,err: %v", in.StorageKey, in.Page, err) + return nil, err + } + + tokens, err := ToSearchTokens(ctx, pBone.TokenBones) + if err != nil { + logger.Sugar().Errorf("failed to get tokens for storageKey: %v page: %v,err: %v", in.StorageKey, in.Page, err) + return nil, err + } + + logger.Sugar().Infof("sueccess to get tokens for storageKey: %v page: %v", in.StorageKey, in.Page) + return &rankernpool.SearchResponse{ + Infos: tokens, + StorageKey: in.StorageKey, + Page: pBone.Page, + Pages: pBone.Pages, + Total: pBone.Total, + Limit: pBone.Limit, + }, nil +} + +func (s *Server) RankerTokens(ctx context.Context, vector []float32, storageKey string, limit uint32) (totalPages uint32, totalTokens uint32, err error) { logger.Sugar().Info("start search") start := time.Now() // search from milvus - scores, err := SerachFromMilvus(ctx, in.Vector, MaxSearchN) + scores, err := SerachFromMilvus(ctx, vector, MaxSearchN) if err != nil { logger.Sugar().Errorf("search from milvus failed, %v", err) - return nil, err + return 0, 0, err } logger.Sugar().Infof("scores: %v", len(scores)) infos, err := QueryAndCollectTokens(ctx, scores, TopN) if err != nil { logger.Sugar().Errorf("query and collect tokens failed, %v", err) - return nil, err + return 0, 0, err } logger.Sugar().Infof("infos: %v", len(infos)) - totalPages := uint32(len(infos) / int(in.Limit)) - if len(infos)%int(in.Limit) > 0 { + totalPages = uint32(len(infos) / int(limit)) + if len(infos)%int(limit) > 0 { totalPages += 1 } - storageKey := uuid.NewString() - - totalTokens := uint32(len(infos)) + totalTokens = uint32(len(infos)) for i := uint32(0); i < totalPages; i++ { - start := i * in.Limit - end := (i + 1) * in.Limit + start := i * limit + end := (i + 1) * limit if end > totalTokens { end = totalTokens } @@ -88,61 +141,18 @@ func (s *Server) Search(ctx context.Context, in *rankernpool.SearchTokenRequest) Page: i + 1, Pages: totalPages, Total: totalTokens, - Limit: in.Limit, + Limit: limit, } - err = ctredis.Set(fmt.Sprintf("SearchToken:%v:%v", storageKey, pBone.Page), pBone, StorageExpr) + err = ctredis.Set(searchKey(storageKey, pBone.Page), pBone, StorageExpr) if err != nil { logger.Sugar().Errorf("put the search pageBone failed, %v", err) - return nil, err + return 0, 0, err } } - limit := int(in.Limit) - if len(infos) < limit { - limit = len(infos) - } - logger.Sugar().Infof("take %v ms to finish search", time.Since(start).Milliseconds()) - return &rankernpool.SearchResponse{ - Infos: infos[:limit], - StorageKey: storageKey, - Page: 1, - Pages: totalPages, - Total: totalTokens, - Limit: in.Limit, - }, nil -} - -func (s *Server) SearchPage(ctx context.Context, in *rankernpool.SearchPageRequest) (*rankernpool.SearchResponse, error) { - pBone := &PageBone{} - err := ctredis.Get(fmt.Sprintf("SearchToken:%v:%v", in.StorageKey, in.Page), pBone) - if err != nil { - return nil, err - } - - tokens, err := ToSearchTokens(ctx, pBone.TokenBones) - if err != nil { - return nil, err - } - - return &rankernpool.SearchResponse{ - Infos: tokens, - StorageKey: in.StorageKey, - Page: pBone.Page, - Pages: pBone.Pages, - Total: pBone.Total, - Limit: pBone.Limit, - }, nil -} - -func (pt *PageBone) MarshalBinary() (data []byte, err error) { - data, err = json.Marshal(pt) - return data, err -} - -func (pt *PageBone) UnmarshalBinary(data []byte) error { - return json.Unmarshal(data, pt) + return totalPages, totalTokens, nil } func SerachFromMilvus(ctx context.Context, vector []float32, topN int) (map[int64]float32, error) { @@ -184,13 +194,13 @@ func sortSroces(scores map[int64]float32) []*ScoreItem { func QueryAndCollectTokens(ctx context.Context, scores map[int64]float32, topN int) ([]*rankernpool.SearchToken, error) { topScores := sortSroces(scores) result := []*rankernpool.SearchToken{} - contractRecord := make(map[string]int) + contractIndex := make(map[string]int) start, end := 0, 0 for len(result) < topN { start = end end = start + topN - if start >= len(topScores) { + if start >= len(topScores) || start == end { break } else if end > len(topScores) { end = len(topScores) @@ -235,12 +245,13 @@ func QueryAndCollectTokens(ctx context.Context, scores map[int64]float32, topN i // collection for _, v := range infos { - if _, ok := contractRecord[v.Contract]; ok { - if len(result[contractRecord[v.Contract]].SiblingTokens) >= ShowSiblinsNum { + // have record,then add siblin token + if _, ok := contractIndex[v.Contract]; ok { + if len(result[contractIndex[v.Contract]].SiblingTokens) >= ShowSiblinsNum { continue } - result[contractRecord[v.Contract]].SiblingTokens = append( - result[contractRecord[v.Contract]].SiblingTokens, &rankernpool.SiblingToken{ + result[contractIndex[v.Contract]].SiblingTokens = append( + result[contractIndex[v.Contract]].SiblingTokens, &rankernpool.SiblingToken{ EntID: v.EntID, TokenID: v.TokenID, ImageURL: v.ImageURL, @@ -248,7 +259,7 @@ func QueryAndCollectTokens(ctx context.Context, scores map[int64]float32, topN i }) } else { result = append(result, v) - contractRecord[v.Contract] = len(result) - 1 + contractIndex[v.Contract] = len(result) - 1 } } } @@ -322,6 +333,7 @@ func QueryAndCollectTokens(ctx context.Context, scores map[int64]float32, topN i return result, nil } +// delete duplicate items in same contract func SliceDeduplicate(s []*rankernpool.SiblingToken) []*rankernpool.SiblingToken { mapRecord := make(map[string]struct{}) listRecord := []int{} @@ -385,13 +397,13 @@ func ToSearchTokens(ctx context.Context, bones []*SearchTokenBone) ([]*rankernpo return nil, err } - tokens[i] = converter.Ent2Grpc(rows[0]) - tokens[i].Distance = v.Distance - tokens[i].SiblingsNum = v.SiblingsNum - tokens[i].TransfersNum = v.TranserferNum - tokens[i].SiblingTokens = make([]*rankernpool.SiblingToken, len(rows)-1) - for j := 1; j < len(rows); j++ { + // find the SearchToken row + if rows[j].EntID == v.EntID { + row := rows[0] + rows[0] = rows[j] + rows[j] = row + } tokens[i].SiblingTokens[j-1] = &rankernpool.SiblingToken{ EntID: rows[j].EntID, TokenID: rows[j].TokenID, @@ -399,7 +411,17 @@ func ToSearchTokens(ctx context.Context, bones []*SearchTokenBone) ([]*rankernpo IPFSImageURL: rows[j].IPFSImageURL, } } + + tokens[i] = converter.Ent2Grpc(rows[0]) + tokens[i].Distance = v.Distance + tokens[i].SiblingsNum = v.SiblingsNum + tokens[i].TransfersNum = v.TranserferNum + tokens[i].SiblingTokens = make([]*rankernpool.SiblingToken, len(rows)-1) } return tokens, nil } + +func searchKey(storageKey string, page uint32) string { + return fmt.Sprintf("SearchToken:%v:%v", storageKey, page) +} From 7f0baba870a0b7dca545d4859ad9c92ce4e97d51 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Wed, 3 Jan 2024 17:52:24 +0800 Subject: [PATCH 018/116] search for storageKey --- common/utils/hash.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 common/utils/hash.go diff --git a/common/utils/hash.go b/common/utils/hash.go new file mode 100644 index 00000000..dc51ba0d --- /dev/null +++ b/common/utils/hash.go @@ -0,0 +1,23 @@ +package utils + +import ( + "bytes" + "crypto/sha256" + "encoding/binary" + + "github.com/mr-tron/base58" +) + +func Sha256Hash(i any) (string, error) { + buf := new(bytes.Buffer) + err := binary.Write(buf, binary.BigEndian, i) + if err != nil { + return "", err + } + h := sha256.New() + _, err = h.Write(buf.Bytes()) + if err != nil { + return "", err + } + return base58.FastBase58Encoding(h.Sum([]byte{})), nil +} From 050387db22955c0c8b19293520ee8eb8936c836d Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Wed, 3 Jan 2024 18:19:31 +0800 Subject: [PATCH 019/116] search for storageKey --- ranker/api/v1/token/search.go | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/ranker/api/v1/token/search.go b/ranker/api/v1/token/search.go index c7d7bd24..36da9181 100644 --- a/ranker/api/v1/token/search.go +++ b/ranker/api/v1/token/search.go @@ -105,7 +105,7 @@ func (s *Server) SearchPage(ctx context.Context, in *rankernpool.SearchPageReque }, nil } -func (s *Server) RankerTokens(ctx context.Context, vector []float32, storageKey string, limit uint32) (totalPages uint32, totalTokens uint32, err error) { +func (s *Server) RankerTokens(ctx context.Context, vector []float32, storageKey string, limit uint32) (totalPages, totalTokens uint32, err error) { logger.Sugar().Info("start search") start := time.Now() @@ -400,9 +400,7 @@ func ToSearchTokens(ctx context.Context, bones []*SearchTokenBone) ([]*rankernpo for j := 1; j < len(rows); j++ { // find the SearchToken row if rows[j].EntID == v.EntID { - row := rows[0] - rows[0] = rows[j] - rows[j] = row + rows[0], rows[j] = rows[j], rows[0] } tokens[i].SiblingTokens[j-1] = &rankernpool.SiblingToken{ EntID: rows[j].EntID, From a16cb30c058548c259d96e37a32dc0bd2e9e7886 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 4 Jan 2024 09:46:43 +0800 Subject: [PATCH 020/116] add ids in search tokens --- block-etl/pkg/token/metadata.go | 5 + nft-meta/pkg/crud/v1/token/token.go | 17 +- nft-meta/pkg/mw/v1/token/handler.go | 6 + nft-meta/pkg/mw/v1/token/upsert.go | 66 +-- .../entrance/v1/token/token.swagger.json | 5 +- proto/web3eye/nftmeta/v1/token/token.pb.go | 443 +++++++++--------- proto/web3eye/nftmeta/v1/token/token.proto | 3 +- .../nftmeta/v1/token/token.swagger.json | 18 + proto/web3eye/ranker/v1/token/token.pb.go | 243 +++++----- proto/web3eye/ranker/v1/token/token.proto | 2 +- .../ranker/v1/token/token.swagger.json | 23 +- proto/web3eye/web3eye.pb.go | 103 +++- proto/web3eye/web3eye.proto | 5 + ranker/api/v1/token/search.go | 33 +- 14 files changed, 567 insertions(+), 405 deletions(-) diff --git a/block-etl/pkg/token/metadata.go b/block-etl/pkg/token/metadata.go index 16758935..be66b57e 100644 --- a/block-etl/pkg/token/metadata.go +++ b/block-etl/pkg/token/metadata.go @@ -146,6 +146,11 @@ func TokenURIType(uri string) URIType { func FindNameAndDescription(ctx context.Context, metadata TokenMetadata) (name, desc string) { name, ok := GetValueFromMapUnsafe(metadata, "name", DefaultSearchDepth).(string) + + if !ok { + name, ok = GetValueFromMapUnsafe(metadata, "title", DefaultSearchDepth).(string) + } + if !ok { name = "" } diff --git a/nft-meta/pkg/crud/v1/token/token.go b/nft-meta/pkg/crud/v1/token/token.go index dcdc37b5..fc39faa2 100644 --- a/nft-meta/pkg/crud/v1/token/token.go +++ b/nft-meta/pkg/crud/v1/token/token.go @@ -178,6 +178,7 @@ type Conds struct { ImageSnapshotID *cruder.Cond Remark *cruder.Cond VectorIDs *cruder.Cond + IDs *cruder.Cond } func SetQueryConds(q *ent.TokenQuery, conds *Conds) (*ent.TokenQuery, error) { //nolint @@ -196,13 +197,25 @@ func SetQueryConds(q *ent.TokenQuery, conds *Conds) (*ent.TokenQuery, error) { / if conds.EntIDs != nil { entids, ok := conds.EntIDs.Val.([]uuid.UUID) if !ok { - return nil, fmt.Errorf("invalid entid") + return nil, fmt.Errorf("invalid entids") } switch conds.EntIDs.Op { case cruder.IN: q.Where(enttoken.EntIDIn(entids...)) default: - return nil, fmt.Errorf("invalid entid field") + return nil, fmt.Errorf("invalid entids field") + } + } + if conds.IDs != nil { + ids, ok := conds.IDs.Val.([]uint32) + if !ok { + return nil, fmt.Errorf("invalid ids") + } + switch conds.IDs.Op { + case cruder.IN: + q.Where(enttoken.IDIn(ids...)) + default: + return nil, fmt.Errorf("invalid ids field") } } if conds.VectorIDs != nil { diff --git a/nft-meta/pkg/mw/v1/token/handler.go b/nft-meta/pkg/mw/v1/token/handler.go index 0aeae6c9..42e43d9f 100644 --- a/nft-meta/pkg/mw/v1/token/handler.go +++ b/nft-meta/pkg/mw/v1/token/handler.go @@ -430,6 +430,12 @@ func WithConds(conds *tokenproto.Conds) func(context.Context, *Handler) error { Val: ids, } } + if conds.IDs != nil { + h.Conds.EntIDs = &cruder.Cond{ + Op: conds.GetIDs().GetOp(), + Val: conds.GetIDs().GetValue(), + } + } if conds.VectorIDs != nil { h.Conds.VectorIDs = &cruder.Cond{ Op: conds.GetVectorIDs().GetOp(), diff --git a/nft-meta/pkg/mw/v1/token/upsert.go b/nft-meta/pkg/mw/v1/token/upsert.go index e7b2e817..443ded6e 100644 --- a/nft-meta/pkg/mw/v1/token/upsert.go +++ b/nft-meta/pkg/mw/v1/token/upsert.go @@ -21,22 +21,23 @@ func (h *Handler) UpsertToken(ctx context.Context) (*tokenproto.Token, error) { if row == nil { info, err := tokencrud.CreateSet(tx.Token.Create(), &tokencrud.Req{ - EntID: h.EntID, - ChainType: h.ChainType, - ChainID: h.ChainID, - Contract: h.Contract, - TokenType: h.TokenType, - TokenID: h.TokenID, - Owner: h.Owner, - URI: h.URI, - URIState: h.URIState, - URIType: h.URIType, - ImageURL: h.ImageURL, - VideoURL: h.VideoURL, - Name: h.Name, - Description: h.Description, - VectorState: h.VectorState, - VectorID: h.VectorID, + EntID: h.EntID, + ChainType: h.ChainType, + ChainID: h.ChainID, + Contract: h.Contract, + TokenType: h.TokenType, + TokenID: h.TokenID, + Owner: h.Owner, + URI: h.URI, + URIState: h.URIState, + URIType: h.URIType, + ImageURL: h.ImageURL, + VideoURL: h.VideoURL, + Name: h.Name, + Description: h.Description, + VectorState: h.VectorState, + // not allow update when upsert + // VectorID: h.VectorID, IPFSImageURL: h.IPFSImageURL, ImageSnapshotID: h.ImageSnapshotID, Remark: h.Remark, @@ -52,22 +53,23 @@ func (h *Handler) UpsertToken(ctx context.Context) (*tokenproto.Token, error) { stm, err := tokencrud.UpdateSet( row.Update(), &tokencrud.Req{ - EntID: &row.EntID, - ChainType: h.ChainType, - ChainID: h.ChainID, - Contract: h.Contract, - TokenType: h.TokenType, - TokenID: h.TokenID, - Owner: h.Owner, - URI: h.URI, - URIState: h.URIState, - URIType: h.URIType, - ImageURL: h.ImageURL, - VideoURL: h.VideoURL, - Name: h.Name, - Description: h.Description, - VectorState: h.VectorState, - VectorID: h.VectorID, + EntID: &row.EntID, + ChainType: h.ChainType, + ChainID: h.ChainID, + Contract: h.Contract, + TokenType: h.TokenType, + TokenID: h.TokenID, + Owner: h.Owner, + URI: h.URI, + URIState: h.URIState, + URIType: h.URIType, + ImageURL: h.ImageURL, + VideoURL: h.VideoURL, + Name: h.Name, + Description: h.Description, + VectorState: h.VectorState, + // not allow update when upsert + // VectorID: h.VectorID, IPFSImageURL: h.IPFSImageURL, ImageSnapshotID: h.ImageSnapshotID, Remark: h.Remark, diff --git a/proto/web3eye/entrance/v1/token/token.swagger.json b/proto/web3eye/entrance/v1/token/token.swagger.json index 5872b144..82279921 100644 --- a/proto/web3eye/entrance/v1/token/token.swagger.json +++ b/proto/web3eye/entrance/v1/token/token.swagger.json @@ -324,8 +324,9 @@ "tokenSiblingToken": { "type": "object", "properties": { - "EntID": { - "type": "string" + "ID": { + "type": "integer", + "format": "int64" }, "TokenID": { "type": "string" diff --git a/proto/web3eye/nftmeta/v1/token/token.pb.go b/proto/web3eye/nftmeta/v1/token/token.pb.go index 1f440820..da21c7e1 100644 --- a/proto/web3eye/nftmeta/v1/token/token.pb.go +++ b/proto/web3eye/nftmeta/v1/token/token.pb.go @@ -575,7 +575,8 @@ type Conds struct { Remark *web3eye.StringVal `protobuf:"bytes,160,opt,name=Remark,proto3" json:"Remark,omitempty"` IPFSImageURL *web3eye.StringVal `protobuf:"bytes,170,opt,name=IPFSImageURL,proto3" json:"IPFSImageURL,omitempty"` ImageSnapshotID *web3eye.Uint32Val `protobuf:"bytes,180,opt,name=ImageSnapshotID,proto3" json:"ImageSnapshotID,omitempty"` - EntIDs *web3eye.StringSliceVal `protobuf:"bytes,190,opt,name=EntIDs,proto3" json:"EntIDs,omitempty"` + IDs *web3eye.Uint32SliceVal `protobuf:"bytes,190,opt,name=IDs,proto3" json:"IDs,omitempty"` + EntIDs *web3eye.StringSliceVal `protobuf:"bytes,191,opt,name=EntIDs,proto3" json:"EntIDs,omitempty"` VectorIDs *web3eye.Int64SliceVal `protobuf:"bytes,200,opt,name=VectorIDs,proto3" json:"VectorIDs,omitempty"` } @@ -751,6 +752,13 @@ func (x *Conds) GetImageSnapshotID() *web3eye.Uint32Val { return nil } +func (x *Conds) GetIDs() *web3eye.Uint32SliceVal { + if x != nil { + return x.IDs + } + return nil +} + func (x *Conds) GetEntIDs() *web3eye.StringSliceVal { if x != nil { return x.EntIDs @@ -1967,7 +1975,7 @@ var file_web3eye_nftmeta_v1_token_token_proto_rawDesc = []byte{ 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0xa7, 0x08, 0x0a, 0x05, + 0x52, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0xd3, 0x08, 0x0a, 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x52, 0x02, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x05, 0x45, 0x6e, 0x74, @@ -2027,187 +2035,190 @@ var file_web3eye_nftmeta_v1_token_token_proto_rawDesc = []byte{ 0x0f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x44, 0x18, 0xb4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x52, 0x0f, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x44, 0x12, 0x30, 0x0a, 0x06, - 0x45, 0x6e, 0x74, 0x49, 0x44, 0x73, 0x18, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x6c, - 0x69, 0x63, 0x65, 0x56, 0x61, 0x6c, 0x52, 0x06, 0x45, 0x6e, 0x74, 0x49, 0x44, 0x73, 0x12, 0x35, - 0x0a, 0x09, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x73, 0x18, 0xc8, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x49, 0x6e, 0x74, - 0x36, 0x34, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x56, 0x61, 0x6c, 0x52, 0x09, 0x56, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x49, 0x44, 0x73, 0x22, 0x44, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x49, - 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x66, 0x74, 0x6d, - 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x52, 0x65, 0x71, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x42, 0x0a, 0x13, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x67, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x44, 0x12, 0x2a, 0x0a, 0x03, + 0x49, 0x44, 0x73, 0x18, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x65, 0x62, + 0x33, 0x65, 0x79, 0x65, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x6c, 0x69, 0x63, 0x65, + 0x56, 0x61, 0x6c, 0x52, 0x03, 0x49, 0x44, 0x73, 0x12, 0x30, 0x0a, 0x06, 0x45, 0x6e, 0x74, 0x49, + 0x44, 0x73, 0x18, 0xbf, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x65, 0x62, 0x33, + 0x65, 0x79, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x56, + 0x61, 0x6c, 0x52, 0x06, 0x45, 0x6e, 0x74, 0x49, 0x44, 0x73, 0x12, 0x35, 0x0a, 0x09, 0x56, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x73, 0x18, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, + 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x6c, + 0x69, 0x63, 0x65, 0x56, 0x61, 0x6c, 0x52, 0x09, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x44, + 0x73, 0x22, 0x44, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, + 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, + 0x71, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x42, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, + 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, + 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x44, 0x0a, 0x12, 0x55, + 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x52, 0x04, 0x49, 0x6e, 0x66, + 0x6f, 0x22, 0x42, 0x0a, 0x13, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, + 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, + 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x47, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x05, + 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x66, + 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x52, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0x45, + 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, + 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, + 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x05, + 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0x21, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x22, 0x3f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, + 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, + 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x6f, 0x0a, 0x10, 0x47, 0x65, 0x74, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, + 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, + 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, + 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x16, 0x0a, 0x06, + 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4f, 0x66, + 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x1e, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x58, 0x0a, 0x11, 0x47, 0x65, + 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x2d, 0x0a, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x14, + 0x0a, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x54, + 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x44, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x43, + 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, + 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x43, 0x6f, + 0x6e, 0x64, 0x73, 0x52, 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x43, 0x0a, 0x14, 0x47, 0x65, + 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, - 0x44, 0x0a, 0x12, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, + 0x44, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x52, - 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x42, 0x0a, 0x13, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, + 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x42, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x47, 0x0a, 0x13, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x30, 0x0a, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x52, 0x05, 0x49, 0x6e, 0x66, - 0x6f, 0x73, 0x22, 0x45, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x49, 0x6e, - 0x66, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, 0x6d, - 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x52, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0x21, 0x0a, 0x0f, 0x47, 0x65, 0x74, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, - 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x22, 0x3f, 0x0a, 0x10, - 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x2b, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x6f, 0x0a, - 0x10, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, - 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x06, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x69, 0x6d, 0x69, - 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x58, - 0x0a, 0x11, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x05, 0x49, 0x6e, 0x66, - 0x6f, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x14, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x44, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x2d, 0x0a, 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x43, - 0x0a, 0x14, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, - 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x04, 0x49, - 0x6e, 0x66, 0x6f, 0x22, 0x44, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x49, 0x6e, 0x66, - 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, - 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x52, 0x65, 0x71, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x42, 0x0a, 0x13, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x2b, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x60, 0x0a, - 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x6e, 0x74, - 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, 0x6e, 0x74, 0x49, 0x44, 0x12, - 0x16, 0x0a, 0x06, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x14, 0x20, 0x03, 0x28, 0x02, 0x52, - 0x06, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, - 0x6b, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x22, - 0x48, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, - 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, - 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x23, 0x0a, 0x11, 0x45, 0x78, 0x69, - 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, - 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x22, 0x2a, - 0x0a, 0x12, 0x45, 0x78, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x78, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x05, 0x45, 0x78, 0x69, 0x73, 0x74, 0x22, 0x47, 0x0a, 0x16, 0x45, 0x78, - 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, - 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x05, 0x43, 0x6f, - 0x6e, 0x64, 0x73, 0x22, 0x2f, 0x0a, 0x17, 0x45, 0x78, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x45, 0x78, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x45, - 0x78, 0x69, 0x73, 0x74, 0x22, 0x24, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x60, 0x0a, 0x18, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x56, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x14, 0x20, 0x03, 0x28, 0x02, 0x52, 0x06, 0x56, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x1e, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0x48, 0x0a, 0x19, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, + 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, + 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x23, 0x0a, 0x11, 0x45, 0x78, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x22, 0x42, 0x0a, 0x13, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x22, 0x2a, 0x0a, 0x12, 0x45, 0x78, + 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x45, 0x78, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x05, 0x45, 0x78, 0x69, 0x73, 0x74, 0x22, 0x47, 0x0a, 0x16, 0x45, 0x78, 0x69, 0x73, 0x74, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x2d, 0x0a, 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x2a, 0x5c, - 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, - 0x0a, 0x07, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x57, - 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x0a, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x63, - 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x10, 0x14, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x61, 0x75, 0x73, - 0x65, 0x10, 0x1e, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x28, - 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x32, 0x32, 0xe1, 0x08, 0x0a, - 0x07, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x5c, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x24, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, - 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, - 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x25, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, - 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, - 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x24, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, - 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6e, - 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x0b, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x24, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, - 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6e, 0x66, 0x74, - 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x55, 0x70, - 0x73, 0x65, 0x72, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x90, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6d, - 0x61, 0x67, 0x65, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x6e, 0x66, 0x74, 0x6d, - 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, + 0x65, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x22, + 0x2f, 0x0a, 0x17, 0x45, 0x78, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x6e, + 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x78, + 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x45, 0x78, 0x69, 0x73, 0x74, + 0x22, 0x24, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x22, 0x42, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, + 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x66, + 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x2a, 0x5c, 0x0a, 0x0c, 0x43, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x61, 0x69, 0x74, 0x69, + 0x6e, 0x67, 0x10, 0x0a, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, + 0x6e, 0x67, 0x10, 0x14, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x61, 0x75, 0x73, 0x65, 0x10, 0x1e, 0x12, + 0x0b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x28, 0x12, 0x0a, 0x0a, 0x06, + 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x32, 0x32, 0xe1, 0x08, 0x0a, 0x07, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x12, 0x5c, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x12, 0x24, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, + 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6e, 0x66, 0x74, 0x6d, + 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x73, 0x12, 0x25, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6e, 0x66, 0x74, 0x6d, + 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x12, 0x24, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, + 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x5c, 0x0a, 0x0b, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x24, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, + 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x90, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x56, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x3a, 0x01, 0x2a, 0x22, 0x17, 0x2f, - 0x76, 0x31, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2f, - 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x53, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x12, 0x21, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, + 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2b, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x3a, 0x01, 0x2a, 0x22, 0x17, 0x2f, 0x76, 0x31, 0x2f, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2f, 0x76, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x12, 0x53, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x21, + 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x22, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x25, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, + 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, + 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x22, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x0c, 0x47, - 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x25, 0x2e, 0x6e, 0x66, - 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, - 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4f, 0x6e, - 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x09, - 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x22, 0x2e, 0x6e, 0x66, 0x74, 0x6d, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x19, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x3a, 0x01, 0x2a, 0x22, 0x0e, 0x2f, 0x76, 0x31, 0x2f, 0x67, + 0x65, 0x74, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x59, 0x0a, 0x0a, 0x45, 0x78, 0x69, + 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x23, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, + 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6e, + 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, + 0x45, 0x78, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x68, 0x0a, 0x0f, 0x45, 0x78, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x28, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, + 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x29, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, + 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, + 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x24, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x3a, 0x01, 0x2a, 0x22, 0x0e, 0x2f, - 0x76, 0x31, 0x2f, 0x67, 0x65, 0x74, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x59, 0x0a, - 0x0a, 0x45, 0x78, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x23, 0x2e, 0x6e, 0x66, - 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x45, - 0x78, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x24, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x68, 0x0a, 0x0f, 0x45, 0x78, 0x69, 0x73, - 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x28, 0x2e, 0x6e, 0x66, - 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x45, - 0x78, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, - 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x12, 0x24, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, - 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x42, 0x3e, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, - 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2d, 0x69, 0x6f, 0x2f, 0x57, 0x65, 0x62, 0x33, 0x45, 0x79, - 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2f, - 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, + 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x3e, 0x5a, 0x3c, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x33, 0x65, + 0x79, 0x65, 0x2d, 0x69, 0x6f, 0x2f, 0x57, 0x65, 0x62, 0x33, 0x45, 0x79, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2f, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2f, 0x6e, 0x66, 0x74, 0x6d, + 0x65, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2257,8 +2268,9 @@ var file_web3eye_nftmeta_v1_token_token_proto_goTypes = []interface{}{ (*web3eye.Uint32Val)(nil), // 29: web3eye.Uint32Val (*web3eye.StringVal)(nil), // 30: web3eye.StringVal (*web3eye.Int64Val)(nil), // 31: web3eye.Int64Val - (*web3eye.StringSliceVal)(nil), // 32: web3eye.StringSliceVal - (*web3eye.Int64SliceVal)(nil), // 33: web3eye.Int64SliceVal + (*web3eye.Uint32SliceVal)(nil), // 32: web3eye.Uint32SliceVal + (*web3eye.StringSliceVal)(nil), // 33: web3eye.StringSliceVal + (*web3eye.Int64SliceVal)(nil), // 34: web3eye.Int64SliceVal } var file_web3eye_nftmeta_v1_token_token_proto_depIdxs = []int32{ 26, // 0: nftmeta.v1.token.TokenReq.ChainType:type_name -> chain.ChainType @@ -2289,51 +2301,52 @@ var file_web3eye_nftmeta_v1_token_token_proto_depIdxs = []int32{ 30, // 25: nftmeta.v1.token.Conds.Remark:type_name -> web3eye.StringVal 30, // 26: nftmeta.v1.token.Conds.IPFSImageURL:type_name -> web3eye.StringVal 29, // 27: nftmeta.v1.token.Conds.ImageSnapshotID:type_name -> web3eye.Uint32Val - 32, // 28: nftmeta.v1.token.Conds.EntIDs:type_name -> web3eye.StringSliceVal - 33, // 29: nftmeta.v1.token.Conds.VectorIDs:type_name -> web3eye.Int64SliceVal - 1, // 30: nftmeta.v1.token.CreateTokenRequest.Info:type_name -> nftmeta.v1.token.TokenReq - 2, // 31: nftmeta.v1.token.CreateTokenResponse.Info:type_name -> nftmeta.v1.token.Token - 1, // 32: nftmeta.v1.token.UpsertTokenRequest.Info:type_name -> nftmeta.v1.token.TokenReq - 2, // 33: nftmeta.v1.token.UpsertTokenResponse.Info:type_name -> nftmeta.v1.token.Token - 1, // 34: nftmeta.v1.token.CreateTokensRequest.Infos:type_name -> nftmeta.v1.token.TokenReq - 2, // 35: nftmeta.v1.token.CreateTokensResponse.Infos:type_name -> nftmeta.v1.token.Token - 2, // 36: nftmeta.v1.token.GetTokenResponse.Info:type_name -> nftmeta.v1.token.Token - 3, // 37: nftmeta.v1.token.GetTokensRequest.Conds:type_name -> nftmeta.v1.token.Conds - 2, // 38: nftmeta.v1.token.GetTokensResponse.Infos:type_name -> nftmeta.v1.token.Token - 3, // 39: nftmeta.v1.token.GetTokenOnlyRequest.Conds:type_name -> nftmeta.v1.token.Conds - 2, // 40: nftmeta.v1.token.GetTokenOnlyResponse.Info:type_name -> nftmeta.v1.token.Token - 1, // 41: nftmeta.v1.token.UpdateTokenRequest.Info:type_name -> nftmeta.v1.token.TokenReq - 2, // 42: nftmeta.v1.token.UpdateTokenResponse.Info:type_name -> nftmeta.v1.token.Token - 2, // 43: nftmeta.v1.token.UpdateImageVectorResponse.Info:type_name -> nftmeta.v1.token.Token - 3, // 44: nftmeta.v1.token.ExistTokenCondsRequest.Conds:type_name -> nftmeta.v1.token.Conds - 2, // 45: nftmeta.v1.token.DeleteTokenResponse.Info:type_name -> nftmeta.v1.token.Token - 4, // 46: nftmeta.v1.token.Manager.CreateToken:input_type -> nftmeta.v1.token.CreateTokenRequest - 8, // 47: nftmeta.v1.token.Manager.CreateTokens:input_type -> nftmeta.v1.token.CreateTokensRequest - 16, // 48: nftmeta.v1.token.Manager.UpdateToken:input_type -> nftmeta.v1.token.UpdateTokenRequest - 6, // 49: nftmeta.v1.token.Manager.UpsertToken:input_type -> nftmeta.v1.token.UpsertTokenRequest - 18, // 50: nftmeta.v1.token.Manager.UpdateImageVector:input_type -> nftmeta.v1.token.UpdateImageVectorRequest - 10, // 51: nftmeta.v1.token.Manager.GetToken:input_type -> nftmeta.v1.token.GetTokenRequest - 14, // 52: nftmeta.v1.token.Manager.GetTokenOnly:input_type -> nftmeta.v1.token.GetTokenOnlyRequest - 12, // 53: nftmeta.v1.token.Manager.GetTokens:input_type -> nftmeta.v1.token.GetTokensRequest - 20, // 54: nftmeta.v1.token.Manager.ExistToken:input_type -> nftmeta.v1.token.ExistTokenRequest - 22, // 55: nftmeta.v1.token.Manager.ExistTokenConds:input_type -> nftmeta.v1.token.ExistTokenCondsRequest - 24, // 56: nftmeta.v1.token.Manager.DeleteToken:input_type -> nftmeta.v1.token.DeleteTokenRequest - 5, // 57: nftmeta.v1.token.Manager.CreateToken:output_type -> nftmeta.v1.token.CreateTokenResponse - 9, // 58: nftmeta.v1.token.Manager.CreateTokens:output_type -> nftmeta.v1.token.CreateTokensResponse - 17, // 59: nftmeta.v1.token.Manager.UpdateToken:output_type -> nftmeta.v1.token.UpdateTokenResponse - 7, // 60: nftmeta.v1.token.Manager.UpsertToken:output_type -> nftmeta.v1.token.UpsertTokenResponse - 19, // 61: nftmeta.v1.token.Manager.UpdateImageVector:output_type -> nftmeta.v1.token.UpdateImageVectorResponse - 11, // 62: nftmeta.v1.token.Manager.GetToken:output_type -> nftmeta.v1.token.GetTokenResponse - 15, // 63: nftmeta.v1.token.Manager.GetTokenOnly:output_type -> nftmeta.v1.token.GetTokenOnlyResponse - 13, // 64: nftmeta.v1.token.Manager.GetTokens:output_type -> nftmeta.v1.token.GetTokensResponse - 21, // 65: nftmeta.v1.token.Manager.ExistToken:output_type -> nftmeta.v1.token.ExistTokenResponse - 23, // 66: nftmeta.v1.token.Manager.ExistTokenConds:output_type -> nftmeta.v1.token.ExistTokenCondsResponse - 25, // 67: nftmeta.v1.token.Manager.DeleteToken:output_type -> nftmeta.v1.token.DeleteTokenResponse - 57, // [57:68] is the sub-list for method output_type - 46, // [46:57] is the sub-list for method input_type - 46, // [46:46] is the sub-list for extension type_name - 46, // [46:46] is the sub-list for extension extendee - 0, // [0:46] is the sub-list for field type_name + 32, // 28: nftmeta.v1.token.Conds.IDs:type_name -> web3eye.Uint32SliceVal + 33, // 29: nftmeta.v1.token.Conds.EntIDs:type_name -> web3eye.StringSliceVal + 34, // 30: nftmeta.v1.token.Conds.VectorIDs:type_name -> web3eye.Int64SliceVal + 1, // 31: nftmeta.v1.token.CreateTokenRequest.Info:type_name -> nftmeta.v1.token.TokenReq + 2, // 32: nftmeta.v1.token.CreateTokenResponse.Info:type_name -> nftmeta.v1.token.Token + 1, // 33: nftmeta.v1.token.UpsertTokenRequest.Info:type_name -> nftmeta.v1.token.TokenReq + 2, // 34: nftmeta.v1.token.UpsertTokenResponse.Info:type_name -> nftmeta.v1.token.Token + 1, // 35: nftmeta.v1.token.CreateTokensRequest.Infos:type_name -> nftmeta.v1.token.TokenReq + 2, // 36: nftmeta.v1.token.CreateTokensResponse.Infos:type_name -> nftmeta.v1.token.Token + 2, // 37: nftmeta.v1.token.GetTokenResponse.Info:type_name -> nftmeta.v1.token.Token + 3, // 38: nftmeta.v1.token.GetTokensRequest.Conds:type_name -> nftmeta.v1.token.Conds + 2, // 39: nftmeta.v1.token.GetTokensResponse.Infos:type_name -> nftmeta.v1.token.Token + 3, // 40: nftmeta.v1.token.GetTokenOnlyRequest.Conds:type_name -> nftmeta.v1.token.Conds + 2, // 41: nftmeta.v1.token.GetTokenOnlyResponse.Info:type_name -> nftmeta.v1.token.Token + 1, // 42: nftmeta.v1.token.UpdateTokenRequest.Info:type_name -> nftmeta.v1.token.TokenReq + 2, // 43: nftmeta.v1.token.UpdateTokenResponse.Info:type_name -> nftmeta.v1.token.Token + 2, // 44: nftmeta.v1.token.UpdateImageVectorResponse.Info:type_name -> nftmeta.v1.token.Token + 3, // 45: nftmeta.v1.token.ExistTokenCondsRequest.Conds:type_name -> nftmeta.v1.token.Conds + 2, // 46: nftmeta.v1.token.DeleteTokenResponse.Info:type_name -> nftmeta.v1.token.Token + 4, // 47: nftmeta.v1.token.Manager.CreateToken:input_type -> nftmeta.v1.token.CreateTokenRequest + 8, // 48: nftmeta.v1.token.Manager.CreateTokens:input_type -> nftmeta.v1.token.CreateTokensRequest + 16, // 49: nftmeta.v1.token.Manager.UpdateToken:input_type -> nftmeta.v1.token.UpdateTokenRequest + 6, // 50: nftmeta.v1.token.Manager.UpsertToken:input_type -> nftmeta.v1.token.UpsertTokenRequest + 18, // 51: nftmeta.v1.token.Manager.UpdateImageVector:input_type -> nftmeta.v1.token.UpdateImageVectorRequest + 10, // 52: nftmeta.v1.token.Manager.GetToken:input_type -> nftmeta.v1.token.GetTokenRequest + 14, // 53: nftmeta.v1.token.Manager.GetTokenOnly:input_type -> nftmeta.v1.token.GetTokenOnlyRequest + 12, // 54: nftmeta.v1.token.Manager.GetTokens:input_type -> nftmeta.v1.token.GetTokensRequest + 20, // 55: nftmeta.v1.token.Manager.ExistToken:input_type -> nftmeta.v1.token.ExistTokenRequest + 22, // 56: nftmeta.v1.token.Manager.ExistTokenConds:input_type -> nftmeta.v1.token.ExistTokenCondsRequest + 24, // 57: nftmeta.v1.token.Manager.DeleteToken:input_type -> nftmeta.v1.token.DeleteTokenRequest + 5, // 58: nftmeta.v1.token.Manager.CreateToken:output_type -> nftmeta.v1.token.CreateTokenResponse + 9, // 59: nftmeta.v1.token.Manager.CreateTokens:output_type -> nftmeta.v1.token.CreateTokensResponse + 17, // 60: nftmeta.v1.token.Manager.UpdateToken:output_type -> nftmeta.v1.token.UpdateTokenResponse + 7, // 61: nftmeta.v1.token.Manager.UpsertToken:output_type -> nftmeta.v1.token.UpsertTokenResponse + 19, // 62: nftmeta.v1.token.Manager.UpdateImageVector:output_type -> nftmeta.v1.token.UpdateImageVectorResponse + 11, // 63: nftmeta.v1.token.Manager.GetToken:output_type -> nftmeta.v1.token.GetTokenResponse + 15, // 64: nftmeta.v1.token.Manager.GetTokenOnly:output_type -> nftmeta.v1.token.GetTokenOnlyResponse + 13, // 65: nftmeta.v1.token.Manager.GetTokens:output_type -> nftmeta.v1.token.GetTokensResponse + 21, // 66: nftmeta.v1.token.Manager.ExistToken:output_type -> nftmeta.v1.token.ExistTokenResponse + 23, // 67: nftmeta.v1.token.Manager.ExistTokenConds:output_type -> nftmeta.v1.token.ExistTokenCondsResponse + 25, // 68: nftmeta.v1.token.Manager.DeleteToken:output_type -> nftmeta.v1.token.DeleteTokenResponse + 58, // [58:69] is the sub-list for method output_type + 47, // [47:58] is the sub-list for method input_type + 47, // [47:47] is the sub-list for extension type_name + 47, // [47:47] is the sub-list for extension extendee + 0, // [0:47] is the sub-list for field type_name } func init() { file_web3eye_nftmeta_v1_token_token_proto_init() } diff --git a/proto/web3eye/nftmeta/v1/token/token.proto b/proto/web3eye/nftmeta/v1/token/token.proto index 9f6fdc6f..df859058 100644 --- a/proto/web3eye/nftmeta/v1/token/token.proto +++ b/proto/web3eye/nftmeta/v1/token/token.proto @@ -137,7 +137,8 @@ message Conds { web3eye.StringVal Remark = 160; web3eye.StringVal IPFSImageURL = 170; web3eye.Uint32Val ImageSnapshotID = 180; - web3eye.StringSliceVal EntIDs = 190; + web3eye.Uint32SliceVal IDs = 190; + web3eye.StringSliceVal EntIDs = 191; web3eye.Int64SliceVal VectorIDs = 200; } diff --git a/proto/web3eye/nftmeta/v1/token/token.swagger.json b/proto/web3eye/nftmeta/v1/token/token.swagger.json index ac1733bf..ee9605c6 100644 --- a/proto/web3eye/nftmeta/v1/token/token.swagger.json +++ b/proto/web3eye/nftmeta/v1/token/token.swagger.json @@ -207,6 +207,9 @@ "ImageSnapshotID": { "$ref": "#/definitions/web3eyeUint32Val" }, + "IDs": { + "$ref": "#/definitions/web3eyeUint32SliceVal" + }, "EntIDs": { "$ref": "#/definitions/web3eyeStringSliceVal" }, @@ -590,6 +593,21 @@ } } }, + "web3eyeUint32SliceVal": { + "type": "object", + "properties": { + "Op": { + "type": "string" + }, + "Value": { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + } + } + } + }, "web3eyeUint32Val": { "type": "object", "properties": { diff --git a/proto/web3eye/ranker/v1/token/token.pb.go b/proto/web3eye/ranker/v1/token/token.pb.go index 15d9c83b..f3068f82 100644 --- a/proto/web3eye/ranker/v1/token/token.pb.go +++ b/proto/web3eye/ranker/v1/token/token.pb.go @@ -27,7 +27,7 @@ type SiblingToken struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - EntID string `protobuf:"bytes,10,opt,name=EntID,proto3" json:"EntID,omitempty"` + ID uint32 `protobuf:"varint,10,opt,name=ID,proto3" json:"ID,omitempty"` TokenID string `protobuf:"bytes,20,opt,name=TokenID,proto3" json:"TokenID,omitempty"` ImageURL string `protobuf:"bytes,30,opt,name=ImageURL,proto3" json:"ImageURL,omitempty"` IPFSImageURL string `protobuf:"bytes,40,opt,name=IPFSImageURL,proto3" json:"IPFSImageURL,omitempty"` @@ -65,11 +65,11 @@ func (*SiblingToken) Descriptor() ([]byte, []int) { return file_web3eye_ranker_v1_token_token_proto_rawDescGZIP(), []int{0} } -func (x *SiblingToken) GetEntID() string { +func (x *SiblingToken) GetID() uint32 { if x != nil { - return x.EntID + return x.ID } - return "" + return 0 } func (x *SiblingToken) GetTokenID() string { @@ -564,127 +564,126 @@ var file_web3eye_ranker_v1_token_token_proto_rawDesc = []byte{ 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, - 0x31, 0x2f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7e, 0x0a, - 0x0c, 0x53, 0x69, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x0a, - 0x05, 0x45, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, 0x6e, - 0x74, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x14, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, - 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x22, 0x0a, 0x0c, 0x49, 0x50, 0x46, - 0x53, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x49, 0x50, 0x46, 0x53, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x22, 0xba, 0x06, - 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x0e, 0x0a, - 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x12, 0x14, 0x0a, - 0x05, 0x45, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, 0x6e, - 0x74, 0x49, 0x44, 0x12, 0x2e, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x18, 0x14, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, - 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x18, 0x1e, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, - 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x2e, 0x0a, 0x09, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x49, 0x44, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x46, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x52, 0x49, - 0x18, 0x50, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x55, 0x52, 0x49, 0x12, 0x30, 0x0a, 0x08, 0x55, - 0x52, 0x49, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x51, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x55, 0x52, 0x49, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x52, 0x08, 0x55, 0x52, 0x49, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x55, 0x52, 0x49, 0x54, 0x79, 0x70, 0x65, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x55, 0x52, 0x49, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x55, 0x52, 0x4c, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x55, 0x52, 0x4c, 0x12, 0x1a, 0x0a, 0x08, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x55, 0x52, 0x4c, 0x18, - 0x6e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x55, 0x52, 0x4c, 0x12, - 0x20, 0x0a, 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x78, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x13, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x82, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x0b, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x6e, + 0x31, 0x2f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x78, 0x0a, + 0x0c, 0x53, 0x69, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x0e, 0x0a, + 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x12, 0x18, 0x0a, + 0x07, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x55, 0x52, 0x4c, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x55, 0x52, 0x4c, 0x12, 0x22, 0x0a, 0x0c, 0x49, 0x50, 0x46, 0x53, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x55, 0x52, 0x4c, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x49, 0x50, 0x46, 0x53, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x22, 0xba, 0x06, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x49, 0x44, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x2e, 0x0a, + 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x10, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x12, 0x2e, 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x18, 0x32, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x3c, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x44, 0x12, 0x14, 0x0a, + 0x05, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x46, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x4f, 0x77, + 0x6e, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x52, 0x49, 0x18, 0x50, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x55, 0x52, 0x49, 0x12, 0x30, 0x0a, 0x08, 0x55, 0x52, 0x49, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x18, 0x51, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x55, 0x52, 0x49, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x08, 0x55, + 0x52, 0x49, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x55, 0x52, 0x49, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x55, 0x52, 0x49, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x64, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x1a, 0x0a, + 0x08, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x55, 0x52, 0x4c, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x55, 0x52, 0x4c, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x78, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x13, 0x0a, 0x04, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x82, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x41, 0x0a, 0x0b, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x8c, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, + 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x18, + 0x96, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x44, + 0x12, 0x17, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0xa0, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x23, 0x0a, 0x0c, 0x49, 0x50, 0x46, + 0x53, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x18, 0xaa, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x49, 0x50, 0x46, 0x53, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x29, + 0x0a, 0x0f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, + 0x44, 0x18, 0xb4, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x44, 0x12, 0x23, 0x0a, 0x0c, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x4e, 0x75, 0x6d, 0x18, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x4e, 0x75, 0x6d, 0x12, 0x44, + 0x0a, 0x0d, 0x53, 0x69, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, + 0x90, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x53, 0x69, 0x62, 0x6c, 0x69, 0x6e, 0x67, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x0d, 0x53, 0x69, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0b, 0x53, 0x69, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x73, + 0x4e, 0x75, 0x6d, 0x18, 0x9a, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x53, 0x69, 0x62, 0x6c, + 0x69, 0x6e, 0x67, 0x73, 0x4e, 0x75, 0x6d, 0x12, 0x1b, 0x0a, 0x08, 0x44, 0x69, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x18, 0xf4, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x44, 0x69, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x22, 0x62, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x56, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x02, 0x52, 0x06, 0x56, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x75, 0x0a, 0x11, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, + 0x06, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x02, 0x52, 0x06, 0x56, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x4b, 0x65, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x14, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x04, 0x50, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, + 0xd2, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, + 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x18, 0x14, 0x20, 0x03, 0x28, 0x02, 0x52, 0x06, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1e, + 0x0a, 0x0a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x15, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x12, + 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x50, 0x61, + 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x61, 0x67, 0x65, 0x73, 0x18, 0x28, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x05, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x74, 0x61, + 0x6c, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x14, + 0x0a, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x32, 0xbe, 0x03, 0x0a, 0x07, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x12, 0x53, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x21, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, - 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x56, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x56, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x49, 0x44, 0x18, 0x96, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x56, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x12, 0x17, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, - 0x18, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, - 0x23, 0x0a, 0x0c, 0x49, 0x50, 0x46, 0x53, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x18, - 0xaa, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x49, 0x50, 0x46, 0x53, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x55, 0x52, 0x4c, 0x12, 0x29, 0x0a, 0x0f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x44, 0x18, 0xb4, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x44, 0x12, - 0x23, 0x0a, 0x0c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x4e, 0x75, 0x6d, 0x18, - 0xbe, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x73, 0x4e, 0x75, 0x6d, 0x12, 0x44, 0x0a, 0x0d, 0x53, 0x69, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x90, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x72, - 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x53, - 0x69, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x0d, 0x53, 0x69, 0x62, - 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0b, 0x53, 0x69, - 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x73, 0x4e, 0x75, 0x6d, 0x18, 0x9a, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0b, 0x53, 0x69, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x73, 0x4e, 0x75, 0x6d, 0x12, 0x1b, 0x0a, - 0x08, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0xf4, 0x03, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x08, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x62, 0x0a, 0x12, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x16, 0x0a, 0x06, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x02, - 0x52, 0x06, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x69, 0x6d, 0x69, - 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x75, - 0x0a, 0x11, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x0a, 0x20, - 0x03, 0x28, 0x02, 0x52, 0x06, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x53, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x50, - 0x61, 0x67, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x50, 0x61, 0x67, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xd2, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x49, 0x6e, 0x66, 0x6f, - 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x16, 0x0a, 0x06, - 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x14, 0x20, 0x03, 0x28, 0x02, 0x52, 0x06, 0x56, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4b, - 0x65, 0x79, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x1e, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x04, 0x50, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x61, 0x67, 0x65, - 0x73, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x14, - 0x0a, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x54, - 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x3c, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x32, 0xbe, 0x03, 0x0a, 0x07, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x53, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x12, 0x21, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, + 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x22, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x25, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x0c, 0x47, - 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x25, 0x2e, 0x6e, 0x66, - 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, - 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4f, 0x6e, - 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x09, - 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x22, 0x2e, 0x6e, 0x66, 0x74, 0x6d, - 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, - 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x06, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x23, - 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x0a, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x50, 0x61, 0x67, 0x65, 0x12, 0x22, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x61, 0x67, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, + 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6e, + 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, + 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x73, 0x12, 0x22, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, + 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, + 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, + 0x0a, 0x06, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x23, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x3d, 0x5a, 0x3b, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, - 0x65, 0x2d, 0x69, 0x6f, 0x2f, 0x57, 0x65, 0x62, 0x33, 0x45, 0x79, 0x65, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2f, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2f, 0x72, 0x61, 0x6e, 0x6b, 0x65, - 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, + 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x53, 0x0a, 0x0a, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x61, 0x67, 0x65, 0x12, 0x22, + 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x3d, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2d, 0x69, 0x6f, 0x2f, 0x57, + 0x65, 0x62, 0x33, 0x45, 0x79, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x77, 0x65, 0x62, + 0x33, 0x65, 0x79, 0x65, 0x2f, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/proto/web3eye/ranker/v1/token/token.proto b/proto/web3eye/ranker/v1/token/token.proto index bd120a05..23c945cf 100644 --- a/proto/web3eye/ranker/v1/token/token.proto +++ b/proto/web3eye/ranker/v1/token/token.proto @@ -15,7 +15,7 @@ service Manager { } message SiblingToken{ - string EntID = 10; + uint32 ID = 10; string TokenID = 20; string ImageURL = 30; string IPFSImageURL = 40; diff --git a/proto/web3eye/ranker/v1/token/token.swagger.json b/proto/web3eye/ranker/v1/token/token.swagger.json index 4bc23081..c4e3be0c 100644 --- a/proto/web3eye/ranker/v1/token/token.swagger.json +++ b/proto/web3eye/ranker/v1/token/token.swagger.json @@ -142,6 +142,9 @@ "ImageSnapshotID": { "$ref": "#/definitions/web3eyeUint32Val" }, + "IDs": { + "$ref": "#/definitions/web3eyeUint32SliceVal" + }, "EntIDs": { "$ref": "#/definitions/web3eyeStringSliceVal" }, @@ -321,8 +324,9 @@ "tokenSiblingToken": { "type": "object", "properties": { - "EntID": { - "type": "string" + "ID": { + "type": "integer", + "format": "int64" }, "TokenID": { "type": "string" @@ -497,6 +501,21 @@ } } }, + "web3eyeUint32SliceVal": { + "type": "object", + "properties": { + "Op": { + "type": "string" + }, + "Value": { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + } + } + } + }, "web3eyeUint32Val": { "type": "object", "properties": { diff --git a/proto/web3eye/web3eye.pb.go b/proto/web3eye/web3eye.pb.go index 387c105a..2a9af26c 100644 --- a/proto/web3eye/web3eye.pb.go +++ b/proto/web3eye/web3eye.pb.go @@ -563,6 +563,61 @@ func (x *StringSliceVal) GetValue() []string { return nil } +type Uint32SliceVal struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Op string `protobuf:"bytes,10,opt,name=Op,proto3" json:"Op,omitempty"` + Value []uint32 `protobuf:"varint,20,rep,packed,name=Value,proto3" json:"Value,omitempty"` +} + +func (x *Uint32SliceVal) Reset() { + *x = Uint32SliceVal{} + if protoimpl.UnsafeEnabled { + mi := &file_web3eye_web3eye_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Uint32SliceVal) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Uint32SliceVal) ProtoMessage() {} + +func (x *Uint32SliceVal) ProtoReflect() protoreflect.Message { + mi := &file_web3eye_web3eye_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 Uint32SliceVal.ProtoReflect.Descriptor instead. +func (*Uint32SliceVal) Descriptor() ([]byte, []int) { + return file_web3eye_web3eye_proto_rawDescGZIP(), []int{10} +} + +func (x *Uint32SliceVal) GetOp() string { + if x != nil { + return x.Op + } + return "" +} + +func (x *Uint32SliceVal) GetValue() []uint32 { + if x != nil { + return x.Value + } + return nil +} + type Int64SliceVal struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -575,7 +630,7 @@ type Int64SliceVal struct { func (x *Int64SliceVal) Reset() { *x = Int64SliceVal{} if protoimpl.UnsafeEnabled { - mi := &file_web3eye_web3eye_proto_msgTypes[10] + mi := &file_web3eye_web3eye_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -588,7 +643,7 @@ func (x *Int64SliceVal) String() string { func (*Int64SliceVal) ProtoMessage() {} func (x *Int64SliceVal) ProtoReflect() protoreflect.Message { - mi := &file_web3eye_web3eye_proto_msgTypes[10] + mi := &file_web3eye_web3eye_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -601,7 +656,7 @@ func (x *Int64SliceVal) ProtoReflect() protoreflect.Message { // Deprecated: Use Int64SliceVal.ProtoReflect.Descriptor instead. func (*Int64SliceVal) Descriptor() ([]byte, []int) { - return file_web3eye_web3eye_proto_rawDescGZIP(), []int{10} + return file_web3eye_web3eye_proto_rawDescGZIP(), []int{11} } func (x *Int64SliceVal) GetOp() string { @@ -657,14 +712,17 @@ var file_web3eye_web3eye_proto_rawDesc = []byte{ 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x56, 0x61, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x4f, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x14, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x35, 0x0a, 0x0d, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x53, - 0x6c, 0x69, 0x63, 0x65, 0x56, 0x61, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x70, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x4f, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x14, 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x2d, 0x5a, - 0x2b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x33, - 0x65, 0x79, 0x65, 0x2d, 0x69, 0x6f, 0x2f, 0x57, 0x65, 0x62, 0x33, 0x45, 0x79, 0x65, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x36, 0x0a, 0x0e, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, + 0x53, 0x6c, 0x69, 0x63, 0x65, 0x56, 0x61, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x70, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x4f, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x35, + 0x0a, 0x0d, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x56, 0x61, 0x6c, 0x12, + 0x0e, 0x0a, 0x02, 0x4f, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x4f, 0x70, 0x12, + 0x14, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x14, 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x2d, 0x5a, 0x2b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2d, 0x69, 0x6f, 0x2f, 0x57, + 0x65, 0x62, 0x33, 0x45, 0x79, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x77, 0x65, 0x62, + 0x33, 0x65, 0x79, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -679,7 +737,7 @@ func file_web3eye_web3eye_proto_rawDescGZIP() []byte { return file_web3eye_web3eye_proto_rawDescData } -var file_web3eye_web3eye_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_web3eye_web3eye_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_web3eye_web3eye_proto_goTypes = []interface{}{ (*VersionResponse)(nil), // 0: web3eye.VersionResponse (*FilterCond)(nil), // 1: web3eye.FilterCond @@ -691,11 +749,12 @@ var file_web3eye_web3eye_proto_goTypes = []interface{}{ (*StringVal)(nil), // 7: web3eye.StringVal (*BoolVal)(nil), // 8: web3eye.BoolVal (*StringSliceVal)(nil), // 9: web3eye.StringSliceVal - (*Int64SliceVal)(nil), // 10: web3eye.Int64SliceVal - (*structpb.Value)(nil), // 11: google.protobuf.Value + (*Uint32SliceVal)(nil), // 10: web3eye.Uint32SliceVal + (*Int64SliceVal)(nil), // 11: web3eye.Int64SliceVal + (*structpb.Value)(nil), // 12: google.protobuf.Value } var file_web3eye_web3eye_proto_depIdxs = []int32{ - 11, // 0: web3eye.FilterCond.Val:type_name -> google.protobuf.Value + 12, // 0: web3eye.FilterCond.Val:type_name -> google.protobuf.Value 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name @@ -830,6 +889,18 @@ func file_web3eye_web3eye_proto_init() { } } file_web3eye_web3eye_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Uint32SliceVal); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_web3eye_web3eye_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Int64SliceVal); i { case 0: return &v.state @@ -848,7 +919,7 @@ func file_web3eye_web3eye_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_web3eye_web3eye_proto_rawDesc, NumEnums: 0, - NumMessages: 11, + NumMessages: 12, NumExtensions: 0, NumServices: 0, }, diff --git a/proto/web3eye/web3eye.proto b/proto/web3eye/web3eye.proto index 0cc647f2..412ca452 100644 --- a/proto/web3eye/web3eye.proto +++ b/proto/web3eye/web3eye.proto @@ -53,6 +53,11 @@ message StringSliceVal { repeated string Value = 20; } +message Uint32SliceVal { + string Op = 10; + repeated uint32 Value = 20; +} + message Int64SliceVal { string Op = 10; repeated int64 Value = 20; diff --git a/ranker/api/v1/token/search.go b/ranker/api/v1/token/search.go index 36da9181..33e1af91 100644 --- a/ranker/api/v1/token/search.go +++ b/ranker/api/v1/token/search.go @@ -8,6 +8,7 @@ import ( "time" "github.com/NpoolPlatform/go-service-framework/pkg/logger" + "github.com/NpoolPlatform/libent-cruder/pkg/cruder" "github.com/web3eye-io/Web3Eye/common/ctredis" "github.com/web3eye-io/Web3Eye/nft-meta/pkg/imageconvert" "github.com/web3eye-io/Web3Eye/nft-meta/pkg/milvusdb" @@ -29,7 +30,7 @@ const ( type SearchTokenBone struct { EntID string - SiblingEntIDs []string + SiblingIDs []uint32 SiblingsNum uint32 Distance float32 TranserferNum int32 @@ -216,6 +217,10 @@ func QueryAndCollectTokens(ctx context.Context, scores map[int64]float32, topN i Op: "in", Value: vIDs, }, + VectorState: &val.Uint32Val{ + Op: cruder.EQ, + Value: uint32(nftmetanpool.ConvertState_Success), + }, } h, err := tokenhandler.NewHandler(ctx, @@ -252,7 +257,7 @@ func QueryAndCollectTokens(ctx context.Context, scores map[int64]float32, topN i } result[contractIndex[v.Contract]].SiblingTokens = append( result[contractIndex[v.Contract]].SiblingTokens, &rankernpool.SiblingToken{ - EntID: v.EntID, + ID: v.ID, TokenID: v.TokenID, ImageURL: v.ImageURL, IPFSImageURL: v.IPFSImageURL, @@ -267,9 +272,10 @@ func QueryAndCollectTokens(ctx context.Context, scores map[int64]float32, topN i // full the siblinsTokens for _, v := range result { conds := &nftmetanpool.Conds{ - ChainType: &val.Uint32Val{Op: "eq", Value: uint32(v.ChainType)}, - ChainID: &val.StringVal{Op: "eq", Value: v.ChainID}, - Contract: &val.StringVal{Op: "eq", Value: v.Contract}, + ChainType: &val.Uint32Val{Op: "eq", Value: uint32(v.ChainType)}, + ChainID: &val.StringVal{Op: "eq", Value: v.ChainID}, + Contract: &val.StringVal{Op: "eq", Value: v.Contract}, + VectorState: &val.Uint32Val{Op: cruder.EQ, Value: uint32(nftmetanpool.ConvertState_Success)}, } h, err := tokenhandler.NewHandler( @@ -297,7 +303,7 @@ func QueryAndCollectTokens(ctx context.Context, scores map[int64]float32, topN i continue } v.SiblingTokens = append(v.SiblingTokens, &rankernpool.SiblingToken{ - EntID: token.EntID, + ID: token.ID, TokenID: token.TokenID, ImageURL: token.ImageURL, IPFSImageURL: token.IPFSImageURL, @@ -360,11 +366,11 @@ func ToTokenBones(infos []*rankernpool.SearchToken) []*SearchTokenBone { Distance: v.Distance, TranserferNum: v.TransfersNum, } - siblingIDs := make([]string, len(v.SiblingTokens)) + siblingIDs := make([]uint32, len(v.SiblingTokens)) for i, token := range v.SiblingTokens { - siblingIDs[i] = token.EntID + siblingIDs[i] = token.ID } - bones[i].SiblingEntIDs = siblingIDs + bones[i].SiblingIDs = siblingIDs } return bones } @@ -373,12 +379,15 @@ func ToSearchTokens(ctx context.Context, bones []*SearchTokenBone) ([]*rankernpo tokens := make([]*rankernpool.SearchToken, len(bones)) for i, v := range bones { EntIDs := []string{v.EntID} - EntIDs = append(EntIDs, v.SiblingEntIDs...) conds := &nftmetanpool.Conds{ EntIDs: &val.StringSliceVal{ - Op: "in", + Op: cruder.IN, Value: EntIDs, }, + IDs: &val.Uint32SliceVal{ + Op: cruder.IN, + Value: v.SiblingIDs, + }, } h, err := tokenhandler.NewHandler( @@ -403,7 +412,7 @@ func ToSearchTokens(ctx context.Context, bones []*SearchTokenBone) ([]*rankernpo rows[0], rows[j] = rows[j], rows[0] } tokens[i].SiblingTokens[j-1] = &rankernpool.SiblingToken{ - EntID: rows[j].EntID, + ID: rows[j].ID, TokenID: rows[j].TokenID, ImageURL: rows[j].ImageURL, IPFSImageURL: rows[j].IPFSImageURL, From 55fb001fa7fa56111d7855d04c3a57ed8d3a476a Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 4 Jan 2024 09:54:05 +0800 Subject: [PATCH 021/116] check lint --- nft-meta/pkg/mw/v1/token/create.go | 1 - nft-meta/pkg/mw/v1/token/upsert.go | 1 - 2 files changed, 2 deletions(-) diff --git a/nft-meta/pkg/mw/v1/token/create.go b/nft-meta/pkg/mw/v1/token/create.go index 2b6ebb2b..c8009d07 100644 --- a/nft-meta/pkg/mw/v1/token/create.go +++ b/nft-meta/pkg/mw/v1/token/create.go @@ -13,7 +13,6 @@ import ( "github.com/google/uuid" ) -//nolint:dupl func (h *Handler) CreateToken(ctx context.Context) (*tokenproto.Token, error) { entID := uuid.New() if h.EntID == nil { diff --git a/nft-meta/pkg/mw/v1/token/upsert.go b/nft-meta/pkg/mw/v1/token/upsert.go index 443ded6e..7fc45d07 100644 --- a/nft-meta/pkg/mw/v1/token/upsert.go +++ b/nft-meta/pkg/mw/v1/token/upsert.go @@ -10,7 +10,6 @@ import ( tokenproto "github.com/web3eye-io/Web3Eye/proto/web3eye/nftmeta/v1/token" ) -//nolint:dupl func (h *Handler) UpsertToken(ctx context.Context) (*tokenproto.Token, error) { err := db.WithTx(ctx, func(_ctx context.Context, tx *ent.Tx) error { row, _ := tx.Token.Query().Where( From 2c0ccaa225784061c6a05165ee73c5b30a02be4a Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 4 Jan 2024 14:15:10 +0800 Subject: [PATCH 022/116] bugfix for panic --- nft-meta/pkg/mw/v1/order/upsert.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nft-meta/pkg/mw/v1/order/upsert.go b/nft-meta/pkg/mw/v1/order/upsert.go index 7eaf5059..c1d90227 100644 --- a/nft-meta/pkg/mw/v1/order/upsert.go +++ b/nft-meta/pkg/mw/v1/order/upsert.go @@ -49,9 +49,9 @@ func (h *Handler) UpsertOrder(ctx context.Context) (*orderproto.Order, error) { func (h *Handler) upsertOne(_ctx context.Context, tx *ent.Tx, req *ordercrud.Req) (*uint32, *uuid.UUID, error) { row, _ := tx.Order.Query().Where( - orderent.TxHash(*h.TxHash), - orderent.Recipient(*h.Recipient), - orderent.LogIndex(*h.LogIndex), + orderent.TxHash(*req.TxHash), + orderent.Recipient(*req.Recipient), + orderent.LogIndex(*req.LogIndex), ).Only(_ctx) var id *uint32 var entID *uuid.UUID From 96f893d05735ae0f0a5d89815294120dd10e2d12 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 4 Jan 2024 14:34:07 +0800 Subject: [PATCH 023/116] bugfix for panic --- nft-meta/api/v1/token/token.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nft-meta/api/v1/token/token.go b/nft-meta/api/v1/token/token.go index d7a95089..86077a38 100644 --- a/nft-meta/api/v1/token/token.go +++ b/nft-meta/api/v1/token/token.go @@ -258,7 +258,7 @@ func TransformImage(ctx context.Context, inInfo *npool.TokenReq) error { return fmt.Errorf("not set entID") } - if inInfo.URIState.String() != basetype.TokenURIState_TokenURIFinish.String() || + if inInfo.URIState.String() != basetype.TokenURIState_TokenURIFinish.String() && inInfo.URIState.String() != basetype.TokenURIState_TokenURIIncomplete.String() { return nil } From 826db7cc8507954cb7e77d5ced39ff96b2c97141 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 4 Jan 2024 14:56:20 +0800 Subject: [PATCH 024/116] add unmasher --- nft-meta/api/v1/block/block.go | 1 - ranker/api/v1/token/search.go | 10 ++++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/nft-meta/api/v1/block/block.go b/nft-meta/api/v1/block/block.go index ed3ef942..a8177d2f 100644 --- a/nft-meta/api/v1/block/block.go +++ b/nft-meta/api/v1/block/block.go @@ -175,7 +175,6 @@ func (s *Server) GetBlockOnly(ctx context.Context, in *npool.GetBlockOnlyRequest if total != 1 { errMsg := "more than one result or have no result" - logger.Sugar().Errorw("GetBlockOnly", "error", errMsg) return &npool.GetBlockOnlyResponse{}, status.Error(codes.Internal, errMsg) } diff --git a/ranker/api/v1/token/search.go b/ranker/api/v1/token/search.go index 33e1af91..f74fef64 100644 --- a/ranker/api/v1/token/search.go +++ b/ranker/api/v1/token/search.go @@ -2,6 +2,7 @@ package token import ( "context" + "encoding/json" "errors" "fmt" "sort" @@ -156,6 +157,15 @@ func (s *Server) RankerTokens(ctx context.Context, vector []float32, storageKey return totalPages, totalTokens, nil } +func (pt *PageBone) MarshalBinary() (data []byte, err error) { + data, err = json.Marshal(pt) + return data, err +} + +func (pt *PageBone) UnmarshalBinary(data []byte) error { + return json.Unmarshal(data, pt) +} + func SerachFromMilvus(ctx context.Context, vector []float32, topN int) (map[int64]float32, error) { // search from milvus milvusmgr := milvusdb.NewNFTConllectionMGR() From a1e5ca5af6541e3b50826c095dd220105f182c9a Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 4 Jan 2024 15:06:03 +0800 Subject: [PATCH 025/116] donot convert vector if not parse the tokenURI --- block-etl/pkg/chains/eth/token.go | 6 +++++- block-etl/pkg/chains/sol/token.go | 6 +++++- nft-meta/api/v1/token/token.go | 6 ------ 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/block-etl/pkg/chains/eth/token.go b/block-etl/pkg/chains/eth/token.go index 4ca07c84..603a0724 100644 --- a/block-etl/pkg/chains/eth/token.go +++ b/block-etl/pkg/chains/eth/token.go @@ -198,9 +198,11 @@ func (e *EthIndexer) IndexToken(ctx context.Context, inTransfers []*chains.Token } uriState := basetype.TokenURIState_TokenURIFinish + vectorState := tokenProto.ConvertState_Default tokenURI, err := cli.TokenURI(ctx, transfer.TokenType, transfer.Contract, transfer.TokenID, transfer.BlockNumber) if err != nil { uriState = basetype.TokenURIState_TokenURIError + vectorState = tokenProto.ConvertState_Failed e.checkErr(ctx, err) logger.Sugar().Warnf("cannot get tokenURI,err: %v", err) remark = fmt.Sprintf("%v,%v", remark, err) @@ -210,7 +212,9 @@ func (e *EthIndexer) IndexToken(ctx context.Context, inTransfers []*chains.Token if err != nil { // if cannot get tokenURIInfo,then set the default value uriState = basetype.TokenURIState_TokenURIError + vectorState = tokenProto.ConvertState_Failed tokenURIInfo = &token.TokenURIInfo{} + remark = fmt.Sprintf("%v,%v", remark, err) } else if !complete { uriState = basetype.TokenURIState_TokenURIIncomplete @@ -235,7 +239,7 @@ func (e *EthIndexer) IndexToken(ctx context.Context, inTransfers []*chains.Token VideoURL: &tokenURIInfo.VideoURL, Name: &tokenURIInfo.Name, Description: &tokenURIInfo.Description, - VectorState: tokenProto.ConvertState_Waiting.Enum(), + VectorState: &vectorState, Remark: &remark, }, }) diff --git a/block-etl/pkg/chains/sol/token.go b/block-etl/pkg/chains/sol/token.go index 1bf9963f..8af8fc32 100644 --- a/block-etl/pkg/chains/sol/token.go +++ b/block-etl/pkg/chains/sol/token.go @@ -170,9 +170,11 @@ func (e *SolIndexer) IndexToken(ctx context.Context, inTransfers []*chains.Token remark := "" uriState := basetype.TokenURIState_TokenURIFinish + vectorState := tokenProto.ConvertState_Default metadata, err := cli.GetMetadata(ctx, transfer.TokenID) if err != nil { uriState = basetype.TokenURIState_TokenURIError + vectorState = tokenProto.ConvertState_Failed e.checkErr(ctx, err) logger.Sugar().Warnf("cannot get metadata,err: %v, tokenID: %v", err, transfer.TokenID) remark = fmt.Sprintf("%v,%v", remark, err) @@ -184,6 +186,7 @@ func (e *SolIndexer) IndexToken(ctx context.Context, inTransfers []*chains.Token tokenURIInfo, complete, err = token.GetTokenURIInfo(ctx, metadata.Data.Uri) if err != nil { uriState = basetype.TokenURIState_TokenURIError + vectorState = tokenProto.ConvertState_Failed tokenURIInfo = &token.TokenURIInfo{} remark = fmt.Sprintf("%v,%v", remark, err) } else if !complete { @@ -191,6 +194,7 @@ func (e *SolIndexer) IndexToken(ctx context.Context, inTransfers []*chains.Token } } else { uriState = basetype.TokenURIState_TokenURIError + vectorState = tokenProto.ConvertState_Failed // if cannot get metadata,then set the default value metadata = &token_metadata.Metadata{} } @@ -214,7 +218,7 @@ func (e *SolIndexer) IndexToken(ctx context.Context, inTransfers []*chains.Token VideoURL: &tokenURIInfo.VideoURL, Name: &metadata.Data.Name, Description: &metadata.Data.Symbol, - VectorState: tokenProto.ConvertState_Waiting.Enum(), + VectorState: &vectorState, Remark: &remark, }, }) diff --git a/nft-meta/api/v1/token/token.go b/nft-meta/api/v1/token/token.go index 86077a38..fd624dcb 100644 --- a/nft-meta/api/v1/token/token.go +++ b/nft-meta/api/v1/token/token.go @@ -18,7 +18,6 @@ import ( "google.golang.org/grpc/status" "github.com/NpoolPlatform/go-service-framework/pkg/logger" - basetype "github.com/web3eye-io/Web3Eye/proto/web3eye/basetype/v1" npool "github.com/web3eye-io/Web3Eye/proto/web3eye/nftmeta/v1/token" "github.com/google/uuid" @@ -258,11 +257,6 @@ func TransformImage(ctx context.Context, inInfo *npool.TokenReq) error { return fmt.Errorf("not set entID") } - if inInfo.URIState.String() != basetype.TokenURIState_TokenURIFinish.String() && - inInfo.URIState.String() != basetype.TokenURIState_TokenURIIncomplete.String() { - return nil - } - if inInfo.VectorState.String() != npool.ConvertState_Waiting.String() { return nil } From b2d8b3e1289fdc3bc7d0c8544b070164afe2d77f Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 4 Jan 2024 16:03:38 +0800 Subject: [PATCH 026/116] fixbug for ranker tokens --- nft-meta/pkg/mw/v1/token/handler.go | 8 +++--- ranker/api/v1/token/search.go | 38 ++++++++++++++--------------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/nft-meta/pkg/mw/v1/token/handler.go b/nft-meta/pkg/mw/v1/token/handler.go index 42e43d9f..e82f0de9 100644 --- a/nft-meta/pkg/mw/v1/token/handler.go +++ b/nft-meta/pkg/mw/v1/token/handler.go @@ -417,21 +417,21 @@ func WithConds(conds *tokenproto.Conds) func(context.Context, *Handler) error { } } if conds.EntIDs != nil { - ids := []uuid.UUID{} + entIDs := []uuid.UUID{} for _, id := range conds.GetEntIDs().GetValue() { _id, err := uuid.Parse(id) if err != nil { return err } - ids = append(ids, _id) + entIDs = append(entIDs, _id) } h.Conds.EntIDs = &cruder.Cond{ Op: conds.GetEntIDs().GetOp(), - Val: ids, + Val: entIDs, } } if conds.IDs != nil { - h.Conds.EntIDs = &cruder.Cond{ + h.Conds.IDs = &cruder.Cond{ Op: conds.GetIDs().GetOp(), Val: conds.GetIDs().GetValue(), } diff --git a/ranker/api/v1/token/search.go b/ranker/api/v1/token/search.go index f74fef64..3b8a6fb6 100644 --- a/ranker/api/v1/token/search.go +++ b/ranker/api/v1/token/search.go @@ -124,7 +124,6 @@ func (s *Server) RankerTokens(ctx context.Context, vector []float32, storageKey logger.Sugar().Errorf("query and collect tokens failed, %v", err) return 0, 0, err } - logger.Sugar().Infof("infos: %v", len(infos)) totalPages = uint32(len(infos) / int(limit)) if len(infos)%int(limit) > 0 { @@ -388,23 +387,32 @@ func ToTokenBones(infos []*rankernpool.SearchToken) []*SearchTokenBone { func ToSearchTokens(ctx context.Context, bones []*SearchTokenBone) ([]*rankernpool.SearchToken, error) { tokens := make([]*rankernpool.SearchToken, len(bones)) for i, v := range bones { - EntIDs := []string{v.EntID} + h, err := tokenhandler.NewHandler(ctx, tokenhandler.WithEntID(&v.EntID, true)) + if err != nil { + return nil, err + } + + mainToken, err := h.GetToken(ctx) + if err != nil { + return nil, err + } + tokens[i] = converter.Ent2Grpc(mainToken) + tokens[i].Distance = v.Distance + tokens[i].SiblingsNum = v.SiblingsNum + tokens[i].TransfersNum = v.TranserferNum + conds := &nftmetanpool.Conds{ - EntIDs: &val.StringSliceVal{ - Op: cruder.IN, - Value: EntIDs, - }, IDs: &val.Uint32SliceVal{ Op: cruder.IN, Value: v.SiblingIDs, }, } - h, err := tokenhandler.NewHandler( + h, err = tokenhandler.NewHandler( ctx, tokenhandler.WithConds(conds), tokenhandler.WithOffset(0), - tokenhandler.WithLimit(int32(len(EntIDs))), + tokenhandler.WithLimit(int32(len(v.SiblingIDs))), ) if err != nil { return nil, err @@ -416,12 +424,9 @@ func ToSearchTokens(ctx context.Context, bones []*SearchTokenBone) ([]*rankernpo return nil, err } - for j := 1; j < len(rows); j++ { - // find the SearchToken row - if rows[j].EntID == v.EntID { - rows[0], rows[j] = rows[j], rows[0] - } - tokens[i].SiblingTokens[j-1] = &rankernpool.SiblingToken{ + tokens[i].SiblingTokens = make([]*rankernpool.SiblingToken, len(rows)) + for j := 0; j < len(rows); j++ { + tokens[i].SiblingTokens[j] = &rankernpool.SiblingToken{ ID: rows[j].ID, TokenID: rows[j].TokenID, ImageURL: rows[j].ImageURL, @@ -429,11 +434,6 @@ func ToSearchTokens(ctx context.Context, bones []*SearchTokenBone) ([]*rankernpo } } - tokens[i] = converter.Ent2Grpc(rows[0]) - tokens[i].Distance = v.Distance - tokens[i].SiblingsNum = v.SiblingsNum - tokens[i].TransfersNum = v.TranserferNum - tokens[i].SiblingTokens = make([]*rankernpool.SiblingToken, len(rows)-1) } return tokens, nil From 4faebee4f2da8ccb80f5dea53de63e4b3b519098 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 4 Jan 2024 16:17:29 +0800 Subject: [PATCH 027/116] fixbug for ranker tokens --- ranker/api/v1/token/search.go | 1 - 1 file changed, 1 deletion(-) diff --git a/ranker/api/v1/token/search.go b/ranker/api/v1/token/search.go index 3b8a6fb6..8c04de2e 100644 --- a/ranker/api/v1/token/search.go +++ b/ranker/api/v1/token/search.go @@ -433,7 +433,6 @@ func ToSearchTokens(ctx context.Context, bones []*SearchTokenBone) ([]*rankernpo IPFSImageURL: rows[j].IPFSImageURL, } } - } return tokens, nil From 9dffaaa371e2eeaa26898b99f0b4847a00806e44 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 4 Jan 2024 16:21:05 +0800 Subject: [PATCH 028/116] fixbug for ranker tokens --- block-etl/pkg/chains/sol/token.go | 1 + 1 file changed, 1 insertion(+) diff --git a/block-etl/pkg/chains/sol/token.go b/block-etl/pkg/chains/sol/token.go index 8af8fc32..7b979b15 100644 --- a/block-etl/pkg/chains/sol/token.go +++ b/block-etl/pkg/chains/sol/token.go @@ -125,6 +125,7 @@ func (e *SolIndexer) IndexTransfer(ctx context.Context, inBlockNum uint64) ([]*c return transfers, nil } +//nolint:funlen func (e *SolIndexer) IndexToken(ctx context.Context, inTransfers []*chains.TokenTransfer) ([]*chains.TokenTransfer, error) { outTransfers := []*chains.TokenTransfer{} for _, transfer := range inTransfers { From b957d58892585ba3b0f72cc95ba7e07628a0c18c Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 4 Jan 2024 16:52:14 +0800 Subject: [PATCH 029/116] not log err when getXXOnly have no results or many --- block-etl/pkg/chains/eth/token.go | 1 - nft-meta/api/v1/contract/contract.go | 1 - nft-meta/api/v1/endpoint/endpoint.go | 1 - nft-meta/api/v1/order/order.go | 1 - nft-meta/api/v1/snapshot/snapshot.go | 1 - nft-meta/api/v1/synctask/synctask.go | 1 - nft-meta/api/v1/token/token.go | 1 - nft-meta/api/v1/transfer/transfer.go | 1 - 8 files changed, 8 deletions(-) diff --git a/block-etl/pkg/chains/eth/token.go b/block-etl/pkg/chains/eth/token.go index 603a0724..9abdb692 100644 --- a/block-etl/pkg/chains/eth/token.go +++ b/block-etl/pkg/chains/eth/token.go @@ -204,7 +204,6 @@ func (e *EthIndexer) IndexToken(ctx context.Context, inTransfers []*chains.Token uriState = basetype.TokenURIState_TokenURIError vectorState = tokenProto.ConvertState_Failed e.checkErr(ctx, err) - logger.Sugar().Warnf("cannot get tokenURI,err: %v", err) remark = fmt.Sprintf("%v,%v", remark, err) } diff --git a/nft-meta/api/v1/contract/contract.go b/nft-meta/api/v1/contract/contract.go index 963dec2e..6a7fd7b6 100644 --- a/nft-meta/api/v1/contract/contract.go +++ b/nft-meta/api/v1/contract/contract.go @@ -202,7 +202,6 @@ func (s *Server) GetContractOnly(ctx context.Context, in *npool.GetContractOnlyR if total != 1 { errMsg := "more than one result or have no result" - logger.Sugar().Errorw("GetContractOnly", "error", errMsg) return &npool.GetContractOnlyResponse{}, status.Error(codes.Internal, errMsg) } diff --git a/nft-meta/api/v1/endpoint/endpoint.go b/nft-meta/api/v1/endpoint/endpoint.go index 4fb5f089..a1e7a739 100644 --- a/nft-meta/api/v1/endpoint/endpoint.go +++ b/nft-meta/api/v1/endpoint/endpoint.go @@ -185,7 +185,6 @@ func (s *Server) GetEndpointOnly(ctx context.Context, in *endpointproto.GetEndpo if total != 1 { errMsg := "more than one result or have no result" - logger.Sugar().Errorw("GetEndpointOnly", "error", errMsg) return &endpointproto.GetEndpointOnlyResponse{}, status.Error(codes.Internal, errMsg) } diff --git a/nft-meta/api/v1/order/order.go b/nft-meta/api/v1/order/order.go index 5d52f7cf..896b10eb 100644 --- a/nft-meta/api/v1/order/order.go +++ b/nft-meta/api/v1/order/order.go @@ -206,7 +206,6 @@ func (s *Server) GetOrderOnly(ctx context.Context, in *npool.GetOrderOnlyRequest if total != 1 { errMsg := "more than one result or have no result" - logger.Sugar().Errorw("GetOrderOnly", "error", errMsg) return &npool.GetOrderOnlyResponse{}, status.Error(codes.Internal, errMsg) } diff --git a/nft-meta/api/v1/snapshot/snapshot.go b/nft-meta/api/v1/snapshot/snapshot.go index d35be84c..e84c1670 100644 --- a/nft-meta/api/v1/snapshot/snapshot.go +++ b/nft-meta/api/v1/snapshot/snapshot.go @@ -138,7 +138,6 @@ func (s *Server) GetSnapshotOnly(ctx context.Context, in *npool.GetSnapshotOnlyR if total != 1 { errMsg := "more than one result or have no result" - logger.Sugar().Errorw("GetBlockOnly", "error", errMsg) return &npool.GetSnapshotOnlyResponse{}, status.Error(codes.Internal, errMsg) } diff --git a/nft-meta/api/v1/synctask/synctask.go b/nft-meta/api/v1/synctask/synctask.go index 4203579e..283f8836 100644 --- a/nft-meta/api/v1/synctask/synctask.go +++ b/nft-meta/api/v1/synctask/synctask.go @@ -368,7 +368,6 @@ func (s *Server) GetSyncTaskOnly(ctx context.Context, in *npool.GetSyncTaskOnlyR if total != 1 { errMsg := "more than one result or have no result" - logger.Sugar().Errorw("GetSyncTaskOnly", "error", errMsg) return &npool.GetSyncTaskOnlyResponse{}, status.Error(codes.Internal, errMsg) } diff --git a/nft-meta/api/v1/token/token.go b/nft-meta/api/v1/token/token.go index fd624dcb..97b7285b 100644 --- a/nft-meta/api/v1/token/token.go +++ b/nft-meta/api/v1/token/token.go @@ -388,7 +388,6 @@ func (s *Server) GetTokenOnly(ctx context.Context, in *npool.GetTokenOnlyRequest if total != 1 { errMsg := "more than one result or have no result" - logger.Sugar().Errorw("GetTokenOnly", "error", errMsg) return &npool.GetTokenOnlyResponse{}, status.Error(codes.Internal, errMsg) } diff --git a/nft-meta/api/v1/transfer/transfer.go b/nft-meta/api/v1/transfer/transfer.go index 05869951..39873fa1 100644 --- a/nft-meta/api/v1/transfer/transfer.go +++ b/nft-meta/api/v1/transfer/transfer.go @@ -218,7 +218,6 @@ func (s *Server) GetTransferOnly(ctx context.Context, in *npool.GetTransferOnlyR if total != 1 { errMsg := "more than one result or have no result" - logger.Sugar().Errorw("GetTransferOnly", "error", errMsg) return &npool.GetTransferOnlyResponse{}, status.Error(codes.Internal, errMsg) } From aa7e1c8d0a9e6f999493acbd6307b04d194cc644 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 4 Jan 2024 19:08:13 +0800 Subject: [PATCH 030/116] just search right tokens --- block-etl/pkg/chains/eth/token.go | 2 +- ranker/api/v1/contract/search.go | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/block-etl/pkg/chains/eth/token.go b/block-etl/pkg/chains/eth/token.go index 9abdb692..49b91789 100644 --- a/block-etl/pkg/chains/eth/token.go +++ b/block-etl/pkg/chains/eth/token.go @@ -198,7 +198,7 @@ func (e *EthIndexer) IndexToken(ctx context.Context, inTransfers []*chains.Token } uriState := basetype.TokenURIState_TokenURIFinish - vectorState := tokenProto.ConvertState_Default + vectorState := tokenProto.ConvertState_Waiting tokenURI, err := cli.TokenURI(ctx, transfer.TokenType, transfer.Contract, transfer.TokenID, transfer.BlockNumber) if err != nil { uriState = basetype.TokenURIState_TokenURIError diff --git a/ranker/api/v1/contract/search.go b/ranker/api/v1/contract/search.go index 256a418f..70c61092 100644 --- a/ranker/api/v1/contract/search.go +++ b/ranker/api/v1/contract/search.go @@ -5,6 +5,7 @@ import ( "fmt" "github.com/NpoolPlatform/go-service-framework/pkg/logger" + "github.com/NpoolPlatform/libent-cruder/pkg/cruder" contracthandler "github.com/web3eye-io/Web3Eye/nft-meta/pkg/mw/v1/contract" tokenhandler "github.com/web3eye-io/Web3Eye/nft-meta/pkg/mw/v1/token" transferhandler "github.com/web3eye-io/Web3Eye/nft-meta/pkg/mw/v1/transfer" @@ -12,6 +13,7 @@ import ( "github.com/web3eye-io/Web3Eye/proto/web3eye" contractproto "github.com/web3eye-io/Web3Eye/proto/web3eye/nftmeta/v1/contract" "github.com/web3eye-io/Web3Eye/proto/web3eye/nftmeta/v1/token" + nftmetapool "github.com/web3eye-io/Web3Eye/proto/web3eye/nftmeta/v1/token" "github.com/web3eye-io/Web3Eye/proto/web3eye/nftmeta/v1/transfer" rankernpool "github.com/web3eye-io/Web3Eye/proto/web3eye/ranker/v1/contract" rankerconverter "github.com/web3eye-io/Web3Eye/ranker/pkg/converter/v1/contract" @@ -46,10 +48,16 @@ func (s *Server) GetContractAndTokens(ctx context.Context, in *rankernpool.GetCo } contract := contracts[0] - tokensconds := &token.Conds{Contract: &web3eye.StringVal{ - Op: "eq", - Value: in.Contract, - }} + tokensconds := &token.Conds{ + Contract: &web3eye.StringVal{ + Op: "eq", + Value: in.Contract, + }, + VectorState: &web3eye.Uint32Val{ + Op: cruder.EQ, + Value: uint32(nftmetapool.ConvertState_Success), + }, + } tokenHandler, err := tokenhandler.NewHandler(ctx, tokenhandler.WithConds(tokensconds), From 603c6c7882fe1cdf5daa5d835ad392cedf8c69d3 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 4 Jan 2024 19:21:50 +0800 Subject: [PATCH 031/116] just search right tokens --- ranker/api/v1/contract/search.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ranker/api/v1/contract/search.go b/ranker/api/v1/contract/search.go index 70c61092..aefdefa9 100644 --- a/ranker/api/v1/contract/search.go +++ b/ranker/api/v1/contract/search.go @@ -12,7 +12,6 @@ import ( "github.com/web3eye-io/Web3Eye/proto/web3eye" contractproto "github.com/web3eye-io/Web3Eye/proto/web3eye/nftmeta/v1/contract" - "github.com/web3eye-io/Web3Eye/proto/web3eye/nftmeta/v1/token" nftmetapool "github.com/web3eye-io/Web3Eye/proto/web3eye/nftmeta/v1/token" "github.com/web3eye-io/Web3Eye/proto/web3eye/nftmeta/v1/transfer" rankernpool "github.com/web3eye-io/Web3Eye/proto/web3eye/ranker/v1/contract" @@ -48,7 +47,7 @@ func (s *Server) GetContractAndTokens(ctx context.Context, in *rankernpool.GetCo } contract := contracts[0] - tokensconds := &token.Conds{ + tokensconds := &nftmetapool.Conds{ Contract: &web3eye.StringVal{ Op: "eq", Value: in.Contract, From dbd4ed3ef2d084186d54fa837932fe03b6c3e05a Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 4 Jan 2024 20:39:41 +0800 Subject: [PATCH 032/116] just search right tokens --- block-etl/pkg/chains/sol/token.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block-etl/pkg/chains/sol/token.go b/block-etl/pkg/chains/sol/token.go index 7b979b15..5fb49f49 100644 --- a/block-etl/pkg/chains/sol/token.go +++ b/block-etl/pkg/chains/sol/token.go @@ -171,7 +171,7 @@ func (e *SolIndexer) IndexToken(ctx context.Context, inTransfers []*chains.Token remark := "" uriState := basetype.TokenURIState_TokenURIFinish - vectorState := tokenProto.ConvertState_Default + vectorState := tokenProto.ConvertState_Waiting metadata, err := cli.GetMetadata(ctx, transfer.TokenID) if err != nil { uriState = basetype.TokenURIState_TokenURIError From cab36ec44543c19fc624b2cc94e4c5cb616e2ec1 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 4 Jan 2024 20:51:39 +0800 Subject: [PATCH 033/116] just search right tokens --- ranker/api/v1/token/search.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ranker/api/v1/token/search.go b/ranker/api/v1/token/search.go index 8c04de2e..f99e4fdb 100644 --- a/ranker/api/v1/token/search.go +++ b/ranker/api/v1/token/search.go @@ -67,6 +67,7 @@ func (s *Server) SearchPage(ctx context.Context, in *rankernpool.SearchPageReque tokens, err := ToSearchTokens(ctx, pBone.TokenBones) if err == nil { return &rankernpool.SearchResponse{ + Vector: in.Vector, Infos: tokens, StorageKey: in.StorageKey, Page: pBone.Page, @@ -98,6 +99,7 @@ func (s *Server) SearchPage(ctx context.Context, in *rankernpool.SearchPageReque logger.Sugar().Infof("sueccess to get tokens for storageKey: %v page: %v", in.StorageKey, in.Page) return &rankernpool.SearchResponse{ + Vector: in.Vector, Infos: tokens, StorageKey: in.StorageKey, Page: pBone.Page, From b2a0246291a58861713d7e78c632a297758d471f Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Fri, 5 Jan 2024 11:08:26 +0800 Subject: [PATCH 034/116] reduce tx range --- nft-meta/pkg/mw/v1/order/upsert.go | 13 +- nft-meta/pkg/mw/v1/transfer/upsert.go | 169 +++++++++++++++----------- 2 files changed, 105 insertions(+), 77 deletions(-) diff --git a/nft-meta/pkg/mw/v1/order/upsert.go b/nft-meta/pkg/mw/v1/order/upsert.go index c1d90227..2b242012 100644 --- a/nft-meta/pkg/mw/v1/order/upsert.go +++ b/nft-meta/pkg/mw/v1/order/upsert.go @@ -97,20 +97,19 @@ func (h *Handler) upsertOne(_ctx context.Context, tx *ent.Tx, req *ordercrud.Req func (h *Handler) UpsertOrders(ctx context.Context) ([]*orderproto.Order, error) { entIDs := []uuid.UUID{} - - err := db.WithTx(ctx, func(_ctx context.Context, tx *ent.Tx) error { - for _, req := range h.Reqs { + for _, req := range h.Reqs { + err := db.WithTx(ctx, func(_ctx context.Context, tx *ent.Tx) error { _, entID, err := h.upsertOne(_ctx, tx, req) if err != nil { return err } entIDs = append(entIDs, *entID) + return nil + }) + if err != nil { + return nil, err } - return nil - }) - if err != nil { - return nil, err } h.Conds = &ordercrud.Conds{ diff --git a/nft-meta/pkg/mw/v1/transfer/upsert.go b/nft-meta/pkg/mw/v1/transfer/upsert.go index 50712d65..53be01bf 100644 --- a/nft-meta/pkg/mw/v1/transfer/upsert.go +++ b/nft-meta/pkg/mw/v1/transfer/upsert.go @@ -13,67 +13,30 @@ import ( func (h *Handler) UpsertTransfer(ctx context.Context) (*transferproto.Transfer, error) { err := db.WithTx(ctx, func(_ctx context.Context, tx *ent.Tx) error { - row, _ := tx.Transfer.Query().Where( - transferent.Contract(*h.Contract), - transferent.TokenID(*h.TokenID), - transferent.TxHash(*h.TxHash), - transferent.From(*h.From), - ).Only(ctx) - if row == nil { - info, err := transfercrud.CreateSet(tx.Transfer.Create(), - &transfercrud.Req{ - EntID: h.EntID, - ChainType: h.ChainType, - ChainID: h.ChainID, - Contract: h.Contract, - TokenType: h.TokenType, - TokenID: h.TokenID, - From: h.From, - To: h.To, - Amount: h.Amount, - BlockNumber: h.BlockNumber, - TxHash: h.TxHash, - BlockHash: h.BlockHash, - TxTime: h.TxTime, - Remark: h.Remark, - LogIndex: h.LogIndex, - }, - ).Save(ctx) - if err != nil { - return err - } - h.EntID = &info.EntID - h.ID = &info.ID - return nil - } - stm, err := transfercrud.UpdateSet( - row.Update(), - &transfercrud.Req{ - EntID: &row.EntID, - ChainType: h.ChainType, - ChainID: h.ChainID, - Contract: h.Contract, - TokenType: h.TokenType, - TokenID: h.TokenID, - From: h.From, - To: h.To, - Amount: h.Amount, - BlockNumber: h.BlockNumber, - TxHash: h.TxHash, - BlockHash: h.BlockHash, - TxTime: h.TxTime, - Remark: h.Remark, - LogIndex: h.LogIndex, - }, - ) + id, entID, err := upsertOne(ctx, tx, &transfercrud.Req{ + ID: h.ID, + EntID: h.EntID, + ChainType: h.ChainType, + ChainID: h.ChainID, + Contract: h.Contract, + TokenType: h.TokenType, + TokenID: h.TokenID, + From: h.From, + To: h.To, + Amount: h.Amount, + BlockNumber: h.BlockNumber, + TxHash: h.TxHash, + BlockHash: h.BlockHash, + TxTime: h.TxTime, + Remark: h.Remark, + LogIndex: h.LogIndex, + }) if err != nil { return err } - if info, err := stm.Save(_ctx); err == nil { - h.EntID = &info.EntID - h.ID = &info.ID - } - return err + h.EntID = entID + h.ID = id + return nil }) if err != nil { @@ -83,18 +46,84 @@ func (h *Handler) UpsertTransfer(ctx context.Context) (*transferproto.Transfer, return h.GetTransfer(ctx) } -func (h *Handler) UpsertTransfers(ctx context.Context) error { - err := db.WithTx(ctx, func(_ctx context.Context, tx *ent.Tx) error { - bulk := make([]*ent.TransferCreate, len(h.Reqs)) - entIDs := make([]*uuid.UUID, len(h.Reqs)) - for i, req := range h.Reqs { - entID := uuid.New() - req.EntID = &entID - entIDs[i] = &entID - bulk[i] = transfercrud.CreateSet(tx.Transfer.Create(), req) +func upsertOne(ctx context.Context, tx *ent.Tx, req *transfercrud.Req) (*uint32, *uuid.UUID, error) { + row, _ := tx.Transfer.Query().Where( + transferent.Contract(*req.Contract), + transferent.TokenID(*req.TokenID), + transferent.TxHash(*req.TxHash), + transferent.From(*req.From), + ).Only(ctx) + if row == nil { + info, err := transfercrud.CreateSet(tx.Transfer.Create(), + &transfercrud.Req{ + EntID: req.EntID, + ChainType: req.ChainType, + ChainID: req.ChainID, + Contract: req.Contract, + TokenType: req.TokenType, + TokenID: req.TokenID, + From: req.From, + To: req.To, + Amount: req.Amount, + BlockNumber: req.BlockNumber, + TxHash: req.TxHash, + BlockHash: req.BlockHash, + TxTime: req.TxTime, + Remark: req.Remark, + LogIndex: req.LogIndex, + }, + ).Save(ctx) + if err != nil { + return nil, nil, err } - return tx.Transfer.CreateBulk(bulk...).OnConflict().UpdateNewValues().Exec(ctx) - }) + return &info.ID, &info.EntID, nil + } + stm, err := transfercrud.UpdateSet( + row.Update(), + &transfercrud.Req{ + EntID: &row.EntID, + ChainType: req.ChainType, + ChainID: req.ChainID, + Contract: req.Contract, + TokenType: req.TokenType, + TokenID: req.TokenID, + From: req.From, + To: req.To, + Amount: req.Amount, + BlockNumber: req.BlockNumber, + TxHash: req.TxHash, + BlockHash: req.BlockHash, + TxTime: req.TxTime, + Remark: req.Remark, + LogIndex: req.LogIndex, + }, + ) + if err != nil { + return nil, nil, err + } + + info, err := stm.Save(ctx) + if err != nil { + return nil, nil, err + } + return &info.ID, &info.EntID, nil - return err +} + +func (h *Handler) UpsertTransfers(ctx context.Context) error { + entIDs := make([]*uuid.UUID, len(h.Reqs)) + for i, req := range h.Reqs { + err := db.WithTx(ctx, func(_ctx context.Context, tx *ent.Tx) error { + _, entID, err := upsertOne(ctx, tx, req) + if err != nil { + return err + } + entIDs[i] = entID + return nil + }) + if err != nil { + return err + } + } + return nil } From 171bfeee8cff9baa8aa6beb780d553592ff02780 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Fri, 5 Jan 2024 11:15:18 +0800 Subject: [PATCH 035/116] reduce tx range --- nft-meta/pkg/mw/v1/transfer/upsert.go | 1 - 1 file changed, 1 deletion(-) diff --git a/nft-meta/pkg/mw/v1/transfer/upsert.go b/nft-meta/pkg/mw/v1/transfer/upsert.go index 53be01bf..d523a87c 100644 --- a/nft-meta/pkg/mw/v1/transfer/upsert.go +++ b/nft-meta/pkg/mw/v1/transfer/upsert.go @@ -107,7 +107,6 @@ func upsertOne(ctx context.Context, tx *ent.Tx, req *transfercrud.Req) (*uint32, return nil, nil, err } return &info.ID, &info.EntID, nil - } func (h *Handler) UpsertTransfers(ctx context.Context) error { From 6bb5d79870cb52f35ad19a7fc397fac0d093f2cc Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Fri, 5 Jan 2024 15:29:58 +0800 Subject: [PATCH 036/116] check the uri and imageURL length --- block-etl/pkg/chains/eth/token.go | 48 ++++++++----------- block-etl/pkg/chains/indexer/indexer.go | 5 +- block-etl/pkg/chains/sol/token.go | 47 ++++++++----------- block-etl/pkg/token/token.go | 61 +++++++++++++++++++++---- nft-meta/api/v1/token/token.go | 11 +++-- 5 files changed, 97 insertions(+), 75 deletions(-) diff --git a/block-etl/pkg/chains/eth/token.go b/block-etl/pkg/chains/eth/token.go index 49b91789..4eb1f548 100644 --- a/block-etl/pkg/chains/eth/token.go +++ b/block-etl/pkg/chains/eth/token.go @@ -14,6 +14,7 @@ import ( "github.com/web3eye-io/Web3Eye/common/chains" "github.com/web3eye-io/Web3Eye/common/chains/eth" "github.com/web3eye-io/Web3Eye/common/ctredis" + "github.com/web3eye-io/Web3Eye/common/utils" blockNMCli "github.com/web3eye-io/Web3Eye/nft-meta/pkg/client/v1/block" contractNMCli "github.com/web3eye-io/Web3Eye/nft-meta/pkg/client/v1/contract" tokenNMCli "github.com/web3eye-io/Web3Eye/nft-meta/pkg/client/v1/token" @@ -197,53 +198,40 @@ func (e *EthIndexer) IndexToken(ctx context.Context, inTransfers []*chains.Token return nil, fmt.Errorf("cannot get eth client,err: %v", err) } - uriState := basetype.TokenURIState_TokenURIFinish - vectorState := tokenProto.ConvertState_Waiting tokenURI, err := cli.TokenURI(ctx, transfer.TokenType, transfer.Contract, transfer.TokenID, transfer.BlockNumber) if err != nil { - uriState = basetype.TokenURIState_TokenURIError - vectorState = tokenProto.ConvertState_Failed e.checkErr(ctx, err) remark = fmt.Sprintf("%v,%v", remark, err) } - tokenURIInfo, complete, err := token.GetTokenURIInfo(ctx, tokenURI) + tokenURIInfo, err := token.GetTokenURIInfo(ctx, tokenURI) if err != nil { // if cannot get tokenURIInfo,then set the default value - uriState = basetype.TokenURIState_TokenURIError - vectorState = tokenProto.ConvertState_Failed tokenURIInfo = &token.TokenURIInfo{} - remark = fmt.Sprintf("%v,%v", remark, err) - } else if !complete { - uriState = basetype.TokenURIState_TokenURIIncomplete } - if len(tokenURI) > indexer.MaxTokenURILength { - remark = fmt.Sprintf("%v,tokenURI too long(length: %v),skip to store it", remark, len(tokenURI)) - tokenURI = tokenURI[:indexer.OverLimitStoreLength] - } + tokenReq := token.CheckTokenReq(&tokenProto.TokenReq{ + ChainType: &e.ChainType, + ChainID: &e.ChainID, + Contract: &transfer.Contract, + TokenType: &transfer.TokenType, + TokenID: &transfer.TokenID, + URI: &tokenURI, + URIType: (*string)(&tokenURIInfo.URIType), + ImageURL: &tokenURIInfo.ImageURL, + VideoURL: &tokenURIInfo.VideoURL, + Name: &tokenURIInfo.Name, + Description: &tokenURIInfo.Description, + Remark: &remark, + }) _, err = tokenNMCli.UpsertToken(ctx, &tokenProto.UpsertTokenRequest{ - Info: &tokenProto.TokenReq{ - ChainType: &e.ChainType, - ChainID: &e.ChainID, - Contract: &transfer.Contract, - TokenType: &transfer.TokenType, - TokenID: &transfer.TokenID, - URI: &tokenURI, - URIState: &uriState, - URIType: (*string)(&tokenURIInfo.URIType), - ImageURL: &tokenURIInfo.ImageURL, - VideoURL: &tokenURIInfo.VideoURL, - Name: &tokenURIInfo.Name, - Description: &tokenURIInfo.Description, - VectorState: &vectorState, - Remark: &remark, - }, + Info: tokenReq, }) if err != nil { + fmt.Println(utils.PrettyStruct(tokenReq)) return nil, fmt.Errorf("create token record failed, %v", err) } outContractMetas = append(outContractMetas, &ContractMeta{ diff --git a/block-etl/pkg/chains/indexer/indexer.go b/block-etl/pkg/chains/indexer/indexer.go index 5c106b64..c36243b4 100644 --- a/block-etl/pkg/chains/indexer/indexer.go +++ b/block-etl/pkg/chains/indexer/indexer.go @@ -21,9 +21,8 @@ const ( maxTopicNum = 5 maxParseGoroutineNum = 5 updateBlockNumInterval = time.Minute - // 3145728 = 3M - MaxTokenURILength = 3145728 - OverLimitStoreLength = 100 + MaxContentLength = 1098304 + OverLimitStoreLength = 100 ) type IIndexer interface { diff --git a/block-etl/pkg/chains/sol/token.go b/block-etl/pkg/chains/sol/token.go index 5fb49f49..80e5a140 100644 --- a/block-etl/pkg/chains/sol/token.go +++ b/block-etl/pkg/chains/sol/token.go @@ -183,45 +183,34 @@ func (e *SolIndexer) IndexToken(ctx context.Context, inTransfers []*chains.Token tokenURIInfo := &token.TokenURIInfo{} if metadata != nil { - var complete bool - tokenURIInfo, complete, err = token.GetTokenURIInfo(ctx, metadata.Data.Uri) + tokenURIInfo, err = token.GetTokenURIInfo(ctx, metadata.Data.Uri) if err != nil { - uriState = basetype.TokenURIState_TokenURIError - vectorState = tokenProto.ConvertState_Failed tokenURIInfo = &token.TokenURIInfo{} remark = fmt.Sprintf("%v,%v", remark, err) - } else if !complete { - uriState = basetype.TokenURIState_TokenURIIncomplete } } else { - uriState = basetype.TokenURIState_TokenURIError - vectorState = tokenProto.ConvertState_Failed // if cannot get metadata,then set the default value metadata = &token_metadata.Metadata{} } - - if len(metadata.Data.Uri) > indexer.MaxTokenURILength { - remark = fmt.Sprintf("%v,tokenURI too long(length: %v),skip to store it", remark, len(metadata.Data.Uri)) - metadata.Data.Uri = metadata.Data.Uri[:indexer.OverLimitStoreLength] - } + tokenReq := token.CheckTokenReq(&tokenProto.TokenReq{ + ChainType: &e.ChainType, + ChainID: &e.ChainID, + Contract: &transfer.Contract, + TokenType: &transfer.TokenType, + TokenID: &transfer.TokenID, + URI: &metadata.Data.Uri, + URIState: &uriState, + URIType: (*string)(&tokenURIInfo.URIType), + ImageURL: &tokenURIInfo.ImageURL, + VideoURL: &tokenURIInfo.VideoURL, + Name: &metadata.Data.Name, + Description: &metadata.Data.Symbol, + VectorState: &vectorState, + Remark: &remark, + }) _, err = tokenNMCli.UpsertToken(ctx, &tokenProto.UpsertTokenRequest{ - Info: &tokenProto.TokenReq{ - ChainType: &e.ChainType, - ChainID: &e.ChainID, - Contract: &transfer.Contract, - TokenType: &transfer.TokenType, - TokenID: &transfer.TokenID, - URI: &metadata.Data.Uri, - URIState: &uriState, - URIType: (*string)(&tokenURIInfo.URIType), - ImageURL: &tokenURIInfo.ImageURL, - VideoURL: &tokenURIInfo.VideoURL, - Name: &metadata.Data.Name, - Description: &metadata.Data.Symbol, - VectorState: &vectorState, - Remark: &remark, - }, + Info: tokenReq, }) if err != nil { diff --git a/block-etl/pkg/token/token.go b/block-etl/pkg/token/token.go index ca4c2bf0..973a63e9 100644 --- a/block-etl/pkg/token/token.go +++ b/block-etl/pkg/token/token.go @@ -2,6 +2,11 @@ package token import ( "context" + "fmt" + + "github.com/web3eye-io/Web3Eye/block-etl/pkg/chains/indexer" + basetype "github.com/web3eye-io/Web3Eye/proto/web3eye/basetype/v1" + tokenProto "github.com/web3eye-io/Web3Eye/proto/web3eye/nftmeta/v1/token" ) type TokenURIInfo struct { @@ -14,24 +19,18 @@ type TokenURIInfo struct { } // TODO: support special nft project -func GetTokenURIInfo(ctx context.Context, uri string) (*TokenURIInfo, bool, error) { +func GetTokenURIInfo(ctx context.Context, uri string) (*TokenURIInfo, error) { into := &TokenMetadata{} err := DecodeMetadataFromURI(ctx, uri, into) if err != nil { - return nil, false, err + return nil, err } tokenURIType := TokenURIType(uri) name, description := FindNameAndDescription(ctx, *into) iURL, vURL := FindImageAndAnimationURLs(ctx, *into, uri, AnimationKeywords, ImageKeywords, true) - complete := true - if name == "" || - description == "" || - iURL == "" { - complete = false - } return &TokenURIInfo{ URI: uri, URIType: tokenURIType, @@ -39,5 +38,49 @@ func GetTokenURIInfo(ctx context.Context, uri string) (*TokenURIInfo, bool, erro Description: description, ImageURL: iURL, VideoURL: vURL, - }, complete, nil + }, nil +} + +func CheckTokenReq(info *tokenProto.TokenReq) *tokenProto.TokenReq { + if info == nil { + return nil + } + + info.URIState = basetype.TokenURIState_TokenURIFinish.Enum() + info.VectorState = tokenProto.ConvertState_Waiting.Enum() + if *info.URI == "" { + info.URIState = basetype.TokenURIState_TokenURIError.Enum() + info.VectorState = tokenProto.ConvertState_Failed.Enum() + } + if *info.ImageURL == "" || *info.Name == "" || *info.Description == "" { + info.URIState = basetype.TokenURIState_TokenURIIncomplete.Enum() + } + if *info.ImageURL == "" { + info.VectorState = tokenProto.ConvertState_Failed.Enum() + } + + if len(*info.URI) > indexer.MaxContentLength { + remark := fmt.Sprintf("%v,uri too long(length: %v),skip to store it", info.Remark, len(*info.URI)) + uri := *info.URI + uri = uri[:indexer.OverLimitStoreLength] + info.URI = &uri + info.Remark = &remark + } + + if len(*info.ImageURL) > indexer.MaxContentLength { + remark := fmt.Sprintf("%v,imageURL too long(length: %v),skip to store it", info.Remark, len(*info.URI)) + imageURL := *info.ImageURL + imageURL = imageURL[:indexer.OverLimitStoreLength] + info.ImageURL = &imageURL + info.Remark = &remark + } + + if len(*info.Description) > indexer.MaxContentLength { + remark := fmt.Sprintf("%v,description too long(length: %v),skip to store it", info.Remark, len(*info.URI)) + description := *info.Description + description = description[:indexer.OverLimitStoreLength] + info.Description = &description + info.Remark = &remark + } + return info } diff --git a/nft-meta/api/v1/token/token.go b/nft-meta/api/v1/token/token.go index 97b7285b..4a24d470 100644 --- a/nft-meta/api/v1/token/token.go +++ b/nft-meta/api/v1/token/token.go @@ -288,7 +288,6 @@ func (s *Server) UpdateImageVector(ctx context.Context, in *npool.UpdateImageVec vID := int64(0) vState := npool.ConvertState_Failed - remark := in.GetRemark() h, err := handler.NewHandler( ctx, handler.WithEntID(&in.EntID, true), @@ -308,13 +307,17 @@ func (s *Server) UpdateImageVector(ctx context.Context, in *npool.UpdateImageVec return nil, nil } + if info.Remark != "" { + info.Remark = fmt.Sprintf("%v,%v", info.Remark, in.Remark) + } + if len(in.Vector) > 0 { milvusmgr := milvusdb.NewNFTConllectionMGR() if info.VectorID > 0 { err := milvusmgr.Delete(ctx, []int64{info.VectorID}) if err != nil { - remark = fmt.Sprintf("%v,%v", remark, err) + info.Remark = fmt.Sprintf("%v,%v", info.Remark, err) } } @@ -323,7 +326,7 @@ func (s *Server) UpdateImageVector(ctx context.Context, in *npool.UpdateImageVec vState = npool.ConvertState_Success vID = ids[0] } else { - remark = fmt.Sprintf("%v,%v", remark, err) + info.Remark = fmt.Sprintf("%v,%v", info.Remark, err) } } @@ -332,7 +335,7 @@ func (s *Server) UpdateImageVector(ctx context.Context, in *npool.UpdateImageVec handler.WithID(&info.ID, true), handler.WithVectorID(&vID, true), handler.WithVectorState(&vState, true), - handler.WithRemark(&remark, true), + handler.WithRemark(&info.Remark, true), ) if err != nil { logger.Sugar().Errorw("UpdateImageVector", "EntID", in.EntID, "error", err) From 2aeac71088fcd491b4ea302bfb6bc045ff4332d0 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Fri, 5 Jan 2024 15:34:28 +0800 Subject: [PATCH 037/116] check the uri and imageURL length --- block-etl/pkg/chains/eth/token.go | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/block-etl/pkg/chains/eth/token.go b/block-etl/pkg/chains/eth/token.go index 4eb1f548..12b658b5 100644 --- a/block-etl/pkg/chains/eth/token.go +++ b/block-etl/pkg/chains/eth/token.go @@ -7,6 +7,7 @@ import ( "time" "github.com/NpoolPlatform/go-service-framework/pkg/logger" + "github.com/NpoolPlatform/libent-cruder/pkg/cruder" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/core/types" "github.com/web3eye-io/Web3Eye/block-etl/pkg/chains/indexer" @@ -171,19 +172,27 @@ func (e *EthIndexer) IndexToken(ctx context.Context, inTransfers []*chains.Token conds := &tokenProto.Conds{ ChainType: &ctMessage.Uint32Val{ Value: uint32(e.ChainType), - Op: "eq", + Op: cruder.EQ, }, ChainID: &ctMessage.StringVal{ Value: e.ChainID, - Op: "eq", + Op: cruder.EQ, }, Contract: &ctMessage.StringVal{ Value: transfer.Contract, - Op: "eq", + Op: cruder.EQ, }, TokenID: &ctMessage.StringVal{ Value: transfer.TokenID, - Op: "eq", + Op: cruder.EQ, + }, + URIState: &ctMessage.Uint32Val{ + Value: uint32(basetype.BlockParseState_BlockTypeFinish), + Op: cruder.EQ, + }, + VectorState: &ctMessage.Uint32Val{ + Value: uint32(tokenProto.ConvertState_Success), + Op: cruder.EQ, }, } From a4206b0c7e6294007749adbbe850319c83dd9fc9 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Fri, 5 Jan 2024 15:49:40 +0800 Subject: [PATCH 038/116] check the uri and imageURL length --- block-etl/pkg/chains/sol/token.go | 1 - 1 file changed, 1 deletion(-) diff --git a/block-etl/pkg/chains/sol/token.go b/block-etl/pkg/chains/sol/token.go index 80e5a140..30cf889d 100644 --- a/block-etl/pkg/chains/sol/token.go +++ b/block-etl/pkg/chains/sol/token.go @@ -125,7 +125,6 @@ func (e *SolIndexer) IndexTransfer(ctx context.Context, inBlockNum uint64) ([]*c return transfers, nil } -//nolint:funlen func (e *SolIndexer) IndexToken(ctx context.Context, inTransfers []*chains.TokenTransfer) ([]*chains.TokenTransfer, error) { outTransfers := []*chains.TokenTransfer{} for _, transfer := range inTransfers { From 9bb61adbf528171f25df9c569d0f3fdb2cc7d9f5 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Fri, 5 Jan 2024 17:14:43 +0800 Subject: [PATCH 039/116] fix panic bug --- nft-meta/pkg/crud/v1/token/token.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nft-meta/pkg/crud/v1/token/token.go b/nft-meta/pkg/crud/v1/token/token.go index fc39faa2..6d174a5c 100644 --- a/nft-meta/pkg/crud/v1/token/token.go +++ b/nft-meta/pkg/crud/v1/token/token.go @@ -319,7 +319,7 @@ func SetQueryConds(q *ent.TokenQuery, conds *Conds) (*ent.TokenQuery, error) { / if !ok { return nil, fmt.Errorf("invalid uristate") } - switch conds.URI.Op { + switch conds.URIState.Op { case cruder.EQ: q.Where(enttoken.URIState(uristate.String())) default: From 319dd8379001812d7e10b618bf66da39adce91a5 Mon Sep 17 00:00:00 2001 From: lidaqiang Date: Fri, 5 Jan 2024 18:02:29 +0800 Subject: [PATCH 040/116] add vector --- webui/src/components/Main/Main.vue | 2 +- webui/src/components/Main/SearchBox.vue | 2 +- webui/src/localstore/storagekey/index.ts | 25 +++++++++++++++++++++--- webui/src/teststore/token/index.ts | 8 ++++++++ webui/src/teststore/token/types.ts | 3 +++ 5 files changed, 35 insertions(+), 5 deletions(-) diff --git a/webui/src/components/Main/Main.vue b/webui/src/components/Main/Main.vue index 29f95fe2..f60d40ba 100644 --- a/webui/src/components/Main/Main.vue +++ b/webui/src/components/Main/Main.vue @@ -79,7 +79,7 @@ const handleUploadFile = (file: any, fromDropArea: boolean) => { contract.value = file?.name const reqMessage = {} as SearchTokenMessage token.$reset() - localkey.resetStorageKey() + localkey.reset() token.searchTokens(formData, reqMessage, (error: boolean) => { if (!error) { const normalBox = document.getElementById('normal-box') diff --git a/webui/src/components/Main/SearchBox.vue b/webui/src/components/Main/SearchBox.vue index c83e8ab0..58541ea5 100644 --- a/webui/src/components/Main/SearchBox.vue +++ b/webui/src/components/Main/SearchBox.vue @@ -64,7 +64,7 @@ const handleUploadFile = (file: any) => { contract.value = file?.name const reqMessage = {} as SearchTokenMessage token.$reset() - localkey.resetStorageKey() + localkey.reset() token.searchTokens(formData, reqMessage, (error: boolean) => { if (!error) { void router.push('/token') diff --git a/webui/src/localstore/storagekey/index.ts b/webui/src/localstore/storagekey/index.ts index 7c23befb..827dc73f 100644 --- a/webui/src/localstore/storagekey/index.ts +++ b/webui/src/localstore/storagekey/index.ts @@ -1,5 +1,6 @@ import { defineStore } from 'pinia' -import { Cookies } from 'quasar' +import { Cookies, LocalStorage } from 'quasar' + export const useStorageKeyStore = defineStore('local-storage-key', { state: () => ({}), @@ -14,9 +15,27 @@ export const useStorageKeyStore = defineStore('local-storage-key', { getStorageKey () { return () => Cookies.get('Storage-Key') }, - resetStorageKey () { - return () => Cookies.remove('Storage-Key') + setVector () { + return (vectors: Array) => { + if (vectors?.length > 0) { + LocalStorage.set('Vector', vectors) + } + } }, + getVector () { + return () => { + const vector = LocalStorage.getItem('Vector') + if(vector) { + return vector + } + } + }, + reset () { + return () => { + Cookies.remove('Storage-Key') + Cookies.remove('Vector') + } + }, }, actions: {} }) diff --git a/webui/src/teststore/token/index.ts b/webui/src/teststore/token/index.ts index 37c90981..eba29e6e 100644 --- a/webui/src/teststore/token/index.ts +++ b/webui/src/teststore/token/index.ts @@ -53,6 +53,9 @@ export const useTokenStore = defineStore('token', { if (resp.StorageKey?.length > 0) { localkey.setStorageKey(resp.StorageKey) } + if (resp.Vector?.length > 0) { + localkey.setVector(resp.Vector) + } done(false, resp.Infos) }, () => { done(true, []) @@ -67,6 +70,11 @@ export const useTokenStore = defineStore('token', { if (key && key?.length > 0) { req.StorageKey = key } + const vector = localkey.getVector() + if (vector == null || vector === undefined) { + return + } + req.Vector = vector as unknown as Array doActionWithError( API.SEARCH_PAGE, req, diff --git a/webui/src/teststore/token/types.ts b/webui/src/teststore/token/types.ts index e3975636..58bde40d 100644 --- a/webui/src/teststore/token/types.ts +++ b/webui/src/teststore/token/types.ts @@ -13,6 +13,7 @@ export type SearchTokenMessage = BaseRequest export interface SearchTokensResponse { Infos: Array + Vector: Array StorageKey: string Page: number Pages: number @@ -86,6 +87,7 @@ export interface GetTokenResponse { export interface GetTokensRequest extends BaseRequest { StorageKey?: string + Vector?: Array Page: number Limit: number } @@ -93,6 +95,7 @@ export interface GetTokensRequest extends BaseRequest { export interface GetTokensResponse { Infos: SearchToken[] StorageKey: string + Vector: Array Page: number Pages: number Total: number From 96db76c913b0731dec8af092c2e612481b262b78 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Mon, 8 Jan 2024 10:07:07 +0800 Subject: [PATCH 041/116] format code --- block-etl/pkg/chains/eth/token.go | 2 -- common/chains/eth/openseaprice.go | 1 + go.mod | 6 ++++ go.sum | 17 +++++++++ nft-meta/api/v1/synctask/synctask.go | 2 +- nft-meta/pkg/db/ent/internal/schema.go | 2 +- nft-meta/pkg/db/ent/migrate/schema.go | 2 +- nft-meta/pkg/db/ent/mutation.go | 19 ---------- nft-meta/pkg/db/ent/orderitem/orderitem.go | 2 -- nft-meta/pkg/db/ent/orderitem/where.go | 14 -------- nft-meta/pkg/db/ent/orderitem_create.go | 38 ++------------------ nft-meta/pkg/db/ent/orderitem_update.go | 40 ---------------------- nft-meta/pkg/db/ent/runtime/runtime.go | 4 --- nft-meta/pkg/db/ent/schema/orderitem.go | 7 +--- nft-meta/pkg/mw/v1/order/upsert.go | 12 ++++--- ranker/pkg/crud/v1/transfer/transfer.go | 2 -- 16 files changed, 38 insertions(+), 132 deletions(-) diff --git a/block-etl/pkg/chains/eth/token.go b/block-etl/pkg/chains/eth/token.go index 12b658b5..e268331c 100644 --- a/block-etl/pkg/chains/eth/token.go +++ b/block-etl/pkg/chains/eth/token.go @@ -15,7 +15,6 @@ import ( "github.com/web3eye-io/Web3Eye/common/chains" "github.com/web3eye-io/Web3Eye/common/chains/eth" "github.com/web3eye-io/Web3Eye/common/ctredis" - "github.com/web3eye-io/Web3Eye/common/utils" blockNMCli "github.com/web3eye-io/Web3Eye/nft-meta/pkg/client/v1/block" contractNMCli "github.com/web3eye-io/Web3Eye/nft-meta/pkg/client/v1/contract" tokenNMCli "github.com/web3eye-io/Web3Eye/nft-meta/pkg/client/v1/token" @@ -240,7 +239,6 @@ func (e *EthIndexer) IndexToken(ctx context.Context, inTransfers []*chains.Token }) if err != nil { - fmt.Println(utils.PrettyStruct(tokenReq)) return nil, fmt.Errorf("create token record failed, %v", err) } outContractMetas = append(outContractMetas, &ContractMeta{ diff --git a/common/chains/eth/openseaprice.go b/common/chains/eth/openseaprice.go index c4b198ec..eb001399 100644 --- a/common/chains/eth/openseaprice.go +++ b/common/chains/eth/openseaprice.go @@ -151,6 +151,7 @@ func TidyOrderAccount(orderObj *contracts.OpenseaOrderFulfilled) *OrderAccountDe return accDetails } +// 计算价格 func CalOrderPrice(orderAD *OrderAccountDetails) *OrderPriceDetails { collectedOAD := make(map[string][]*OrderItem) // collect sample items diff --git a/go.mod b/go.mod index 4b9724a8..6e5cacfc 100644 --- a/go.mod +++ b/go.mod @@ -178,6 +178,7 @@ require ( github.com/hashicorp/hcl/v2 v2.17.0 // indirect github.com/holiman/uint256 v1.2.4 // indirect github.com/huin/goupnp v1.3.0 // indirect + github.com/inconshreveable/mousetrap v1.0.1 // indirect github.com/ipfs/bbloom v0.0.4 // indirect github.com/ipfs/go-bitfield v1.1.0 // indirect github.com/ipfs/go-block-format v0.1.2 // indirect @@ -245,6 +246,7 @@ require ( github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.19 // indirect + github.com/mattn/go-runewidth v0.0.13 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/mcuadros/go-version v0.0.0-20190830083331-035f6764e8d2 // indirect github.com/miekg/dns v1.1.55 // indirect @@ -269,6 +271,7 @@ require ( github.com/multiformats/go-multistream v0.4.1 // indirect github.com/multiformats/go-varint v0.0.7 // indirect github.com/near/borsh-go v0.3.2-0.20220516180422-1ff87d108454 // indirect + github.com/olekukonko/tablewriter v0.0.5 // indirect github.com/onsi/ginkgo/v2 v2.11.0 // indirect github.com/opencontainers/runtime-spec v1.0.2 // indirect github.com/opentracing/opentracing-go v1.2.0 // indirect @@ -289,12 +292,15 @@ require ( github.com/quic-go/quic-go v0.36.1 // indirect github.com/quic-go/webtransport-go v0.5.3 // indirect github.com/raulk/go-watchdog v1.3.0 // indirect + github.com/rivo/uniseg v0.2.0 // indirect github.com/rogpeppe/go-internal v1.11.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/samber/lo v1.38.1 // indirect github.com/shirou/gopsutil v3.21.11+incompatible // indirect github.com/sirupsen/logrus v1.9.0 // indirect github.com/spaolacci/murmur3 v1.1.0 // indirect + github.com/spf13/cobra v1.6.1 // indirect + github.com/spf13/pflag v1.0.5 // indirect github.com/streamingfast/logging v0.0.0-20230608130331-f22c91403091 // indirect github.com/supranational/blst v0.3.11 // indirect github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect diff --git a/go.sum b/go.sum index a7c367b3..21cb6055 100644 --- a/go.sum +++ b/go.sum @@ -110,10 +110,12 @@ github.com/alexbrainman/goissue34681 v0.0.0-20191006012335-3fc7a47baff5/go.mod h github.com/andres-erbsen/clock v0.0.0-20160526145045-9e14626cd129 h1:MzBOUgng9orim59UnfUTLRjMpd09C5uEVQ6RPGeCaVI= github.com/andres-erbsen/clock v0.0.0-20160526145045-9e14626cd129/go.mod h1:rFgpPQZYZ8vdbc+48xibu8ALc3yeyd64IhHS+PU6Yyg= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apache/pulsar-client-go v0.11.0 h1:fniyVbewAOcMSMLwxzhdrCFmFTorCW40jfnmQVcsrJw= github.com/apache/pulsar-client-go v0.11.0/go.mod h1:FoijqJwgjroSKptIWp1vvK1CXs8dXnQiL8I+MHOri4A= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= github.com/ardielle/ardielle-go v1.5.2 h1:TilHTpHIQJ27R1Tl/iITBzMwiUGSlVfiVhwDNGM3Zj4= @@ -260,6 +262,7 @@ github.com/cockroachdb/logtags v0.0.0-20211118104740-dabe8e521a4f/go.mod h1:Vz9D github.com/cockroachdb/pebble v0.0.0-20230928194634-aa077af62593 h1:aPEJyR4rPBvDmeyi+l/FS/VtA00IWvjeFvjen1m1l1A= github.com/cockroachdb/redact v1.1.3 h1:AKZds10rFSIj7qADf0g46UixK8NNLwWTNdCIGS5wfSQ= github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= +github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2/go.mod h1:8BT+cPK6xvFOcRlk0R8eg+OTkcqI6baNH4xAkpiYVvQ= github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= @@ -419,6 +422,7 @@ github.com/filecoin-project/go-fil-commcid v0.1.0/go.mod h1:Eaox7Hvus1JgPrL5+M3+ github.com/filecoin-project/go-fil-commp-hashhash v0.1.0 h1:imrrpZWEHRnNqqv0tN7LXep5bFEVOVmQWHJvl2mgsGo= github.com/filecoin-project/go-fil-markets v1.28.3 h1:2cFu7tLZYrfNz4LnxjgERaVD7k5+Wwp0H76mnnTGPBk= github.com/filecoin-project/go-fil-markets v1.28.3/go.mod h1:eryxo/oVgIxaR5g5CNr9PlvZOi+u/bak0IsPL/PT1hk= +github.com/filecoin-project/go-hamt-ipld v0.1.5/go.mod h1:6Is+ONR5Cd5R6XZoCse1CWaXZc0Hdb/JeX+EQCQzX24= github.com/filecoin-project/go-hamt-ipld/v3 v3.1.0/go.mod h1:bxmzgT8tmeVQA1/gvBwFmYdT8SOFUwB3ovSUfG1Ux0g= github.com/filecoin-project/go-hamt-ipld/v3 v3.3.0 h1:lYx2W8lE2GpwMnVmLn9rRkxTZGMgirWabz0Cx0BTlAU= github.com/filecoin-project/go-hamt-ipld/v3 v3.3.0/go.mod h1:IWfNfjdXLrqyyj3X7JMJQgWYu9M4NX/hQl1zdv64bmc= @@ -517,6 +521,7 @@ github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg78 github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68= +github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= github.com/go-yaml/yaml v2.1.0+incompatible/go.mod h1:w2MrLa16VYP0jy6N7M5kHaCkaLENm+P+Tv+MfurjSw0= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= @@ -721,6 +726,8 @@ github.com/hydrogen18/memlistener v0.0.0-20200120041712-dcc25e7acd91/go.mod h1:q github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= +github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs= github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyqMG0= @@ -1284,7 +1291,9 @@ github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D github.com/mattn/go-pointer v0.0.1 h1:n+XhsuGeVO6MEAp7xyEukFINEa+Quek5psIR/ylA6o0= github.com/mattn/go-pointer v0.0.1/go.mod h1:2zXcozF6qYGgmsG+SeTZz3oAbFLdD3OWqnUbNvJZAlc= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= +github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-sqlite3 v1.14.13 h1:1tj15ngiFfcZzii7yd82foL+ks+ouQcj8j/TPq3fk1I= github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= @@ -1464,6 +1473,7 @@ github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQ github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= +github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= @@ -1593,7 +1603,9 @@ github.com/raulk/go-watchdog v1.3.0 h1:oUmdlHxdkXRJlwfG0O9omj8ukerm8MEQavSiDTEtB github.com/raulk/go-watchdog v1.3.0/go.mod h1:fIvOnLbF0b0ZwkB9YU4mOW9Did//4vPZtDqv66NfsMU= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= +github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= @@ -1677,9 +1689,12 @@ github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkU github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= +github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= +github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= @@ -1737,6 +1752,7 @@ github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9f github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c h1:u6SKchux2yDvFQnDHS3lPnIRmfVJ5Sxy3ao2SIdysLQ= +github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM= github.com/twmb/murmur3 v1.1.6 h1:mqrRot1BRxm+Yct+vavLMou2/iJt0tNVTTC0QoIjaZg= github.com/tyler-smith/go-bip39 v1.1.0 h1:5eUemwrMargf3BSLRRCalXT93Ns6pQJIjYQN2nyfOP8= github.com/ucarion/urlpath v0.0.0-20200424170820-7ccc79b76bbb h1:Ywfo8sUltxogBpFuMOFRrrSifO788kAFxmvVw31PtQQ= @@ -1830,6 +1846,7 @@ github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFi github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/zclconf/go-cty v1.13.2 h1:4GvrUxe/QUDYuJKAav4EYqdM47/kZa672LwmXFmEKT0= github.com/zclconf/go-cty v1.13.2/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= +github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= diff --git a/nft-meta/api/v1/synctask/synctask.go b/nft-meta/api/v1/synctask/synctask.go index 283f8836..d748c569 100644 --- a/nft-meta/api/v1/synctask/synctask.go +++ b/nft-meta/api/v1/synctask/synctask.go @@ -288,7 +288,7 @@ func getBlocksNum( for i, item := range blocks { taskNums[i] = item.BlockNumber } - logger.Sugar().Info("find %v bloks in %v", total, parseState) + logger.Sugar().Infof("find %v bloks in %v", total, parseState) return taskNums, err } diff --git a/nft-meta/pkg/db/ent/internal/schema.go b/nft-meta/pkg/db/ent/internal/schema.go index c3217ef3..3bd4f3a4 100644 --- a/nft-meta/pkg/db/ent/internal/schema.go +++ b/nft-meta/pkg/db/ent/internal/schema.go @@ -6,4 +6,4 @@ // Package internal holds a loadable version of the latest schema. package internal -const Schema = `{"Schema":"github.com/web3eye-io/Web3Eye/nft-meta/pkg/db/ent/schema","Package":"github.com/web3eye-io/Web3Eye/nft-meta/pkg/db/ent","Schemas":[{"name":"Block","config":{"Table":""},"fields":[{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":0}},{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"block_number","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"block_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"block_time","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"parse_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":6,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["chain_type","chain_id","block_number"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":0}]},{"name":"Contract","config":{"Table":""},"fields":[{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":0}},{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"address","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"name","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"symbol","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"decimals","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_value":0,"default_kind":10,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"creator","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"block_num","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"tx_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":8,"MixedIn":false,"MixinIndex":0}},{"name":"tx_time","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":9,"MixedIn":false,"MixinIndex":0}},{"name":"profile_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":10,"MixedIn":false,"MixinIndex":0}},{"name":"base_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":11,"MixedIn":false,"MixinIndex":0}},{"name":"banner_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":12,"MixedIn":false,"MixinIndex":0}},{"name":"description","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":13,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":14,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["chain_type","chain_id","address"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":0}]},{"name":"Endpoint","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"address","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":4,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"Order","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"tx_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"block_number","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"tx_index","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"log_index","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"recipient","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["tx_hash","recipient","log_index"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"OrderItem","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"order_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"optional":true,"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"order_item_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"contract","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"token_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"token_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"amount","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"fields":["order_id"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"Snapshot","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"index","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"snapshot_comm_p","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"snapshot_root","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"snapshot_uri","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"backup_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["index","backup_state"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"SyncTask","config":{"Table":""},"fields":[{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":0}},{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"default":true,"default_value":"ChainUnkonwn","default_kind":24,"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"start","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"end","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"current","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"topic","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"unique":true,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"description","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"sync_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"default":true,"default_value":"Default","default_kind":24,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":8,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"fields":["topic"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":0}]},{"name":"Token","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"contract","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"token_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"token_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"owner","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"uri","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"uri_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"uri_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":8,"MixedIn":false,"MixinIndex":0}},{"name":"image_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":9,"MixedIn":false,"MixinIndex":0}},{"name":"video_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":10,"MixedIn":false,"MixinIndex":0}},{"name":"description","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":11,"MixedIn":false,"MixinIndex":0}},{"name":"name","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":12,"MixedIn":false,"MixinIndex":0}},{"name":"vector_id","type":{"Type":13,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":13,"MixedIn":false,"MixinIndex":0}},{"name":"vector_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"default":true,"default_value":"Default","default_kind":24,"position":{"Index":14,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":15,"MixedIn":false,"MixinIndex":0}},{"name":"ipfs_image_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":16,"MixedIn":false,"MixinIndex":0}},{"name":"image_snapshot_id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":17,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["contract","token_id"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"Transfer","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"contract","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"token_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"token_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"from","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"to","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"amount","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"block_number","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":8,"MixedIn":false,"MixinIndex":0}},{"name":"tx_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":9,"MixedIn":false,"MixinIndex":0}},{"name":"block_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":10,"MixedIn":false,"MixinIndex":0}},{"name":"tx_time","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":11,"MixedIn":false,"MixinIndex":0}},{"name":"log_index","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_value":0,"default_kind":10,"position":{"Index":12,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":13,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["contract","token_id","tx_hash","from","log_index"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]}],"Features":["entql","sql/lock","sql/execquery","sql/upsert","privacy","schema/snapshot","sql/modifier"]}` +const Schema = `{"Schema":"github.com/web3eye-io/Web3Eye/nft-meta/pkg/db/ent/schema","Package":"github.com/web3eye-io/Web3Eye/nft-meta/pkg/db/ent","Schemas":[{"name":"Block","config":{"Table":""},"fields":[{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":0}},{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"block_number","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"block_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"block_time","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"parse_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":6,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["chain_type","chain_id","block_number"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":0}]},{"name":"Contract","config":{"Table":""},"fields":[{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":0}},{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"address","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"name","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"symbol","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"decimals","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_value":0,"default_kind":10,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"creator","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"block_num","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"tx_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":8,"MixedIn":false,"MixinIndex":0}},{"name":"tx_time","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":9,"MixedIn":false,"MixinIndex":0}},{"name":"profile_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":10,"MixedIn":false,"MixinIndex":0}},{"name":"base_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":11,"MixedIn":false,"MixinIndex":0}},{"name":"banner_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":12,"MixedIn":false,"MixinIndex":0}},{"name":"description","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":13,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":14,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["chain_type","chain_id","address"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":0}]},{"name":"Endpoint","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"address","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":4,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"Order","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"tx_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"block_number","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"tx_index","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"log_index","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"recipient","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["tx_hash","recipient","log_index"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"OrderItem","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"order_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"order_item_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"contract","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"token_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"token_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"amount","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"fields":["order_id"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"Snapshot","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"index","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"snapshot_comm_p","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"snapshot_root","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"snapshot_uri","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"backup_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["index","backup_state"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"SyncTask","config":{"Table":""},"fields":[{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":0}},{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"default":true,"default_value":"ChainUnkonwn","default_kind":24,"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"start","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"end","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"current","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"topic","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"unique":true,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"description","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"sync_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"default":true,"default_value":"Default","default_kind":24,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":8,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"fields":["topic"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":0}]},{"name":"Token","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"contract","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"token_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"token_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"owner","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"uri","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"uri_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"uri_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":8,"MixedIn":false,"MixinIndex":0}},{"name":"image_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":9,"MixedIn":false,"MixinIndex":0}},{"name":"video_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":10,"MixedIn":false,"MixinIndex":0}},{"name":"description","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":11,"MixedIn":false,"MixinIndex":0}},{"name":"name","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":12,"MixedIn":false,"MixinIndex":0}},{"name":"vector_id","type":{"Type":13,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":13,"MixedIn":false,"MixinIndex":0}},{"name":"vector_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"default":true,"default_value":"Default","default_kind":24,"position":{"Index":14,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":15,"MixedIn":false,"MixinIndex":0}},{"name":"ipfs_image_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":16,"MixedIn":false,"MixinIndex":0}},{"name":"image_snapshot_id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":17,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["contract","token_id"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"Transfer","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"contract","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"token_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"token_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"from","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"to","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"amount","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"block_number","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":8,"MixedIn":false,"MixinIndex":0}},{"name":"tx_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":9,"MixedIn":false,"MixinIndex":0}},{"name":"block_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":10,"MixedIn":false,"MixinIndex":0}},{"name":"tx_time","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":11,"MixedIn":false,"MixinIndex":0}},{"name":"log_index","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_value":0,"default_kind":10,"position":{"Index":12,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":13,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["contract","token_id","tx_hash","from","log_index"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]}],"Features":["entql","sql/lock","sql/execquery","sql/upsert","privacy","schema/snapshot","sql/modifier"]}` diff --git a/nft-meta/pkg/db/ent/migrate/schema.go b/nft-meta/pkg/db/ent/migrate/schema.go index c1278853..d2fc521f 100644 --- a/nft-meta/pkg/db/ent/migrate/schema.go +++ b/nft-meta/pkg/db/ent/migrate/schema.go @@ -149,7 +149,7 @@ var ( {Name: "created_at", Type: field.TypeUint32}, {Name: "updated_at", Type: field.TypeUint32}, {Name: "deleted_at", Type: field.TypeUint32}, - {Name: "order_id", Type: field.TypeUUID, Nullable: true}, + {Name: "order_id", Type: field.TypeUUID}, {Name: "order_item_type", Type: field.TypeString}, {Name: "contract", Type: field.TypeString}, {Name: "token_type", Type: field.TypeString}, diff --git a/nft-meta/pkg/db/ent/mutation.go b/nft-meta/pkg/db/ent/mutation.go index 68ebcd93..170b1068 100644 --- a/nft-meta/pkg/db/ent/mutation.go +++ b/nft-meta/pkg/db/ent/mutation.go @@ -5144,22 +5144,9 @@ func (m *OrderItemMutation) OldOrderID(ctx context.Context) (v uuid.UUID, err er return oldValue.OrderID, nil } -// ClearOrderID clears the value of the "order_id" field. -func (m *OrderItemMutation) ClearOrderID() { - m.order_id = nil - m.clearedFields[orderitem.FieldOrderID] = struct{}{} -} - -// OrderIDCleared returns if the "order_id" field was cleared in this mutation. -func (m *OrderItemMutation) OrderIDCleared() bool { - _, ok := m.clearedFields[orderitem.FieldOrderID] - return ok -} - // ResetOrderID resets all changes to the "order_id" field. func (m *OrderItemMutation) ResetOrderID() { m.order_id = nil - delete(m.clearedFields, orderitem.FieldOrderID) } // SetOrderItemType sets the "order_item_type" field. @@ -5660,9 +5647,6 @@ func (m *OrderItemMutation) AddField(name string, value ent.Value) error { // mutation. func (m *OrderItemMutation) ClearedFields() []string { var fields []string - if m.FieldCleared(orderitem.FieldOrderID) { - fields = append(fields, orderitem.FieldOrderID) - } if m.FieldCleared(orderitem.FieldRemark) { fields = append(fields, orderitem.FieldRemark) } @@ -5680,9 +5664,6 @@ func (m *OrderItemMutation) FieldCleared(name string) bool { // error if the field is not defined in the schema. func (m *OrderItemMutation) ClearField(name string) error { switch name { - case orderitem.FieldOrderID: - m.ClearOrderID() - return nil case orderitem.FieldRemark: m.ClearRemark() return nil diff --git a/nft-meta/pkg/db/ent/orderitem/orderitem.go b/nft-meta/pkg/db/ent/orderitem/orderitem.go index 31889e4e..f56dc73d 100644 --- a/nft-meta/pkg/db/ent/orderitem/orderitem.go +++ b/nft-meta/pkg/db/ent/orderitem/orderitem.go @@ -82,6 +82,4 @@ var ( UpdateDefaultUpdatedAt func() uint32 // DefaultDeletedAt holds the default value on creation for the "deleted_at" field. DefaultDeletedAt func() uint32 - // DefaultOrderID holds the default value on creation for the "order_id" field. - DefaultOrderID func() uuid.UUID ) diff --git a/nft-meta/pkg/db/ent/orderitem/where.go b/nft-meta/pkg/db/ent/orderitem/where.go index e31758c7..cb700963 100644 --- a/nft-meta/pkg/db/ent/orderitem/where.go +++ b/nft-meta/pkg/db/ent/orderitem/where.go @@ -476,20 +476,6 @@ func OrderIDLTE(v uuid.UUID) predicate.OrderItem { }) } -// OrderIDIsNil applies the IsNil predicate on the "order_id" field. -func OrderIDIsNil() predicate.OrderItem { - return predicate.OrderItem(func(s *sql.Selector) { - s.Where(sql.IsNull(s.C(FieldOrderID))) - }) -} - -// OrderIDNotNil applies the NotNil predicate on the "order_id" field. -func OrderIDNotNil() predicate.OrderItem { - return predicate.OrderItem(func(s *sql.Selector) { - s.Where(sql.NotNull(s.C(FieldOrderID))) - }) -} - // OrderItemTypeEQ applies the EQ predicate on the "order_item_type" field. func OrderItemTypeEQ(v string) predicate.OrderItem { return predicate.OrderItem(func(s *sql.Selector) { diff --git a/nft-meta/pkg/db/ent/orderitem_create.go b/nft-meta/pkg/db/ent/orderitem_create.go index 4be48414..d780ea8d 100644 --- a/nft-meta/pkg/db/ent/orderitem_create.go +++ b/nft-meta/pkg/db/ent/orderitem_create.go @@ -84,14 +84,6 @@ func (oic *OrderItemCreate) SetOrderID(u uuid.UUID) *OrderItemCreate { return oic } -// SetNillableOrderID sets the "order_id" field if the given value is not nil. -func (oic *OrderItemCreate) SetNillableOrderID(u *uuid.UUID) *OrderItemCreate { - if u != nil { - oic.SetOrderID(*u) - } - return oic -} - // SetOrderItemType sets the "order_item_type" field. func (oic *OrderItemCreate) SetOrderItemType(s string) *OrderItemCreate { oic.mutation.SetOrderItemType(s) @@ -249,13 +241,6 @@ func (oic *OrderItemCreate) defaults() error { v := orderitem.DefaultDeletedAt() oic.mutation.SetDeletedAt(v) } - if _, ok := oic.mutation.OrderID(); !ok { - if orderitem.DefaultOrderID == nil { - return fmt.Errorf("ent: uninitialized orderitem.DefaultOrderID (forgotten import ent/runtime?)") - } - v := orderitem.DefaultOrderID() - oic.mutation.SetOrderID(v) - } return nil } @@ -273,6 +258,9 @@ func (oic *OrderItemCreate) check() error { if _, ok := oic.mutation.DeletedAt(); !ok { return &ValidationError{Name: "deleted_at", err: errors.New(`ent: missing required field "OrderItem.deleted_at"`)} } + if _, ok := oic.mutation.OrderID(); !ok { + return &ValidationError{Name: "order_id", err: errors.New(`ent: missing required field "OrderItem.order_id"`)} + } if _, ok := oic.mutation.OrderItemType(); !ok { return &ValidationError{Name: "order_item_type", err: errors.New(`ent: missing required field "OrderItem.order_item_type"`)} } @@ -540,12 +528,6 @@ func (u *OrderItemUpsert) UpdateOrderID() *OrderItemUpsert { return u } -// ClearOrderID clears the value of the "order_id" field. -func (u *OrderItemUpsert) ClearOrderID() *OrderItemUpsert { - u.SetNull(orderitem.FieldOrderID) - return u -} - // SetOrderItemType sets the "order_item_type" field. func (u *OrderItemUpsert) SetOrderItemType(v string) *OrderItemUpsert { u.Set(orderitem.FieldOrderItemType, v) @@ -763,13 +745,6 @@ func (u *OrderItemUpsertOne) UpdateOrderID() *OrderItemUpsertOne { }) } -// ClearOrderID clears the value of the "order_id" field. -func (u *OrderItemUpsertOne) ClearOrderID() *OrderItemUpsertOne { - return u.Update(func(s *OrderItemUpsert) { - s.ClearOrderID() - }) -} - // SetOrderItemType sets the "order_item_type" field. func (u *OrderItemUpsertOne) SetOrderItemType(v string) *OrderItemUpsertOne { return u.Update(func(s *OrderItemUpsert) { @@ -1163,13 +1138,6 @@ func (u *OrderItemUpsertBulk) UpdateOrderID() *OrderItemUpsertBulk { }) } -// ClearOrderID clears the value of the "order_id" field. -func (u *OrderItemUpsertBulk) ClearOrderID() *OrderItemUpsertBulk { - return u.Update(func(s *OrderItemUpsert) { - s.ClearOrderID() - }) -} - // SetOrderItemType sets the "order_item_type" field. func (u *OrderItemUpsertBulk) SetOrderItemType(v string) *OrderItemUpsertBulk { return u.Update(func(s *OrderItemUpsert) { diff --git a/nft-meta/pkg/db/ent/orderitem_update.go b/nft-meta/pkg/db/ent/orderitem_update.go index acaedd60..b02e4db4 100644 --- a/nft-meta/pkg/db/ent/orderitem_update.go +++ b/nft-meta/pkg/db/ent/orderitem_update.go @@ -104,20 +104,6 @@ func (oiu *OrderItemUpdate) SetOrderID(u uuid.UUID) *OrderItemUpdate { return oiu } -// SetNillableOrderID sets the "order_id" field if the given value is not nil. -func (oiu *OrderItemUpdate) SetNillableOrderID(u *uuid.UUID) *OrderItemUpdate { - if u != nil { - oiu.SetOrderID(*u) - } - return oiu -} - -// ClearOrderID clears the value of the "order_id" field. -func (oiu *OrderItemUpdate) ClearOrderID() *OrderItemUpdate { - oiu.mutation.ClearOrderID() - return oiu -} - // SetOrderItemType sets the "order_item_type" field. func (oiu *OrderItemUpdate) SetOrderItemType(s string) *OrderItemUpdate { oiu.mutation.SetOrderItemType(s) @@ -322,12 +308,6 @@ func (oiu *OrderItemUpdate) sqlSave(ctx context.Context) (n int, err error) { Column: orderitem.FieldOrderID, }) } - if oiu.mutation.OrderIDCleared() { - _spec.Fields.Clear = append(_spec.Fields.Clear, &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: orderitem.FieldOrderID, - }) - } if value, ok := oiu.mutation.OrderItemType(); ok { _spec.Fields.Set = append(_spec.Fields.Set, &sqlgraph.FieldSpec{ Type: field.TypeString, @@ -472,20 +452,6 @@ func (oiuo *OrderItemUpdateOne) SetOrderID(u uuid.UUID) *OrderItemUpdateOne { return oiuo } -// SetNillableOrderID sets the "order_id" field if the given value is not nil. -func (oiuo *OrderItemUpdateOne) SetNillableOrderID(u *uuid.UUID) *OrderItemUpdateOne { - if u != nil { - oiuo.SetOrderID(*u) - } - return oiuo -} - -// ClearOrderID clears the value of the "order_id" field. -func (oiuo *OrderItemUpdateOne) ClearOrderID() *OrderItemUpdateOne { - oiuo.mutation.ClearOrderID() - return oiuo -} - // SetOrderItemType sets the "order_item_type" field. func (oiuo *OrderItemUpdateOne) SetOrderItemType(s string) *OrderItemUpdateOne { oiuo.mutation.SetOrderItemType(s) @@ -720,12 +686,6 @@ func (oiuo *OrderItemUpdateOne) sqlSave(ctx context.Context) (_node *OrderItem, Column: orderitem.FieldOrderID, }) } - if oiuo.mutation.OrderIDCleared() { - _spec.Fields.Clear = append(_spec.Fields.Clear, &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: orderitem.FieldOrderID, - }) - } if value, ok := oiuo.mutation.OrderItemType(); ok { _spec.Fields.Set = append(_spec.Fields.Set, &sqlgraph.FieldSpec{ Type: field.TypeString, diff --git a/nft-meta/pkg/db/ent/runtime/runtime.go b/nft-meta/pkg/db/ent/runtime/runtime.go index b53a04e2..0a4bf1e4 100644 --- a/nft-meta/pkg/db/ent/runtime/runtime.go +++ b/nft-meta/pkg/db/ent/runtime/runtime.go @@ -207,10 +207,6 @@ func init() { orderitemDescDeletedAt := orderitemMixinFields1[2].Descriptor() // orderitem.DefaultDeletedAt holds the default value on creation for the deleted_at field. orderitem.DefaultDeletedAt = orderitemDescDeletedAt.Default.(func() uint32) - // orderitemDescOrderID is the schema descriptor for order_id field. - orderitemDescOrderID := orderitemFields[0].Descriptor() - // orderitem.DefaultOrderID holds the default value on creation for the order_id field. - orderitem.DefaultOrderID = orderitemDescOrderID.Default.(func() uuid.UUID) snapshotMixin := schema.Snapshot{}.Mixin() snapshot.Policy = privacy.NewPolicies(snapshotMixin[1], schema.Snapshot{}) snapshot.Hooks[0] = func(next ent.Mutator) ent.Mutator { diff --git a/nft-meta/pkg/db/ent/schema/orderitem.go b/nft-meta/pkg/db/ent/schema/orderitem.go index 2771ff44..1aaeea83 100644 --- a/nft-meta/pkg/db/ent/schema/orderitem.go +++ b/nft-meta/pkg/db/ent/schema/orderitem.go @@ -23,12 +23,7 @@ func (OrderItem) Mixin() []ent.Mixin { func (OrderItem) Fields() []ent.Field { return []ent.Field{ - field. - UUID("order_id", uuid.UUID{}). - Optional(). - Default(func() uuid.UUID { - return uuid.UUID{} - }), + field.UUID("order_id", uuid.UUID{}), field.String("order_item_type"), field.String("contract"), field.String("token_type"), diff --git a/nft-meta/pkg/mw/v1/order/upsert.go b/nft-meta/pkg/mw/v1/order/upsert.go index 2b242012..05f2e774 100644 --- a/nft-meta/pkg/mw/v1/order/upsert.go +++ b/nft-meta/pkg/mw/v1/order/upsert.go @@ -22,7 +22,7 @@ func (h *Handler) UpsertOrder(ctx context.Context) (*orderproto.Order, error) { } err := db.WithTx(ctx, func(_ctx context.Context, tx *ent.Tx) error { - id, entID, err := h.upsertOne(_ctx, tx, &ordercrud.Req{ + id, entID, err := upsertOne(_ctx, tx, &ordercrud.Req{ EntID: h.EntID, ChainType: h.ChainType, ChainID: h.ChainID, @@ -31,6 +31,8 @@ func (h *Handler) UpsertOrder(ctx context.Context) (*orderproto.Order, error) { TxIndex: h.TxIndex, LogIndex: h.LogIndex, Recipient: h.Recipient, + TargetItems: h.TargetItems, + OfferItems: h.OfferItems, Remark: h.Remark, }) if err != nil { @@ -47,7 +49,7 @@ func (h *Handler) UpsertOrder(ctx context.Context) (*orderproto.Order, error) { return h.GetOrder(ctx) } -func (h *Handler) upsertOne(_ctx context.Context, tx *ent.Tx, req *ordercrud.Req) (*uint32, *uuid.UUID, error) { +func upsertOne(_ctx context.Context, tx *ent.Tx, req *ordercrud.Req) (*uint32, *uuid.UUID, error) { row, _ := tx.Order.Query().Where( orderent.TxHash(*req.TxHash), orderent.Recipient(*req.Recipient), @@ -84,13 +86,13 @@ func (h *Handler) upsertOne(_ctx context.Context, tx *ent.Tx, req *ordercrud.Req entID = &row.EntID } - targetBulk := createOrderItemsSet(h.EntID, tx, h.TargetItems, basetype.OrderItemType_OrderItemTarget) + targetBulk := createOrderItemsSet(entID, tx, req.TargetItems, basetype.OrderItemType_OrderItemTarget) err := tx.OrderItem.CreateBulk(targetBulk...).OnConflict().UpdateNewValues().Exec(_ctx) if err != nil { return id, entID, err } - offerBulk := createOrderItemsSet(h.EntID, tx, h.OfferItems, basetype.OrderItemType_OrderItemOffer) + offerBulk := createOrderItemsSet(entID, tx, req.OfferItems, basetype.OrderItemType_OrderItemOffer) err = tx.OrderItem.CreateBulk(offerBulk...).OnConflict().UpdateNewValues().Exec(_ctx) return id, entID, err } @@ -99,7 +101,7 @@ func (h *Handler) UpsertOrders(ctx context.Context) ([]*orderproto.Order, error) entIDs := []uuid.UUID{} for _, req := range h.Reqs { err := db.WithTx(ctx, func(_ctx context.Context, tx *ent.Tx) error { - _, entID, err := h.upsertOne(_ctx, tx, req) + _, entID, err := upsertOne(_ctx, tx, req) if err != nil { return err } diff --git a/ranker/pkg/crud/v1/transfer/transfer.go b/ranker/pkg/crud/v1/transfer/transfer.go index 6c6e00e6..c5966b37 100644 --- a/ranker/pkg/crud/v1/transfer/transfer.go +++ b/ranker/pkg/crud/v1/transfer/transfer.go @@ -2,7 +2,6 @@ package transfer import ( "context" - "fmt" "entgo.io/ent/dialect/sql" "github.com/google/uuid" @@ -78,7 +77,6 @@ func queryOrderItemsAndContract(ctx context.Context, orderID string, cli *ent.Cl } for _, v := range qOrderItems { - fmt.Println(v.TokenType) if v.TokenType == basetype.TokenType_ERC1155.String() || v.TokenType == basetype.TokenType_ERC1155_WITH_CRITERIA.String() || v.TokenType == basetype.TokenType_ERC721.String() || From 7d9b75267ea14632f59fb21dfab5266116cd617c Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Mon, 8 Jan 2024 10:14:59 +0800 Subject: [PATCH 042/116] format code --- ranker/pkg/crud/v1/transfer/transfer.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/ranker/pkg/crud/v1/transfer/transfer.go b/ranker/pkg/crud/v1/transfer/transfer.go index c5966b37..6d7ede92 100644 --- a/ranker/pkg/crud/v1/transfer/transfer.go +++ b/ranker/pkg/crud/v1/transfer/transfer.go @@ -53,7 +53,7 @@ func queryOrderItemAndOrder(row *ent.Transfer, cli *ent.Client) *ent.OrderItemSe s. LeftJoin(t). On( - t.C(order.FieldID), + t.C(order.FieldEntID), s.C(orderitem.FieldOrderID), ). Where(sql.EQ(order.FieldTxHash, row.TxHash)). @@ -63,14 +63,14 @@ func queryOrderItemAndOrder(row *ent.Transfer, cli *ent.Client) *ent.OrderItemSe }) } -func queryOrderItemsAndContract(ctx context.Context, orderID string, cli *ent.Client) ([]*OrderItem, error) { +func queryOrderItemsAndContract(ctx context.Context, orderEntID string, cli *ent.Client) ([]*OrderItem, error) { var qOrderItems []*OrderItem err := cli.OrderItem.Query().Modify(func(s *sql.Selector) { t := sql.Table(contract.Table) s.LeftJoin(t). On(s.C(orderitem.FieldContract), t.C(contract.FieldAddress)). AppendSelect(contract.FieldSymbol, contract.FieldName, contract.FieldDecimals). - Where(sql.EQ(orderitem.FieldOrderID, orderID)) + Where(sql.EQ(orderitem.FieldOrderID, orderEntID)) }).Scan(ctx, &qOrderItems) if err != nil { return nil, err @@ -112,6 +112,7 @@ func Rows(ctx context.Context, in *rankernpool.GetTransfersRequest) ([]*rankernp if err != nil { return err } + // map: transfer.id => order.ent_id rowIDOrderID := make(map[uint32]string, len(rows)) for _, row := range rows { orderItem, err := queryOrderItemAndOrder(row, cli).Only(ctx) @@ -125,8 +126,8 @@ func Rows(ctx context.Context, in *rankernpool.GetTransfersRequest) ([]*rankernp for _, row := range rows { var qOrderItems []*OrderItem - if id, ok := rowIDOrderID[row.ID]; ok { - qOrderItems, err = queryOrderItemsAndContract(ctx, id, cli) + if entID, ok := rowIDOrderID[row.ID]; ok { + qOrderItems, err = queryOrderItemsAndContract(ctx, entID, cli) if err != nil { return err } From 201312d81eac8bdc877b35440e34432c00dc64c4 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Mon, 8 Jan 2024 10:15:35 +0800 Subject: [PATCH 043/116] update deps --- go.mod | 6 ------ go.sum | 17 ----------------- 2 files changed, 23 deletions(-) diff --git a/go.mod b/go.mod index 6e5cacfc..4b9724a8 100644 --- a/go.mod +++ b/go.mod @@ -178,7 +178,6 @@ require ( github.com/hashicorp/hcl/v2 v2.17.0 // indirect github.com/holiman/uint256 v1.2.4 // indirect github.com/huin/goupnp v1.3.0 // indirect - github.com/inconshreveable/mousetrap v1.0.1 // indirect github.com/ipfs/bbloom v0.0.4 // indirect github.com/ipfs/go-bitfield v1.1.0 // indirect github.com/ipfs/go-block-format v0.1.2 // indirect @@ -246,7 +245,6 @@ require ( github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.19 // indirect - github.com/mattn/go-runewidth v0.0.13 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/mcuadros/go-version v0.0.0-20190830083331-035f6764e8d2 // indirect github.com/miekg/dns v1.1.55 // indirect @@ -271,7 +269,6 @@ require ( github.com/multiformats/go-multistream v0.4.1 // indirect github.com/multiformats/go-varint v0.0.7 // indirect github.com/near/borsh-go v0.3.2-0.20220516180422-1ff87d108454 // indirect - github.com/olekukonko/tablewriter v0.0.5 // indirect github.com/onsi/ginkgo/v2 v2.11.0 // indirect github.com/opencontainers/runtime-spec v1.0.2 // indirect github.com/opentracing/opentracing-go v1.2.0 // indirect @@ -292,15 +289,12 @@ require ( github.com/quic-go/quic-go v0.36.1 // indirect github.com/quic-go/webtransport-go v0.5.3 // indirect github.com/raulk/go-watchdog v1.3.0 // indirect - github.com/rivo/uniseg v0.2.0 // indirect github.com/rogpeppe/go-internal v1.11.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/samber/lo v1.38.1 // indirect github.com/shirou/gopsutil v3.21.11+incompatible // indirect github.com/sirupsen/logrus v1.9.0 // indirect github.com/spaolacci/murmur3 v1.1.0 // indirect - github.com/spf13/cobra v1.6.1 // indirect - github.com/spf13/pflag v1.0.5 // indirect github.com/streamingfast/logging v0.0.0-20230608130331-f22c91403091 // indirect github.com/supranational/blst v0.3.11 // indirect github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect diff --git a/go.sum b/go.sum index 21cb6055..a7c367b3 100644 --- a/go.sum +++ b/go.sum @@ -110,12 +110,10 @@ github.com/alexbrainman/goissue34681 v0.0.0-20191006012335-3fc7a47baff5/go.mod h github.com/andres-erbsen/clock v0.0.0-20160526145045-9e14626cd129 h1:MzBOUgng9orim59UnfUTLRjMpd09C5uEVQ6RPGeCaVI= github.com/andres-erbsen/clock v0.0.0-20160526145045-9e14626cd129/go.mod h1:rFgpPQZYZ8vdbc+48xibu8ALc3yeyd64IhHS+PU6Yyg= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apache/pulsar-client-go v0.11.0 h1:fniyVbewAOcMSMLwxzhdrCFmFTorCW40jfnmQVcsrJw= github.com/apache/pulsar-client-go v0.11.0/go.mod h1:FoijqJwgjroSKptIWp1vvK1CXs8dXnQiL8I+MHOri4A= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= -github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= github.com/ardielle/ardielle-go v1.5.2 h1:TilHTpHIQJ27R1Tl/iITBzMwiUGSlVfiVhwDNGM3Zj4= @@ -262,7 +260,6 @@ github.com/cockroachdb/logtags v0.0.0-20211118104740-dabe8e521a4f/go.mod h1:Vz9D github.com/cockroachdb/pebble v0.0.0-20230928194634-aa077af62593 h1:aPEJyR4rPBvDmeyi+l/FS/VtA00IWvjeFvjen1m1l1A= github.com/cockroachdb/redact v1.1.3 h1:AKZds10rFSIj7qADf0g46UixK8NNLwWTNdCIGS5wfSQ= github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= -github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2/go.mod h1:8BT+cPK6xvFOcRlk0R8eg+OTkcqI6baNH4xAkpiYVvQ= github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= @@ -422,7 +419,6 @@ github.com/filecoin-project/go-fil-commcid v0.1.0/go.mod h1:Eaox7Hvus1JgPrL5+M3+ github.com/filecoin-project/go-fil-commp-hashhash v0.1.0 h1:imrrpZWEHRnNqqv0tN7LXep5bFEVOVmQWHJvl2mgsGo= github.com/filecoin-project/go-fil-markets v1.28.3 h1:2cFu7tLZYrfNz4LnxjgERaVD7k5+Wwp0H76mnnTGPBk= github.com/filecoin-project/go-fil-markets v1.28.3/go.mod h1:eryxo/oVgIxaR5g5CNr9PlvZOi+u/bak0IsPL/PT1hk= -github.com/filecoin-project/go-hamt-ipld v0.1.5/go.mod h1:6Is+ONR5Cd5R6XZoCse1CWaXZc0Hdb/JeX+EQCQzX24= github.com/filecoin-project/go-hamt-ipld/v3 v3.1.0/go.mod h1:bxmzgT8tmeVQA1/gvBwFmYdT8SOFUwB3ovSUfG1Ux0g= github.com/filecoin-project/go-hamt-ipld/v3 v3.3.0 h1:lYx2W8lE2GpwMnVmLn9rRkxTZGMgirWabz0Cx0BTlAU= github.com/filecoin-project/go-hamt-ipld/v3 v3.3.0/go.mod h1:IWfNfjdXLrqyyj3X7JMJQgWYu9M4NX/hQl1zdv64bmc= @@ -521,7 +517,6 @@ github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg78 github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68= -github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= github.com/go-yaml/yaml v2.1.0+incompatible/go.mod h1:w2MrLa16VYP0jy6N7M5kHaCkaLENm+P+Tv+MfurjSw0= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= @@ -726,8 +721,6 @@ github.com/hydrogen18/memlistener v0.0.0-20200120041712-dcc25e7acd91/go.mod h1:q github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= -github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs= github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyqMG0= @@ -1291,9 +1284,7 @@ github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D github.com/mattn/go-pointer v0.0.1 h1:n+XhsuGeVO6MEAp7xyEukFINEa+Quek5psIR/ylA6o0= github.com/mattn/go-pointer v0.0.1/go.mod h1:2zXcozF6qYGgmsG+SeTZz3oAbFLdD3OWqnUbNvJZAlc= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= -github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-sqlite3 v1.14.13 h1:1tj15ngiFfcZzii7yd82foL+ks+ouQcj8j/TPq3fk1I= github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= @@ -1473,7 +1464,6 @@ github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQ github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= -github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= @@ -1603,9 +1593,7 @@ github.com/raulk/go-watchdog v1.3.0 h1:oUmdlHxdkXRJlwfG0O9omj8ukerm8MEQavSiDTEtB github.com/raulk/go-watchdog v1.3.0/go.mod h1:fIvOnLbF0b0ZwkB9YU4mOW9Did//4vPZtDqv66NfsMU= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= -github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= @@ -1689,12 +1677,9 @@ github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkU github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= -github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= -github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= @@ -1752,7 +1737,6 @@ github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9f github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c h1:u6SKchux2yDvFQnDHS3lPnIRmfVJ5Sxy3ao2SIdysLQ= -github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM= github.com/twmb/murmur3 v1.1.6 h1:mqrRot1BRxm+Yct+vavLMou2/iJt0tNVTTC0QoIjaZg= github.com/tyler-smith/go-bip39 v1.1.0 h1:5eUemwrMargf3BSLRRCalXT93Ns6pQJIjYQN2nyfOP8= github.com/ucarion/urlpath v0.0.0-20200424170820-7ccc79b76bbb h1:Ywfo8sUltxogBpFuMOFRrrSifO788kAFxmvVw31PtQQ= @@ -1846,7 +1830,6 @@ github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFi github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/zclconf/go-cty v1.13.2 h1:4GvrUxe/QUDYuJKAav4EYqdM47/kZa672LwmXFmEKT0= github.com/zclconf/go-cty v1.13.2/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= -github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= From c0c4c1dcfd2731358ca3f9ca54730c93e05ab5c1 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Mon, 8 Jan 2024 16:36:31 +0800 Subject: [PATCH 044/116] support backoff endpoint --- block-etl/pkg/chains/IndexMGR.go | 10 +++ block-etl/pkg/chains/eth/check.go | 34 ------- block-etl/pkg/chains/eth/token.go | 7 -- block-etl/pkg/chains/sol/check.go | 34 ------- block-etl/pkg/chains/sol/token.go | 6 -- common/chains/endpointmgr.go | 144 ++++++++++++++++++++++++++++++ common/chains/eth/client.go | 44 ++++++--- common/chains/sol/client.go | 40 +++++++-- 8 files changed, 218 insertions(+), 101 deletions(-) delete mode 100644 block-etl/pkg/chains/eth/check.go delete mode 100644 block-etl/pkg/chains/sol/check.go create mode 100644 common/chains/endpointmgr.go diff --git a/block-etl/pkg/chains/IndexMGR.go b/block-etl/pkg/chains/IndexMGR.go index f1a01252..761d9e5c 100644 --- a/block-etl/pkg/chains/IndexMGR.go +++ b/block-etl/pkg/chains/IndexMGR.go @@ -8,6 +8,7 @@ import ( "github.com/web3eye-io/Web3Eye/block-etl/pkg/chains/sol" endpointNMCli "github.com/web3eye-io/Web3Eye/nft-meta/pkg/client/v1/endpoint" + "github.com/web3eye-io/Web3Eye/common/chains" common_eth "github.com/web3eye-io/Web3Eye/common/chains/eth" common_sol "github.com/web3eye-io/Web3Eye/common/chains/sol" "github.com/web3eye-io/Web3Eye/proto/web3eye" @@ -159,6 +160,15 @@ func (pmgr *indexMGR) checkAvaliableEndpoints(ctx context.Context) { endpointGroups[info.ChainType][info.ChainID] = []string{} } endpointGroups[info.ChainType][info.ChainID] = append(endpointGroups[info.ChainType][info.ChainID], info.Address) + + err = chains.GetEndpintIntervalMGR().PutEndpoint(&chains.EndpointInterval{ + Address: info.Address, + MinInterval: time.Millisecond, + MaxInterval: time.Minute, + }, true) + if err != nil { + logger.Sugar().Warnw("checkAvaliableEndpoints", "Msg", "failed to put endpoints to redis", "Error", err) + } } // check if have no endpoints,will be stop diff --git a/block-etl/pkg/chains/eth/check.go b/block-etl/pkg/chains/eth/check.go deleted file mode 100644 index fa5655a5..00000000 --- a/block-etl/pkg/chains/eth/check.go +++ /dev/null @@ -1,34 +0,0 @@ -package eth - -import ( - "context" - "strings" - - "github.com/web3eye-io/Web3Eye/common/chains/eth" - - "github.com/NpoolPlatform/go-service-framework/pkg/logger" -) - -// check if endpoints should be stoped by the err,and return weather to retry again -func (e *EthIndexer) checkErr(ctx context.Context, err error) { - retryErrs := []string{"context deadline exceeded"} - for _, v := range retryErrs { - if strings.Contains(err.Error(), v) { - return - } - } - - okEndpints := []string{} - // extract wrong endpoints - for _, v := range e.OkEndpoints { - _, inspectErr := eth.GetEndpointChainID(ctx, v) - if inspectErr != nil { - logger.Sugar().Warnf("check the endpoint %v is unavailable,err: %v,has been removed", v, inspectErr) - e.BadEndpoints[v] = inspectErr - } else { - okEndpints = append(okEndpints, v) - } - } - - e.UpdateEndpoints(okEndpints) -} diff --git a/block-etl/pkg/chains/eth/token.go b/block-etl/pkg/chains/eth/token.go index e268331c..a2682fb4 100644 --- a/block-etl/pkg/chains/eth/token.go +++ b/block-etl/pkg/chains/eth/token.go @@ -54,7 +54,6 @@ func (e *EthIndexer) CheckBlock(ctx context.Context, inBlockNum uint64) (*blockP block, err := cli.BlockByNumber(ctx, big.NewInt(0).SetUint64(inBlockNum)) if err != nil { - e.checkErr(ctx, err) return nil, fmt.Errorf("cannot get eth client,err: %v", err) } @@ -91,7 +90,6 @@ func (e *EthIndexer) IndexBlockLogs(ctx context.Context, inBlockNum uint64) (*Bl eth.OrderFulfilledTopics, }) if err != nil { - e.checkErr(ctx, err) return nil, fmt.Errorf("cannot parse logs: %v", err) } transferLogs := topicsLogs[0] @@ -106,7 +104,6 @@ func (e *EthIndexer) IndexBlockLogs(ctx context.Context, inBlockNum uint64) (*Bl func (e *EthIndexer) IndexTransfer(ctx context.Context, logs []*types.Log, blockTime uint64) ([]*chains.TokenTransfer, error) { transfers, err := eth.LogsToTransfer(logs) if err != nil { - e.checkErr(ctx, err) return nil, fmt.Errorf("failed to get transfer logs, err: %v", err) } if len(transfers) == 0 { @@ -208,7 +205,6 @@ func (e *EthIndexer) IndexToken(ctx context.Context, inTransfers []*chains.Token tokenURI, err := cli.TokenURI(ctx, transfer.TokenType, transfer.Contract, transfer.TokenID, transfer.BlockNumber) if err != nil { - e.checkErr(ctx, err) remark = fmt.Sprintf("%v,%v", remark, err) } @@ -347,7 +343,6 @@ func (e *EthIndexer) getContractInfo(ctx context.Context, contract *ContractMeta } if err != nil { - e.checkErr(ctx, err) remark = err.Error() } @@ -355,7 +350,6 @@ func (e *EthIndexer) getContractInfo(ctx context.Context, contract *ContractMeta if findContractCreator && contract.TokenType != basetype.TokenType_Native { creator, err = cli.GetContractCreator(ctx, contract.Contract) if err != nil { - e.checkErr(ctx, err) remark = fmt.Sprintf("%v,%v", remark, err.Error()) } } @@ -377,7 +371,6 @@ func (e *EthIndexer) SyncCurrentBlockNum(ctx context.Context, updateInterval tim blockNum, err := cli.CurrentBlockNum(ctx) if err != nil { - e.checkErr(ctx, err) logger.Sugar().Errorf("eth failed to get current block number: %v", err) return } diff --git a/block-etl/pkg/chains/sol/check.go b/block-etl/pkg/chains/sol/check.go deleted file mode 100644 index ab54387a..00000000 --- a/block-etl/pkg/chains/sol/check.go +++ /dev/null @@ -1,34 +0,0 @@ -package sol - -import ( - "context" - "strings" - - "github.com/NpoolPlatform/go-service-framework/pkg/logger" - "github.com/web3eye-io/Web3Eye/common/chains/sol" -) - -// check if endpoints should be stoped by the err,and return weather to retry again -func (e *SolIndexer) checkErr(ctx context.Context, err error) { - // Code -32007 slot not have block - retryErrs := []string{"context deadline exceeded", "context canceled", "Code: (int) -32007"} - for _, v := range retryErrs { - if strings.Contains(err.Error(), v) { - return - } - } - - okEndpints := []string{} - // extract wrong endpoints - for _, v := range e.OkEndpoints { - _, inspectErr := sol.GetEndpointChainID(ctx, v) - if inspectErr != nil { - logger.Sugar().Warnf("check the endpoint %v is unavailable,err: %v,has been removed", v, inspectErr) - e.BadEndpoints[v] = inspectErr - } else { - okEndpints = append(okEndpints, v) - } - } - - e.UpdateEndpoints(okEndpints) -} diff --git a/block-etl/pkg/chains/sol/token.go b/block-etl/pkg/chains/sol/token.go index 30cf889d..b60a6b75 100644 --- a/block-etl/pkg/chains/sol/token.go +++ b/block-etl/pkg/chains/sol/token.go @@ -49,7 +49,6 @@ func (e *SolIndexer) CheckBlock(ctx context.Context, inBlockNum uint64) (*blockP block, err := cli.GetBlock(ctx, inBlockNum) if err != nil { - e.checkErr(ctx, err) return nil, fmt.Errorf("cannot get sol block,err: %v", err) } @@ -82,7 +81,6 @@ func (e *SolIndexer) IndexTransfer(ctx context.Context, inBlockNum uint64) ([]*c } block, err := cli.GetBlock(ctx, inBlockNum) if err != nil { - e.checkErr(ctx, err) return nil, fmt.Errorf("cannot get sol block,err: %v", err) } txTime := uint64(block.BlockTime.Time().Unix()) @@ -96,7 +94,6 @@ func (e *SolIndexer) IndexTransfer(ctx context.Context, inBlockNum uint64) ([]*c for i := range transfers { metadata, err := cli.GetMetadata(ctx, transfers[i].TokenID) if err != nil { - e.checkErr(ctx, err) return nil, fmt.Errorf("cannot get sol token metadata,err: %v", err) } transfers[i].Contract = GenCollectionAddr(metadata) @@ -175,7 +172,6 @@ func (e *SolIndexer) IndexToken(ctx context.Context, inTransfers []*chains.Token if err != nil { uriState = basetype.TokenURIState_TokenURIError vectorState = tokenProto.ConvertState_Failed - e.checkErr(ctx, err) logger.Sugar().Warnf("cannot get metadata,err: %v, tokenID: %v", err, transfer.TokenID) remark = fmt.Sprintf("%v,%v", remark, err) } @@ -313,7 +309,6 @@ func (e *SolIndexer) getContractInfo(ctx context.Context, transfer *chains.Token } if err != nil { - e.checkErr(ctx, err) remark = err.Error() } @@ -339,7 +334,6 @@ func (e *SolIndexer) SyncCurrentBlockNum(ctx context.Context, updateInterval tim blockNum, err := cli.GetSlotHeight(ctx) if err != nil { - e.checkErr(ctx, err) logger.Sugar().Errorf("sol failed to get current block number: %v", err) return } diff --git a/common/chains/endpointmgr.go b/common/chains/endpointmgr.go new file mode 100644 index 00000000..aa79b196 --- /dev/null +++ b/common/chains/endpointmgr.go @@ -0,0 +1,144 @@ +package chains + +import ( + "context" + "encoding/json" + "fmt" + "math" + "math/rand" + "time" + + "github.com/web3eye-io/Web3Eye/common/ctredis" +) + +type endpointIntervalMGR struct { + RedisExpireTime time.Duration +} + +type EndpointInterval struct { + Address string + MinInterval time.Duration + BackoffIndex int + MaxBackoffIndex int + MaxInterval time.Duration +} + +var _eIMGR *endpointIntervalMGR + +const keyExpireTime = time.Minute * 5 +const lockEndpointWaitTime = time.Millisecond * 100 +const eIMGRPrefix = "eIMGR" + +func GetEndpintIntervalMGR() *endpointIntervalMGR { + if _eIMGR == nil { + _eIMGR = &endpointIntervalMGR{RedisExpireTime: keyExpireTime} + } + return _eIMGR +} + +func (eIMGR *endpointIntervalMGR) PutEndpoint(item *EndpointInterval, autoCalBackoff bool) error { + if autoCalBackoff { + item.BackoffIndex = 0 + _maxBackoffIndex := math.Log2(float64(item.MaxInterval) / float64(item.MinInterval)) + item.MaxBackoffIndex = int(_maxBackoffIndex) + } + + err := ctredis.Set(eIMGR.getKey(item.Address), item, eIMGR.RedisExpireTime) + return err +} + +func (eIMGR *endpointIntervalMGR) BackoffEndpoint(address string) error { + item := &EndpointInterval{} + err := ctredis.Get(eIMGR.getKey(address), item) + if err != nil { + return err + } + + if item.BackoffIndex < item.MaxBackoffIndex { + item.BackoffIndex++ + } + + return eIMGR.PutEndpoint(item, false) +} + +func (eIMGR *endpointIntervalMGR) GetEndpointInterval(address string) (time.Duration, error) { + item := &EndpointInterval{} + err := ctredis.Get(eIMGR.getKey(address), item) + if err != nil { + return 0, err + } + interval := item.MinInterval << item.BackoffIndex + if interval > item.MaxInterval { + return item.MaxInterval, nil + } + return interval, nil +} + +func (eIMGR *endpointIntervalMGR) getKey(address string) string { + return fmt.Sprintf("%v-%v", eIMGRPrefix, address) +} + +func (e *EndpointInterval) MarshalBinary() (data []byte, err error) { + data, err = json.Marshal(e) + return data, err +} + +func (e *EndpointInterval) UnmarshalBinary(data []byte) error { + return json.Unmarshal(data, e) +} + +func LockEndpoint(ctx context.Context, keys []string) (string, error) { + for { + select { + case <-time.NewTicker(lockEndpointWaitTime).C: + randN := rand.Intn(len(keys)) + for j := 0; j < len(keys); j++ { + lockKey := keys[(randN+j)%len(keys)] + interval, err := GetEndpintIntervalMGR().GetEndpointInterval(lockKey) + if err != nil { + fmt.Println(err) + continue + } + locked, _ := ctredis.TryPubLock(lockKey, interval) + if locked { + return lockKey, nil + } + } + case <-ctx.Done(): + return "", nil + } + } +} + +// func test() { +// if err := logger.Init(logger.DebugLevel, "./a.log"); err != nil { +// fmt.Println(err) +// os.Exit(1) +// } +// if err := db.Init(); err != nil { +// logger.Sugar().Fatalln(err) +// } +// keys := []string{"https://mainnet.infura.io/v3/00000000000", "s2", "s3"} +// eIMGR := NewNFTConllectionMGR() +// for _, key := range keys { +// eIMGR.PutEndpoint(&EndpointInterval{ +// Address: key, +// MinInterval: time.Second, +// MaxInterval: time.Minute * 5, +// }, true) +// } + +// for i := 0; i < 3; i++ { +// go func(i int) { +// for j := 0; j < 100; j++ { +// ret, err := LockEndpoint(keys) +// fmt.Printf("%v,%v,%v,%v\n", i, j, ret, err) +// if j%5 == 0 { +// err = eIMGR.BackoffEndpoint(ret) +// fmt.Printf("backoff,%v,%v\n", ret, err) +// } +// } +// }(i) +// } +// time.Sleep(time.Minute) +// } diff --git a/common/chains/eth/client.go b/common/chains/eth/client.go index 3e30ea97..cb5ff9a9 100644 --- a/common/chains/eth/client.go +++ b/common/chains/eth/client.go @@ -2,12 +2,12 @@ package eth import ( "context" - "crypto/rand" "errors" - "math/big" "time" + "github.com/NpoolPlatform/go-service-framework/pkg/logger" "github.com/ethereum/go-ethereum/ethclient" + "github.com/web3eye-io/Web3Eye/common/chains" "github.com/web3eye-io/Web3Eye/common/utils" ) @@ -22,29 +22,27 @@ type ethClients struct { endpoints []string } -func (ethCli ethClients) GetNode(ctx context.Context) (*ethclient.Client, error) { - randIndex, err := rand.Int(rand.Reader, big.NewInt(int64(len(ethCli.endpoints)))) +func (ethCli *ethClients) GetNode(ctx context.Context) (*ethclient.Client, string, error) { + endpoint, err := chains.LockEndpoint(ctx, ethCli.endpoints) if err != nil { - return nil, err + return nil, "", err } - endpoint := ethCli.endpoints[randIndex.Int64()] ctx, cancel := context.WithTimeout(ctx, dialTimeout) defer cancel() cli, err := ethclient.DialContext(ctx, endpoint) if err != nil { - return nil, err + return nil, "", err } - return cli, nil + return cli, endpoint, nil } func (ethCli *ethClients) WithClient(ctx context.Context, fn func(ctx context.Context, c *ethclient.Client) (bool, error)) error { var ( apiErr, err error retry bool - client *ethclient.Client ) if err != nil { @@ -56,8 +54,7 @@ func (ethCli *ethClients) WithClient(ctx context.Context, fn func(ctx context.Co time.Sleep(retriesSleepTime) } - client, err = ethCli.GetNode(ctx) - + client, endpoint, err := ethCli.GetNode(ctx) if err != nil { continue } @@ -65,6 +62,10 @@ func (ethCli *ethClients) WithClient(ctx context.Context, fn func(ctx context.Co retry, apiErr = fn(ctx, client) client.Close() + if apiErr != nil { + go checkEndpoint(context.Background(), endpoint, apiErr) + } + if !retry { return apiErr } @@ -76,6 +77,27 @@ func (ethCli *ethClients) WithClient(ctx context.Context, fn func(ctx context.Co return err } +func checkEndpoint(ctx context.Context, endpoint string, err error) { + if err == nil { + return + } + + _, err = chains.LockEndpoint(ctx, []string{endpoint}) + if err == nil { + return + } + + _, err = GetEndpointChainID(context.Background(), endpoint) + if err == nil { + return + } + + err = chains.GetEndpintIntervalMGR().BackoffEndpoint(endpoint) + if err != nil { + logger.Sugar().Warnw("checkEndpoint", "Msg", "failed to backoffEndpoint", "Endpoint", endpoint, "Error", err) + } +} + func Client(endpoints []string) (*ethClients, error) { if len(endpoints) == 0 { return nil, errors.New("endpoints has no item") diff --git a/common/chains/sol/client.go b/common/chains/sol/client.go index 35694168..de4f8f6c 100644 --- a/common/chains/sol/client.go +++ b/common/chains/sol/client.go @@ -2,12 +2,12 @@ package sol import ( "context" - "crypto/rand" "errors" - "math/big" "time" + "github.com/NpoolPlatform/go-service-framework/pkg/logger" "github.com/gagliardetto/solana-go/rpc" + "github.com/web3eye-io/Web3Eye/common/chains" "github.com/web3eye-io/Web3Eye/common/utils" ) @@ -21,22 +21,20 @@ type solClients struct { endpoints []string } -func (solCli solClients) GetNode(ctx context.Context) (*rpc.Client, error) { - randIndex, err := rand.Int(rand.Reader, big.NewInt(int64(len(solCli.endpoints)))) +func (solCli solClients) GetNode(ctx context.Context) (*rpc.Client, string, error) { + endpoint, err := chains.LockEndpoint(ctx, solCli.endpoints) if err != nil { - return nil, err + return nil, "", err } - endpoint := solCli.endpoints[randIndex.Int64()] cli := rpc.New(endpoint) - return cli, nil + return cli, endpoint, nil } func (solCli *solClients) WithClient(ctx context.Context, fn func(ctx context.Context, c *rpc.Client) (bool, error)) error { var ( apiErr, err error retry bool - client *rpc.Client ) if err != nil { @@ -48,7 +46,7 @@ func (solCli *solClients) WithClient(ctx context.Context, fn func(ctx context.Co time.Sleep(retriesSleepTime) } - client, err = solCli.GetNode(ctx) + client, endpoint, err := solCli.GetNode(ctx) if err != nil { continue @@ -60,6 +58,9 @@ func (solCli *solClients) WithClient(ctx context.Context, fn func(ctx context.Co if !retry { return apiErr } + if apiErr != nil { + go checkEndpoint(context.Background(), endpoint, apiErr) + } } if apiErr != nil { @@ -68,6 +69,27 @@ func (solCli *solClients) WithClient(ctx context.Context, fn func(ctx context.Co return err } +func checkEndpoint(ctx context.Context, endpoint string, err error) { + if err == nil { + return + } + + _, err = chains.LockEndpoint(ctx, []string{endpoint}) + if err == nil { + return + } + + _, err = GetEndpointChainID(context.Background(), endpoint) + if err == nil { + return + } + + err = chains.GetEndpintIntervalMGR().BackoffEndpoint(endpoint) + if err != nil { + logger.Sugar().Warnw("checkEndpoint", "Msg", "failed to backoffEndpoint", "Endpoint", endpoint, "Error", err) + } +} + func Client(endpoints []string) (*solClients, error) { if len(endpoints) == 0 { return nil, errors.New("endpoints has no item") From 8cabf0e9f972708a63e0db88c6bf71de0548a133 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Mon, 8 Jan 2024 16:51:18 +0800 Subject: [PATCH 045/116] crypto/rand instead of math/rand --- common/chains/endpointmgr.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/common/chains/endpointmgr.go b/common/chains/endpointmgr.go index aa79b196..78df4360 100644 --- a/common/chains/endpointmgr.go +++ b/common/chains/endpointmgr.go @@ -2,10 +2,11 @@ package chains import ( "context" + "crypto/rand" "encoding/json" "fmt" "math" - "math/rand" + "math/big" "time" "github.com/web3eye-io/Web3Eye/common/ctredis" @@ -91,9 +92,13 @@ func LockEndpoint(ctx context.Context, keys []string) (string, error) { for { select { case <-time.NewTicker(lockEndpointWaitTime).C: - randN := rand.Intn(len(keys)) + _randIndex, err := rand.Int(rand.Reader, big.NewInt(int64(len(keys)))) + if err != nil { + return "", err + } + randIndex := int(_randIndex.Int64()) for j := 0; j < len(keys); j++ { - lockKey := keys[(randN+j)%len(keys)] + lockKey := keys[(randIndex+j)%len(keys)] interval, err := GetEndpintIntervalMGR().GetEndpointInterval(lockKey) if err != nil { fmt.Println(err) From a16ff7b2b7c4a1b78becf5322d55d8594e433088 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Mon, 8 Jan 2024 17:37:40 +0800 Subject: [PATCH 046/116] test rps --- block-etl/pkg/chains/IndexMGR.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block-etl/pkg/chains/IndexMGR.go b/block-etl/pkg/chains/IndexMGR.go index 761d9e5c..16585737 100644 --- a/block-etl/pkg/chains/IndexMGR.go +++ b/block-etl/pkg/chains/IndexMGR.go @@ -163,7 +163,7 @@ func (pmgr *indexMGR) checkAvaliableEndpoints(ctx context.Context) { err = chains.GetEndpintIntervalMGR().PutEndpoint(&chains.EndpointInterval{ Address: info.Address, - MinInterval: time.Millisecond, + MinInterval: time.Second, MaxInterval: time.Minute, }, true) if err != nil { From 452973bd02860cf81a5e784f4b59767766fa41d4 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Mon, 8 Jan 2024 18:36:38 +0800 Subject: [PATCH 047/116] add rps --- block-etl/pkg/chains/IndexMGR.go | 5 +- go.mod | 31 +- go.sum | 51 ++ nft-meta/api/v1/endpoint/endpoint.go | 3 + nft-meta/pkg/crud/v1/endpoint/endpoint.go | 20 + nft-meta/pkg/db/ent/endpoint.go | 13 +- nft-meta/pkg/db/ent/endpoint/endpoint.go | 5 + nft-meta/pkg/db/ent/endpoint/where.go | 71 +++ nft-meta/pkg/db/ent/endpoint_create.go | 89 +++ nft-meta/pkg/db/ent/endpoint_update.go | 70 +++ nft-meta/pkg/db/ent/entql.go | 6 + nft-meta/pkg/db/ent/internal/schema.go | 2 +- nft-meta/pkg/db/ent/migrate/schema.go | 1 + nft-meta/pkg/db/ent/mutation.go | 89 ++- nft-meta/pkg/db/ent/runtime/runtime.go | 4 + nft-meta/pkg/db/ent/schema/endpoint.go | 1 + nft-meta/pkg/mw/v1/endpoint/create.go | 1 + nft-meta/pkg/mw/v1/endpoint/handler.go | 23 + nft-meta/pkg/mw/v1/endpoint/query.go | 1 + nft-meta/pkg/mw/v1/endpoint/update.go | 1 + proto/tools/grpc/Makefile | 2 +- proto/web3eye/basetype/v1/chain.swagger.json | 1 + .../cloudproxy/v1/cloudproxyv1.pb.gw.go | 26 +- .../cloudproxy/v1/cloudproxyv1.swagger.json | 2 + .../cloudproxy/v1/cloudproxyv1_grpc.pb.go | 18 +- proto/web3eye/dealer/v1/dealer.swagger.json | 3 + proto/web3eye/dealer/v1/dealer_grpc.pb.go | 20 +- .../entrance/v1/contract/contract.pb.gw.go | 26 +- .../v1/contract/contract.swagger.json | 2 + .../entrance/v1/contract/contract_grpc.pb.go | 10 +- .../entrance/v1/endpoint/endpoint.pb.gw.go | 144 +++-- .../v1/endpoint/endpoint.swagger.json | 19 + .../entrance/v1/endpoint/endpoint_grpc.pb.go | 30 +- proto/web3eye/entrance/v1/entrancev1.pb.gw.go | 26 +- .../entrance/v1/entrancev1.swagger.json | 2 + .../web3eye/entrance/v1/entrancev1_grpc.pb.go | 10 +- .../entrance/v1/retriever/retriever.pb.gw.go | 50 +- .../v1/retriever/retriever.swagger.json | 1 + .../v1/retriever/retriever_grpc.pb.go | 15 +- .../entrance/v1/snapshot/snapshot.pb.gw.go | 98 ++-- .../v1/snapshot/snapshot.swagger.json | 3 + .../entrance/v1/snapshot/snapshot_grpc.pb.go | 25 +- .../entrance/v1/synctask/synctask.pb.gw.go | 122 ++-- .../v1/synctask/synctask.swagger.json | 2 + .../entrance/v1/synctask/synctask_grpc.pb.go | 30 +- .../web3eye/entrance/v1/token/token.pb.gw.go | 62 +- .../entrance/v1/token/token.swagger.json | 3 + .../entrance/v1/token/token_grpc.pb.go | 15 +- .../entrance/v1/transfer/transfer.pb.gw.go | 32 +- .../v1/transfer/transfer.swagger.json | 4 + .../entrance/v1/transfer/transfer_grpc.pb.go | 10 +- proto/web3eye/errno.swagger.json | 1 + proto/web3eye/gencar/v1/gencar.pb.gw.go | 50 +- proto/web3eye/gencar/v1/gencar.swagger.json | 2 + proto/web3eye/gencar/v1/gencar_grpc.pb.go | 15 +- .../nftmeta/v1/block/block.swagger.json | 3 + .../web3eye/nftmeta/v1/block/block_grpc.pb.go | 55 +- .../nftmeta/v1/chain/chain.swagger.json | 3 + .../web3eye/nftmeta/v1/chain/chain_grpc.pb.go | 50 +- .../nftmeta/v1/contract/contract.swagger.json | 3 + .../nftmeta/v1/contract/contract_grpc.pb.go | 55 +- .../nftmeta/v1/endpoint/endpoint.pb.go | 547 +++++++++--------- .../nftmeta/v1/endpoint/endpoint.proto | 14 +- .../nftmeta/v1/endpoint/endpoint.swagger.json | 16 + .../nftmeta/v1/endpoint/endpoint_grpc.pb.go | 55 +- proto/web3eye/nftmeta/v1/nftmetav1.pb.gw.go | 26 +- .../web3eye/nftmeta/v1/nftmetav1.swagger.json | 2 + proto/web3eye/nftmeta/v1/nftmetav1_grpc.pb.go | 10 +- .../nftmeta/v1/order/order.swagger.json | 8 + .../web3eye/nftmeta/v1/order/order_grpc.pb.go | 60 +- .../nftmeta/v1/snapshot/snapshot.swagger.json | 3 + .../nftmeta/v1/snapshot/snapshot_grpc.pb.go | 50 +- .../nftmeta/v1/synctask/synctask.pb.gw.go | 194 ++++--- .../nftmeta/v1/synctask/synctask.swagger.json | 2 + .../nftmeta/v1/synctask/synctask_grpc.pb.go | 50 +- proto/web3eye/nftmeta/v1/token/token.pb.gw.go | 50 +- .../nftmeta/v1/token/token.swagger.json | 3 + .../web3eye/nftmeta/v1/token/token_grpc.pb.go | 60 +- .../nftmeta/v1/transfer/transfer.swagger.json | 4 + .../nftmeta/v1/transfer/transfer_grpc.pb.go | 60 +- .../ranker/v1/contract/contract.swagger.json | 3 + .../ranker/v1/contract/contract_grpc.pb.go | 25 +- .../web3eye/ranker/v1/endpoint/endpoint.pb.go | 252 ++++---- .../web3eye/ranker/v1/endpoint/endpoint.proto | 11 +- .../ranker/v1/endpoint/endpoint.swagger.json | 7 + .../ranker/v1/endpoint/endpoint_grpc.pb.go | 30 +- proto/web3eye/ranker/v1/rankerv1.pb.gw.go | 26 +- proto/web3eye/ranker/v1/rankerv1.swagger.json | 2 + proto/web3eye/ranker/v1/rankerv1_grpc.pb.go | 10 +- .../ranker/v1/snapshot/snapshot.swagger.json | 2 + .../ranker/v1/snapshot/snapshot_grpc.pb.go | 20 +- .../ranker/v1/synctask/synctask.swagger.json | 2 + .../ranker/v1/synctask/synctask_grpc.pb.go | 30 +- .../ranker/v1/token/token.swagger.json | 4 + .../web3eye/ranker/v1/token/token_grpc.pb.go | 30 +- .../ranker/v1/transfer/transfer.swagger.json | 4 + .../ranker/v1/transfer/transfer_grpc.pb.go | 10 +- .../retriever/v1/retriever.swagger.json | 1 + .../web3eye/retriever/v1/retriever_grpc.pb.go | 15 +- proto/web3eye/transform/v1/transform.pb.gw.go | 26 +- .../transform/v1/transform.swagger.json | 2 + .../web3eye/transform/v1/transform_grpc.pb.go | 15 +- proto/web3eye/web3eye.swagger.json | 1 + ranker/api/v1/endpoint/api.go | 19 +- 104 files changed, 1933 insertions(+), 1365 deletions(-) diff --git a/block-etl/pkg/chains/IndexMGR.go b/block-etl/pkg/chains/IndexMGR.go index 16585737..12039de3 100644 --- a/block-etl/pkg/chains/IndexMGR.go +++ b/block-etl/pkg/chains/IndexMGR.go @@ -160,10 +160,13 @@ func (pmgr *indexMGR) checkAvaliableEndpoints(ctx context.Context) { endpointGroups[info.ChainType][info.ChainID] = []string{} } endpointGroups[info.ChainType][info.ChainID] = append(endpointGroups[info.ChainType][info.ChainID], info.Address) + if info.RPS == 0 { + info.RPS = 1 + } err = chains.GetEndpintIntervalMGR().PutEndpoint(&chains.EndpointInterval{ Address: info.Address, - MinInterval: time.Second, + MinInterval: time.Second / time.Duration(info.RPS), MaxInterval: time.Minute, }, true) if err != nil { diff --git a/go.mod b/go.mod index 4b9724a8..e861575d 100644 --- a/go.mod +++ b/go.mod @@ -28,7 +28,7 @@ require ( github.com/go-resty/resty/v2 v2.7.0 github.com/go-sql-driver/mysql v1.7.1 github.com/gogo/protobuf v1.3.2 - github.com/google/uuid v1.3.0 + github.com/google/uuid v1.3.1 github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 github.com/ipfs/boxo v0.10.2 github.com/ipfs/go-blockservice v0.5.2 @@ -56,8 +56,8 @@ require ( go.uber.org/zap v1.24.0 golang.org/x/net v0.18.0 golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 - google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529 - google.golang.org/grpc v1.56.1 + google.golang.org/genproto/googleapis/api v0.0.0-20231002182017-d307bd883b97 + google.golang.org/grpc v1.60.1 google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.2.0 google.golang.org/protobuf v1.31.0 ) @@ -72,11 +72,14 @@ require ( github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96 // indirect github.com/AthenZ/athenz v1.10.39 // indirect github.com/DataDog/zstd v1.5.0 // indirect + github.com/Masterminds/semver v1.4.2 // indirect + github.com/Masterminds/sprig v2.15.0+incompatible // indirect github.com/Microsoft/go-winio v0.6.1 // indirect github.com/agext/levenshtein v1.2.3 // indirect github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 // indirect github.com/alexbrainman/goissue34681 v0.0.0-20191006012335-3fc7a47baff5 // indirect github.com/andres-erbsen/clock v0.0.0-20160526145045-9e14626cd129 // indirect + github.com/aokoli/goutils v1.0.1 // indirect github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect github.com/ardielle/ardielle-go v1.5.2 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10 // indirect @@ -127,6 +130,7 @@ require ( github.com/dustin/go-humanize v1.0.1 // indirect github.com/dvsekhvalnov/jose2go v1.5.0 // indirect github.com/elastic/gosigar v0.14.2 // indirect + github.com/envoyproxy/protoc-gen-validate v1.0.2 // indirect github.com/ethereum/c-kzg-4844 v0.4.0 // indirect github.com/facebookgo/atomicfile v0.0.0-20151019160806-2de1f203e7d5 // indirect github.com/fatih/color v1.15.0 // indirect @@ -158,7 +162,7 @@ require ( github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect github.com/godbus/dbus/v5 v5.1.0 // indirect github.com/golang-jwt/jwt v3.2.2+incompatible // indirect - github.com/golang/glog v1.1.1 // indirect + github.com/golang/glog v1.1.2 // indirect github.com/golang/mock v1.6.0 // indirect github.com/golang/protobuf v1.5.3 // indirect github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb // indirect @@ -177,7 +181,10 @@ require ( github.com/hashicorp/golang-lru/v2 v2.0.4 // indirect github.com/hashicorp/hcl/v2 v2.17.0 // indirect github.com/holiman/uint256 v1.2.4 // indirect + github.com/huandu/xstrings v1.0.0 // indirect github.com/huin/goupnp v1.3.0 // indirect + github.com/imdario/mergo v0.3.4 // indirect + github.com/inconshreveable/mousetrap v1.0.1 // indirect github.com/ipfs/bbloom v0.0.4 // indirect github.com/ipfs/go-bitfield v1.1.0 // indirect github.com/ipfs/go-block-format v0.1.2 // indirect @@ -245,6 +252,7 @@ require ( github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.19 // indirect + github.com/mattn/go-runewidth v0.0.13 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/mcuadros/go-version v0.0.0-20190830083331-035f6764e8d2 // indirect github.com/miekg/dns v1.1.55 // indirect @@ -268,7 +276,9 @@ require ( github.com/multiformats/go-multicodec v0.9.0 // indirect github.com/multiformats/go-multistream v0.4.1 // indirect github.com/multiformats/go-varint v0.0.7 // indirect + github.com/mwitkow/go-proto-validators v0.0.0-20180403085117-0950a7990007 // indirect github.com/near/borsh-go v0.3.2-0.20220516180422-1ff87d108454 // indirect + github.com/olekukonko/tablewriter v0.0.5 // indirect github.com/onsi/ginkgo/v2 v2.11.0 // indirect github.com/opencontainers/runtime-spec v1.0.2 // indirect github.com/opentracing/opentracing-go v1.2.0 // indirect @@ -283,18 +293,23 @@ require ( github.com/prometheus/client_model v0.4.0 // indirect github.com/prometheus/common v0.44.0 // indirect github.com/prometheus/procfs v0.11.0 // indirect + github.com/pseudomuto/protoc-gen-doc v1.5.1 // indirect + github.com/pseudomuto/protokit v0.2.0 // indirect github.com/quic-go/qpack v0.4.0 // indirect github.com/quic-go/qtls-go1-19 v0.3.2 // indirect github.com/quic-go/qtls-go1-20 v0.3.0 // indirect github.com/quic-go/quic-go v0.36.1 // indirect github.com/quic-go/webtransport-go v0.5.3 // indirect github.com/raulk/go-watchdog v1.3.0 // indirect + github.com/rivo/uniseg v0.2.0 // indirect github.com/rogpeppe/go-internal v1.11.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/samber/lo v1.38.1 // indirect github.com/shirou/gopsutil v3.21.11+incompatible // indirect github.com/sirupsen/logrus v1.9.0 // indirect github.com/spaolacci/murmur3 v1.1.0 // indirect + github.com/spf13/cobra v1.6.1 // indirect + github.com/spf13/pflag v1.0.5 // indirect github.com/streamingfast/logging v0.0.0-20230608130331-f22c91403091 // indirect github.com/supranational/blst v0.3.11 // indirect github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect @@ -336,7 +351,7 @@ require ( golang.org/x/crypto v0.17.0 // indirect golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa // indirect golang.org/x/mod v0.14.0 // indirect - golang.org/x/oauth2 v0.8.0 // indirect + golang.org/x/oauth2 v0.13.0 // indirect golang.org/x/sync v0.5.0 // indirect golang.org/x/sys v0.15.0 // indirect golang.org/x/term v0.15.0 // indirect @@ -344,9 +359,9 @@ require ( golang.org/x/time v0.3.0 // indirect golang.org/x/tools v0.15.0 // indirect gonum.org/v1/gonum v0.13.0 // indirect - google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20230629202037-9506855d4529 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20230629202037-9506855d4529 // indirect + google.golang.org/appengine v1.6.8 // indirect + google.golang.org/genproto v0.0.0-20231002182017-d307bd883b97 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20231002182017-d307bd883b97 // indirect gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect gopkg.in/square/go-jose.v2 v2.6.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/go.sum b/go.sum index a7c367b3..74088a43 100644 --- a/go.sum +++ b/go.sum @@ -78,6 +78,10 @@ github.com/GeertJohan/go.rice v1.0.0/go.mod h1:eH6gbSOAUv07dQuZVnBmoDP8mgsM1rtix github.com/Joker/hpp v1.0.0/go.mod h1:8x5n+M1Hp5hC0g8okX3sR3vFQwynaX/UgSOM9MeBKzY= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/Kubuxu/go-os-helper v0.0.1/go.mod h1:N8B+I7vPCT80IcP58r50u4+gEEcsZETFUpAzWW2ep1Y= +github.com/Masterminds/semver v1.4.2 h1:WBLTQ37jOCzSLtXNdoo8bNM8876KhNqOKvrlGITgsTc= +github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= +github.com/Masterminds/sprig v2.15.0+incompatible h1:0gSxPGWS9PAr7U2NsQ2YQg6juRDINkUyuvbb4b2Xm8w= +github.com/Masterminds/sprig v2.15.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= github.com/NpoolPlatform/go-service-framework v0.0.0-20230630110040-60a65709d9fb h1:JkPVZs+rG8kmCUcUTuQu84hZo7QI9xGJiYFRH0FXrEk= @@ -110,10 +114,14 @@ github.com/alexbrainman/goissue34681 v0.0.0-20191006012335-3fc7a47baff5/go.mod h github.com/andres-erbsen/clock v0.0.0-20160526145045-9e14626cd129 h1:MzBOUgng9orim59UnfUTLRjMpd09C5uEVQ6RPGeCaVI= github.com/andres-erbsen/clock v0.0.0-20160526145045-9e14626cd129/go.mod h1:rFgpPQZYZ8vdbc+48xibu8ALc3yeyd64IhHS+PU6Yyg= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/aokoli/goutils v1.0.1 h1:7fpzNGoJ3VA8qcrm++XEE1QUe0mIwNeLa02Nwq7RDkg= +github.com/aokoli/goutils v1.0.1/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ= github.com/apache/pulsar-client-go v0.11.0 h1:fniyVbewAOcMSMLwxzhdrCFmFTorCW40jfnmQVcsrJw= github.com/apache/pulsar-client-go v0.11.0/go.mod h1:FoijqJwgjroSKptIWp1vvK1CXs8dXnQiL8I+MHOri4A= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= github.com/ardielle/ardielle-go v1.5.2 h1:TilHTpHIQJ27R1Tl/iITBzMwiUGSlVfiVhwDNGM3Zj4= @@ -260,6 +268,7 @@ github.com/cockroachdb/logtags v0.0.0-20211118104740-dabe8e521a4f/go.mod h1:Vz9D github.com/cockroachdb/pebble v0.0.0-20230928194634-aa077af62593 h1:aPEJyR4rPBvDmeyi+l/FS/VtA00IWvjeFvjen1m1l1A= github.com/cockroachdb/redact v1.1.3 h1:AKZds10rFSIj7qADf0g46UixK8NNLwWTNdCIGS5wfSQ= github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= +github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2/go.mod h1:8BT+cPK6xvFOcRlk0R8eg+OTkcqI6baNH4xAkpiYVvQ= github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= @@ -365,6 +374,8 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/envoyproxy/protoc-gen-validate v1.0.2 h1:QkIBuU5k+x7/QXPvPPnWXWlCdaBFApVqftFV6k087DA= +github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7QWXpgx6x8QiMKdmN72jogE= github.com/etcd-io/bbolt v1.3.3/go.mod h1:ZF2nL25h33cCyBtcyWeZ2/I3HQOfTP+0PIEvHjkjCrw= github.com/ethereum/c-kzg-4844 v0.4.0 h1:3MS1s4JtA868KpJxroZoepdV0ZKBp3u/O5HcZ7R3nlY= github.com/ethereum/c-kzg-4844 v0.4.0/go.mod h1:VewdlzQmpT5QSrVhbBuGoCdFJkpaJlO1aQputP83wc0= @@ -419,6 +430,7 @@ github.com/filecoin-project/go-fil-commcid v0.1.0/go.mod h1:Eaox7Hvus1JgPrL5+M3+ github.com/filecoin-project/go-fil-commp-hashhash v0.1.0 h1:imrrpZWEHRnNqqv0tN7LXep5bFEVOVmQWHJvl2mgsGo= github.com/filecoin-project/go-fil-markets v1.28.3 h1:2cFu7tLZYrfNz4LnxjgERaVD7k5+Wwp0H76mnnTGPBk= github.com/filecoin-project/go-fil-markets v1.28.3/go.mod h1:eryxo/oVgIxaR5g5CNr9PlvZOi+u/bak0IsPL/PT1hk= +github.com/filecoin-project/go-hamt-ipld v0.1.5/go.mod h1:6Is+ONR5Cd5R6XZoCse1CWaXZc0Hdb/JeX+EQCQzX24= github.com/filecoin-project/go-hamt-ipld/v3 v3.1.0/go.mod h1:bxmzgT8tmeVQA1/gvBwFmYdT8SOFUwB3ovSUfG1Ux0g= github.com/filecoin-project/go-hamt-ipld/v3 v3.3.0 h1:lYx2W8lE2GpwMnVmLn9rRkxTZGMgirWabz0Cx0BTlAU= github.com/filecoin-project/go-hamt-ipld/v3 v3.3.0/go.mod h1:IWfNfjdXLrqyyj3X7JMJQgWYu9M4NX/hQl1zdv64bmc= @@ -517,6 +529,7 @@ github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg78 github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68= +github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= github.com/go-yaml/yaml v2.1.0+incompatible/go.mod h1:w2MrLa16VYP0jy6N7M5kHaCkaLENm+P+Tv+MfurjSw0= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= @@ -546,6 +559,8 @@ github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOW github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/glog v1.1.1 h1:jxpi2eWoU84wbX9iIEyAeeoac3FLuifZpY9tcNUD9kw= github.com/golang/glog v1.1.1/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= +github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -632,6 +647,8 @@ github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= +github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= github.com/googleapis/gax-go/v2 v2.0.3/go.mod h1:LLvjysVCY1JZeum8Z6l8qUty8fiNwE08qbEPm1M08qg= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= @@ -711,6 +728,8 @@ github.com/holiman/bloomfilter/v2 v2.0.3 h1:73e0e/V0tCydx14a0SCYS/EWCxgwLZ18CZcZ github.com/holiman/uint256 v1.2.4 h1:jUc4Nk8fm9jZabQuqr2JzednajVmBpC+oiTiXZJEApU= github.com/holiman/uint256 v1.2.4/go.mod h1:EOMSn4q6Nyt9P6efbI3bueV4e1b3dGlUCXeiRV4ng7E= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/huandu/xstrings v1.0.0 h1:pO2K/gKgKaat5LdpAhxhluX2GPQMaI3W5FUz/I/UnWk= +github.com/huandu/xstrings v1.0.0/go.mod h1:4qWG/gcEcfX4z/mBDHJ++3ReCw9ibxbsNJbcucJdbSo= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= github.com/huin/goupnp v1.0.0/go.mod h1:n9v9KO1tAxYH82qOn+UTIFQDmx5n1Zxd/ClZDMX7Bnc= github.com/huin/goupnp v1.0.3/go.mod h1:ZxNlw5WqJj6wSsRK5+YfflQGXYfccj5VgQsMNixHM7Y= @@ -719,8 +738,12 @@ github.com/huin/goupnp v1.3.0/go.mod h1:gnGPsThkYa7bFi/KWmEysQRf48l2dvR5bxr2OFck github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= github.com/hydrogen18/memlistener v0.0.0-20200120041712-dcc25e7acd91/go.mod h1:qEIFzExnS6016fRpRfxrExeVn2gbClQA99gQhnIcdhE= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/imdario/mergo v0.3.4 h1:mKkfHkZWD8dC7WxKx3N9WCF0Y+dLau45704YQmY6H94= +github.com/imdario/mergo v0.3.4/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= +github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs= github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyqMG0= @@ -1284,7 +1307,9 @@ github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D github.com/mattn/go-pointer v0.0.1 h1:n+XhsuGeVO6MEAp7xyEukFINEa+Quek5psIR/ylA6o0= github.com/mattn/go-pointer v0.0.1/go.mod h1:2zXcozF6qYGgmsG+SeTZz3oAbFLdD3OWqnUbNvJZAlc= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= +github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-sqlite3 v1.14.13 h1:1tj15ngiFfcZzii7yd82foL+ks+ouQcj8j/TPq3fk1I= github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= @@ -1441,6 +1466,8 @@ github.com/multiformats/go-varint v0.0.7 h1:sWSGR+f/eu5ABZA2ZpYKBILXTTs9JWpdEM/n github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOELpZAu9eioSos/OU= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-proto-validators v0.0.0-20180403085117-0950a7990007 h1:28i1IjGcx8AofiB4N3q5Yls55VEaitzuEPkFJEVgGkA= +github.com/mwitkow/go-proto-validators v0.0.0-20180403085117-0950a7990007/go.mod h1:m2XC9Qq0AlmmVksL6FktJCdTYyLk7V3fKyp0sl1yWQo= github.com/myxtype/filecoin-client v0.3.2 h1:Myc3VKbdHDA1wYOY4ut5bIkVHv2F7KrldKbqyXJh+5k= github.com/myxtype/filecoin-client v0.3.2/go.mod h1:jfxSnA9FsYGzyIGCKkL5WvPFZv7JqneZxfPoog23CO8= github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= @@ -1464,6 +1491,7 @@ github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQ github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= +github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= @@ -1579,6 +1607,10 @@ github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0ua github.com/prometheus/procfs v0.11.0 h1:5EAgkfkMl659uZPbe9AS2N68a7Cc1TJbPEuGzFuRbyk= github.com/prometheus/procfs v0.11.0/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/pseudomuto/protoc-gen-doc v1.5.1 h1:Ah259kcrio7Ix1Rhb6u8FCaOkzf9qRBqXnvAufg061w= +github.com/pseudomuto/protoc-gen-doc v1.5.1/go.mod h1:XpMKYg6zkcpgfpCfQ8GcWBDRtRxOmMR5w7pz4Xo+dYM= +github.com/pseudomuto/protokit v0.2.0 h1:hlnBDcy3YEDXH7kc9gV+NLaN0cDzhDvD1s7Y6FZ8RpM= +github.com/pseudomuto/protokit v0.2.0/go.mod h1:2PdH30hxVHsup8KpBTOXTBeMVhJZVio3Q8ViKSAXT0Q= github.com/quic-go/qpack v0.4.0 h1:Cr9BXA1sQS2SmDUWjSofMPNKmvF6IiIfDRmgU0w1ZCo= github.com/quic-go/qpack v0.4.0/go.mod h1:UZVnYIfi5GRk+zI9UMaCPsmZ2xKJP7XBUvVyT1Knj9A= github.com/quic-go/qtls-go1-19 v0.3.2 h1:tFxjCFcTQzK+oMxG6Zcvp4Dq8dx4yD3dDiIiyc86Z5U= @@ -1593,7 +1625,9 @@ github.com/raulk/go-watchdog v1.3.0 h1:oUmdlHxdkXRJlwfG0O9omj8ukerm8MEQavSiDTEtB github.com/raulk/go-watchdog v1.3.0/go.mod h1:fIvOnLbF0b0ZwkB9YU4mOW9Did//4vPZtDqv66NfsMU= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= +github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= @@ -1677,9 +1711,12 @@ github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkU github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= +github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= +github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= @@ -1737,6 +1774,7 @@ github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9f github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c h1:u6SKchux2yDvFQnDHS3lPnIRmfVJ5Sxy3ao2SIdysLQ= +github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM= github.com/twmb/murmur3 v1.1.6 h1:mqrRot1BRxm+Yct+vavLMou2/iJt0tNVTTC0QoIjaZg= github.com/tyler-smith/go-bip39 v1.1.0 h1:5eUemwrMargf3BSLRRCalXT93Ns6pQJIjYQN2nyfOP8= github.com/ucarion/urlpath v0.0.0-20200424170820-7ccc79b76bbb h1:Ywfo8sUltxogBpFuMOFRrrSifO788kAFxmvVw31PtQQ= @@ -1830,6 +1868,7 @@ github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFi github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/zclconf/go-cty v1.13.2 h1:4GvrUxe/QUDYuJKAav4EYqdM47/kZa672LwmXFmEKT0= github.com/zclconf/go-cty v1.13.2/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= +github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= @@ -2086,6 +2125,8 @@ golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8= golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= +golang.org/x/oauth2 v0.13.0 h1:jDDenyj+WgFtmV3zYVoi8aE2BwtXFLWOA67ZfNWftiY= +golang.org/x/oauth2 v0.13.0/go.mod h1:/JMhi4ZRXAf4HG9LiNmxvk+45+96RUlVThiH8FzNBn0= golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -2342,6 +2383,8 @@ google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCID google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= +google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/genproto v0.0.0-20180518175338-11a468237815/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= @@ -2382,10 +2425,16 @@ google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= google.golang.org/genproto v0.0.0-20230629202037-9506855d4529 h1:9JucMWR7sPvCxUFd6UsOUNmA5kCcWOfORaT3tpAsKQs= google.golang.org/genproto v0.0.0-20230629202037-9506855d4529/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64= +google.golang.org/genproto v0.0.0-20231002182017-d307bd883b97 h1:SeZZZx0cP0fqUyA+oRzP9k7cSwJlvDFiROO72uwD6i0= +google.golang.org/genproto v0.0.0-20231002182017-d307bd883b97/go.mod h1:t1VqOqqvce95G3hIDCT5FeO3YUc6Q4Oe24L/+rNMxRk= google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529 h1:s5YSX+ZH5b5vS9rnpGymvIyMpLRJizowqDlOuyjXnTk= google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= +google.golang.org/genproto/googleapis/api v0.0.0-20231002182017-d307bd883b97 h1:W18sezcAYs+3tDZX4F80yctqa12jcP1PUS2gQu1zTPU= +google.golang.org/genproto/googleapis/api v0.0.0-20231002182017-d307bd883b97/go.mod h1:iargEX0SFPm3xcfMI0d1domjg0ZF4Aa0p2awqyxhvF0= google.golang.org/genproto/googleapis/rpc v0.0.0-20230629202037-9506855d4529 h1:DEH99RbiLZhMxrpEJCZ0A+wdTe0EOgou/poSLx9vWf4= google.golang.org/genproto/googleapis/rpc v0.0.0-20230629202037-9506855d4529/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231002182017-d307bd883b97 h1:6GQBEOdGkX6MMTLT9V+TjtIRZCw9VPD5Z+yHY9wMgS0= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231002182017-d307bd883b97/go.mod h1:v7nGkzlmW8P3n/bKmWBn2WpBjpOEx8Q6gMueudAmKfY= google.golang.org/grpc v1.12.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.16.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio= @@ -2412,6 +2461,8 @@ google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.56.1 h1:z0dNfjIl0VpaZ9iSVjA6daGatAYwPGstTjt5vkRMFkQ= google.golang.org/grpc v1.56.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= +google.golang.org/grpc v1.60.1 h1:26+wFr+cNqSGFcOXcabYC0lUVJVRa2Sb2ortSK7VrEU= +google.golang.org/grpc v1.60.1/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.2.0 h1:TLkBREm4nIsEcexnCjgQd5GQWaHcqMzwQV0TX9pq8S0= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.2.0/go.mod h1:DNq5QpG7LJqD2AamLZ7zvKE0DEpVl2BSEVjFycAAjRY= google.golang.org/grpc/examples v0.0.0-20220617181431-3e7b97febc7f h1:rqzndB2lIQGivcXdTuY3Y9NBvr70X+y77woofSRluec= diff --git a/nft-meta/api/v1/endpoint/endpoint.go b/nft-meta/api/v1/endpoint/endpoint.go index a1e7a739..53063d2e 100644 --- a/nft-meta/api/v1/endpoint/endpoint.go +++ b/nft-meta/api/v1/endpoint/endpoint.go @@ -30,6 +30,7 @@ func (s *Server) CreateEndpoint(ctx context.Context, in *endpointproto.CreateEnd handler.WithChainID(in.Info.ChainID, false), handler.WithAddress(in.Info.Address, true), handler.WithState(in.Info.State, false), + handler.WithRPS(in.Info.RPS, false), handler.WithRemark(in.Info.Remark, false), ) if err != nil { @@ -86,6 +87,7 @@ func (s *Server) UpdateEndpoint(ctx context.Context, in *endpointproto.UpdateEnd handler.WithChainID(in.Info.ChainID, false), handler.WithAddress(in.Info.Address, false), handler.WithState(in.Info.State, false), + handler.WithRPS(in.Info.RPS, false), handler.WithRemark(in.Info.Remark, false), ) if err != nil { @@ -122,6 +124,7 @@ func (s *Server) UpdateEndpoints(ctx context.Context, in *endpointproto.UpdateEn handler.WithChainID(info.ChainID, false), handler.WithAddress(info.Address, false), handler.WithState(info.State, false), + handler.WithRPS(info.RPS, false), handler.WithRemark(info.Remark, false), ) if err != nil { diff --git a/nft-meta/pkg/crud/v1/endpoint/endpoint.go b/nft-meta/pkg/crud/v1/endpoint/endpoint.go index 33b5116e..01f4a84b 100644 --- a/nft-meta/pkg/crud/v1/endpoint/endpoint.go +++ b/nft-meta/pkg/crud/v1/endpoint/endpoint.go @@ -18,6 +18,7 @@ type Req struct { ChainID *string Address *string State *basetype.EndpointState + RPS *uint32 Remark *string } @@ -37,6 +38,9 @@ func CreateSet(c *ent.EndpointCreate, req *Req) *ent.EndpointCreate { if req.State != nil { c.SetState(req.State.String()) } + if req.RPS != nil { + c.SetRps(*req.RPS) + } if req.Remark != nil { c.SetRemark(*req.Remark) } @@ -59,6 +63,9 @@ func UpdateSet(u *ent.EndpointUpdateOne, req *Req) (*ent.EndpointUpdateOne, erro if req.Remark != nil { u.SetRemark(*req.Remark) } + if req.RPS != nil { + u.SetRps(*req.RPS) + } return u, nil } @@ -69,6 +76,7 @@ type Conds struct { ChainID *cruder.Cond Address *cruder.Cond State *cruder.Cond + Rps *cruder.Cond Remark *cruder.Cond } @@ -145,6 +153,18 @@ func SetQueryConds(q *ent.EndpointQuery, conds *Conds) (*ent.EndpointQuery, erro return nil, fmt.Errorf("invalid state field") } } + if conds.Rps != nil { + rps, ok := conds.Rps.Val.(uint32) + if !ok { + return nil, fmt.Errorf("invalid rps") + } + switch conds.Rps.Op { + case cruder.EQ: + q.Where(entendpoint.Rps(rps)) + default: + return nil, fmt.Errorf("invalid rps field") + } + } if conds.Remark != nil { remark, ok := conds.Remark.Val.(string) if !ok { diff --git a/nft-meta/pkg/db/ent/endpoint.go b/nft-meta/pkg/db/ent/endpoint.go index 2a2f187e..c5a10dfa 100644 --- a/nft-meta/pkg/db/ent/endpoint.go +++ b/nft-meta/pkg/db/ent/endpoint.go @@ -32,6 +32,8 @@ type Endpoint struct { Address string `json:"address,omitempty"` // State holds the value of the "state" field. State string `json:"state,omitempty"` + // Rps holds the value of the "rps" field. + Rps uint32 `json:"rps,omitempty"` // Remark holds the value of the "remark" field. Remark string `json:"remark,omitempty"` } @@ -41,7 +43,7 @@ func (*Endpoint) scanValues(columns []string) ([]interface{}, error) { values := make([]interface{}, len(columns)) for i := range columns { switch columns[i] { - case endpoint.FieldID, endpoint.FieldCreatedAt, endpoint.FieldUpdatedAt, endpoint.FieldDeletedAt: + case endpoint.FieldID, endpoint.FieldCreatedAt, endpoint.FieldUpdatedAt, endpoint.FieldDeletedAt, endpoint.FieldRps: values[i] = new(sql.NullInt64) case endpoint.FieldChainType, endpoint.FieldChainID, endpoint.FieldAddress, endpoint.FieldState, endpoint.FieldRemark: values[i] = new(sql.NullString) @@ -116,6 +118,12 @@ func (e *Endpoint) assignValues(columns []string, values []interface{}) error { } else if value.Valid { e.State = value.String } + case endpoint.FieldRps: + if value, ok := values[i].(*sql.NullInt64); !ok { + return fmt.Errorf("unexpected type %T for field rps", values[i]) + } else if value.Valid { + e.Rps = uint32(value.Int64) + } case endpoint.FieldRemark: if value, ok := values[i].(*sql.NullString); !ok { return fmt.Errorf("unexpected type %T for field remark", values[i]) @@ -174,6 +182,9 @@ func (e *Endpoint) String() string { builder.WriteString("state=") builder.WriteString(e.State) builder.WriteString(", ") + builder.WriteString("rps=") + builder.WriteString(fmt.Sprintf("%v", e.Rps)) + builder.WriteString(", ") builder.WriteString("remark=") builder.WriteString(e.Remark) builder.WriteByte(')') diff --git a/nft-meta/pkg/db/ent/endpoint/endpoint.go b/nft-meta/pkg/db/ent/endpoint/endpoint.go index 8ce4d647..426ae32d 100644 --- a/nft-meta/pkg/db/ent/endpoint/endpoint.go +++ b/nft-meta/pkg/db/ent/endpoint/endpoint.go @@ -28,6 +28,8 @@ const ( FieldAddress = "address" // FieldState holds the string denoting the state field in the database. FieldState = "state" + // FieldRps holds the string denoting the rps field in the database. + FieldRps = "rps" // FieldRemark holds the string denoting the remark field in the database. FieldRemark = "remark" // Table holds the table name of the endpoint in the database. @@ -45,6 +47,7 @@ var Columns = []string{ FieldChainID, FieldAddress, FieldState, + FieldRps, FieldRemark, } @@ -76,4 +79,6 @@ var ( UpdateDefaultUpdatedAt func() uint32 // DefaultDeletedAt holds the default value on creation for the "deleted_at" field. DefaultDeletedAt func() uint32 + // DefaultRps holds the default value on creation for the "rps" field. + DefaultRps uint32 ) diff --git a/nft-meta/pkg/db/ent/endpoint/where.go b/nft-meta/pkg/db/ent/endpoint/where.go index f4687997..7a3c69e2 100644 --- a/nft-meta/pkg/db/ent/endpoint/where.go +++ b/nft-meta/pkg/db/ent/endpoint/where.go @@ -135,6 +135,13 @@ func State(v string) predicate.Endpoint { }) } +// Rps applies equality check predicate on the "rps" field. It's identical to RpsEQ. +func Rps(v uint32) predicate.Endpoint { + return predicate.Endpoint(func(s *sql.Selector) { + s.Where(sql.EQ(s.C(FieldRps), v)) + }) +} + // Remark applies equality check predicate on the "remark" field. It's identical to RemarkEQ. func Remark(v string) predicate.Endpoint { return predicate.Endpoint(func(s *sql.Selector) { @@ -822,6 +829,70 @@ func StateContainsFold(v string) predicate.Endpoint { }) } +// RpsEQ applies the EQ predicate on the "rps" field. +func RpsEQ(v uint32) predicate.Endpoint { + return predicate.Endpoint(func(s *sql.Selector) { + s.Where(sql.EQ(s.C(FieldRps), v)) + }) +} + +// RpsNEQ applies the NEQ predicate on the "rps" field. +func RpsNEQ(v uint32) predicate.Endpoint { + return predicate.Endpoint(func(s *sql.Selector) { + s.Where(sql.NEQ(s.C(FieldRps), v)) + }) +} + +// RpsIn applies the In predicate on the "rps" field. +func RpsIn(vs ...uint32) predicate.Endpoint { + v := make([]interface{}, len(vs)) + for i := range v { + v[i] = vs[i] + } + return predicate.Endpoint(func(s *sql.Selector) { + s.Where(sql.In(s.C(FieldRps), v...)) + }) +} + +// RpsNotIn applies the NotIn predicate on the "rps" field. +func RpsNotIn(vs ...uint32) predicate.Endpoint { + v := make([]interface{}, len(vs)) + for i := range v { + v[i] = vs[i] + } + return predicate.Endpoint(func(s *sql.Selector) { + s.Where(sql.NotIn(s.C(FieldRps), v...)) + }) +} + +// RpsGT applies the GT predicate on the "rps" field. +func RpsGT(v uint32) predicate.Endpoint { + return predicate.Endpoint(func(s *sql.Selector) { + s.Where(sql.GT(s.C(FieldRps), v)) + }) +} + +// RpsGTE applies the GTE predicate on the "rps" field. +func RpsGTE(v uint32) predicate.Endpoint { + return predicate.Endpoint(func(s *sql.Selector) { + s.Where(sql.GTE(s.C(FieldRps), v)) + }) +} + +// RpsLT applies the LT predicate on the "rps" field. +func RpsLT(v uint32) predicate.Endpoint { + return predicate.Endpoint(func(s *sql.Selector) { + s.Where(sql.LT(s.C(FieldRps), v)) + }) +} + +// RpsLTE applies the LTE predicate on the "rps" field. +func RpsLTE(v uint32) predicate.Endpoint { + return predicate.Endpoint(func(s *sql.Selector) { + s.Where(sql.LTE(s.C(FieldRps), v)) + }) +} + // RemarkEQ applies the EQ predicate on the "remark" field. func RemarkEQ(v string) predicate.Endpoint { return predicate.Endpoint(func(s *sql.Selector) { diff --git a/nft-meta/pkg/db/ent/endpoint_create.go b/nft-meta/pkg/db/ent/endpoint_create.go index 55bb7ca5..c985e6c7 100644 --- a/nft-meta/pkg/db/ent/endpoint_create.go +++ b/nft-meta/pkg/db/ent/endpoint_create.go @@ -118,6 +118,20 @@ func (ec *EndpointCreate) SetNillableState(s *string) *EndpointCreate { return ec } +// SetRps sets the "rps" field. +func (ec *EndpointCreate) SetRps(u uint32) *EndpointCreate { + ec.mutation.SetRps(u) + return ec +} + +// SetNillableRps sets the "rps" field if the given value is not nil. +func (ec *EndpointCreate) SetNillableRps(u *uint32) *EndpointCreate { + if u != nil { + ec.SetRps(*u) + } + return ec +} + // SetRemark sets the "remark" field. func (ec *EndpointCreate) SetRemark(s string) *EndpointCreate { ec.mutation.SetRemark(s) @@ -245,6 +259,10 @@ func (ec *EndpointCreate) defaults() error { v := endpoint.DefaultDeletedAt() ec.mutation.SetDeletedAt(v) } + if _, ok := ec.mutation.Rps(); !ok { + v := endpoint.DefaultRps + ec.mutation.SetRps(v) + } return nil } @@ -268,6 +286,9 @@ func (ec *EndpointCreate) check() error { if _, ok := ec.mutation.Address(); !ok { return &ValidationError{Name: "address", err: errors.New(`ent: missing required field "Endpoint.address"`)} } + if _, ok := ec.mutation.Rps(); !ok { + return &ValidationError{Name: "rps", err: errors.New(`ent: missing required field "Endpoint.rps"`)} + } return nil } @@ -366,6 +387,14 @@ func (ec *EndpointCreate) createSpec() (*Endpoint, *sqlgraph.CreateSpec) { }) _node.State = value } + if value, ok := ec.mutation.Rps(); ok { + _spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{ + Type: field.TypeUint32, + Value: value, + Column: endpoint.FieldRps, + }) + _node.Rps = value + } if value, ok := ec.mutation.Remark(); ok { _spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{ Type: field.TypeString, @@ -552,6 +581,24 @@ func (u *EndpointUpsert) ClearState() *EndpointUpsert { return u } +// SetRps sets the "rps" field. +func (u *EndpointUpsert) SetRps(v uint32) *EndpointUpsert { + u.Set(endpoint.FieldRps, v) + return u +} + +// UpdateRps sets the "rps" field to the value that was provided on create. +func (u *EndpointUpsert) UpdateRps() *EndpointUpsert { + u.SetExcluded(endpoint.FieldRps) + return u +} + +// AddRps adds v to the "rps" field. +func (u *EndpointUpsert) AddRps(v uint32) *EndpointUpsert { + u.Add(endpoint.FieldRps, v) + return u +} + // SetRemark sets the "remark" field. func (u *EndpointUpsert) SetRemark(v string) *EndpointUpsert { u.Set(endpoint.FieldRemark, v) @@ -765,6 +812,27 @@ func (u *EndpointUpsertOne) ClearState() *EndpointUpsertOne { }) } +// SetRps sets the "rps" field. +func (u *EndpointUpsertOne) SetRps(v uint32) *EndpointUpsertOne { + return u.Update(func(s *EndpointUpsert) { + s.SetRps(v) + }) +} + +// AddRps adds v to the "rps" field. +func (u *EndpointUpsertOne) AddRps(v uint32) *EndpointUpsertOne { + return u.Update(func(s *EndpointUpsert) { + s.AddRps(v) + }) +} + +// UpdateRps sets the "rps" field to the value that was provided on create. +func (u *EndpointUpsertOne) UpdateRps() *EndpointUpsertOne { + return u.Update(func(s *EndpointUpsert) { + s.UpdateRps() + }) +} + // SetRemark sets the "remark" field. func (u *EndpointUpsertOne) SetRemark(v string) *EndpointUpsertOne { return u.Update(func(s *EndpointUpsert) { @@ -1144,6 +1212,27 @@ func (u *EndpointUpsertBulk) ClearState() *EndpointUpsertBulk { }) } +// SetRps sets the "rps" field. +func (u *EndpointUpsertBulk) SetRps(v uint32) *EndpointUpsertBulk { + return u.Update(func(s *EndpointUpsert) { + s.SetRps(v) + }) +} + +// AddRps adds v to the "rps" field. +func (u *EndpointUpsertBulk) AddRps(v uint32) *EndpointUpsertBulk { + return u.Update(func(s *EndpointUpsert) { + s.AddRps(v) + }) +} + +// UpdateRps sets the "rps" field to the value that was provided on create. +func (u *EndpointUpsertBulk) UpdateRps() *EndpointUpsertBulk { + return u.Update(func(s *EndpointUpsert) { + s.UpdateRps() + }) +} + // SetRemark sets the "remark" field. func (u *EndpointUpsertBulk) SetRemark(v string) *EndpointUpsertBulk { return u.Update(func(s *EndpointUpsert) { diff --git a/nft-meta/pkg/db/ent/endpoint_update.go b/nft-meta/pkg/db/ent/endpoint_update.go index a9136588..5729d7dc 100644 --- a/nft-meta/pkg/db/ent/endpoint_update.go +++ b/nft-meta/pkg/db/ent/endpoint_update.go @@ -150,6 +150,27 @@ func (eu *EndpointUpdate) ClearState() *EndpointUpdate { return eu } +// SetRps sets the "rps" field. +func (eu *EndpointUpdate) SetRps(u uint32) *EndpointUpdate { + eu.mutation.ResetRps() + eu.mutation.SetRps(u) + return eu +} + +// SetNillableRps sets the "rps" field if the given value is not nil. +func (eu *EndpointUpdate) SetNillableRps(u *uint32) *EndpointUpdate { + if u != nil { + eu.SetRps(*u) + } + return eu +} + +// AddRps adds u to the "rps" field. +func (eu *EndpointUpdate) AddRps(u int32) *EndpointUpdate { + eu.mutation.AddRps(u) + return eu +} + // SetRemark sets the "remark" field. func (eu *EndpointUpdate) SetRemark(s string) *EndpointUpdate { eu.mutation.SetRemark(s) @@ -357,6 +378,20 @@ func (eu *EndpointUpdate) sqlSave(ctx context.Context) (n int, err error) { Column: endpoint.FieldState, }) } + if value, ok := eu.mutation.Rps(); ok { + _spec.Fields.Set = append(_spec.Fields.Set, &sqlgraph.FieldSpec{ + Type: field.TypeUint32, + Value: value, + Column: endpoint.FieldRps, + }) + } + if value, ok := eu.mutation.AddedRps(); ok { + _spec.Fields.Add = append(_spec.Fields.Add, &sqlgraph.FieldSpec{ + Type: field.TypeUint32, + Value: value, + Column: endpoint.FieldRps, + }) + } if value, ok := eu.mutation.Remark(); ok { _spec.Fields.Set = append(_spec.Fields.Set, &sqlgraph.FieldSpec{ Type: field.TypeString, @@ -512,6 +547,27 @@ func (euo *EndpointUpdateOne) ClearState() *EndpointUpdateOne { return euo } +// SetRps sets the "rps" field. +func (euo *EndpointUpdateOne) SetRps(u uint32) *EndpointUpdateOne { + euo.mutation.ResetRps() + euo.mutation.SetRps(u) + return euo +} + +// SetNillableRps sets the "rps" field if the given value is not nil. +func (euo *EndpointUpdateOne) SetNillableRps(u *uint32) *EndpointUpdateOne { + if u != nil { + euo.SetRps(*u) + } + return euo +} + +// AddRps adds u to the "rps" field. +func (euo *EndpointUpdateOne) AddRps(u int32) *EndpointUpdateOne { + euo.mutation.AddRps(u) + return euo +} + // SetRemark sets the "remark" field. func (euo *EndpointUpdateOne) SetRemark(s string) *EndpointUpdateOne { euo.mutation.SetRemark(s) @@ -749,6 +805,20 @@ func (euo *EndpointUpdateOne) sqlSave(ctx context.Context) (_node *Endpoint, err Column: endpoint.FieldState, }) } + if value, ok := euo.mutation.Rps(); ok { + _spec.Fields.Set = append(_spec.Fields.Set, &sqlgraph.FieldSpec{ + Type: field.TypeUint32, + Value: value, + Column: endpoint.FieldRps, + }) + } + if value, ok := euo.mutation.AddedRps(); ok { + _spec.Fields.Add = append(_spec.Fields.Add, &sqlgraph.FieldSpec{ + Type: field.TypeUint32, + Value: value, + Column: endpoint.FieldRps, + }) + } if value, ok := euo.mutation.Remark(); ok { _spec.Fields.Set = append(_spec.Fields.Set, &sqlgraph.FieldSpec{ Type: field.TypeString, diff --git a/nft-meta/pkg/db/ent/entql.go b/nft-meta/pkg/db/ent/entql.go index 3cc1284f..2ea64397 100644 --- a/nft-meta/pkg/db/ent/entql.go +++ b/nft-meta/pkg/db/ent/entql.go @@ -97,6 +97,7 @@ var schemaGraph = func() *sqlgraph.Schema { endpoint.FieldChainID: {Type: field.TypeString, Column: endpoint.FieldChainID}, endpoint.FieldAddress: {Type: field.TypeString, Column: endpoint.FieldAddress}, endpoint.FieldState: {Type: field.TypeString, Column: endpoint.FieldState}, + endpoint.FieldRps: {Type: field.TypeUint32, Column: endpoint.FieldRps}, endpoint.FieldRemark: {Type: field.TypeString, Column: endpoint.FieldRemark}, }, } @@ -582,6 +583,11 @@ func (f *EndpointFilter) WhereState(p entql.StringP) { f.Where(p.Field(endpoint.FieldState)) } +// WhereRps applies the entql uint32 predicate on the rps field. +func (f *EndpointFilter) WhereRps(p entql.Uint32P) { + f.Where(p.Field(endpoint.FieldRps)) +} + // WhereRemark applies the entql string predicate on the remark field. func (f *EndpointFilter) WhereRemark(p entql.StringP) { f.Where(p.Field(endpoint.FieldRemark)) diff --git a/nft-meta/pkg/db/ent/internal/schema.go b/nft-meta/pkg/db/ent/internal/schema.go index 3bd4f3a4..8edaa0c3 100644 --- a/nft-meta/pkg/db/ent/internal/schema.go +++ b/nft-meta/pkg/db/ent/internal/schema.go @@ -6,4 +6,4 @@ // Package internal holds a loadable version of the latest schema. package internal -const Schema = `{"Schema":"github.com/web3eye-io/Web3Eye/nft-meta/pkg/db/ent/schema","Package":"github.com/web3eye-io/Web3Eye/nft-meta/pkg/db/ent","Schemas":[{"name":"Block","config":{"Table":""},"fields":[{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":0}},{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"block_number","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"block_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"block_time","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"parse_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":6,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["chain_type","chain_id","block_number"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":0}]},{"name":"Contract","config":{"Table":""},"fields":[{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":0}},{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"address","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"name","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"symbol","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"decimals","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_value":0,"default_kind":10,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"creator","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"block_num","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"tx_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":8,"MixedIn":false,"MixinIndex":0}},{"name":"tx_time","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":9,"MixedIn":false,"MixinIndex":0}},{"name":"profile_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":10,"MixedIn":false,"MixinIndex":0}},{"name":"base_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":11,"MixedIn":false,"MixinIndex":0}},{"name":"banner_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":12,"MixedIn":false,"MixinIndex":0}},{"name":"description","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":13,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":14,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["chain_type","chain_id","address"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":0}]},{"name":"Endpoint","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"address","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":4,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"Order","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"tx_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"block_number","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"tx_index","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"log_index","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"recipient","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["tx_hash","recipient","log_index"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"OrderItem","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"order_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"order_item_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"contract","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"token_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"token_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"amount","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"fields":["order_id"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"Snapshot","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"index","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"snapshot_comm_p","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"snapshot_root","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"snapshot_uri","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"backup_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["index","backup_state"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"SyncTask","config":{"Table":""},"fields":[{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":0}},{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"default":true,"default_value":"ChainUnkonwn","default_kind":24,"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"start","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"end","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"current","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"topic","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"unique":true,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"description","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"sync_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"default":true,"default_value":"Default","default_kind":24,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":8,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"fields":["topic"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":0}]},{"name":"Token","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"contract","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"token_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"token_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"owner","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"uri","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"uri_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"uri_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":8,"MixedIn":false,"MixinIndex":0}},{"name":"image_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":9,"MixedIn":false,"MixinIndex":0}},{"name":"video_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":10,"MixedIn":false,"MixinIndex":0}},{"name":"description","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":11,"MixedIn":false,"MixinIndex":0}},{"name":"name","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":12,"MixedIn":false,"MixinIndex":0}},{"name":"vector_id","type":{"Type":13,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":13,"MixedIn":false,"MixinIndex":0}},{"name":"vector_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"default":true,"default_value":"Default","default_kind":24,"position":{"Index":14,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":15,"MixedIn":false,"MixinIndex":0}},{"name":"ipfs_image_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":16,"MixedIn":false,"MixinIndex":0}},{"name":"image_snapshot_id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":17,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["contract","token_id"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"Transfer","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"contract","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"token_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"token_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"from","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"to","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"amount","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"block_number","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":8,"MixedIn":false,"MixinIndex":0}},{"name":"tx_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":9,"MixedIn":false,"MixinIndex":0}},{"name":"block_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":10,"MixedIn":false,"MixinIndex":0}},{"name":"tx_time","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":11,"MixedIn":false,"MixinIndex":0}},{"name":"log_index","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_value":0,"default_kind":10,"position":{"Index":12,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":13,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["contract","token_id","tx_hash","from","log_index"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]}],"Features":["entql","sql/lock","sql/execquery","sql/upsert","privacy","schema/snapshot","sql/modifier"]}` +const Schema = `{"Schema":"github.com/web3eye-io/Web3Eye/nft-meta/pkg/db/ent/schema","Package":"github.com/web3eye-io/Web3Eye/nft-meta/pkg/db/ent","Schemas":[{"name":"Block","config":{"Table":""},"fields":[{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":0}},{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"block_number","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"block_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"block_time","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"parse_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":6,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["chain_type","chain_id","block_number"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":0}]},{"name":"Contract","config":{"Table":""},"fields":[{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":0}},{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"address","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"name","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"symbol","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"decimals","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_value":0,"default_kind":10,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"creator","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"block_num","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"tx_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":8,"MixedIn":false,"MixinIndex":0}},{"name":"tx_time","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":9,"MixedIn":false,"MixinIndex":0}},{"name":"profile_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":10,"MixedIn":false,"MixinIndex":0}},{"name":"base_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":11,"MixedIn":false,"MixinIndex":0}},{"name":"banner_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":12,"MixedIn":false,"MixinIndex":0}},{"name":"description","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":13,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":14,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["chain_type","chain_id","address"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":0}]},{"name":"Endpoint","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"address","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"rps","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_value":1,"default_kind":10,"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"Order","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"tx_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"block_number","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"tx_index","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"log_index","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"recipient","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["tx_hash","recipient","log_index"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"OrderItem","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"order_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"order_item_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"contract","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"token_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"token_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"amount","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"fields":["order_id"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"Snapshot","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"index","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"snapshot_comm_p","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"snapshot_root","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"snapshot_uri","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"backup_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["index","backup_state"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"SyncTask","config":{"Table":""},"fields":[{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":0}},{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"default":true,"default_value":"ChainUnkonwn","default_kind":24,"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"start","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"end","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"current","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"topic","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"unique":true,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"description","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"sync_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"default":true,"default_value":"Default","default_kind":24,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":8,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"fields":["topic"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":0}]},{"name":"Token","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"contract","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"token_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"token_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"owner","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"uri","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"uri_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"uri_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":8,"MixedIn":false,"MixinIndex":0}},{"name":"image_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":9,"MixedIn":false,"MixinIndex":0}},{"name":"video_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":10,"MixedIn":false,"MixinIndex":0}},{"name":"description","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":11,"MixedIn":false,"MixinIndex":0}},{"name":"name","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":12,"MixedIn":false,"MixinIndex":0}},{"name":"vector_id","type":{"Type":13,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":13,"MixedIn":false,"MixinIndex":0}},{"name":"vector_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"default":true,"default_value":"Default","default_kind":24,"position":{"Index":14,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":15,"MixedIn":false,"MixinIndex":0}},{"name":"ipfs_image_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":16,"MixedIn":false,"MixinIndex":0}},{"name":"image_snapshot_id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":17,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["contract","token_id"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"Transfer","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"contract","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"token_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"token_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"from","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"to","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"amount","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"block_number","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":8,"MixedIn":false,"MixinIndex":0}},{"name":"tx_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":9,"MixedIn":false,"MixinIndex":0}},{"name":"block_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":10,"MixedIn":false,"MixinIndex":0}},{"name":"tx_time","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":11,"MixedIn":false,"MixinIndex":0}},{"name":"log_index","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_value":0,"default_kind":10,"position":{"Index":12,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":13,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["contract","token_id","tx_hash","from","log_index"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]}],"Features":["entql","sql/lock","sql/execquery","sql/upsert","privacy","schema/snapshot","sql/modifier"]}` diff --git a/nft-meta/pkg/db/ent/migrate/schema.go b/nft-meta/pkg/db/ent/migrate/schema.go index d2fc521f..2efe53dc 100644 --- a/nft-meta/pkg/db/ent/migrate/schema.go +++ b/nft-meta/pkg/db/ent/migrate/schema.go @@ -93,6 +93,7 @@ var ( {Name: "chain_id", Type: field.TypeString, Nullable: true}, {Name: "address", Type: field.TypeString}, {Name: "state", Type: field.TypeString, Nullable: true}, + {Name: "rps", Type: field.TypeUint32, Default: 1}, {Name: "remark", Type: field.TypeString, Nullable: true}, } // EndpointsTable holds the schema information for the "endpoints" table. diff --git a/nft-meta/pkg/db/ent/mutation.go b/nft-meta/pkg/db/ent/mutation.go index 170b1068..9547f1de 100644 --- a/nft-meta/pkg/db/ent/mutation.go +++ b/nft-meta/pkg/db/ent/mutation.go @@ -2751,6 +2751,8 @@ type EndpointMutation struct { chain_id *string address *string state *string + rps *uint32 + addrps *int32 remark *string clearedFields map[string]struct{} done bool @@ -3236,6 +3238,62 @@ func (m *EndpointMutation) ResetState() { delete(m.clearedFields, endpoint.FieldState) } +// SetRps sets the "rps" field. +func (m *EndpointMutation) SetRps(u uint32) { + m.rps = &u + m.addrps = nil +} + +// Rps returns the value of the "rps" field in the mutation. +func (m *EndpointMutation) Rps() (r uint32, exists bool) { + v := m.rps + if v == nil { + return + } + return *v, true +} + +// OldRps returns the old "rps" field's value of the Endpoint entity. +// If the Endpoint object wasn't provided to the builder, the object is fetched from the database. +// An error is returned if the mutation operation is not UpdateOne, or the database query fails. +func (m *EndpointMutation) OldRps(ctx context.Context) (v uint32, err error) { + if !m.op.Is(OpUpdateOne) { + return v, errors.New("OldRps is only allowed on UpdateOne operations") + } + if m.id == nil || m.oldValue == nil { + return v, errors.New("OldRps requires an ID field in the mutation") + } + oldValue, err := m.oldValue(ctx) + if err != nil { + return v, fmt.Errorf("querying old value for OldRps: %w", err) + } + return oldValue.Rps, nil +} + +// AddRps adds u to the "rps" field. +func (m *EndpointMutation) AddRps(u int32) { + if m.addrps != nil { + *m.addrps += u + } else { + m.addrps = &u + } +} + +// AddedRps returns the value that was added to the "rps" field in this mutation. +func (m *EndpointMutation) AddedRps() (r int32, exists bool) { + v := m.addrps + if v == nil { + return + } + return *v, true +} + +// ResetRps resets all changes to the "rps" field. +func (m *EndpointMutation) ResetRps() { + m.rps = nil + m.addrps = nil +} + // SetRemark sets the "remark" field. func (m *EndpointMutation) SetRemark(s string) { m.remark = &s @@ -3304,7 +3362,7 @@ func (m *EndpointMutation) Type() string { // order to get all numeric fields that were incremented/decremented, call // AddedFields(). func (m *EndpointMutation) Fields() []string { - fields := make([]string, 0, 9) + fields := make([]string, 0, 10) if m.ent_id != nil { fields = append(fields, endpoint.FieldEntID) } @@ -3329,6 +3387,9 @@ func (m *EndpointMutation) Fields() []string { if m.state != nil { fields = append(fields, endpoint.FieldState) } + if m.rps != nil { + fields = append(fields, endpoint.FieldRps) + } if m.remark != nil { fields = append(fields, endpoint.FieldRemark) } @@ -3356,6 +3417,8 @@ func (m *EndpointMutation) Field(name string) (ent.Value, bool) { return m.Address() case endpoint.FieldState: return m.State() + case endpoint.FieldRps: + return m.Rps() case endpoint.FieldRemark: return m.Remark() } @@ -3383,6 +3446,8 @@ func (m *EndpointMutation) OldField(ctx context.Context, name string) (ent.Value return m.OldAddress(ctx) case endpoint.FieldState: return m.OldState(ctx) + case endpoint.FieldRps: + return m.OldRps(ctx) case endpoint.FieldRemark: return m.OldRemark(ctx) } @@ -3450,6 +3515,13 @@ func (m *EndpointMutation) SetField(name string, value ent.Value) error { } m.SetState(v) return nil + case endpoint.FieldRps: + v, ok := value.(uint32) + if !ok { + return fmt.Errorf("unexpected type %T for field %s", value, name) + } + m.SetRps(v) + return nil case endpoint.FieldRemark: v, ok := value.(string) if !ok { @@ -3474,6 +3546,9 @@ func (m *EndpointMutation) AddedFields() []string { if m.adddeleted_at != nil { fields = append(fields, endpoint.FieldDeletedAt) } + if m.addrps != nil { + fields = append(fields, endpoint.FieldRps) + } return fields } @@ -3488,6 +3563,8 @@ func (m *EndpointMutation) AddedField(name string) (ent.Value, bool) { return m.AddedUpdatedAt() case endpoint.FieldDeletedAt: return m.AddedDeletedAt() + case endpoint.FieldRps: + return m.AddedRps() } return nil, false } @@ -3518,6 +3595,13 @@ func (m *EndpointMutation) AddField(name string, value ent.Value) error { } m.AddDeletedAt(v) return nil + case endpoint.FieldRps: + v, ok := value.(int32) + if !ok { + return fmt.Errorf("unexpected type %T for field %s", value, name) + } + m.AddRps(v) + return nil } return fmt.Errorf("unknown Endpoint numeric field %s", name) } @@ -3590,6 +3674,9 @@ func (m *EndpointMutation) ResetField(name string) error { case endpoint.FieldState: m.ResetState() return nil + case endpoint.FieldRps: + m.ResetRps() + return nil case endpoint.FieldRemark: m.ResetRemark() return nil diff --git a/nft-meta/pkg/db/ent/runtime/runtime.go b/nft-meta/pkg/db/ent/runtime/runtime.go index 0a4bf1e4..9448e80a 100644 --- a/nft-meta/pkg/db/ent/runtime/runtime.go +++ b/nft-meta/pkg/db/ent/runtime/runtime.go @@ -131,6 +131,10 @@ func init() { endpointDescDeletedAt := endpointMixinFields1[2].Descriptor() // endpoint.DefaultDeletedAt holds the default value on creation for the deleted_at field. endpoint.DefaultDeletedAt = endpointDescDeletedAt.Default.(func() uint32) + // endpointDescRps is the schema descriptor for rps field. + endpointDescRps := endpointFields[4].Descriptor() + // endpoint.DefaultRps holds the default value on creation for the rps field. + endpoint.DefaultRps = endpointDescRps.Default.(uint32) orderMixin := schema.Order{}.Mixin() order.Policy = privacy.NewPolicies(orderMixin[1], schema.Order{}) order.Hooks[0] = func(next ent.Mutator) ent.Mutator { diff --git a/nft-meta/pkg/db/ent/schema/endpoint.go b/nft-meta/pkg/db/ent/schema/endpoint.go index 39b96bf8..bd2bd19e 100644 --- a/nft-meta/pkg/db/ent/schema/endpoint.go +++ b/nft-meta/pkg/db/ent/schema/endpoint.go @@ -25,6 +25,7 @@ func (Endpoint) Fields() []ent.Field { field.String("chain_id").Optional(), field.String("address"), field.String("state").Optional(), + field.Uint32("rps").Default(1), field.String("remark").Optional(), } } diff --git a/nft-meta/pkg/mw/v1/endpoint/create.go b/nft-meta/pkg/mw/v1/endpoint/create.go index e580e134..e021979a 100644 --- a/nft-meta/pkg/mw/v1/endpoint/create.go +++ b/nft-meta/pkg/mw/v1/endpoint/create.go @@ -28,6 +28,7 @@ func (h *Handler) CreateEndpoint(ctx context.Context) (*endpointproto.Endpoint, ChainID: h.ChainID, Address: h.Address, State: h.State, + RPS: h.RPS, Remark: h.Remark, }, ).Save(ctx) diff --git a/nft-meta/pkg/mw/v1/endpoint/handler.go b/nft-meta/pkg/mw/v1/endpoint/handler.go index 7bc2b8f4..8f6dc70a 100644 --- a/nft-meta/pkg/mw/v1/endpoint/handler.go +++ b/nft-meta/pkg/mw/v1/endpoint/handler.go @@ -21,6 +21,7 @@ type Handler struct { ChainID *string Address *string State *basetype.EndpointState + RPS *uint32 Remark *string Reqs []*endpointcrud.Req @@ -125,6 +126,19 @@ func WithState(u *basetype.EndpointState, must bool) func(context.Context, *Hand } } +func WithRPS(u *uint32, must bool) func(context.Context, *Handler) error { + return func(ctx context.Context, h *Handler) error { + if u == nil { + if must { + return fmt.Errorf("invalid rps") + } + return nil + } + h.RPS = u + return nil + } +} + func WithRemark(u *string, must bool) func(context.Context, *Handler) error { return func(ctx context.Context, h *Handler) error { if u == nil { @@ -171,6 +185,9 @@ func WithReqs(reqs []*endpointproto.EndpointReq, must bool) func(context.Context if req.Remark != nil { _req.Remark = req.Remark } + if req.RPS != nil { + _req.RPS = req.RPS + } _reqs = append(_reqs, _req) } h.Reqs = _reqs @@ -232,6 +249,12 @@ func WithConds(conds *endpointproto.Conds) func(context.Context, *Handler) error Val: basetype.EndpointState(conds.GetState().GetValue()), } } + if conds.RPS != nil { + h.Conds.Rps = &cruder.Cond{ + Op: conds.GetRPS().GetOp(), + Val: conds.GetRPS().GetValue(), + } + } if conds.Remark != nil { h.Conds.Remark = &cruder.Cond{ Op: conds.GetRemark().GetOp(), diff --git a/nft-meta/pkg/mw/v1/endpoint/query.go b/nft-meta/pkg/mw/v1/endpoint/query.go index 7029fe29..814b5b78 100644 --- a/nft-meta/pkg/mw/v1/endpoint/query.go +++ b/nft-meta/pkg/mw/v1/endpoint/query.go @@ -29,6 +29,7 @@ func (h *queryHandler) selectEndpoint(stm *ent.EndpointQuery) { endpointent.FieldAddress, endpointent.FieldState, endpointent.FieldRemark, + endpointent.FieldRps, endpointent.FieldCreatedAt, endpointent.FieldUpdatedAt, ) diff --git a/nft-meta/pkg/mw/v1/endpoint/update.go b/nft-meta/pkg/mw/v1/endpoint/update.go index 45f87c84..058d47d3 100644 --- a/nft-meta/pkg/mw/v1/endpoint/update.go +++ b/nft-meta/pkg/mw/v1/endpoint/update.go @@ -35,6 +35,7 @@ func (h *Handler) UpdateEndpoint(ctx context.Context) (*endpointproto.Endpoint, ChainID: h.ChainID, Address: h.Address, State: h.State, + RPS: h.RPS, Remark: h.Remark, }, ) diff --git a/proto/tools/grpc/Makefile b/proto/tools/grpc/Makefile index d2fb6d81..c92dc256 100644 --- a/proto/tools/grpc/Makefile +++ b/proto/tools/grpc/Makefile @@ -19,7 +19,7 @@ tool: go mod tidy -compat=1.19 && \ go get -d google.golang.org/grpc && \ go get -d github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc && \ - go install \ + go install -g \ github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway \ github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2 \ google.golang.org/protobuf/cmd/protoc-gen-go \ diff --git a/proto/web3eye/basetype/v1/chain.swagger.json b/proto/web3eye/basetype/v1/chain.swagger.json index 17f66405..8b1f29cf 100644 --- a/proto/web3eye/basetype/v1/chain.swagger.json +++ b/proto/web3eye/basetype/v1/chain.swagger.json @@ -34,6 +34,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } diff --git a/proto/web3eye/cloudproxy/v1/cloudproxyv1.pb.gw.go b/proto/web3eye/cloudproxy/v1/cloudproxyv1.pb.gw.go index 81ede836..e7d9b81d 100644 --- a/proto/web3eye/cloudproxy/v1/cloudproxyv1.pb.gw.go +++ b/proto/web3eye/cloudproxy/v1/cloudproxyv1.pb.gw.go @@ -78,20 +78,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/cloudproxy.v1.Manager/Version", runtime.WithHTTPPathPattern("/v1/version")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/cloudproxy.v1.Manager/Version", runtime.WithHTTPPathPattern("/v1/version")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_Version_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_Version_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_Version_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_Version_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -101,7 +103,7 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se // RegisterManagerHandlerFromEndpoint is same as RegisterManagerHandler but // automatically dials to "endpoint" and closes the connection when "ctx" gets done. func RegisterManagerHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.Dial(endpoint, opts...) + conn, err := grpc.DialContext(ctx, endpoint, opts...) if err != nil { return err } @@ -140,19 +142,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/cloudproxy.v1.Manager/Version", runtime.WithHTTPPathPattern("/v1/version")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/cloudproxy.v1.Manager/Version", runtime.WithHTTPPathPattern("/v1/version")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_Version_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_Version_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_Version_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_Version_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) diff --git a/proto/web3eye/cloudproxy/v1/cloudproxyv1.swagger.json b/proto/web3eye/cloudproxy/v1/cloudproxyv1.swagger.json index b2f8985b..4b81f5c0 100644 --- a/proto/web3eye/cloudproxy/v1/cloudproxyv1.swagger.json +++ b/proto/web3eye/cloudproxy/v1/cloudproxyv1.swagger.json @@ -39,6 +39,7 @@ "in": "body", "required": true, "schema": { + "type": "object", "properties": {} } } @@ -72,6 +73,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } diff --git a/proto/web3eye/cloudproxy/v1/cloudproxyv1_grpc.pb.go b/proto/web3eye/cloudproxy/v1/cloudproxyv1_grpc.pb.go index 75034c97..3762e6aa 100644 --- a/proto/web3eye/cloudproxy/v1/cloudproxyv1_grpc.pb.go +++ b/proto/web3eye/cloudproxy/v1/cloudproxyv1_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.18.1 // source: web3eye/cloudproxy/v1/cloudproxyv1.proto @@ -20,12 +20,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Manager_Version_FullMethodName = "/cloudproxy.v1.Manager/Version" - Manager_GrpcProxyChannel_FullMethodName = "/cloudproxy.v1.Manager/GrpcProxyChannel" - Manager_GrpcProxy_FullMethodName = "/cloudproxy.v1.Manager/GrpcProxy" -) - // ManagerClient is the client API for Manager 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. @@ -45,7 +39,7 @@ func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { func (c *managerClient) Version(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*web3eye.VersionResponse, error) { out := new(web3eye.VersionResponse) - err := c.cc.Invoke(ctx, Manager_Version_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/cloudproxy.v1.Manager/Version", in, out, opts...) if err != nil { return nil, err } @@ -53,7 +47,7 @@ func (c *managerClient) Version(ctx context.Context, in *emptypb.Empty, opts ... } func (c *managerClient) GrpcProxyChannel(ctx context.Context, opts ...grpc.CallOption) (Manager_GrpcProxyChannelClient, error) { - stream, err := c.cc.NewStream(ctx, &Manager_ServiceDesc.Streams[0], Manager_GrpcProxyChannel_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &Manager_ServiceDesc.Streams[0], "/cloudproxy.v1.Manager/GrpcProxyChannel", opts...) if err != nil { return nil, err } @@ -85,7 +79,7 @@ func (x *managerGrpcProxyChannelClient) Recv() (*FromGrpcProxy, error) { func (c *managerClient) GrpcProxy(ctx context.Context, in *GrpcProxyRequest, opts ...grpc.CallOption) (*GrpcProxyResponse, error) { out := new(GrpcProxyResponse) - err := c.cc.Invoke(ctx, Manager_GrpcProxy_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/cloudproxy.v1.Manager/GrpcProxy", in, out, opts...) if err != nil { return nil, err } @@ -138,7 +132,7 @@ func _Manager_Version_Handler(srv interface{}, ctx context.Context, dec func(int } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_Version_FullMethodName, + FullMethod: "/cloudproxy.v1.Manager/Version", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).Version(ctx, req.(*emptypb.Empty)) @@ -182,7 +176,7 @@ func _Manager_GrpcProxy_Handler(srv interface{}, ctx context.Context, dec func(i } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GrpcProxy_FullMethodName, + FullMethod: "/cloudproxy.v1.Manager/GrpcProxy", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GrpcProxy(ctx, req.(*GrpcProxyRequest)) diff --git a/proto/web3eye/dealer/v1/dealer.swagger.json b/proto/web3eye/dealer/v1/dealer.swagger.json index b9083cca..3c81b8d9 100644 --- a/proto/web3eye/dealer/v1/dealer.swagger.json +++ b/proto/web3eye/dealer/v1/dealer.swagger.json @@ -39,6 +39,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } @@ -106,6 +107,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/v1Snapshot" } }, @@ -138,6 +140,7 @@ "Items": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/v1ContentItem" } }, diff --git a/proto/web3eye/dealer/v1/dealer_grpc.pb.go b/proto/web3eye/dealer/v1/dealer_grpc.pb.go index a7971773..38db4d9c 100644 --- a/proto/web3eye/dealer/v1/dealer_grpc.pb.go +++ b/proto/web3eye/dealer/v1/dealer_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.18.1 // source: web3eye/dealer/v1/dealer.proto @@ -18,12 +18,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Manager_CreateSnapshot_FullMethodName = "/dealer.v1.Manager/CreateSnapshot" - Manager_GetSnapshots_FullMethodName = "/dealer.v1.Manager/GetSnapshots" - Manager_CreateBackup_FullMethodName = "/dealer.v1.Manager/CreateBackup" -) - // ManagerClient is the client API for Manager 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. @@ -43,7 +37,7 @@ func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { func (c *managerClient) CreateSnapshot(ctx context.Context, in *CreateSnapshotRequest, opts ...grpc.CallOption) (*CreateSnapshotResponse, error) { out := new(CreateSnapshotResponse) - err := c.cc.Invoke(ctx, Manager_CreateSnapshot_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/dealer.v1.Manager/CreateSnapshot", in, out, opts...) if err != nil { return nil, err } @@ -52,7 +46,7 @@ func (c *managerClient) CreateSnapshot(ctx context.Context, in *CreateSnapshotRe func (c *managerClient) GetSnapshots(ctx context.Context, in *GetSnapshotsRequest, opts ...grpc.CallOption) (*GetSnapshotsResponse, error) { out := new(GetSnapshotsResponse) - err := c.cc.Invoke(ctx, Manager_GetSnapshots_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/dealer.v1.Manager/GetSnapshots", in, out, opts...) if err != nil { return nil, err } @@ -61,7 +55,7 @@ func (c *managerClient) GetSnapshots(ctx context.Context, in *GetSnapshotsReques func (c *managerClient) CreateBackup(ctx context.Context, in *CreateBackupRequest, opts ...grpc.CallOption) (*CreateBackupResponse, error) { out := new(CreateBackupResponse) - err := c.cc.Invoke(ctx, Manager_CreateBackup_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/dealer.v1.Manager/CreateBackup", in, out, opts...) if err != nil { return nil, err } @@ -114,7 +108,7 @@ func _Manager_CreateSnapshot_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_CreateSnapshot_FullMethodName, + FullMethod: "/dealer.v1.Manager/CreateSnapshot", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).CreateSnapshot(ctx, req.(*CreateSnapshotRequest)) @@ -132,7 +126,7 @@ func _Manager_GetSnapshots_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetSnapshots_FullMethodName, + FullMethod: "/dealer.v1.Manager/GetSnapshots", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetSnapshots(ctx, req.(*GetSnapshotsRequest)) @@ -150,7 +144,7 @@ func _Manager_CreateBackup_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_CreateBackup_FullMethodName, + FullMethod: "/dealer.v1.Manager/CreateBackup", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).CreateBackup(ctx, req.(*CreateBackupRequest)) diff --git a/proto/web3eye/entrance/v1/contract/contract.pb.gw.go b/proto/web3eye/entrance/v1/contract/contract.pb.gw.go index cbd2d00f..50877483 100644 --- a/proto/web3eye/entrance/v1/contract/contract.pb.gw.go +++ b/proto/web3eye/entrance/v1/contract/contract.pb.gw.go @@ -78,20 +78,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.contract.Manager/GetContractAndTokens", runtime.WithHTTPPathPattern("/v1/get/contract/and/tokens")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.contract.Manager/GetContractAndTokens", runtime.WithHTTPPathPattern("/v1/get/contract/and/tokens")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_GetContractAndTokens_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_GetContractAndTokens_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_GetContractAndTokens_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_GetContractAndTokens_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -101,7 +103,7 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se // RegisterManagerHandlerFromEndpoint is same as RegisterManagerHandler but // automatically dials to "endpoint" and closes the connection when "ctx" gets done. func RegisterManagerHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.Dial(endpoint, opts...) + conn, err := grpc.DialContext(ctx, endpoint, opts...) if err != nil { return err } @@ -140,19 +142,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.contract.Manager/GetContractAndTokens", runtime.WithHTTPPathPattern("/v1/get/contract/and/tokens")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.contract.Manager/GetContractAndTokens", runtime.WithHTTPPathPattern("/v1/get/contract/and/tokens")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_GetContractAndTokens_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_GetContractAndTokens_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_GetContractAndTokens_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_GetContractAndTokens_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) diff --git a/proto/web3eye/entrance/v1/contract/contract.swagger.json b/proto/web3eye/entrance/v1/contract/contract.swagger.json index 526e07e7..b584f645 100644 --- a/proto/web3eye/entrance/v1/contract/contract.swagger.json +++ b/proto/web3eye/entrance/v1/contract/contract.swagger.json @@ -189,6 +189,7 @@ "Tokens": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/contractShotToken" } }, @@ -261,6 +262,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } diff --git a/proto/web3eye/entrance/v1/contract/contract_grpc.pb.go b/proto/web3eye/entrance/v1/contract/contract_grpc.pb.go index f933e1bc..ef290c0b 100644 --- a/proto/web3eye/entrance/v1/contract/contract_grpc.pb.go +++ b/proto/web3eye/entrance/v1/contract/contract_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.18.1 // source: web3eye/entrance/v1/contract/contract.proto @@ -19,10 +19,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Manager_GetContractAndTokens_FullMethodName = "/entrance.v1.contract.Manager/GetContractAndTokens" -) - // ManagerClient is the client API for Manager 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. @@ -40,7 +36,7 @@ func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { func (c *managerClient) GetContractAndTokens(ctx context.Context, in *contract.GetContractAndTokensReq, opts ...grpc.CallOption) (*contract.GetContractAndTokensResp, error) { out := new(contract.GetContractAndTokensResp) - err := c.cc.Invoke(ctx, Manager_GetContractAndTokens_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/entrance.v1.contract.Manager/GetContractAndTokens", in, out, opts...) if err != nil { return nil, err } @@ -85,7 +81,7 @@ func _Manager_GetContractAndTokens_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetContractAndTokens_FullMethodName, + FullMethod: "/entrance.v1.contract.Manager/GetContractAndTokens", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetContractAndTokens(ctx, req.(*contract.GetContractAndTokensReq)) diff --git a/proto/web3eye/entrance/v1/endpoint/endpoint.pb.gw.go b/proto/web3eye/entrance/v1/endpoint/endpoint.pb.gw.go index 566f047b..e310487e 100644 --- a/proto/web3eye/entrance/v1/endpoint/endpoint.pb.gw.go +++ b/proto/web3eye/entrance/v1/endpoint/endpoint.pb.gw.go @@ -15,7 +15,7 @@ import ( "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" - "github.com/web3eye-io/Web3Eye/proto/web3eye/ranker/v1/endpoint" + endpoint_1 "github.com/web3eye-io/Web3Eye/proto/web3eye/ranker/v1/endpoint" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/grpclog" @@ -33,7 +33,7 @@ var _ = utilities.NewDoubleArray var _ = metadata.Join func request_Manager_CreateEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client ManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq endpoint.CreateEndpointRequest + var protoReq endpoint_1.CreateEndpointRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -50,7 +50,7 @@ func request_Manager_CreateEndpoint_0(ctx context.Context, marshaler runtime.Mar } func local_request_Manager_CreateEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server ManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq endpoint.CreateEndpointRequest + var protoReq endpoint_1.CreateEndpointRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -67,7 +67,7 @@ func local_request_Manager_CreateEndpoint_0(ctx context.Context, marshaler runti } func request_Manager_UpdateEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client ManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq endpoint.UpdateEndpointRequest + var protoReq endpoint_1.UpdateEndpointRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -84,7 +84,7 @@ func request_Manager_UpdateEndpoint_0(ctx context.Context, marshaler runtime.Mar } func local_request_Manager_UpdateEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server ManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq endpoint.UpdateEndpointRequest + var protoReq endpoint_1.UpdateEndpointRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -101,7 +101,7 @@ func local_request_Manager_UpdateEndpoint_0(ctx context.Context, marshaler runti } func request_Manager_GetEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client ManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq endpoint.GetEndpointRequest + var protoReq endpoint_1.GetEndpointRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -118,7 +118,7 @@ func request_Manager_GetEndpoint_0(ctx context.Context, marshaler runtime.Marsha } func local_request_Manager_GetEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server ManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq endpoint.GetEndpointRequest + var protoReq endpoint_1.GetEndpointRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -135,7 +135,7 @@ func local_request_Manager_GetEndpoint_0(ctx context.Context, marshaler runtime. } func request_Manager_GetEndpoints_0(ctx context.Context, marshaler runtime.Marshaler, client ManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq endpoint.GetEndpointsRequest + var protoReq endpoint_1.GetEndpointsRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -152,7 +152,7 @@ func request_Manager_GetEndpoints_0(ctx context.Context, marshaler runtime.Marsh } func local_request_Manager_GetEndpoints_0(ctx context.Context, marshaler runtime.Marshaler, server ManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq endpoint.GetEndpointsRequest + var protoReq endpoint_1.GetEndpointsRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -169,7 +169,7 @@ func local_request_Manager_GetEndpoints_0(ctx context.Context, marshaler runtime } func request_Manager_DeleteEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client ManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq endpoint.DeleteEndpointRequest + var protoReq endpoint_1.DeleteEndpointRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -186,7 +186,7 @@ func request_Manager_DeleteEndpoint_0(ctx context.Context, marshaler runtime.Mar } func local_request_Manager_DeleteEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server ManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq endpoint.DeleteEndpointRequest + var protoReq endpoint_1.DeleteEndpointRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -214,20 +214,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.endpoint.Manager/CreateEndpoint", runtime.WithHTTPPathPattern("/v1/create/endpoint")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.endpoint.Manager/CreateEndpoint", runtime.WithHTTPPathPattern("/v1/create/endpoint")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_CreateEndpoint_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_CreateEndpoint_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_CreateEndpoint_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_CreateEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -237,20 +239,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.endpoint.Manager/UpdateEndpoint", runtime.WithHTTPPathPattern("/v1/update/endpoint")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.endpoint.Manager/UpdateEndpoint", runtime.WithHTTPPathPattern("/v1/update/endpoint")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_UpdateEndpoint_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_UpdateEndpoint_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_UpdateEndpoint_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_UpdateEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -260,20 +264,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.endpoint.Manager/GetEndpoint", runtime.WithHTTPPathPattern("/v1/get/endpoint")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.endpoint.Manager/GetEndpoint", runtime.WithHTTPPathPattern("/v1/get/endpoint")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_GetEndpoint_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_GetEndpoint_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_GetEndpoint_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_GetEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -283,20 +289,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.endpoint.Manager/GetEndpoints", runtime.WithHTTPPathPattern("/v1/get/endpoints")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.endpoint.Manager/GetEndpoints", runtime.WithHTTPPathPattern("/v1/get/endpoints")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_GetEndpoints_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_GetEndpoints_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_GetEndpoints_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_GetEndpoints_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -306,20 +314,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.endpoint.Manager/DeleteEndpoint", runtime.WithHTTPPathPattern("/v1/delete/endpoint")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.endpoint.Manager/DeleteEndpoint", runtime.WithHTTPPathPattern("/v1/delete/endpoint")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_DeleteEndpoint_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_DeleteEndpoint_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_DeleteEndpoint_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_DeleteEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -329,7 +339,7 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se // RegisterManagerHandlerFromEndpoint is same as RegisterManagerHandler but // automatically dials to "endpoint" and closes the connection when "ctx" gets done. func RegisterManagerHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.Dial(endpoint, opts...) + conn, err := grpc.DialContext(ctx, endpoint, opts...) if err != nil { return err } @@ -368,19 +378,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.endpoint.Manager/CreateEndpoint", runtime.WithHTTPPathPattern("/v1/create/endpoint")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.endpoint.Manager/CreateEndpoint", runtime.WithHTTPPathPattern("/v1/create/endpoint")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_CreateEndpoint_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_CreateEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_CreateEndpoint_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_CreateEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -388,19 +400,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.endpoint.Manager/UpdateEndpoint", runtime.WithHTTPPathPattern("/v1/update/endpoint")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.endpoint.Manager/UpdateEndpoint", runtime.WithHTTPPathPattern("/v1/update/endpoint")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_UpdateEndpoint_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_UpdateEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_UpdateEndpoint_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_UpdateEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -408,19 +422,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.endpoint.Manager/GetEndpoint", runtime.WithHTTPPathPattern("/v1/get/endpoint")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.endpoint.Manager/GetEndpoint", runtime.WithHTTPPathPattern("/v1/get/endpoint")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_GetEndpoint_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_GetEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_GetEndpoint_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_GetEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -428,19 +444,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.endpoint.Manager/GetEndpoints", runtime.WithHTTPPathPattern("/v1/get/endpoints")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.endpoint.Manager/GetEndpoints", runtime.WithHTTPPathPattern("/v1/get/endpoints")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_GetEndpoints_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_GetEndpoints_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_GetEndpoints_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_GetEndpoints_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -448,19 +466,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.endpoint.Manager/DeleteEndpoint", runtime.WithHTTPPathPattern("/v1/delete/endpoint")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.endpoint.Manager/DeleteEndpoint", runtime.WithHTTPPathPattern("/v1/delete/endpoint")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_DeleteEndpoint_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_DeleteEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_DeleteEndpoint_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_DeleteEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) diff --git a/proto/web3eye/entrance/v1/endpoint/endpoint.swagger.json b/proto/web3eye/entrance/v1/endpoint/endpoint.swagger.json index 705af319..f9c58a9f 100644 --- a/proto/web3eye/entrance/v1/endpoint/endpoint.swagger.json +++ b/proto/web3eye/entrance/v1/endpoint/endpoint.swagger.json @@ -231,6 +231,11 @@ "State": { "$ref": "#/definitions/chainEndpointState" }, + "RPS": { + "type": "integer", + "format": "int64", + "title": "@inject_tag: sql:\"rps\"" + }, "Remark": { "type": "string", "title": "@inject_tag: sql:\"remark\"" @@ -267,6 +272,10 @@ }, "Address": { "type": "string" + }, + "RPS": { + "type": "integer", + "format": "int64" } } }, @@ -331,6 +340,10 @@ "State": { "$ref": "#/definitions/chainEndpointState" }, + "RPS": { + "type": "integer", + "format": "int64" + }, "Remark": { "type": "string" }, @@ -350,6 +363,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/endpointEndpoint" } }, @@ -372,6 +386,10 @@ "State": { "$ref": "#/definitions/chainEndpointState" }, + "RPS": { + "type": "integer", + "format": "int64" + }, "Remark": { "type": "string" } @@ -398,6 +416,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } diff --git a/proto/web3eye/entrance/v1/endpoint/endpoint_grpc.pb.go b/proto/web3eye/entrance/v1/endpoint/endpoint_grpc.pb.go index de25413f..c765f32c 100644 --- a/proto/web3eye/entrance/v1/endpoint/endpoint_grpc.pb.go +++ b/proto/web3eye/entrance/v1/endpoint/endpoint_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.18.1 // source: web3eye/entrance/v1/endpoint/endpoint.proto @@ -19,14 +19,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Manager_CreateEndpoint_FullMethodName = "/entrance.v1.endpoint.Manager/CreateEndpoint" - Manager_UpdateEndpoint_FullMethodName = "/entrance.v1.endpoint.Manager/UpdateEndpoint" - Manager_GetEndpoint_FullMethodName = "/entrance.v1.endpoint.Manager/GetEndpoint" - Manager_GetEndpoints_FullMethodName = "/entrance.v1.endpoint.Manager/GetEndpoints" - Manager_DeleteEndpoint_FullMethodName = "/entrance.v1.endpoint.Manager/DeleteEndpoint" -) - // ManagerClient is the client API for Manager 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. @@ -48,7 +40,7 @@ func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { func (c *managerClient) CreateEndpoint(ctx context.Context, in *endpoint.CreateEndpointRequest, opts ...grpc.CallOption) (*endpoint.CreateEndpointResponse, error) { out := new(endpoint.CreateEndpointResponse) - err := c.cc.Invoke(ctx, Manager_CreateEndpoint_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/entrance.v1.endpoint.Manager/CreateEndpoint", in, out, opts...) if err != nil { return nil, err } @@ -57,7 +49,7 @@ func (c *managerClient) CreateEndpoint(ctx context.Context, in *endpoint.CreateE func (c *managerClient) UpdateEndpoint(ctx context.Context, in *endpoint.UpdateEndpointRequest, opts ...grpc.CallOption) (*endpoint.UpdateEndpointResponse, error) { out := new(endpoint.UpdateEndpointResponse) - err := c.cc.Invoke(ctx, Manager_UpdateEndpoint_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/entrance.v1.endpoint.Manager/UpdateEndpoint", in, out, opts...) if err != nil { return nil, err } @@ -66,7 +58,7 @@ func (c *managerClient) UpdateEndpoint(ctx context.Context, in *endpoint.UpdateE func (c *managerClient) GetEndpoint(ctx context.Context, in *endpoint.GetEndpointRequest, opts ...grpc.CallOption) (*endpoint.GetEndpointResponse, error) { out := new(endpoint.GetEndpointResponse) - err := c.cc.Invoke(ctx, Manager_GetEndpoint_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/entrance.v1.endpoint.Manager/GetEndpoint", in, out, opts...) if err != nil { return nil, err } @@ -75,7 +67,7 @@ func (c *managerClient) GetEndpoint(ctx context.Context, in *endpoint.GetEndpoin func (c *managerClient) GetEndpoints(ctx context.Context, in *endpoint.GetEndpointsRequest, opts ...grpc.CallOption) (*endpoint.GetEndpointsResponse, error) { out := new(endpoint.GetEndpointsResponse) - err := c.cc.Invoke(ctx, Manager_GetEndpoints_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/entrance.v1.endpoint.Manager/GetEndpoints", in, out, opts...) if err != nil { return nil, err } @@ -84,7 +76,7 @@ func (c *managerClient) GetEndpoints(ctx context.Context, in *endpoint.GetEndpoi func (c *managerClient) DeleteEndpoint(ctx context.Context, in *endpoint.DeleteEndpointRequest, opts ...grpc.CallOption) (*endpoint.DeleteEndpointResponse, error) { out := new(endpoint.DeleteEndpointResponse) - err := c.cc.Invoke(ctx, Manager_DeleteEndpoint_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/entrance.v1.endpoint.Manager/DeleteEndpoint", in, out, opts...) if err != nil { return nil, err } @@ -145,7 +137,7 @@ func _Manager_CreateEndpoint_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_CreateEndpoint_FullMethodName, + FullMethod: "/entrance.v1.endpoint.Manager/CreateEndpoint", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).CreateEndpoint(ctx, req.(*endpoint.CreateEndpointRequest)) @@ -163,7 +155,7 @@ func _Manager_UpdateEndpoint_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_UpdateEndpoint_FullMethodName, + FullMethod: "/entrance.v1.endpoint.Manager/UpdateEndpoint", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).UpdateEndpoint(ctx, req.(*endpoint.UpdateEndpointRequest)) @@ -181,7 +173,7 @@ func _Manager_GetEndpoint_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetEndpoint_FullMethodName, + FullMethod: "/entrance.v1.endpoint.Manager/GetEndpoint", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetEndpoint(ctx, req.(*endpoint.GetEndpointRequest)) @@ -199,7 +191,7 @@ func _Manager_GetEndpoints_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetEndpoints_FullMethodName, + FullMethod: "/entrance.v1.endpoint.Manager/GetEndpoints", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetEndpoints(ctx, req.(*endpoint.GetEndpointsRequest)) @@ -217,7 +209,7 @@ func _Manager_DeleteEndpoint_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_DeleteEndpoint_FullMethodName, + FullMethod: "/entrance.v1.endpoint.Manager/DeleteEndpoint", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).DeleteEndpoint(ctx, req.(*endpoint.DeleteEndpointRequest)) diff --git a/proto/web3eye/entrance/v1/entrancev1.pb.gw.go b/proto/web3eye/entrance/v1/entrancev1.pb.gw.go index 92d98ca2..21d17771 100644 --- a/proto/web3eye/entrance/v1/entrancev1.pb.gw.go +++ b/proto/web3eye/entrance/v1/entrancev1.pb.gw.go @@ -78,20 +78,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.Manager/Version", runtime.WithHTTPPathPattern("/v1/version")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.Manager/Version", runtime.WithHTTPPathPattern("/v1/version")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_Version_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_Version_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_Version_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_Version_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -101,7 +103,7 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se // RegisterManagerHandlerFromEndpoint is same as RegisterManagerHandler but // automatically dials to "endpoint" and closes the connection when "ctx" gets done. func RegisterManagerHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.Dial(endpoint, opts...) + conn, err := grpc.DialContext(ctx, endpoint, opts...) if err != nil { return err } @@ -140,19 +142,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.Manager/Version", runtime.WithHTTPPathPattern("/v1/version")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.Manager/Version", runtime.WithHTTPPathPattern("/v1/version")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_Version_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_Version_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_Version_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_Version_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) diff --git a/proto/web3eye/entrance/v1/entrancev1.swagger.json b/proto/web3eye/entrance/v1/entrancev1.swagger.json index fecabdd7..973642b6 100644 --- a/proto/web3eye/entrance/v1/entrancev1.swagger.json +++ b/proto/web3eye/entrance/v1/entrancev1.swagger.json @@ -39,6 +39,7 @@ "in": "body", "required": true, "schema": { + "type": "object", "properties": {} } } @@ -72,6 +73,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } diff --git a/proto/web3eye/entrance/v1/entrancev1_grpc.pb.go b/proto/web3eye/entrance/v1/entrancev1_grpc.pb.go index 703d293f..2a6e987a 100644 --- a/proto/web3eye/entrance/v1/entrancev1_grpc.pb.go +++ b/proto/web3eye/entrance/v1/entrancev1_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.18.1 // source: web3eye/entrance/v1/entrancev1.proto @@ -20,10 +20,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Manager_Version_FullMethodName = "/entrance.v1.Manager/Version" -) - // ManagerClient is the client API for Manager 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. @@ -41,7 +37,7 @@ func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { func (c *managerClient) Version(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*web3eye.VersionResponse, error) { out := new(web3eye.VersionResponse) - err := c.cc.Invoke(ctx, Manager_Version_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/entrance.v1.Manager/Version", in, out, opts...) if err != nil { return nil, err } @@ -86,7 +82,7 @@ func _Manager_Version_Handler(srv interface{}, ctx context.Context, dec func(int } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_Version_FullMethodName, + FullMethod: "/entrance.v1.Manager/Version", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).Version(ctx, req.(*emptypb.Empty)) diff --git a/proto/web3eye/entrance/v1/retriever/retriever.pb.gw.go b/proto/web3eye/entrance/v1/retriever/retriever.pb.gw.go index 5dd0c5b9..ff79358c 100644 --- a/proto/web3eye/entrance/v1/retriever/retriever.pb.gw.go +++ b/proto/web3eye/entrance/v1/retriever/retriever.pb.gw.go @@ -112,20 +112,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.retriever1.Manager/StartRetrieve", runtime.WithHTTPPathPattern("/v1/start/retrieve")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.retriever1.Manager/StartRetrieve", runtime.WithHTTPPathPattern("/v1/start/retrieve")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_StartRetrieve_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_StartRetrieve_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_StartRetrieve_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_StartRetrieve_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -135,20 +137,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.retriever1.Manager/StatRetrieve", runtime.WithHTTPPathPattern("/v1/stat/retrieve")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.retriever1.Manager/StatRetrieve", runtime.WithHTTPPathPattern("/v1/stat/retrieve")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_StatRetrieve_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_StatRetrieve_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_StatRetrieve_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_StatRetrieve_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -158,7 +162,7 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se // RegisterManagerHandlerFromEndpoint is same as RegisterManagerHandler but // automatically dials to "endpoint" and closes the connection when "ctx" gets done. func RegisterManagerHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.Dial(endpoint, opts...) + conn, err := grpc.DialContext(ctx, endpoint, opts...) if err != nil { return err } @@ -197,19 +201,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.retriever1.Manager/StartRetrieve", runtime.WithHTTPPathPattern("/v1/start/retrieve")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.retriever1.Manager/StartRetrieve", runtime.WithHTTPPathPattern("/v1/start/retrieve")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_StartRetrieve_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_StartRetrieve_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_StartRetrieve_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_StartRetrieve_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -217,19 +223,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.retriever1.Manager/StatRetrieve", runtime.WithHTTPPathPattern("/v1/stat/retrieve")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.retriever1.Manager/StatRetrieve", runtime.WithHTTPPathPattern("/v1/stat/retrieve")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_StatRetrieve_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_StatRetrieve_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_StatRetrieve_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_StatRetrieve_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) diff --git a/proto/web3eye/entrance/v1/retriever/retriever.swagger.json b/proto/web3eye/entrance/v1/retriever/retriever.swagger.json index 1535bbf7..28c5f8b0 100644 --- a/proto/web3eye/entrance/v1/retriever/retriever.swagger.json +++ b/proto/web3eye/entrance/v1/retriever/retriever.swagger.json @@ -104,6 +104,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } diff --git a/proto/web3eye/entrance/v1/retriever/retriever_grpc.pb.go b/proto/web3eye/entrance/v1/retriever/retriever_grpc.pb.go index e7d25f0c..52a672ef 100644 --- a/proto/web3eye/entrance/v1/retriever/retriever_grpc.pb.go +++ b/proto/web3eye/entrance/v1/retriever/retriever_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.18.1 // source: web3eye/entrance/v1/retriever/retriever.proto @@ -19,11 +19,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Manager_StartRetrieve_FullMethodName = "/entrance.v1.retriever1.Manager/StartRetrieve" - Manager_StatRetrieve_FullMethodName = "/entrance.v1.retriever1.Manager/StatRetrieve" -) - // ManagerClient is the client API for Manager 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. @@ -42,7 +37,7 @@ func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { func (c *managerClient) StartRetrieve(ctx context.Context, in *v1.StartRetrieveRequest, opts ...grpc.CallOption) (*v1.StartRetrieveResponse, error) { out := new(v1.StartRetrieveResponse) - err := c.cc.Invoke(ctx, Manager_StartRetrieve_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/entrance.v1.retriever1.Manager/StartRetrieve", in, out, opts...) if err != nil { return nil, err } @@ -51,7 +46,7 @@ func (c *managerClient) StartRetrieve(ctx context.Context, in *v1.StartRetrieveR func (c *managerClient) StatRetrieve(ctx context.Context, in *v1.StatRetrieveRequest, opts ...grpc.CallOption) (*v1.StatRetrieveResponse, error) { out := new(v1.StatRetrieveResponse) - err := c.cc.Invoke(ctx, Manager_StatRetrieve_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/entrance.v1.retriever1.Manager/StatRetrieve", in, out, opts...) if err != nil { return nil, err } @@ -100,7 +95,7 @@ func _Manager_StartRetrieve_Handler(srv interface{}, ctx context.Context, dec fu } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_StartRetrieve_FullMethodName, + FullMethod: "/entrance.v1.retriever1.Manager/StartRetrieve", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).StartRetrieve(ctx, req.(*v1.StartRetrieveRequest)) @@ -118,7 +113,7 @@ func _Manager_StatRetrieve_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_StatRetrieve_FullMethodName, + FullMethod: "/entrance.v1.retriever1.Manager/StatRetrieve", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).StatRetrieve(ctx, req.(*v1.StatRetrieveRequest)) diff --git a/proto/web3eye/entrance/v1/snapshot/snapshot.pb.gw.go b/proto/web3eye/entrance/v1/snapshot/snapshot.pb.gw.go index 322c015e..0394e052 100644 --- a/proto/web3eye/entrance/v1/snapshot/snapshot.pb.gw.go +++ b/proto/web3eye/entrance/v1/snapshot/snapshot.pb.gw.go @@ -181,20 +181,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.snapshot.Manager/GetSnapshot", runtime.WithHTTPPathPattern("/v1/get/snapshot")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.snapshot.Manager/GetSnapshot", runtime.WithHTTPPathPattern("/v1/get/snapshot")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_GetSnapshot_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_GetSnapshot_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_GetSnapshot_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_GetSnapshot_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -204,20 +206,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.snapshot.Manager/GetSnapshotOnly", runtime.WithHTTPPathPattern("/v1/get/snapshot/only")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.snapshot.Manager/GetSnapshotOnly", runtime.WithHTTPPathPattern("/v1/get/snapshot/only")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_GetSnapshotOnly_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_GetSnapshotOnly_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_GetSnapshotOnly_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_GetSnapshotOnly_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -227,20 +231,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.snapshot.Manager/GetSnapshots", runtime.WithHTTPPathPattern("/v1/get/snapshots")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.snapshot.Manager/GetSnapshots", runtime.WithHTTPPathPattern("/v1/get/snapshots")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_GetSnapshots_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_GetSnapshots_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_GetSnapshots_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_GetSnapshots_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -250,20 +256,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.snapshot.Manager/CreateBackup", runtime.WithHTTPPathPattern("/v1/create/backup")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.snapshot.Manager/CreateBackup", runtime.WithHTTPPathPattern("/v1/create/backup")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_CreateBackup_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_CreateBackup_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_CreateBackup_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_CreateBackup_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -273,7 +281,7 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se // RegisterManagerHandlerFromEndpoint is same as RegisterManagerHandler but // automatically dials to "endpoint" and closes the connection when "ctx" gets done. func RegisterManagerHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.Dial(endpoint, opts...) + conn, err := grpc.DialContext(ctx, endpoint, opts...) if err != nil { return err } @@ -312,19 +320,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.snapshot.Manager/GetSnapshot", runtime.WithHTTPPathPattern("/v1/get/snapshot")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.snapshot.Manager/GetSnapshot", runtime.WithHTTPPathPattern("/v1/get/snapshot")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_GetSnapshot_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_GetSnapshot_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_GetSnapshot_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_GetSnapshot_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -332,19 +342,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.snapshot.Manager/GetSnapshotOnly", runtime.WithHTTPPathPattern("/v1/get/snapshot/only")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.snapshot.Manager/GetSnapshotOnly", runtime.WithHTTPPathPattern("/v1/get/snapshot/only")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_GetSnapshotOnly_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_GetSnapshotOnly_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_GetSnapshotOnly_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_GetSnapshotOnly_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -352,19 +364,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.snapshot.Manager/GetSnapshots", runtime.WithHTTPPathPattern("/v1/get/snapshots")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.snapshot.Manager/GetSnapshots", runtime.WithHTTPPathPattern("/v1/get/snapshots")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_GetSnapshots_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_GetSnapshots_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_GetSnapshots_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_GetSnapshots_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -372,19 +386,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.snapshot.Manager/CreateBackup", runtime.WithHTTPPathPattern("/v1/create/backup")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.snapshot.Manager/CreateBackup", runtime.WithHTTPPathPattern("/v1/create/backup")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_CreateBackup_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_CreateBackup_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_CreateBackup_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_CreateBackup_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) diff --git a/proto/web3eye/entrance/v1/snapshot/snapshot.swagger.json b/proto/web3eye/entrance/v1/snapshot/snapshot.swagger.json index c168be27..5704de77 100644 --- a/proto/web3eye/entrance/v1/snapshot/snapshot.swagger.json +++ b/proto/web3eye/entrance/v1/snapshot/snapshot.swagger.json @@ -169,6 +169,7 @@ "Items": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/v1ContentItem" } }, @@ -206,6 +207,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } @@ -352,6 +354,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/v1snapshotSnapshot" } }, diff --git a/proto/web3eye/entrance/v1/snapshot/snapshot_grpc.pb.go b/proto/web3eye/entrance/v1/snapshot/snapshot_grpc.pb.go index bb872d10..fc7a5ceb 100644 --- a/proto/web3eye/entrance/v1/snapshot/snapshot_grpc.pb.go +++ b/proto/web3eye/entrance/v1/snapshot/snapshot_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.18.1 // source: web3eye/entrance/v1/snapshot/snapshot.proto @@ -20,13 +20,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Manager_GetSnapshot_FullMethodName = "/entrance.v1.snapshot.Manager/GetSnapshot" - Manager_GetSnapshotOnly_FullMethodName = "/entrance.v1.snapshot.Manager/GetSnapshotOnly" - Manager_GetSnapshots_FullMethodName = "/entrance.v1.snapshot.Manager/GetSnapshots" - Manager_CreateBackup_FullMethodName = "/entrance.v1.snapshot.Manager/CreateBackup" -) - // ManagerClient is the client API for Manager 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. @@ -47,7 +40,7 @@ func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { func (c *managerClient) GetSnapshot(ctx context.Context, in *snapshot.GetSnapshotRequest, opts ...grpc.CallOption) (*snapshot.GetSnapshotResponse, error) { out := new(snapshot.GetSnapshotResponse) - err := c.cc.Invoke(ctx, Manager_GetSnapshot_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/entrance.v1.snapshot.Manager/GetSnapshot", in, out, opts...) if err != nil { return nil, err } @@ -56,7 +49,7 @@ func (c *managerClient) GetSnapshot(ctx context.Context, in *snapshot.GetSnapsho func (c *managerClient) GetSnapshotOnly(ctx context.Context, in *snapshot.GetSnapshotOnlyRequest, opts ...grpc.CallOption) (*snapshot.GetSnapshotOnlyResponse, error) { out := new(snapshot.GetSnapshotOnlyResponse) - err := c.cc.Invoke(ctx, Manager_GetSnapshotOnly_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/entrance.v1.snapshot.Manager/GetSnapshotOnly", in, out, opts...) if err != nil { return nil, err } @@ -65,7 +58,7 @@ func (c *managerClient) GetSnapshotOnly(ctx context.Context, in *snapshot.GetSna func (c *managerClient) GetSnapshots(ctx context.Context, in *snapshot.GetSnapshotsRequest, opts ...grpc.CallOption) (*snapshot.GetSnapshotsResponse, error) { out := new(snapshot.GetSnapshotsResponse) - err := c.cc.Invoke(ctx, Manager_GetSnapshots_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/entrance.v1.snapshot.Manager/GetSnapshots", in, out, opts...) if err != nil { return nil, err } @@ -74,7 +67,7 @@ func (c *managerClient) GetSnapshots(ctx context.Context, in *snapshot.GetSnapsh func (c *managerClient) CreateBackup(ctx context.Context, in *v1.CreateBackupRequest, opts ...grpc.CallOption) (*v1.CreateBackupResponse, error) { out := new(v1.CreateBackupResponse) - err := c.cc.Invoke(ctx, Manager_CreateBackup_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/entrance.v1.snapshot.Manager/CreateBackup", in, out, opts...) if err != nil { return nil, err } @@ -131,7 +124,7 @@ func _Manager_GetSnapshot_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetSnapshot_FullMethodName, + FullMethod: "/entrance.v1.snapshot.Manager/GetSnapshot", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetSnapshot(ctx, req.(*snapshot.GetSnapshotRequest)) @@ -149,7 +142,7 @@ func _Manager_GetSnapshotOnly_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetSnapshotOnly_FullMethodName, + FullMethod: "/entrance.v1.snapshot.Manager/GetSnapshotOnly", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetSnapshotOnly(ctx, req.(*snapshot.GetSnapshotOnlyRequest)) @@ -167,7 +160,7 @@ func _Manager_GetSnapshots_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetSnapshots_FullMethodName, + FullMethod: "/entrance.v1.snapshot.Manager/GetSnapshots", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetSnapshots(ctx, req.(*snapshot.GetSnapshotsRequest)) @@ -185,7 +178,7 @@ func _Manager_CreateBackup_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_CreateBackup_FullMethodName, + FullMethod: "/entrance.v1.snapshot.Manager/CreateBackup", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).CreateBackup(ctx, req.(*v1.CreateBackupRequest)) diff --git a/proto/web3eye/entrance/v1/synctask/synctask.pb.gw.go b/proto/web3eye/entrance/v1/synctask/synctask.pb.gw.go index 75597017..756779fb 100644 --- a/proto/web3eye/entrance/v1/synctask/synctask.pb.gw.go +++ b/proto/web3eye/entrance/v1/synctask/synctask.pb.gw.go @@ -214,20 +214,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.synctask.Manager/CreateSyncTask", runtime.WithHTTPPathPattern("/v1/create/synctask")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.synctask.Manager/CreateSyncTask", runtime.WithHTTPPathPattern("/v1/create/synctask")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_CreateSyncTask_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_CreateSyncTask_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_CreateSyncTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_CreateSyncTask_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -237,20 +239,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.synctask.Manager/UpdateSyncTask", runtime.WithHTTPPathPattern("/v1/update/synctask")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.synctask.Manager/UpdateSyncTask", runtime.WithHTTPPathPattern("/v1/update/synctask")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_UpdateSyncTask_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_UpdateSyncTask_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_UpdateSyncTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_UpdateSyncTask_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -260,20 +264,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.synctask.Manager/GetSyncTask", runtime.WithHTTPPathPattern("/v1/get/synctask")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.synctask.Manager/GetSyncTask", runtime.WithHTTPPathPattern("/v1/get/synctask")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_GetSyncTask_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_GetSyncTask_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_GetSyncTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_GetSyncTask_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -283,20 +289,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.synctask.Manager/GetSyncTasks", runtime.WithHTTPPathPattern("/v1/get/synctasks")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.synctask.Manager/GetSyncTasks", runtime.WithHTTPPathPattern("/v1/get/synctasks")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_GetSyncTasks_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_GetSyncTasks_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_GetSyncTasks_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_GetSyncTasks_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -306,20 +314,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.synctask.Manager/DeleteSyncTask", runtime.WithHTTPPathPattern("/v1/delete/synctask")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.synctask.Manager/DeleteSyncTask", runtime.WithHTTPPathPattern("/v1/delete/synctask")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_DeleteSyncTask_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_DeleteSyncTask_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_DeleteSyncTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_DeleteSyncTask_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -329,7 +339,7 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se // RegisterManagerHandlerFromEndpoint is same as RegisterManagerHandler but // automatically dials to "endpoint" and closes the connection when "ctx" gets done. func RegisterManagerHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.Dial(endpoint, opts...) + conn, err := grpc.DialContext(ctx, endpoint, opts...) if err != nil { return err } @@ -368,19 +378,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.synctask.Manager/CreateSyncTask", runtime.WithHTTPPathPattern("/v1/create/synctask")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.synctask.Manager/CreateSyncTask", runtime.WithHTTPPathPattern("/v1/create/synctask")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_CreateSyncTask_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_CreateSyncTask_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_CreateSyncTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_CreateSyncTask_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -388,19 +400,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.synctask.Manager/UpdateSyncTask", runtime.WithHTTPPathPattern("/v1/update/synctask")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.synctask.Manager/UpdateSyncTask", runtime.WithHTTPPathPattern("/v1/update/synctask")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_UpdateSyncTask_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_UpdateSyncTask_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_UpdateSyncTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_UpdateSyncTask_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -408,19 +422,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.synctask.Manager/GetSyncTask", runtime.WithHTTPPathPattern("/v1/get/synctask")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.synctask.Manager/GetSyncTask", runtime.WithHTTPPathPattern("/v1/get/synctask")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_GetSyncTask_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_GetSyncTask_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_GetSyncTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_GetSyncTask_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -428,19 +444,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.synctask.Manager/GetSyncTasks", runtime.WithHTTPPathPattern("/v1/get/synctasks")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.synctask.Manager/GetSyncTasks", runtime.WithHTTPPathPattern("/v1/get/synctasks")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_GetSyncTasks_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_GetSyncTasks_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_GetSyncTasks_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_GetSyncTasks_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -448,19 +466,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.synctask.Manager/DeleteSyncTask", runtime.WithHTTPPathPattern("/v1/delete/synctask")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.synctask.Manager/DeleteSyncTask", runtime.WithHTTPPathPattern("/v1/delete/synctask")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_DeleteSyncTask_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_DeleteSyncTask_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_DeleteSyncTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_DeleteSyncTask_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) diff --git a/proto/web3eye/entrance/v1/synctask/synctask.swagger.json b/proto/web3eye/entrance/v1/synctask/synctask.swagger.json index 271ead89..a6652ebb 100644 --- a/proto/web3eye/entrance/v1/synctask/synctask.swagger.json +++ b/proto/web3eye/entrance/v1/synctask/synctask.swagger.json @@ -331,6 +331,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/synctaskSyncTask" } }, @@ -397,6 +398,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } diff --git a/proto/web3eye/entrance/v1/synctask/synctask_grpc.pb.go b/proto/web3eye/entrance/v1/synctask/synctask_grpc.pb.go index 66e4a241..13451408 100644 --- a/proto/web3eye/entrance/v1/synctask/synctask_grpc.pb.go +++ b/proto/web3eye/entrance/v1/synctask/synctask_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.18.1 // source: web3eye/entrance/v1/synctask/synctask.proto @@ -19,14 +19,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Manager_CreateSyncTask_FullMethodName = "/entrance.v1.synctask.Manager/CreateSyncTask" - Manager_UpdateSyncTask_FullMethodName = "/entrance.v1.synctask.Manager/UpdateSyncTask" - Manager_GetSyncTask_FullMethodName = "/entrance.v1.synctask.Manager/GetSyncTask" - Manager_GetSyncTasks_FullMethodName = "/entrance.v1.synctask.Manager/GetSyncTasks" - Manager_DeleteSyncTask_FullMethodName = "/entrance.v1.synctask.Manager/DeleteSyncTask" -) - // ManagerClient is the client API for Manager 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. @@ -48,7 +40,7 @@ func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { func (c *managerClient) CreateSyncTask(ctx context.Context, in *synctask.CreateSyncTaskRequest, opts ...grpc.CallOption) (*synctask.CreateSyncTaskResponse, error) { out := new(synctask.CreateSyncTaskResponse) - err := c.cc.Invoke(ctx, Manager_CreateSyncTask_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/entrance.v1.synctask.Manager/CreateSyncTask", in, out, opts...) if err != nil { return nil, err } @@ -57,7 +49,7 @@ func (c *managerClient) CreateSyncTask(ctx context.Context, in *synctask.CreateS func (c *managerClient) UpdateSyncTask(ctx context.Context, in *synctask.UpdateSyncTaskRequest, opts ...grpc.CallOption) (*synctask.UpdateSyncTaskResponse, error) { out := new(synctask.UpdateSyncTaskResponse) - err := c.cc.Invoke(ctx, Manager_UpdateSyncTask_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/entrance.v1.synctask.Manager/UpdateSyncTask", in, out, opts...) if err != nil { return nil, err } @@ -66,7 +58,7 @@ func (c *managerClient) UpdateSyncTask(ctx context.Context, in *synctask.UpdateS func (c *managerClient) GetSyncTask(ctx context.Context, in *synctask.GetSyncTaskRequest, opts ...grpc.CallOption) (*synctask.GetSyncTaskResponse, error) { out := new(synctask.GetSyncTaskResponse) - err := c.cc.Invoke(ctx, Manager_GetSyncTask_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/entrance.v1.synctask.Manager/GetSyncTask", in, out, opts...) if err != nil { return nil, err } @@ -75,7 +67,7 @@ func (c *managerClient) GetSyncTask(ctx context.Context, in *synctask.GetSyncTas func (c *managerClient) GetSyncTasks(ctx context.Context, in *synctask.GetSyncTasksRequest, opts ...grpc.CallOption) (*synctask.GetSyncTasksResponse, error) { out := new(synctask.GetSyncTasksResponse) - err := c.cc.Invoke(ctx, Manager_GetSyncTasks_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/entrance.v1.synctask.Manager/GetSyncTasks", in, out, opts...) if err != nil { return nil, err } @@ -84,7 +76,7 @@ func (c *managerClient) GetSyncTasks(ctx context.Context, in *synctask.GetSyncTa func (c *managerClient) DeleteSyncTask(ctx context.Context, in *synctask.DeleteSyncTaskRequest, opts ...grpc.CallOption) (*synctask.DeleteSyncTaskResponse, error) { out := new(synctask.DeleteSyncTaskResponse) - err := c.cc.Invoke(ctx, Manager_DeleteSyncTask_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/entrance.v1.synctask.Manager/DeleteSyncTask", in, out, opts...) if err != nil { return nil, err } @@ -145,7 +137,7 @@ func _Manager_CreateSyncTask_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_CreateSyncTask_FullMethodName, + FullMethod: "/entrance.v1.synctask.Manager/CreateSyncTask", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).CreateSyncTask(ctx, req.(*synctask.CreateSyncTaskRequest)) @@ -163,7 +155,7 @@ func _Manager_UpdateSyncTask_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_UpdateSyncTask_FullMethodName, + FullMethod: "/entrance.v1.synctask.Manager/UpdateSyncTask", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).UpdateSyncTask(ctx, req.(*synctask.UpdateSyncTaskRequest)) @@ -181,7 +173,7 @@ func _Manager_GetSyncTask_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetSyncTask_FullMethodName, + FullMethod: "/entrance.v1.synctask.Manager/GetSyncTask", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetSyncTask(ctx, req.(*synctask.GetSyncTaskRequest)) @@ -199,7 +191,7 @@ func _Manager_GetSyncTasks_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetSyncTasks_FullMethodName, + FullMethod: "/entrance.v1.synctask.Manager/GetSyncTasks", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetSyncTasks(ctx, req.(*synctask.GetSyncTasksRequest)) @@ -217,7 +209,7 @@ func _Manager_DeleteSyncTask_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_DeleteSyncTask_FullMethodName, + FullMethod: "/entrance.v1.synctask.Manager/DeleteSyncTask", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).DeleteSyncTask(ctx, req.(*synctask.DeleteSyncTaskRequest)) diff --git a/proto/web3eye/entrance/v1/token/token.pb.gw.go b/proto/web3eye/entrance/v1/token/token.pb.gw.go index 2a95cf3f..1563c00e 100644 --- a/proto/web3eye/entrance/v1/token/token.pb.gw.go +++ b/proto/web3eye/entrance/v1/token/token.pb.gw.go @@ -15,8 +15,8 @@ import ( "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" - token_1 "github.com/web3eye-io/Web3Eye/proto/web3eye/nftmeta/v1/token" - "github.com/web3eye-io/Web3Eye/proto/web3eye/ranker/v1/token" + token_0 "github.com/web3eye-io/Web3Eye/proto/web3eye/nftmeta/v1/token" + token_1 "github.com/web3eye-io/Web3Eye/proto/web3eye/ranker/v1/token" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/grpclog" @@ -34,7 +34,7 @@ var _ = utilities.NewDoubleArray var _ = metadata.Join func request_Manager_GetToken_0(ctx context.Context, marshaler runtime.Marshaler, client ManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq token_1.GetTokenRequest + var protoReq token_0.GetTokenRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -51,7 +51,7 @@ func request_Manager_GetToken_0(ctx context.Context, marshaler runtime.Marshaler } func local_request_Manager_GetToken_0(ctx context.Context, marshaler runtime.Marshaler, server ManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq token_1.GetTokenRequest + var protoReq token_0.GetTokenRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -68,7 +68,7 @@ func local_request_Manager_GetToken_0(ctx context.Context, marshaler runtime.Mar } func request_Manager_SearchPage_0(ctx context.Context, marshaler runtime.Marshaler, client ManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq token.SearchPageRequest + var protoReq token_1.SearchPageRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -85,7 +85,7 @@ func request_Manager_SearchPage_0(ctx context.Context, marshaler runtime.Marshal } func local_request_Manager_SearchPage_0(ctx context.Context, marshaler runtime.Marshaler, server ManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq token.SearchPageRequest + var protoReq token_1.SearchPageRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -113,20 +113,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.token.Manager/GetToken", runtime.WithHTTPPathPattern("/v1/get/token")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.token.Manager/GetToken", runtime.WithHTTPPathPattern("/v1/get/token")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_GetToken_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_GetToken_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_GetToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_GetToken_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -136,20 +138,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.token.Manager/SearchPage", runtime.WithHTTPPathPattern("/v1/search/page")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.token.Manager/SearchPage", runtime.WithHTTPPathPattern("/v1/search/page")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_SearchPage_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_SearchPage_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_SearchPage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_SearchPage_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -159,7 +163,7 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se // RegisterManagerHandlerFromEndpoint is same as RegisterManagerHandler but // automatically dials to "endpoint" and closes the connection when "ctx" gets done. func RegisterManagerHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.Dial(endpoint, opts...) + conn, err := grpc.DialContext(ctx, endpoint, opts...) if err != nil { return err } @@ -198,19 +202,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.token.Manager/GetToken", runtime.WithHTTPPathPattern("/v1/get/token")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.token.Manager/GetToken", runtime.WithHTTPPathPattern("/v1/get/token")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_GetToken_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_GetToken_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_GetToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_GetToken_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -218,19 +224,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.token.Manager/SearchPage", runtime.WithHTTPPathPattern("/v1/search/page")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.token.Manager/SearchPage", runtime.WithHTTPPathPattern("/v1/search/page")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_SearchPage_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_SearchPage_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_SearchPage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_SearchPage_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) diff --git a/proto/web3eye/entrance/v1/token/token.swagger.json b/proto/web3eye/entrance/v1/token/token.swagger.json index 82279921..85ae8203 100644 --- a/proto/web3eye/entrance/v1/token/token.swagger.json +++ b/proto/web3eye/entrance/v1/token/token.swagger.json @@ -139,6 +139,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } @@ -203,6 +204,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/tokenSearchToken" } }, @@ -308,6 +310,7 @@ "SiblingTokens": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/tokenSiblingToken" } }, diff --git a/proto/web3eye/entrance/v1/token/token_grpc.pb.go b/proto/web3eye/entrance/v1/token/token_grpc.pb.go index e8f17cd4..18288583 100644 --- a/proto/web3eye/entrance/v1/token/token_grpc.pb.go +++ b/proto/web3eye/entrance/v1/token/token_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.18.1 // source: web3eye/entrance/v1/token/token.proto @@ -20,11 +20,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Manager_GetToken_FullMethodName = "/entrance.v1.token.Manager/GetToken" - Manager_SearchPage_FullMethodName = "/entrance.v1.token.Manager/SearchPage" -) - // ManagerClient is the client API for Manager 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. @@ -43,7 +38,7 @@ func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { func (c *managerClient) GetToken(ctx context.Context, in *token.GetTokenRequest, opts ...grpc.CallOption) (*token.GetTokenResponse, error) { out := new(token.GetTokenResponse) - err := c.cc.Invoke(ctx, Manager_GetToken_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/entrance.v1.token.Manager/GetToken", in, out, opts...) if err != nil { return nil, err } @@ -52,7 +47,7 @@ func (c *managerClient) GetToken(ctx context.Context, in *token.GetTokenRequest, func (c *managerClient) SearchPage(ctx context.Context, in *token1.SearchPageRequest, opts ...grpc.CallOption) (*token1.SearchResponse, error) { out := new(token1.SearchResponse) - err := c.cc.Invoke(ctx, Manager_SearchPage_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/entrance.v1.token.Manager/SearchPage", in, out, opts...) if err != nil { return nil, err } @@ -101,7 +96,7 @@ func _Manager_GetToken_Handler(srv interface{}, ctx context.Context, dec func(in } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetToken_FullMethodName, + FullMethod: "/entrance.v1.token.Manager/GetToken", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetToken(ctx, req.(*token.GetTokenRequest)) @@ -119,7 +114,7 @@ func _Manager_SearchPage_Handler(srv interface{}, ctx context.Context, dec func( } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_SearchPage_FullMethodName, + FullMethod: "/entrance.v1.token.Manager/SearchPage", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).SearchPage(ctx, req.(*token1.SearchPageRequest)) diff --git a/proto/web3eye/entrance/v1/transfer/transfer.pb.gw.go b/proto/web3eye/entrance/v1/transfer/transfer.pb.gw.go index 69719da2..79057a9e 100644 --- a/proto/web3eye/entrance/v1/transfer/transfer.pb.gw.go +++ b/proto/web3eye/entrance/v1/transfer/transfer.pb.gw.go @@ -15,7 +15,7 @@ import ( "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" - transfer_0 "github.com/web3eye-io/Web3Eye/proto/web3eye/ranker/v1/transfer" + transfer_1 "github.com/web3eye-io/Web3Eye/proto/web3eye/ranker/v1/transfer" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/grpclog" @@ -33,7 +33,7 @@ var _ = utilities.NewDoubleArray var _ = metadata.Join func request_Manager_GetTransfers_0(ctx context.Context, marshaler runtime.Marshaler, client ManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq transfer_0.GetTransfersRequest + var protoReq transfer_1.GetTransfersRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -50,7 +50,7 @@ func request_Manager_GetTransfers_0(ctx context.Context, marshaler runtime.Marsh } func local_request_Manager_GetTransfers_0(ctx context.Context, marshaler runtime.Marshaler, server ManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq transfer_0.GetTransfersRequest + var protoReq transfer_1.GetTransfersRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -78,20 +78,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.transfer.Manager/GetTransfers", runtime.WithHTTPPathPattern("/v1/get/transfers")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/entrance.v1.transfer.Manager/GetTransfers", runtime.WithHTTPPathPattern("/v1/get/transfers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_GetTransfers_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_GetTransfers_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_GetTransfers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_GetTransfers_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -101,7 +103,7 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se // RegisterManagerHandlerFromEndpoint is same as RegisterManagerHandler but // automatically dials to "endpoint" and closes the connection when "ctx" gets done. func RegisterManagerHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.Dial(endpoint, opts...) + conn, err := grpc.DialContext(ctx, endpoint, opts...) if err != nil { return err } @@ -140,19 +142,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.transfer.Manager/GetTransfers", runtime.WithHTTPPathPattern("/v1/get/transfers")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/entrance.v1.transfer.Manager/GetTransfers", runtime.WithHTTPPathPattern("/v1/get/transfers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_GetTransfers_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_GetTransfers_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_GetTransfers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_GetTransfers_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) diff --git a/proto/web3eye/entrance/v1/transfer/transfer.swagger.json b/proto/web3eye/entrance/v1/transfer/transfer.swagger.json index 01e7c5a2..9b1baef0 100644 --- a/proto/web3eye/entrance/v1/transfer/transfer.swagger.json +++ b/proto/web3eye/entrance/v1/transfer/transfer.swagger.json @@ -114,6 +114,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/rankerv1transferTransfer" } }, @@ -179,12 +180,14 @@ "TargetItems": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/v1transferOrderItem" } }, "OfferItems": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/v1transferOrderItem" } } @@ -203,6 +206,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } diff --git a/proto/web3eye/entrance/v1/transfer/transfer_grpc.pb.go b/proto/web3eye/entrance/v1/transfer/transfer_grpc.pb.go index 2fca898b..42935fd1 100644 --- a/proto/web3eye/entrance/v1/transfer/transfer_grpc.pb.go +++ b/proto/web3eye/entrance/v1/transfer/transfer_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.18.1 // source: web3eye/entrance/v1/transfer/transfer.proto @@ -19,10 +19,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Manager_GetTransfers_FullMethodName = "/entrance.v1.transfer.Manager/GetTransfers" -) - // ManagerClient is the client API for Manager 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. @@ -40,7 +36,7 @@ func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { func (c *managerClient) GetTransfers(ctx context.Context, in *transfer.GetTransfersRequest, opts ...grpc.CallOption) (*transfer.GetTransfersResponse, error) { out := new(transfer.GetTransfersResponse) - err := c.cc.Invoke(ctx, Manager_GetTransfers_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/entrance.v1.transfer.Manager/GetTransfers", in, out, opts...) if err != nil { return nil, err } @@ -85,7 +81,7 @@ func _Manager_GetTransfers_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetTransfers_FullMethodName, + FullMethod: "/entrance.v1.transfer.Manager/GetTransfers", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetTransfers(ctx, req.(*transfer.GetTransfersRequest)) diff --git a/proto/web3eye/errno.swagger.json b/proto/web3eye/errno.swagger.json index 5d6b5842..ee9470f6 100644 --- a/proto/web3eye/errno.swagger.json +++ b/proto/web3eye/errno.swagger.json @@ -34,6 +34,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } diff --git a/proto/web3eye/gencar/v1/gencar.pb.gw.go b/proto/web3eye/gencar/v1/gencar.pb.gw.go index 3b8f9e66..d0e3118d 100644 --- a/proto/web3eye/gencar/v1/gencar.pb.gw.go +++ b/proto/web3eye/gencar/v1/gencar.pb.gw.go @@ -112,20 +112,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gencar.v1.Manager/Version", runtime.WithHTTPPathPattern("/v1/version")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/gencar.v1.Manager/Version", runtime.WithHTTPPathPattern("/v1/version")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_Version_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_Version_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_Version_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_Version_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -135,20 +137,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gencar.v1.Manager/ReportFile", runtime.WithHTTPPathPattern("/v1/report/file")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/gencar.v1.Manager/ReportFile", runtime.WithHTTPPathPattern("/v1/report/file")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_ReportFile_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_ReportFile_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_ReportFile_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_ReportFile_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -158,7 +162,7 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se // RegisterManagerHandlerFromEndpoint is same as RegisterManagerHandler but // automatically dials to "endpoint" and closes the connection when "ctx" gets done. func RegisterManagerHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.Dial(endpoint, opts...) + conn, err := grpc.DialContext(ctx, endpoint, opts...) if err != nil { return err } @@ -197,19 +201,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/gencar.v1.Manager/Version", runtime.WithHTTPPathPattern("/v1/version")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/gencar.v1.Manager/Version", runtime.WithHTTPPathPattern("/v1/version")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_Version_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_Version_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_Version_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_Version_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -217,19 +223,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/gencar.v1.Manager/ReportFile", runtime.WithHTTPPathPattern("/v1/report/file")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/gencar.v1.Manager/ReportFile", runtime.WithHTTPPathPattern("/v1/report/file")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_ReportFile_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_ReportFile_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_ReportFile_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_ReportFile_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) diff --git a/proto/web3eye/gencar/v1/gencar.swagger.json b/proto/web3eye/gencar/v1/gencar.swagger.json index 0ccbc843..55b08de9 100644 --- a/proto/web3eye/gencar/v1/gencar.swagger.json +++ b/proto/web3eye/gencar/v1/gencar.swagger.json @@ -71,6 +71,7 @@ "in": "body", "required": true, "schema": { + "type": "object", "properties": {} } } @@ -104,6 +105,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } diff --git a/proto/web3eye/gencar/v1/gencar_grpc.pb.go b/proto/web3eye/gencar/v1/gencar_grpc.pb.go index 8b556e52..35705646 100644 --- a/proto/web3eye/gencar/v1/gencar_grpc.pb.go +++ b/proto/web3eye/gencar/v1/gencar_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.18.1 // source: web3eye/gencar/v1/gencar.proto @@ -20,11 +20,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Manager_Version_FullMethodName = "/gencar.v1.Manager/Version" - Manager_ReportFile_FullMethodName = "/gencar.v1.Manager/ReportFile" -) - // ManagerClient is the client API for Manager 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. @@ -43,7 +38,7 @@ func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { func (c *managerClient) Version(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*web3eye.VersionResponse, error) { out := new(web3eye.VersionResponse) - err := c.cc.Invoke(ctx, Manager_Version_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/gencar.v1.Manager/Version", in, out, opts...) if err != nil { return nil, err } @@ -52,7 +47,7 @@ func (c *managerClient) Version(ctx context.Context, in *emptypb.Empty, opts ... func (c *managerClient) ReportFile(ctx context.Context, in *ReportFileRequest, opts ...grpc.CallOption) (*ReportFileResponse, error) { out := new(ReportFileResponse) - err := c.cc.Invoke(ctx, Manager_ReportFile_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/gencar.v1.Manager/ReportFile", in, out, opts...) if err != nil { return nil, err } @@ -101,7 +96,7 @@ func _Manager_Version_Handler(srv interface{}, ctx context.Context, dec func(int } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_Version_FullMethodName, + FullMethod: "/gencar.v1.Manager/Version", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).Version(ctx, req.(*emptypb.Empty)) @@ -119,7 +114,7 @@ func _Manager_ReportFile_Handler(srv interface{}, ctx context.Context, dec func( } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_ReportFile_FullMethodName, + FullMethod: "/gencar.v1.Manager/ReportFile", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).ReportFile(ctx, req.(*ReportFileRequest)) diff --git a/proto/web3eye/nftmeta/v1/block/block.swagger.json b/proto/web3eye/nftmeta/v1/block/block.swagger.json index 9e3d64ac..c98c8d0b 100644 --- a/proto/web3eye/nftmeta/v1/block/block.swagger.json +++ b/proto/web3eye/nftmeta/v1/block/block.swagger.json @@ -161,6 +161,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/blockBlock" } } @@ -212,6 +213,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/blockBlock" } }, @@ -278,6 +280,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } diff --git a/proto/web3eye/nftmeta/v1/block/block_grpc.pb.go b/proto/web3eye/nftmeta/v1/block/block_grpc.pb.go index f181c4d8..e6ba0bc8 100644 --- a/proto/web3eye/nftmeta/v1/block/block_grpc.pb.go +++ b/proto/web3eye/nftmeta/v1/block/block_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.18.1 // source: web3eye/nftmeta/v1/block/block.proto @@ -18,19 +18,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Manager_CreateBlock_FullMethodName = "/nftmeta.v1.block.Manager/CreateBlock" - Manager_CreateBlocks_FullMethodName = "/nftmeta.v1.block.Manager/CreateBlocks" - Manager_UpsertBlock_FullMethodName = "/nftmeta.v1.block.Manager/UpsertBlock" - Manager_UpdateBlock_FullMethodName = "/nftmeta.v1.block.Manager/UpdateBlock" - Manager_GetBlock_FullMethodName = "/nftmeta.v1.block.Manager/GetBlock" - Manager_GetBlockOnly_FullMethodName = "/nftmeta.v1.block.Manager/GetBlockOnly" - Manager_GetBlocks_FullMethodName = "/nftmeta.v1.block.Manager/GetBlocks" - Manager_ExistBlock_FullMethodName = "/nftmeta.v1.block.Manager/ExistBlock" - Manager_ExistBlockConds_FullMethodName = "/nftmeta.v1.block.Manager/ExistBlockConds" - Manager_DeleteBlock_FullMethodName = "/nftmeta.v1.block.Manager/DeleteBlock" -) - // ManagerClient is the client API for Manager 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. @@ -57,7 +44,7 @@ func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { func (c *managerClient) CreateBlock(ctx context.Context, in *CreateBlockRequest, opts ...grpc.CallOption) (*CreateBlockResponse, error) { out := new(CreateBlockResponse) - err := c.cc.Invoke(ctx, Manager_CreateBlock_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.block.Manager/CreateBlock", in, out, opts...) if err != nil { return nil, err } @@ -66,7 +53,7 @@ func (c *managerClient) CreateBlock(ctx context.Context, in *CreateBlockRequest, func (c *managerClient) CreateBlocks(ctx context.Context, in *CreateBlocksRequest, opts ...grpc.CallOption) (*CreateBlocksResponse, error) { out := new(CreateBlocksResponse) - err := c.cc.Invoke(ctx, Manager_CreateBlocks_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.block.Manager/CreateBlocks", in, out, opts...) if err != nil { return nil, err } @@ -75,7 +62,7 @@ func (c *managerClient) CreateBlocks(ctx context.Context, in *CreateBlocksReques func (c *managerClient) UpsertBlock(ctx context.Context, in *UpsertBlockRequest, opts ...grpc.CallOption) (*UpsertBlockResponse, error) { out := new(UpsertBlockResponse) - err := c.cc.Invoke(ctx, Manager_UpsertBlock_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.block.Manager/UpsertBlock", in, out, opts...) if err != nil { return nil, err } @@ -84,7 +71,7 @@ func (c *managerClient) UpsertBlock(ctx context.Context, in *UpsertBlockRequest, func (c *managerClient) UpdateBlock(ctx context.Context, in *UpdateBlockRequest, opts ...grpc.CallOption) (*UpdateBlockResponse, error) { out := new(UpdateBlockResponse) - err := c.cc.Invoke(ctx, Manager_UpdateBlock_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.block.Manager/UpdateBlock", in, out, opts...) if err != nil { return nil, err } @@ -93,7 +80,7 @@ func (c *managerClient) UpdateBlock(ctx context.Context, in *UpdateBlockRequest, func (c *managerClient) GetBlock(ctx context.Context, in *GetBlockRequest, opts ...grpc.CallOption) (*GetBlockResponse, error) { out := new(GetBlockResponse) - err := c.cc.Invoke(ctx, Manager_GetBlock_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.block.Manager/GetBlock", in, out, opts...) if err != nil { return nil, err } @@ -102,7 +89,7 @@ func (c *managerClient) GetBlock(ctx context.Context, in *GetBlockRequest, opts func (c *managerClient) GetBlockOnly(ctx context.Context, in *GetBlockOnlyRequest, opts ...grpc.CallOption) (*GetBlockOnlyResponse, error) { out := new(GetBlockOnlyResponse) - err := c.cc.Invoke(ctx, Manager_GetBlockOnly_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.block.Manager/GetBlockOnly", in, out, opts...) if err != nil { return nil, err } @@ -111,7 +98,7 @@ func (c *managerClient) GetBlockOnly(ctx context.Context, in *GetBlockOnlyReques func (c *managerClient) GetBlocks(ctx context.Context, in *GetBlocksRequest, opts ...grpc.CallOption) (*GetBlocksResponse, error) { out := new(GetBlocksResponse) - err := c.cc.Invoke(ctx, Manager_GetBlocks_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.block.Manager/GetBlocks", in, out, opts...) if err != nil { return nil, err } @@ -120,7 +107,7 @@ func (c *managerClient) GetBlocks(ctx context.Context, in *GetBlocksRequest, opt func (c *managerClient) ExistBlock(ctx context.Context, in *ExistBlockRequest, opts ...grpc.CallOption) (*ExistBlockResponse, error) { out := new(ExistBlockResponse) - err := c.cc.Invoke(ctx, Manager_ExistBlock_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.block.Manager/ExistBlock", in, out, opts...) if err != nil { return nil, err } @@ -129,7 +116,7 @@ func (c *managerClient) ExistBlock(ctx context.Context, in *ExistBlockRequest, o func (c *managerClient) ExistBlockConds(ctx context.Context, in *ExistBlockCondsRequest, opts ...grpc.CallOption) (*ExistBlockCondsResponse, error) { out := new(ExistBlockCondsResponse) - err := c.cc.Invoke(ctx, Manager_ExistBlockConds_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.block.Manager/ExistBlockConds", in, out, opts...) if err != nil { return nil, err } @@ -138,7 +125,7 @@ func (c *managerClient) ExistBlockConds(ctx context.Context, in *ExistBlockConds func (c *managerClient) DeleteBlock(ctx context.Context, in *DeleteBlockRequest, opts ...grpc.CallOption) (*DeleteBlockResponse, error) { out := new(DeleteBlockResponse) - err := c.cc.Invoke(ctx, Manager_DeleteBlock_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.block.Manager/DeleteBlock", in, out, opts...) if err != nil { return nil, err } @@ -219,7 +206,7 @@ func _Manager_CreateBlock_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_CreateBlock_FullMethodName, + FullMethod: "/nftmeta.v1.block.Manager/CreateBlock", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).CreateBlock(ctx, req.(*CreateBlockRequest)) @@ -237,7 +224,7 @@ func _Manager_CreateBlocks_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_CreateBlocks_FullMethodName, + FullMethod: "/nftmeta.v1.block.Manager/CreateBlocks", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).CreateBlocks(ctx, req.(*CreateBlocksRequest)) @@ -255,7 +242,7 @@ func _Manager_UpsertBlock_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_UpsertBlock_FullMethodName, + FullMethod: "/nftmeta.v1.block.Manager/UpsertBlock", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).UpsertBlock(ctx, req.(*UpsertBlockRequest)) @@ -273,7 +260,7 @@ func _Manager_UpdateBlock_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_UpdateBlock_FullMethodName, + FullMethod: "/nftmeta.v1.block.Manager/UpdateBlock", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).UpdateBlock(ctx, req.(*UpdateBlockRequest)) @@ -291,7 +278,7 @@ func _Manager_GetBlock_Handler(srv interface{}, ctx context.Context, dec func(in } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetBlock_FullMethodName, + FullMethod: "/nftmeta.v1.block.Manager/GetBlock", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetBlock(ctx, req.(*GetBlockRequest)) @@ -309,7 +296,7 @@ func _Manager_GetBlockOnly_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetBlockOnly_FullMethodName, + FullMethod: "/nftmeta.v1.block.Manager/GetBlockOnly", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetBlockOnly(ctx, req.(*GetBlockOnlyRequest)) @@ -327,7 +314,7 @@ func _Manager_GetBlocks_Handler(srv interface{}, ctx context.Context, dec func(i } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetBlocks_FullMethodName, + FullMethod: "/nftmeta.v1.block.Manager/GetBlocks", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetBlocks(ctx, req.(*GetBlocksRequest)) @@ -345,7 +332,7 @@ func _Manager_ExistBlock_Handler(srv interface{}, ctx context.Context, dec func( } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_ExistBlock_FullMethodName, + FullMethod: "/nftmeta.v1.block.Manager/ExistBlock", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).ExistBlock(ctx, req.(*ExistBlockRequest)) @@ -363,7 +350,7 @@ func _Manager_ExistBlockConds_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_ExistBlockConds_FullMethodName, + FullMethod: "/nftmeta.v1.block.Manager/ExistBlockConds", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).ExistBlockConds(ctx, req.(*ExistBlockCondsRequest)) @@ -381,7 +368,7 @@ func _Manager_DeleteBlock_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_DeleteBlock_FullMethodName, + FullMethod: "/nftmeta.v1.block.Manager/DeleteBlock", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).DeleteBlock(ctx, req.(*DeleteBlockRequest)) diff --git a/proto/web3eye/nftmeta/v1/chain/chain.swagger.json b/proto/web3eye/nftmeta/v1/chain/chain.swagger.json index dd75a49e..27ebe109 100644 --- a/proto/web3eye/nftmeta/v1/chain/chain.swagger.json +++ b/proto/web3eye/nftmeta/v1/chain/chain.swagger.json @@ -105,6 +105,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/chain1Chain" } } @@ -156,6 +157,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/chain1Chain" } }, @@ -204,6 +206,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } diff --git a/proto/web3eye/nftmeta/v1/chain/chain_grpc.pb.go b/proto/web3eye/nftmeta/v1/chain/chain_grpc.pb.go index b9121141..2866b5a8 100644 --- a/proto/web3eye/nftmeta/v1/chain/chain_grpc.pb.go +++ b/proto/web3eye/nftmeta/v1/chain/chain_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.18.1 // source: web3eye/nftmeta/v1/chain/chain.proto @@ -18,18 +18,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Manager_CreateChain_FullMethodName = "/nftmeta.v1.chain1.Manager/CreateChain" - Manager_CreateChains_FullMethodName = "/nftmeta.v1.chain1.Manager/CreateChains" - Manager_UpdateChain_FullMethodName = "/nftmeta.v1.chain1.Manager/UpdateChain" - Manager_GetChain_FullMethodName = "/nftmeta.v1.chain1.Manager/GetChain" - Manager_GetChainOnly_FullMethodName = "/nftmeta.v1.chain1.Manager/GetChainOnly" - Manager_GetChains_FullMethodName = "/nftmeta.v1.chain1.Manager/GetChains" - Manager_ExistChain_FullMethodName = "/nftmeta.v1.chain1.Manager/ExistChain" - Manager_ExistChainConds_FullMethodName = "/nftmeta.v1.chain1.Manager/ExistChainConds" - Manager_DeleteChain_FullMethodName = "/nftmeta.v1.chain1.Manager/DeleteChain" -) - // ManagerClient is the client API for Manager 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. @@ -55,7 +43,7 @@ func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { func (c *managerClient) CreateChain(ctx context.Context, in *CreateChainRequest, opts ...grpc.CallOption) (*CreateChainResponse, error) { out := new(CreateChainResponse) - err := c.cc.Invoke(ctx, Manager_CreateChain_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.chain1.Manager/CreateChain", in, out, opts...) if err != nil { return nil, err } @@ -64,7 +52,7 @@ func (c *managerClient) CreateChain(ctx context.Context, in *CreateChainRequest, func (c *managerClient) CreateChains(ctx context.Context, in *CreateChainsRequest, opts ...grpc.CallOption) (*CreateChainsResponse, error) { out := new(CreateChainsResponse) - err := c.cc.Invoke(ctx, Manager_CreateChains_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.chain1.Manager/CreateChains", in, out, opts...) if err != nil { return nil, err } @@ -73,7 +61,7 @@ func (c *managerClient) CreateChains(ctx context.Context, in *CreateChainsReques func (c *managerClient) UpdateChain(ctx context.Context, in *UpdateChainRequest, opts ...grpc.CallOption) (*UpdateChainResponse, error) { out := new(UpdateChainResponse) - err := c.cc.Invoke(ctx, Manager_UpdateChain_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.chain1.Manager/UpdateChain", in, out, opts...) if err != nil { return nil, err } @@ -82,7 +70,7 @@ func (c *managerClient) UpdateChain(ctx context.Context, in *UpdateChainRequest, func (c *managerClient) GetChain(ctx context.Context, in *GetChainRequest, opts ...grpc.CallOption) (*GetChainResponse, error) { out := new(GetChainResponse) - err := c.cc.Invoke(ctx, Manager_GetChain_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.chain1.Manager/GetChain", in, out, opts...) if err != nil { return nil, err } @@ -91,7 +79,7 @@ func (c *managerClient) GetChain(ctx context.Context, in *GetChainRequest, opts func (c *managerClient) GetChainOnly(ctx context.Context, in *GetChainOnlyRequest, opts ...grpc.CallOption) (*GetChainOnlyResponse, error) { out := new(GetChainOnlyResponse) - err := c.cc.Invoke(ctx, Manager_GetChainOnly_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.chain1.Manager/GetChainOnly", in, out, opts...) if err != nil { return nil, err } @@ -100,7 +88,7 @@ func (c *managerClient) GetChainOnly(ctx context.Context, in *GetChainOnlyReques func (c *managerClient) GetChains(ctx context.Context, in *GetChainsRequest, opts ...grpc.CallOption) (*GetChainsResponse, error) { out := new(GetChainsResponse) - err := c.cc.Invoke(ctx, Manager_GetChains_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.chain1.Manager/GetChains", in, out, opts...) if err != nil { return nil, err } @@ -109,7 +97,7 @@ func (c *managerClient) GetChains(ctx context.Context, in *GetChainsRequest, opt func (c *managerClient) ExistChain(ctx context.Context, in *ExistChainRequest, opts ...grpc.CallOption) (*ExistChainResponse, error) { out := new(ExistChainResponse) - err := c.cc.Invoke(ctx, Manager_ExistChain_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.chain1.Manager/ExistChain", in, out, opts...) if err != nil { return nil, err } @@ -118,7 +106,7 @@ func (c *managerClient) ExistChain(ctx context.Context, in *ExistChainRequest, o func (c *managerClient) ExistChainConds(ctx context.Context, in *ExistChainCondsRequest, opts ...grpc.CallOption) (*ExistChainCondsResponse, error) { out := new(ExistChainCondsResponse) - err := c.cc.Invoke(ctx, Manager_ExistChainConds_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.chain1.Manager/ExistChainConds", in, out, opts...) if err != nil { return nil, err } @@ -127,7 +115,7 @@ func (c *managerClient) ExistChainConds(ctx context.Context, in *ExistChainConds func (c *managerClient) DeleteChain(ctx context.Context, in *DeleteChainRequest, opts ...grpc.CallOption) (*DeleteChainResponse, error) { out := new(DeleteChainResponse) - err := c.cc.Invoke(ctx, Manager_DeleteChain_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.chain1.Manager/DeleteChain", in, out, opts...) if err != nil { return nil, err } @@ -204,7 +192,7 @@ func _Manager_CreateChain_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_CreateChain_FullMethodName, + FullMethod: "/nftmeta.v1.chain1.Manager/CreateChain", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).CreateChain(ctx, req.(*CreateChainRequest)) @@ -222,7 +210,7 @@ func _Manager_CreateChains_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_CreateChains_FullMethodName, + FullMethod: "/nftmeta.v1.chain1.Manager/CreateChains", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).CreateChains(ctx, req.(*CreateChainsRequest)) @@ -240,7 +228,7 @@ func _Manager_UpdateChain_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_UpdateChain_FullMethodName, + FullMethod: "/nftmeta.v1.chain1.Manager/UpdateChain", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).UpdateChain(ctx, req.(*UpdateChainRequest)) @@ -258,7 +246,7 @@ func _Manager_GetChain_Handler(srv interface{}, ctx context.Context, dec func(in } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetChain_FullMethodName, + FullMethod: "/nftmeta.v1.chain1.Manager/GetChain", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetChain(ctx, req.(*GetChainRequest)) @@ -276,7 +264,7 @@ func _Manager_GetChainOnly_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetChainOnly_FullMethodName, + FullMethod: "/nftmeta.v1.chain1.Manager/GetChainOnly", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetChainOnly(ctx, req.(*GetChainOnlyRequest)) @@ -294,7 +282,7 @@ func _Manager_GetChains_Handler(srv interface{}, ctx context.Context, dec func(i } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetChains_FullMethodName, + FullMethod: "/nftmeta.v1.chain1.Manager/GetChains", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetChains(ctx, req.(*GetChainsRequest)) @@ -312,7 +300,7 @@ func _Manager_ExistChain_Handler(srv interface{}, ctx context.Context, dec func( } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_ExistChain_FullMethodName, + FullMethod: "/nftmeta.v1.chain1.Manager/ExistChain", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).ExistChain(ctx, req.(*ExistChainRequest)) @@ -330,7 +318,7 @@ func _Manager_ExistChainConds_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_ExistChainConds_FullMethodName, + FullMethod: "/nftmeta.v1.chain1.Manager/ExistChainConds", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).ExistChainConds(ctx, req.(*ExistChainCondsRequest)) @@ -348,7 +336,7 @@ func _Manager_DeleteChain_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_DeleteChain_FullMethodName, + FullMethod: "/nftmeta.v1.chain1.Manager/DeleteChain", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).DeleteChain(ctx, req.(*DeleteChainRequest)) diff --git a/proto/web3eye/nftmeta/v1/contract/contract.swagger.json b/proto/web3eye/nftmeta/v1/contract/contract.swagger.json index 171356c5..84a74b12 100644 --- a/proto/web3eye/nftmeta/v1/contract/contract.swagger.json +++ b/proto/web3eye/nftmeta/v1/contract/contract.swagger.json @@ -249,6 +249,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/contractContract" } } @@ -300,6 +301,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/contractContract" } }, @@ -347,6 +349,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } diff --git a/proto/web3eye/nftmeta/v1/contract/contract_grpc.pb.go b/proto/web3eye/nftmeta/v1/contract/contract_grpc.pb.go index 4bf6c554..c671095c 100644 --- a/proto/web3eye/nftmeta/v1/contract/contract_grpc.pb.go +++ b/proto/web3eye/nftmeta/v1/contract/contract_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.18.1 // source: web3eye/nftmeta/v1/contract/contract.proto @@ -18,19 +18,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Manager_CreateContract_FullMethodName = "/nftmeta.v1.contract.Manager/CreateContract" - Manager_CreateContracts_FullMethodName = "/nftmeta.v1.contract.Manager/CreateContracts" - Manager_UpdateContract_FullMethodName = "/nftmeta.v1.contract.Manager/UpdateContract" - Manager_UpsertContract_FullMethodName = "/nftmeta.v1.contract.Manager/UpsertContract" - Manager_GetContract_FullMethodName = "/nftmeta.v1.contract.Manager/GetContract" - Manager_GetContractOnly_FullMethodName = "/nftmeta.v1.contract.Manager/GetContractOnly" - Manager_GetContracts_FullMethodName = "/nftmeta.v1.contract.Manager/GetContracts" - Manager_ExistContract_FullMethodName = "/nftmeta.v1.contract.Manager/ExistContract" - Manager_ExistContractConds_FullMethodName = "/nftmeta.v1.contract.Manager/ExistContractConds" - Manager_DeleteContract_FullMethodName = "/nftmeta.v1.contract.Manager/DeleteContract" -) - // ManagerClient is the client API for Manager 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. @@ -57,7 +44,7 @@ func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { func (c *managerClient) CreateContract(ctx context.Context, in *CreateContractRequest, opts ...grpc.CallOption) (*CreateContractResponse, error) { out := new(CreateContractResponse) - err := c.cc.Invoke(ctx, Manager_CreateContract_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.contract.Manager/CreateContract", in, out, opts...) if err != nil { return nil, err } @@ -66,7 +53,7 @@ func (c *managerClient) CreateContract(ctx context.Context, in *CreateContractRe func (c *managerClient) CreateContracts(ctx context.Context, in *CreateContractsRequest, opts ...grpc.CallOption) (*CreateContractsResponse, error) { out := new(CreateContractsResponse) - err := c.cc.Invoke(ctx, Manager_CreateContracts_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.contract.Manager/CreateContracts", in, out, opts...) if err != nil { return nil, err } @@ -75,7 +62,7 @@ func (c *managerClient) CreateContracts(ctx context.Context, in *CreateContracts func (c *managerClient) UpdateContract(ctx context.Context, in *UpdateContractRequest, opts ...grpc.CallOption) (*UpdateContractResponse, error) { out := new(UpdateContractResponse) - err := c.cc.Invoke(ctx, Manager_UpdateContract_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.contract.Manager/UpdateContract", in, out, opts...) if err != nil { return nil, err } @@ -84,7 +71,7 @@ func (c *managerClient) UpdateContract(ctx context.Context, in *UpdateContractRe func (c *managerClient) UpsertContract(ctx context.Context, in *UpsertContractRequest, opts ...grpc.CallOption) (*UpsertContractResponse, error) { out := new(UpsertContractResponse) - err := c.cc.Invoke(ctx, Manager_UpsertContract_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.contract.Manager/UpsertContract", in, out, opts...) if err != nil { return nil, err } @@ -93,7 +80,7 @@ func (c *managerClient) UpsertContract(ctx context.Context, in *UpsertContractRe func (c *managerClient) GetContract(ctx context.Context, in *GetContractRequest, opts ...grpc.CallOption) (*GetContractResponse, error) { out := new(GetContractResponse) - err := c.cc.Invoke(ctx, Manager_GetContract_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.contract.Manager/GetContract", in, out, opts...) if err != nil { return nil, err } @@ -102,7 +89,7 @@ func (c *managerClient) GetContract(ctx context.Context, in *GetContractRequest, func (c *managerClient) GetContractOnly(ctx context.Context, in *GetContractOnlyRequest, opts ...grpc.CallOption) (*GetContractOnlyResponse, error) { out := new(GetContractOnlyResponse) - err := c.cc.Invoke(ctx, Manager_GetContractOnly_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.contract.Manager/GetContractOnly", in, out, opts...) if err != nil { return nil, err } @@ -111,7 +98,7 @@ func (c *managerClient) GetContractOnly(ctx context.Context, in *GetContractOnly func (c *managerClient) GetContracts(ctx context.Context, in *GetContractsRequest, opts ...grpc.CallOption) (*GetContractsResponse, error) { out := new(GetContractsResponse) - err := c.cc.Invoke(ctx, Manager_GetContracts_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.contract.Manager/GetContracts", in, out, opts...) if err != nil { return nil, err } @@ -120,7 +107,7 @@ func (c *managerClient) GetContracts(ctx context.Context, in *GetContractsReques func (c *managerClient) ExistContract(ctx context.Context, in *ExistContractRequest, opts ...grpc.CallOption) (*ExistContractResponse, error) { out := new(ExistContractResponse) - err := c.cc.Invoke(ctx, Manager_ExistContract_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.contract.Manager/ExistContract", in, out, opts...) if err != nil { return nil, err } @@ -129,7 +116,7 @@ func (c *managerClient) ExistContract(ctx context.Context, in *ExistContractRequ func (c *managerClient) ExistContractConds(ctx context.Context, in *ExistContractCondsRequest, opts ...grpc.CallOption) (*ExistContractCondsResponse, error) { out := new(ExistContractCondsResponse) - err := c.cc.Invoke(ctx, Manager_ExistContractConds_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.contract.Manager/ExistContractConds", in, out, opts...) if err != nil { return nil, err } @@ -138,7 +125,7 @@ func (c *managerClient) ExistContractConds(ctx context.Context, in *ExistContrac func (c *managerClient) DeleteContract(ctx context.Context, in *DeleteContractRequest, opts ...grpc.CallOption) (*DeleteContractResponse, error) { out := new(DeleteContractResponse) - err := c.cc.Invoke(ctx, Manager_DeleteContract_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.contract.Manager/DeleteContract", in, out, opts...) if err != nil { return nil, err } @@ -219,7 +206,7 @@ func _Manager_CreateContract_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_CreateContract_FullMethodName, + FullMethod: "/nftmeta.v1.contract.Manager/CreateContract", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).CreateContract(ctx, req.(*CreateContractRequest)) @@ -237,7 +224,7 @@ func _Manager_CreateContracts_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_CreateContracts_FullMethodName, + FullMethod: "/nftmeta.v1.contract.Manager/CreateContracts", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).CreateContracts(ctx, req.(*CreateContractsRequest)) @@ -255,7 +242,7 @@ func _Manager_UpdateContract_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_UpdateContract_FullMethodName, + FullMethod: "/nftmeta.v1.contract.Manager/UpdateContract", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).UpdateContract(ctx, req.(*UpdateContractRequest)) @@ -273,7 +260,7 @@ func _Manager_UpsertContract_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_UpsertContract_FullMethodName, + FullMethod: "/nftmeta.v1.contract.Manager/UpsertContract", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).UpsertContract(ctx, req.(*UpsertContractRequest)) @@ -291,7 +278,7 @@ func _Manager_GetContract_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetContract_FullMethodName, + FullMethod: "/nftmeta.v1.contract.Manager/GetContract", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetContract(ctx, req.(*GetContractRequest)) @@ -309,7 +296,7 @@ func _Manager_GetContractOnly_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetContractOnly_FullMethodName, + FullMethod: "/nftmeta.v1.contract.Manager/GetContractOnly", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetContractOnly(ctx, req.(*GetContractOnlyRequest)) @@ -327,7 +314,7 @@ func _Manager_GetContracts_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetContracts_FullMethodName, + FullMethod: "/nftmeta.v1.contract.Manager/GetContracts", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetContracts(ctx, req.(*GetContractsRequest)) @@ -345,7 +332,7 @@ func _Manager_ExistContract_Handler(srv interface{}, ctx context.Context, dec fu } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_ExistContract_FullMethodName, + FullMethod: "/nftmeta.v1.contract.Manager/ExistContract", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).ExistContract(ctx, req.(*ExistContractRequest)) @@ -363,7 +350,7 @@ func _Manager_ExistContractConds_Handler(srv interface{}, ctx context.Context, d } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_ExistContractConds_FullMethodName, + FullMethod: "/nftmeta.v1.contract.Manager/ExistContractConds", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).ExistContractConds(ctx, req.(*ExistContractCondsRequest)) @@ -381,7 +368,7 @@ func _Manager_DeleteContract_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_DeleteContract_FullMethodName, + FullMethod: "/nftmeta.v1.contract.Manager/DeleteContract", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).DeleteContract(ctx, req.(*DeleteContractRequest)) diff --git a/proto/web3eye/nftmeta/v1/endpoint/endpoint.pb.go b/proto/web3eye/nftmeta/v1/endpoint/endpoint.pb.go index 0572dce6..294ac856 100644 --- a/proto/web3eye/nftmeta/v1/endpoint/endpoint.pb.go +++ b/proto/web3eye/nftmeta/v1/endpoint/endpoint.pb.go @@ -33,7 +33,8 @@ type EndpointReq struct { ChainID *string `protobuf:"bytes,30,opt,name=ChainID,proto3,oneof" json:"ChainID,omitempty"` Address *string `protobuf:"bytes,40,opt,name=Address,proto3,oneof" json:"Address,omitempty"` State *v1.EndpointState `protobuf:"varint,50,opt,name=State,proto3,enum=chain.EndpointState,oneof" json:"State,omitempty"` - Remark *string `protobuf:"bytes,60,opt,name=Remark,proto3,oneof" json:"Remark,omitempty"` + RPS *uint32 `protobuf:"varint,60,opt,name=RPS,proto3,oneof" json:"RPS,omitempty"` + Remark *string `protobuf:"bytes,70,opt,name=Remark,proto3,oneof" json:"Remark,omitempty"` } func (x *EndpointReq) Reset() { @@ -110,6 +111,13 @@ func (x *EndpointReq) GetState() v1.EndpointState { return v1.EndpointState(0) } +func (x *EndpointReq) GetRPS() uint32 { + if x != nil && x.RPS != nil { + return *x.RPS + } + return 0 +} + func (x *EndpointReq) GetRemark() string { if x != nil && x.Remark != nil { return *x.Remark @@ -136,12 +144,14 @@ type Endpoint struct { // @inject_tag: sql:"state" StateStr string `protobuf:"bytes,50,opt,name=StateStr,proto3" json:"StateStr,omitempty" sql:"state"` State v1.EndpointState `protobuf:"varint,51,opt,name=State,proto3,enum=chain.EndpointState" json:"State,omitempty"` + // @inject_tag: sql:"rps" + RPS uint32 `protobuf:"varint,60,opt,name=RPS,proto3" json:"RPS,omitempty" sql:"rps"` // @inject_tag: sql:"remark" - Remark string `protobuf:"bytes,60,opt,name=Remark,proto3" json:"Remark,omitempty" sql:"remark"` + Remark string `protobuf:"bytes,70,opt,name=Remark,proto3" json:"Remark,omitempty" sql:"remark"` // @inject_tag: sql:"created_at" - CreatedAt uint32 `protobuf:"varint,70,opt,name=CreatedAt,proto3" json:"CreatedAt,omitempty" sql:"created_at"` + CreatedAt uint32 `protobuf:"varint,80,opt,name=CreatedAt,proto3" json:"CreatedAt,omitempty" sql:"created_at"` // @inject_tag: sql:"updated_at" - UpdatedAt uint32 `protobuf:"varint,80,opt,name=UpdatedAt,proto3" json:"UpdatedAt,omitempty" sql:"updated_at"` + UpdatedAt uint32 `protobuf:"varint,90,opt,name=UpdatedAt,proto3" json:"UpdatedAt,omitempty" sql:"updated_at"` } func (x *Endpoint) Reset() { @@ -232,6 +242,13 @@ func (x *Endpoint) GetState() v1.EndpointState { return v1.EndpointState(0) } +func (x *Endpoint) GetRPS() uint32 { + if x != nil { + return x.RPS + } + return 0 +} + func (x *Endpoint) GetRemark() string { if x != nil { return x.Remark @@ -264,7 +281,8 @@ type Conds struct { ChainID *web3eye.StringVal `protobuf:"bytes,30,opt,name=ChainID,proto3" json:"ChainID,omitempty"` Address *web3eye.StringVal `protobuf:"bytes,40,opt,name=Address,proto3" json:"Address,omitempty"` State *web3eye.Uint32Val `protobuf:"bytes,50,opt,name=State,proto3" json:"State,omitempty"` - Remark *web3eye.StringVal `protobuf:"bytes,60,opt,name=Remark,proto3" json:"Remark,omitempty"` + RPS *web3eye.Uint32Val `protobuf:"bytes,60,opt,name=RPS,proto3" json:"RPS,omitempty"` + Remark *web3eye.StringVal `protobuf:"bytes,70,opt,name=Remark,proto3" json:"Remark,omitempty"` EntIDs *web3eye.StringSliceVal `protobuf:"bytes,160,opt,name=EntIDs,proto3" json:"EntIDs,omitempty"` } @@ -342,6 +360,13 @@ func (x *Conds) GetState() *web3eye.Uint32Val { return nil } +func (x *Conds) GetRPS() *web3eye.Uint32Val { + if x != nil { + return x.RPS + } + return nil +} + func (x *Conds) GetRemark() *web3eye.StringVal { if x != nil { return x.Remark @@ -1385,7 +1410,7 @@ var file_web3eye_nftmeta_v1_endpoint_endpoint_proto_rawDesc = []byte{ 0x74, 0x1a, 0x15, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2f, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xca, 0x02, 0x0a, 0x0b, 0x45, 0x6e, + 0x61, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe9, 0x02, 0x0a, 0x0b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x13, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x02, 0x49, 0x44, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, @@ -1399,226 +1424,231 @@ var file_web3eye_nftmeta_v1_endpoint_endpoint_proto_rawDesc = []byte{ 0x52, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x48, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, - 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, - 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x49, - 0x44, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x45, 0x6e, 0x74, 0x49, 0x44, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, - 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x43, 0x68, - 0x61, 0x69, 0x6e, 0x49, 0x44, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0xd4, 0x02, 0x0a, 0x08, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x02, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x45, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x68, 0x61, - 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x72, 0x12, 0x2e, 0x0a, - 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x10, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x18, 0x32, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x12, 0x2a, 0x0a, - 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, - 0x61, 0x72, 0x6b, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, - 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x46, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, - 0x1c, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x50, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0xeb, 0x02, - 0x0a, 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, + 0x65, 0x48, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, + 0x03, 0x52, 0x50, 0x53, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x06, 0x52, 0x03, 0x52, 0x50, + 0x53, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x46, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x88, 0x01, + 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x49, 0x44, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x45, 0x6e, 0x74, + 0x49, 0x44, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x42, 0x0a, 0x0a, 0x08, + 0x5f, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x52, 0x50, 0x53, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x52, + 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0xe6, 0x02, 0x0a, 0x08, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, + 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x45, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x69, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x72, 0x12, 0x2e, 0x0a, 0x09, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x10, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, + 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x18, 0x32, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x12, 0x2a, 0x0a, 0x05, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x52, 0x50, 0x53, 0x18, + 0x3c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x52, 0x50, 0x53, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, + 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x46, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, + 0x72, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, + 0x50, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x1c, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x5a, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x91, + 0x03, 0x0a, 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x55, + 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x52, 0x02, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x05, + 0x45, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, + 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x52, + 0x05, 0x45, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x30, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, + 0x65, 0x79, 0x65, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x52, 0x09, 0x43, + 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x69, + 0x6e, 0x49, 0x44, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, + 0x65, 0x79, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x52, 0x07, 0x43, + 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x2c, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, + 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x52, 0x07, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x55, 0x69, - 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x52, 0x02, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x05, 0x45, - 0x6e, 0x74, 0x49, 0x44, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, - 0x33, 0x65, 0x79, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x52, 0x05, - 0x45, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x30, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, - 0x79, 0x65, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x52, 0x09, 0x43, 0x68, - 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, - 0x49, 0x44, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, - 0x79, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x52, 0x07, 0x43, 0x68, - 0x61, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x2c, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, - 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x52, 0x07, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x32, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x55, 0x69, 0x6e, - 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, - 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, - 0x6c, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x30, 0x0a, 0x06, 0x45, 0x6e, 0x74, - 0x49, 0x44, 0x73, 0x18, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x65, 0x62, - 0x33, 0x65, 0x79, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x6c, 0x69, 0x63, 0x65, - 0x56, 0x61, 0x6c, 0x52, 0x06, 0x45, 0x6e, 0x74, 0x49, 0x44, 0x73, 0x22, 0x4d, 0x0a, 0x15, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x4b, 0x0a, 0x16, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x50, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x36, 0x0a, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x52, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0x4e, 0x0a, 0x17, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x0a, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, - 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x52, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0x24, 0x0a, 0x12, 0x47, 0x65, 0x74, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x22, - 0x48, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, - 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x75, 0x0a, 0x13, 0x47, 0x65, 0x74, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x30, 0x0a, 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x05, 0x43, 0x6f, 0x6e, - 0x64, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x14, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x69, - 0x6d, 0x69, 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x22, 0x61, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x05, 0x49, 0x6e, 0x66, 0x6f, - 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, + 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x24, + 0x0a, 0x03, 0x52, 0x50, 0x53, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, + 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x52, + 0x03, 0x52, 0x50, 0x53, 0x12, 0x2a, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x46, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, + 0x12, 0x30, 0x0a, 0x06, 0x45, 0x6e, 0x74, 0x49, 0x44, 0x73, 0x18, 0xa0, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x56, 0x61, 0x6c, 0x52, 0x06, 0x45, 0x6e, 0x74, 0x49, + 0x44, 0x73, 0x22, 0x4d, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x04, 0x49, + 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x66, 0x74, 0x6d, + 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x52, 0x04, 0x49, 0x6e, 0x66, + 0x6f, 0x22, 0x4b, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x49, + 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x66, 0x74, 0x6d, + 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x50, + 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x05, 0x49, 0x6e, 0x66, 0x6f, + 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x14, 0x0a, - 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x54, 0x6f, - 0x74, 0x61, 0x6c, 0x22, 0x2e, 0x0a, 0x0a, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, - 0x44, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x53, 0x47, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x4d, 0x53, 0x47, 0x22, 0x4a, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, - 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, - 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x22, - 0x4c, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x6e, - 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x49, 0x6e, - 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, - 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x4d, 0x0a, - 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, - 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x4b, 0x0a, 0x16, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, - 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x50, 0x0a, 0x16, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x52, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0x50, 0x0a, 0x17, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, - 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, - 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x46, 0x61, 0x69, 0x6c, - 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0x26, 0x0a, - 0x14, 0x45, 0x78, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x02, 0x49, 0x44, 0x22, 0x2d, 0x0a, 0x15, 0x45, 0x78, 0x69, 0x73, 0x74, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x45, 0x78, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x45, - 0x78, 0x69, 0x73, 0x74, 0x22, 0x4d, 0x0a, 0x19, 0x45, 0x78, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x30, 0x0a, 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x05, 0x43, 0x6f, - 0x6e, 0x64, 0x73, 0x22, 0x32, 0x0a, 0x1a, 0x45, 0x78, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x78, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x05, 0x45, 0x78, 0x69, 0x73, 0x74, 0x22, 0x27, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, - 0x22, 0x4b, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x49, 0x6e, - 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, - 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x32, 0xce, 0x08, - 0x0a, 0x07, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x6b, 0x0a, 0x0e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2a, 0x2e, 0x6e, 0x66, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x52, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, + 0x22, 0x4e, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x05, 0x49, + 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x66, 0x74, + 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, + 0x22, 0x24, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x22, 0x48, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, + 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x66, + 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, + 0x22, 0x75, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, + 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, + 0x64, 0x73, 0x52, 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x66, 0x66, + 0x73, 0x65, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x61, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x33, 0x0a, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x05, 0x49, + 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x14, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x2e, 0x0a, 0x0a, 0x46, 0x61, + 0x69, 0x6c, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x53, 0x47, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x53, 0x47, 0x22, 0x4a, 0x0a, 0x16, 0x47, 0x65, + 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, + 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, + 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x4c, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x31, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x04, + 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x4d, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, + 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x66, + 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x52, 0x04, 0x49, + 0x6e, 0x66, 0x6f, 0x22, 0x4b, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, + 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, - 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6e, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2b, 0x2e, 0x6e, 0x66, 0x74, 0x6d, + 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, + 0x22, 0x50, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x05, 0x49, 0x6e, + 0x66, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, - 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6b, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2a, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, - 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, - 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x52, 0x05, 0x49, 0x6e, 0x66, + 0x6f, 0x73, 0x22, 0x50, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, + 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, + 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x49, + 0x6e, 0x66, 0x6f, 0x73, 0x22, 0x26, 0x0a, 0x14, 0x45, 0x78, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, + 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x22, 0x2d, 0x0a, 0x15, + 0x45, 0x78, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x78, 0x69, 0x73, 0x74, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x45, 0x78, 0x69, 0x73, 0x74, 0x22, 0x4d, 0x0a, 0x19, 0x45, + 0x78, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x64, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x05, 0x43, 0x6f, 0x6e, 0x64, + 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, + 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6f, + 0x6e, 0x64, 0x73, 0x52, 0x05, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x32, 0x0a, 0x1a, 0x45, 0x78, + 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x78, 0x69, 0x73, + 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x45, 0x78, 0x69, 0x73, 0x74, 0x22, 0x27, + 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x22, 0x4b, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x6e, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2b, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, - 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, - 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6e, 0x66, + 0x65, 0x12, 0x31, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x04, + 0x49, 0x6e, 0x66, 0x6f, 0x32, 0xce, 0x08, 0x0a, 0x07, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x12, 0x6b, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x12, 0x2a, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, + 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6e, 0x0a, + 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, + 0x12, 0x2b, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, + 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6b, 0x0a, + 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, + 0x2a, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6e, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x2b, 0x2e, 0x6e, 0x66, 0x74, + 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6e, 0x0a, 0x0f, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2b, 0x2e, + 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x6e, 0x6c, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, - 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, - 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x28, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, - 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, - 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x29, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x0b, 0x47, 0x65, + 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x6e, 0x66, 0x74, 0x6d, + 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6e, + 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x6e, 0x6c, + 0x79, 0x12, 0x2b, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x68, - 0x0a, 0x0d, 0x45, 0x78, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, - 0x29, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x6e, 0x66, 0x74, - 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x12, 0x45, 0x78, 0x69, 0x73, - 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x2e, + 0x69, 0x6e, 0x74, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, + 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x28, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x6b, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x12, 0x2a, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, - 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2b, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x41, - 0x5a, 0x3f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, - 0x33, 0x65, 0x79, 0x65, 0x2d, 0x69, 0x6f, 0x2f, 0x57, 0x65, 0x62, 0x33, 0x45, 0x79, 0x65, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2f, 0x6e, 0x66, - 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, + 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, + 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x68, 0x0a, 0x0d, 0x45, 0x78, 0x69, 0x73, 0x74, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x29, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, + 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x69, + 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2a, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x77, 0x0a, 0x12, 0x45, 0x78, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x2e, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, + 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x69, 0x73, + 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, + 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x69, 0x73, + 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6b, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2a, 0x2e, 0x6e, 0x66, 0x74, + 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, + 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x41, 0x5a, 0x3f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2d, 0x69, 0x6f, 0x2f, 0x57, + 0x65, 0x62, 0x33, 0x45, 0x79, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x77, 0x65, 0x62, + 0x33, 0x65, 0x79, 0x65, 0x2f, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1676,48 +1706,49 @@ var file_web3eye_nftmeta_v1_endpoint_endpoint_proto_depIdxs = []int32{ 27, // 7: nftmeta.v1.endpoint.Conds.ChainID:type_name -> web3eye.StringVal 27, // 8: nftmeta.v1.endpoint.Conds.Address:type_name -> web3eye.StringVal 26, // 9: nftmeta.v1.endpoint.Conds.State:type_name -> web3eye.Uint32Val - 27, // 10: nftmeta.v1.endpoint.Conds.Remark:type_name -> web3eye.StringVal - 28, // 11: nftmeta.v1.endpoint.Conds.EntIDs:type_name -> web3eye.StringSliceVal - 0, // 12: nftmeta.v1.endpoint.CreateEndpointRequest.Info:type_name -> nftmeta.v1.endpoint.EndpointReq - 1, // 13: nftmeta.v1.endpoint.CreateEndpointResponse.Info:type_name -> nftmeta.v1.endpoint.Endpoint - 0, // 14: nftmeta.v1.endpoint.CreateEndpointsRequest.Infos:type_name -> nftmeta.v1.endpoint.EndpointReq - 1, // 15: nftmeta.v1.endpoint.CreateEndpointsResponse.Infos:type_name -> nftmeta.v1.endpoint.Endpoint - 1, // 16: nftmeta.v1.endpoint.GetEndpointResponse.Info:type_name -> nftmeta.v1.endpoint.Endpoint - 2, // 17: nftmeta.v1.endpoint.GetEndpointsRequest.Conds:type_name -> nftmeta.v1.endpoint.Conds - 1, // 18: nftmeta.v1.endpoint.GetEndpointsResponse.Infos:type_name -> nftmeta.v1.endpoint.Endpoint - 2, // 19: nftmeta.v1.endpoint.GetEndpointOnlyRequest.Conds:type_name -> nftmeta.v1.endpoint.Conds - 1, // 20: nftmeta.v1.endpoint.GetEndpointOnlyResponse.Info:type_name -> nftmeta.v1.endpoint.Endpoint - 0, // 21: nftmeta.v1.endpoint.UpdateEndpointRequest.Info:type_name -> nftmeta.v1.endpoint.EndpointReq - 1, // 22: nftmeta.v1.endpoint.UpdateEndpointResponse.Info:type_name -> nftmeta.v1.endpoint.Endpoint - 0, // 23: nftmeta.v1.endpoint.UpdateEndpointsRequest.Infos:type_name -> nftmeta.v1.endpoint.EndpointReq - 11, // 24: nftmeta.v1.endpoint.UpdateEndpointsResponse.Infos:type_name -> nftmeta.v1.endpoint.FailedInfo - 2, // 25: nftmeta.v1.endpoint.ExistEndpointCondsRequest.Conds:type_name -> nftmeta.v1.endpoint.Conds - 1, // 26: nftmeta.v1.endpoint.DeleteEndpointResponse.Info:type_name -> nftmeta.v1.endpoint.Endpoint - 3, // 27: nftmeta.v1.endpoint.Manager.CreateEndpoint:input_type -> nftmeta.v1.endpoint.CreateEndpointRequest - 5, // 28: nftmeta.v1.endpoint.Manager.CreateEndpoints:input_type -> nftmeta.v1.endpoint.CreateEndpointsRequest - 14, // 29: nftmeta.v1.endpoint.Manager.UpdateEndpoint:input_type -> nftmeta.v1.endpoint.UpdateEndpointRequest - 16, // 30: nftmeta.v1.endpoint.Manager.UpdateEndpoints:input_type -> nftmeta.v1.endpoint.UpdateEndpointsRequest - 7, // 31: nftmeta.v1.endpoint.Manager.GetEndpoint:input_type -> nftmeta.v1.endpoint.GetEndpointRequest - 12, // 32: nftmeta.v1.endpoint.Manager.GetEndpointOnly:input_type -> nftmeta.v1.endpoint.GetEndpointOnlyRequest - 9, // 33: nftmeta.v1.endpoint.Manager.GetEndpoints:input_type -> nftmeta.v1.endpoint.GetEndpointsRequest - 18, // 34: nftmeta.v1.endpoint.Manager.ExistEndpoint:input_type -> nftmeta.v1.endpoint.ExistEndpointRequest - 20, // 35: nftmeta.v1.endpoint.Manager.ExistEndpointConds:input_type -> nftmeta.v1.endpoint.ExistEndpointCondsRequest - 22, // 36: nftmeta.v1.endpoint.Manager.DeleteEndpoint:input_type -> nftmeta.v1.endpoint.DeleteEndpointRequest - 4, // 37: nftmeta.v1.endpoint.Manager.CreateEndpoint:output_type -> nftmeta.v1.endpoint.CreateEndpointResponse - 6, // 38: nftmeta.v1.endpoint.Manager.CreateEndpoints:output_type -> nftmeta.v1.endpoint.CreateEndpointsResponse - 15, // 39: nftmeta.v1.endpoint.Manager.UpdateEndpoint:output_type -> nftmeta.v1.endpoint.UpdateEndpointResponse - 17, // 40: nftmeta.v1.endpoint.Manager.UpdateEndpoints:output_type -> nftmeta.v1.endpoint.UpdateEndpointsResponse - 8, // 41: nftmeta.v1.endpoint.Manager.GetEndpoint:output_type -> nftmeta.v1.endpoint.GetEndpointResponse - 13, // 42: nftmeta.v1.endpoint.Manager.GetEndpointOnly:output_type -> nftmeta.v1.endpoint.GetEndpointOnlyResponse - 10, // 43: nftmeta.v1.endpoint.Manager.GetEndpoints:output_type -> nftmeta.v1.endpoint.GetEndpointsResponse - 19, // 44: nftmeta.v1.endpoint.Manager.ExistEndpoint:output_type -> nftmeta.v1.endpoint.ExistEndpointResponse - 21, // 45: nftmeta.v1.endpoint.Manager.ExistEndpointConds:output_type -> nftmeta.v1.endpoint.ExistEndpointCondsResponse - 23, // 46: nftmeta.v1.endpoint.Manager.DeleteEndpoint:output_type -> nftmeta.v1.endpoint.DeleteEndpointResponse - 37, // [37:47] is the sub-list for method output_type - 27, // [27:37] is the sub-list for method input_type - 27, // [27:27] is the sub-list for extension type_name - 27, // [27:27] is the sub-list for extension extendee - 0, // [0:27] is the sub-list for field type_name + 26, // 10: nftmeta.v1.endpoint.Conds.RPS:type_name -> web3eye.Uint32Val + 27, // 11: nftmeta.v1.endpoint.Conds.Remark:type_name -> web3eye.StringVal + 28, // 12: nftmeta.v1.endpoint.Conds.EntIDs:type_name -> web3eye.StringSliceVal + 0, // 13: nftmeta.v1.endpoint.CreateEndpointRequest.Info:type_name -> nftmeta.v1.endpoint.EndpointReq + 1, // 14: nftmeta.v1.endpoint.CreateEndpointResponse.Info:type_name -> nftmeta.v1.endpoint.Endpoint + 0, // 15: nftmeta.v1.endpoint.CreateEndpointsRequest.Infos:type_name -> nftmeta.v1.endpoint.EndpointReq + 1, // 16: nftmeta.v1.endpoint.CreateEndpointsResponse.Infos:type_name -> nftmeta.v1.endpoint.Endpoint + 1, // 17: nftmeta.v1.endpoint.GetEndpointResponse.Info:type_name -> nftmeta.v1.endpoint.Endpoint + 2, // 18: nftmeta.v1.endpoint.GetEndpointsRequest.Conds:type_name -> nftmeta.v1.endpoint.Conds + 1, // 19: nftmeta.v1.endpoint.GetEndpointsResponse.Infos:type_name -> nftmeta.v1.endpoint.Endpoint + 2, // 20: nftmeta.v1.endpoint.GetEndpointOnlyRequest.Conds:type_name -> nftmeta.v1.endpoint.Conds + 1, // 21: nftmeta.v1.endpoint.GetEndpointOnlyResponse.Info:type_name -> nftmeta.v1.endpoint.Endpoint + 0, // 22: nftmeta.v1.endpoint.UpdateEndpointRequest.Info:type_name -> nftmeta.v1.endpoint.EndpointReq + 1, // 23: nftmeta.v1.endpoint.UpdateEndpointResponse.Info:type_name -> nftmeta.v1.endpoint.Endpoint + 0, // 24: nftmeta.v1.endpoint.UpdateEndpointsRequest.Infos:type_name -> nftmeta.v1.endpoint.EndpointReq + 11, // 25: nftmeta.v1.endpoint.UpdateEndpointsResponse.Infos:type_name -> nftmeta.v1.endpoint.FailedInfo + 2, // 26: nftmeta.v1.endpoint.ExistEndpointCondsRequest.Conds:type_name -> nftmeta.v1.endpoint.Conds + 1, // 27: nftmeta.v1.endpoint.DeleteEndpointResponse.Info:type_name -> nftmeta.v1.endpoint.Endpoint + 3, // 28: nftmeta.v1.endpoint.Manager.CreateEndpoint:input_type -> nftmeta.v1.endpoint.CreateEndpointRequest + 5, // 29: nftmeta.v1.endpoint.Manager.CreateEndpoints:input_type -> nftmeta.v1.endpoint.CreateEndpointsRequest + 14, // 30: nftmeta.v1.endpoint.Manager.UpdateEndpoint:input_type -> nftmeta.v1.endpoint.UpdateEndpointRequest + 16, // 31: nftmeta.v1.endpoint.Manager.UpdateEndpoints:input_type -> nftmeta.v1.endpoint.UpdateEndpointsRequest + 7, // 32: nftmeta.v1.endpoint.Manager.GetEndpoint:input_type -> nftmeta.v1.endpoint.GetEndpointRequest + 12, // 33: nftmeta.v1.endpoint.Manager.GetEndpointOnly:input_type -> nftmeta.v1.endpoint.GetEndpointOnlyRequest + 9, // 34: nftmeta.v1.endpoint.Manager.GetEndpoints:input_type -> nftmeta.v1.endpoint.GetEndpointsRequest + 18, // 35: nftmeta.v1.endpoint.Manager.ExistEndpoint:input_type -> nftmeta.v1.endpoint.ExistEndpointRequest + 20, // 36: nftmeta.v1.endpoint.Manager.ExistEndpointConds:input_type -> nftmeta.v1.endpoint.ExistEndpointCondsRequest + 22, // 37: nftmeta.v1.endpoint.Manager.DeleteEndpoint:input_type -> nftmeta.v1.endpoint.DeleteEndpointRequest + 4, // 38: nftmeta.v1.endpoint.Manager.CreateEndpoint:output_type -> nftmeta.v1.endpoint.CreateEndpointResponse + 6, // 39: nftmeta.v1.endpoint.Manager.CreateEndpoints:output_type -> nftmeta.v1.endpoint.CreateEndpointsResponse + 15, // 40: nftmeta.v1.endpoint.Manager.UpdateEndpoint:output_type -> nftmeta.v1.endpoint.UpdateEndpointResponse + 17, // 41: nftmeta.v1.endpoint.Manager.UpdateEndpoints:output_type -> nftmeta.v1.endpoint.UpdateEndpointsResponse + 8, // 42: nftmeta.v1.endpoint.Manager.GetEndpoint:output_type -> nftmeta.v1.endpoint.GetEndpointResponse + 13, // 43: nftmeta.v1.endpoint.Manager.GetEndpointOnly:output_type -> nftmeta.v1.endpoint.GetEndpointOnlyResponse + 10, // 44: nftmeta.v1.endpoint.Manager.GetEndpoints:output_type -> nftmeta.v1.endpoint.GetEndpointsResponse + 19, // 45: nftmeta.v1.endpoint.Manager.ExistEndpoint:output_type -> nftmeta.v1.endpoint.ExistEndpointResponse + 21, // 46: nftmeta.v1.endpoint.Manager.ExistEndpointConds:output_type -> nftmeta.v1.endpoint.ExistEndpointCondsResponse + 23, // 47: nftmeta.v1.endpoint.Manager.DeleteEndpoint:output_type -> nftmeta.v1.endpoint.DeleteEndpointResponse + 38, // [38:48] is the sub-list for method output_type + 28, // [28:38] is the sub-list for method input_type + 28, // [28:28] is the sub-list for extension type_name + 28, // [28:28] is the sub-list for extension extendee + 0, // [0:28] is the sub-list for field type_name } func init() { file_web3eye_nftmeta_v1_endpoint_endpoint_proto_init() } diff --git a/proto/web3eye/nftmeta/v1/endpoint/endpoint.proto b/proto/web3eye/nftmeta/v1/endpoint/endpoint.proto index da92ac52..79117e86 100644 --- a/proto/web3eye/nftmeta/v1/endpoint/endpoint.proto +++ b/proto/web3eye/nftmeta/v1/endpoint/endpoint.proto @@ -29,7 +29,8 @@ message EndpointReq { optional string ChainID = 30; optional string Address = 40; optional chain.EndpointState State = 50; - optional string Remark = 60; + optional uint32 RPS = 60; + optional string Remark = 70; } message Endpoint { @@ -47,12 +48,14 @@ message Endpoint { // @inject_tag: sql:"state" string StateStr = 50; chain.EndpointState State = 51; + // @inject_tag: sql:"rps" + uint32 RPS = 60; // @inject_tag: sql:"remark" - string Remark = 60; + string Remark = 70; // @inject_tag: sql:"created_at" - uint32 CreatedAt = 70; + uint32 CreatedAt = 80; // @inject_tag: sql:"updated_at" - uint32 UpdatedAt = 80; + uint32 UpdatedAt = 90; } message Conds { @@ -62,7 +65,8 @@ message Conds { web3eye.StringVal ChainID = 30; web3eye.StringVal Address = 40; web3eye.Uint32Val State = 50; - web3eye.StringVal Remark = 60; + web3eye.Uint32Val RPS = 60; + web3eye.StringVal Remark = 70; web3eye.StringSliceVal EntIDs = 160; } diff --git a/proto/web3eye/nftmeta/v1/endpoint/endpoint.swagger.json b/proto/web3eye/nftmeta/v1/endpoint/endpoint.swagger.json index 2d9c22b3..3eae48b6 100644 --- a/proto/web3eye/nftmeta/v1/endpoint/endpoint.swagger.json +++ b/proto/web3eye/nftmeta/v1/endpoint/endpoint.swagger.json @@ -57,6 +57,9 @@ "State": { "$ref": "#/definitions/web3eyeUint32Val" }, + "RPS": { + "$ref": "#/definitions/web3eyeUint32Val" + }, "Remark": { "$ref": "#/definitions/web3eyeStringVal" }, @@ -79,6 +82,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/endpointEndpoint" } } @@ -126,6 +130,11 @@ "State": { "$ref": "#/definitions/chainEndpointState" }, + "RPS": { + "type": "integer", + "format": "int64", + "title": "@inject_tag: sql:\"rps\"" + }, "Remark": { "type": "string", "title": "@inject_tag: sql:\"remark\"" @@ -164,6 +173,10 @@ "State": { "$ref": "#/definitions/chainEndpointState" }, + "RPS": { + "type": "integer", + "format": "int64" + }, "Remark": { "type": "string" } @@ -219,6 +232,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/endpointEndpoint" } }, @@ -242,6 +256,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/endpointFailedInfo" } } @@ -269,6 +284,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } diff --git a/proto/web3eye/nftmeta/v1/endpoint/endpoint_grpc.pb.go b/proto/web3eye/nftmeta/v1/endpoint/endpoint_grpc.pb.go index c890fbbc..89b1bfb9 100644 --- a/proto/web3eye/nftmeta/v1/endpoint/endpoint_grpc.pb.go +++ b/proto/web3eye/nftmeta/v1/endpoint/endpoint_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.18.1 // source: web3eye/nftmeta/v1/endpoint/endpoint.proto @@ -18,19 +18,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Manager_CreateEndpoint_FullMethodName = "/nftmeta.v1.endpoint.Manager/CreateEndpoint" - Manager_CreateEndpoints_FullMethodName = "/nftmeta.v1.endpoint.Manager/CreateEndpoints" - Manager_UpdateEndpoint_FullMethodName = "/nftmeta.v1.endpoint.Manager/UpdateEndpoint" - Manager_UpdateEndpoints_FullMethodName = "/nftmeta.v1.endpoint.Manager/UpdateEndpoints" - Manager_GetEndpoint_FullMethodName = "/nftmeta.v1.endpoint.Manager/GetEndpoint" - Manager_GetEndpointOnly_FullMethodName = "/nftmeta.v1.endpoint.Manager/GetEndpointOnly" - Manager_GetEndpoints_FullMethodName = "/nftmeta.v1.endpoint.Manager/GetEndpoints" - Manager_ExistEndpoint_FullMethodName = "/nftmeta.v1.endpoint.Manager/ExistEndpoint" - Manager_ExistEndpointConds_FullMethodName = "/nftmeta.v1.endpoint.Manager/ExistEndpointConds" - Manager_DeleteEndpoint_FullMethodName = "/nftmeta.v1.endpoint.Manager/DeleteEndpoint" -) - // ManagerClient is the client API for Manager 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. @@ -57,7 +44,7 @@ func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { func (c *managerClient) CreateEndpoint(ctx context.Context, in *CreateEndpointRequest, opts ...grpc.CallOption) (*CreateEndpointResponse, error) { out := new(CreateEndpointResponse) - err := c.cc.Invoke(ctx, Manager_CreateEndpoint_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.endpoint.Manager/CreateEndpoint", in, out, opts...) if err != nil { return nil, err } @@ -66,7 +53,7 @@ func (c *managerClient) CreateEndpoint(ctx context.Context, in *CreateEndpointRe func (c *managerClient) CreateEndpoints(ctx context.Context, in *CreateEndpointsRequest, opts ...grpc.CallOption) (*CreateEndpointsResponse, error) { out := new(CreateEndpointsResponse) - err := c.cc.Invoke(ctx, Manager_CreateEndpoints_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.endpoint.Manager/CreateEndpoints", in, out, opts...) if err != nil { return nil, err } @@ -75,7 +62,7 @@ func (c *managerClient) CreateEndpoints(ctx context.Context, in *CreateEndpoints func (c *managerClient) UpdateEndpoint(ctx context.Context, in *UpdateEndpointRequest, opts ...grpc.CallOption) (*UpdateEndpointResponse, error) { out := new(UpdateEndpointResponse) - err := c.cc.Invoke(ctx, Manager_UpdateEndpoint_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.endpoint.Manager/UpdateEndpoint", in, out, opts...) if err != nil { return nil, err } @@ -84,7 +71,7 @@ func (c *managerClient) UpdateEndpoint(ctx context.Context, in *UpdateEndpointRe func (c *managerClient) UpdateEndpoints(ctx context.Context, in *UpdateEndpointsRequest, opts ...grpc.CallOption) (*UpdateEndpointsResponse, error) { out := new(UpdateEndpointsResponse) - err := c.cc.Invoke(ctx, Manager_UpdateEndpoints_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.endpoint.Manager/UpdateEndpoints", in, out, opts...) if err != nil { return nil, err } @@ -93,7 +80,7 @@ func (c *managerClient) UpdateEndpoints(ctx context.Context, in *UpdateEndpoints func (c *managerClient) GetEndpoint(ctx context.Context, in *GetEndpointRequest, opts ...grpc.CallOption) (*GetEndpointResponse, error) { out := new(GetEndpointResponse) - err := c.cc.Invoke(ctx, Manager_GetEndpoint_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.endpoint.Manager/GetEndpoint", in, out, opts...) if err != nil { return nil, err } @@ -102,7 +89,7 @@ func (c *managerClient) GetEndpoint(ctx context.Context, in *GetEndpointRequest, func (c *managerClient) GetEndpointOnly(ctx context.Context, in *GetEndpointOnlyRequest, opts ...grpc.CallOption) (*GetEndpointOnlyResponse, error) { out := new(GetEndpointOnlyResponse) - err := c.cc.Invoke(ctx, Manager_GetEndpointOnly_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.endpoint.Manager/GetEndpointOnly", in, out, opts...) if err != nil { return nil, err } @@ -111,7 +98,7 @@ func (c *managerClient) GetEndpointOnly(ctx context.Context, in *GetEndpointOnly func (c *managerClient) GetEndpoints(ctx context.Context, in *GetEndpointsRequest, opts ...grpc.CallOption) (*GetEndpointsResponse, error) { out := new(GetEndpointsResponse) - err := c.cc.Invoke(ctx, Manager_GetEndpoints_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.endpoint.Manager/GetEndpoints", in, out, opts...) if err != nil { return nil, err } @@ -120,7 +107,7 @@ func (c *managerClient) GetEndpoints(ctx context.Context, in *GetEndpointsReques func (c *managerClient) ExistEndpoint(ctx context.Context, in *ExistEndpointRequest, opts ...grpc.CallOption) (*ExistEndpointResponse, error) { out := new(ExistEndpointResponse) - err := c.cc.Invoke(ctx, Manager_ExistEndpoint_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.endpoint.Manager/ExistEndpoint", in, out, opts...) if err != nil { return nil, err } @@ -129,7 +116,7 @@ func (c *managerClient) ExistEndpoint(ctx context.Context, in *ExistEndpointRequ func (c *managerClient) ExistEndpointConds(ctx context.Context, in *ExistEndpointCondsRequest, opts ...grpc.CallOption) (*ExistEndpointCondsResponse, error) { out := new(ExistEndpointCondsResponse) - err := c.cc.Invoke(ctx, Manager_ExistEndpointConds_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.endpoint.Manager/ExistEndpointConds", in, out, opts...) if err != nil { return nil, err } @@ -138,7 +125,7 @@ func (c *managerClient) ExistEndpointConds(ctx context.Context, in *ExistEndpoin func (c *managerClient) DeleteEndpoint(ctx context.Context, in *DeleteEndpointRequest, opts ...grpc.CallOption) (*DeleteEndpointResponse, error) { out := new(DeleteEndpointResponse) - err := c.cc.Invoke(ctx, Manager_DeleteEndpoint_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.endpoint.Manager/DeleteEndpoint", in, out, opts...) if err != nil { return nil, err } @@ -219,7 +206,7 @@ func _Manager_CreateEndpoint_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_CreateEndpoint_FullMethodName, + FullMethod: "/nftmeta.v1.endpoint.Manager/CreateEndpoint", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).CreateEndpoint(ctx, req.(*CreateEndpointRequest)) @@ -237,7 +224,7 @@ func _Manager_CreateEndpoints_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_CreateEndpoints_FullMethodName, + FullMethod: "/nftmeta.v1.endpoint.Manager/CreateEndpoints", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).CreateEndpoints(ctx, req.(*CreateEndpointsRequest)) @@ -255,7 +242,7 @@ func _Manager_UpdateEndpoint_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_UpdateEndpoint_FullMethodName, + FullMethod: "/nftmeta.v1.endpoint.Manager/UpdateEndpoint", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).UpdateEndpoint(ctx, req.(*UpdateEndpointRequest)) @@ -273,7 +260,7 @@ func _Manager_UpdateEndpoints_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_UpdateEndpoints_FullMethodName, + FullMethod: "/nftmeta.v1.endpoint.Manager/UpdateEndpoints", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).UpdateEndpoints(ctx, req.(*UpdateEndpointsRequest)) @@ -291,7 +278,7 @@ func _Manager_GetEndpoint_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetEndpoint_FullMethodName, + FullMethod: "/nftmeta.v1.endpoint.Manager/GetEndpoint", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetEndpoint(ctx, req.(*GetEndpointRequest)) @@ -309,7 +296,7 @@ func _Manager_GetEndpointOnly_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetEndpointOnly_FullMethodName, + FullMethod: "/nftmeta.v1.endpoint.Manager/GetEndpointOnly", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetEndpointOnly(ctx, req.(*GetEndpointOnlyRequest)) @@ -327,7 +314,7 @@ func _Manager_GetEndpoints_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetEndpoints_FullMethodName, + FullMethod: "/nftmeta.v1.endpoint.Manager/GetEndpoints", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetEndpoints(ctx, req.(*GetEndpointsRequest)) @@ -345,7 +332,7 @@ func _Manager_ExistEndpoint_Handler(srv interface{}, ctx context.Context, dec fu } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_ExistEndpoint_FullMethodName, + FullMethod: "/nftmeta.v1.endpoint.Manager/ExistEndpoint", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).ExistEndpoint(ctx, req.(*ExistEndpointRequest)) @@ -363,7 +350,7 @@ func _Manager_ExistEndpointConds_Handler(srv interface{}, ctx context.Context, d } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_ExistEndpointConds_FullMethodName, + FullMethod: "/nftmeta.v1.endpoint.Manager/ExistEndpointConds", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).ExistEndpointConds(ctx, req.(*ExistEndpointCondsRequest)) @@ -381,7 +368,7 @@ func _Manager_DeleteEndpoint_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_DeleteEndpoint_FullMethodName, + FullMethod: "/nftmeta.v1.endpoint.Manager/DeleteEndpoint", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).DeleteEndpoint(ctx, req.(*DeleteEndpointRequest)) diff --git a/proto/web3eye/nftmeta/v1/nftmetav1.pb.gw.go b/proto/web3eye/nftmeta/v1/nftmetav1.pb.gw.go index 92e5d9b1..3f2e4a37 100644 --- a/proto/web3eye/nftmeta/v1/nftmetav1.pb.gw.go +++ b/proto/web3eye/nftmeta/v1/nftmetav1.pb.gw.go @@ -78,20 +78,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/nftmeta.v1.Manager/Version", runtime.WithHTTPPathPattern("/v1/version")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/nftmeta.v1.Manager/Version", runtime.WithHTTPPathPattern("/v1/version")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_Version_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_Version_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_Version_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_Version_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -101,7 +103,7 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se // RegisterManagerHandlerFromEndpoint is same as RegisterManagerHandler but // automatically dials to "endpoint" and closes the connection when "ctx" gets done. func RegisterManagerHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.Dial(endpoint, opts...) + conn, err := grpc.DialContext(ctx, endpoint, opts...) if err != nil { return err } @@ -140,19 +142,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/nftmeta.v1.Manager/Version", runtime.WithHTTPPathPattern("/v1/version")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/nftmeta.v1.Manager/Version", runtime.WithHTTPPathPattern("/v1/version")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_Version_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_Version_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_Version_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_Version_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) diff --git a/proto/web3eye/nftmeta/v1/nftmetav1.swagger.json b/proto/web3eye/nftmeta/v1/nftmetav1.swagger.json index 9be9a5d6..15e08aba 100644 --- a/proto/web3eye/nftmeta/v1/nftmetav1.swagger.json +++ b/proto/web3eye/nftmeta/v1/nftmetav1.swagger.json @@ -39,6 +39,7 @@ "in": "body", "required": true, "schema": { + "type": "object", "properties": {} } } @@ -72,6 +73,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } diff --git a/proto/web3eye/nftmeta/v1/nftmetav1_grpc.pb.go b/proto/web3eye/nftmeta/v1/nftmetav1_grpc.pb.go index 3253cfa9..8f61d45d 100644 --- a/proto/web3eye/nftmeta/v1/nftmetav1_grpc.pb.go +++ b/proto/web3eye/nftmeta/v1/nftmetav1_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.18.1 // source: web3eye/nftmeta/v1/nftmetav1.proto @@ -20,10 +20,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Manager_Version_FullMethodName = "/nftmeta.v1.Manager/Version" -) - // ManagerClient is the client API for Manager 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. @@ -41,7 +37,7 @@ func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { func (c *managerClient) Version(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*web3eye.VersionResponse, error) { out := new(web3eye.VersionResponse) - err := c.cc.Invoke(ctx, Manager_Version_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.Manager/Version", in, out, opts...) if err != nil { return nil, err } @@ -86,7 +82,7 @@ func _Manager_Version_Handler(srv interface{}, ctx context.Context, dec func(int } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_Version_FullMethodName, + FullMethod: "/nftmeta.v1.Manager/Version", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).Version(ctx, req.(*emptypb.Empty)) diff --git a/proto/web3eye/nftmeta/v1/order/order.swagger.json b/proto/web3eye/nftmeta/v1/order/order.swagger.json index ad3fb957..45a6c6ab 100644 --- a/proto/web3eye/nftmeta/v1/order/order.swagger.json +++ b/proto/web3eye/nftmeta/v1/order/order.swagger.json @@ -93,6 +93,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/orderOrder" } } @@ -144,6 +145,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/orderOrder" } }, @@ -202,12 +204,14 @@ "TargetItems": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/orderOrderItem" } }, "OfferItems": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/orderOrderItem" } }, @@ -303,12 +307,14 @@ "TargetItems": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/orderOrderItem" } }, "OfferItems": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/orderOrderItem" } }, @@ -339,6 +345,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/orderOrder" } } @@ -366,6 +373,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } diff --git a/proto/web3eye/nftmeta/v1/order/order_grpc.pb.go b/proto/web3eye/nftmeta/v1/order/order_grpc.pb.go index f70759b5..8666d9e1 100644 --- a/proto/web3eye/nftmeta/v1/order/order_grpc.pb.go +++ b/proto/web3eye/nftmeta/v1/order/order_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.18.1 // source: web3eye/nftmeta/v1/order/order.proto @@ -18,20 +18,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Manager_CreateOrder_FullMethodName = "/nftmeta.v1.order.Manager/CreateOrder" - Manager_CreateOrders_FullMethodName = "/nftmeta.v1.order.Manager/CreateOrders" - Manager_UpsertOrder_FullMethodName = "/nftmeta.v1.order.Manager/UpsertOrder" - Manager_UpsertOrders_FullMethodName = "/nftmeta.v1.order.Manager/UpsertOrders" - Manager_UpdateOrder_FullMethodName = "/nftmeta.v1.order.Manager/UpdateOrder" - Manager_GetOrder_FullMethodName = "/nftmeta.v1.order.Manager/GetOrder" - Manager_GetOrderOnly_FullMethodName = "/nftmeta.v1.order.Manager/GetOrderOnly" - Manager_GetOrders_FullMethodName = "/nftmeta.v1.order.Manager/GetOrders" - Manager_ExistOrder_FullMethodName = "/nftmeta.v1.order.Manager/ExistOrder" - Manager_ExistOrderConds_FullMethodName = "/nftmeta.v1.order.Manager/ExistOrderConds" - Manager_DeleteOrder_FullMethodName = "/nftmeta.v1.order.Manager/DeleteOrder" -) - // ManagerClient is the client API for Manager 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. @@ -59,7 +45,7 @@ func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { func (c *managerClient) CreateOrder(ctx context.Context, in *CreateOrderRequest, opts ...grpc.CallOption) (*CreateOrderResponse, error) { out := new(CreateOrderResponse) - err := c.cc.Invoke(ctx, Manager_CreateOrder_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.order.Manager/CreateOrder", in, out, opts...) if err != nil { return nil, err } @@ -68,7 +54,7 @@ func (c *managerClient) CreateOrder(ctx context.Context, in *CreateOrderRequest, func (c *managerClient) CreateOrders(ctx context.Context, in *CreateOrdersRequest, opts ...grpc.CallOption) (*CreateOrdersResponse, error) { out := new(CreateOrdersResponse) - err := c.cc.Invoke(ctx, Manager_CreateOrders_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.order.Manager/CreateOrders", in, out, opts...) if err != nil { return nil, err } @@ -77,7 +63,7 @@ func (c *managerClient) CreateOrders(ctx context.Context, in *CreateOrdersReques func (c *managerClient) UpsertOrder(ctx context.Context, in *UpsertOrderRequest, opts ...grpc.CallOption) (*UpsertOrderResponse, error) { out := new(UpsertOrderResponse) - err := c.cc.Invoke(ctx, Manager_UpsertOrder_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.order.Manager/UpsertOrder", in, out, opts...) if err != nil { return nil, err } @@ -86,7 +72,7 @@ func (c *managerClient) UpsertOrder(ctx context.Context, in *UpsertOrderRequest, func (c *managerClient) UpsertOrders(ctx context.Context, in *UpsertOrdersRequest, opts ...grpc.CallOption) (*UpsertOrdersResponse, error) { out := new(UpsertOrdersResponse) - err := c.cc.Invoke(ctx, Manager_UpsertOrders_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.order.Manager/UpsertOrders", in, out, opts...) if err != nil { return nil, err } @@ -95,7 +81,7 @@ func (c *managerClient) UpsertOrders(ctx context.Context, in *UpsertOrdersReques func (c *managerClient) UpdateOrder(ctx context.Context, in *UpdateOrderRequest, opts ...grpc.CallOption) (*UpdateOrderResponse, error) { out := new(UpdateOrderResponse) - err := c.cc.Invoke(ctx, Manager_UpdateOrder_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.order.Manager/UpdateOrder", in, out, opts...) if err != nil { return nil, err } @@ -104,7 +90,7 @@ func (c *managerClient) UpdateOrder(ctx context.Context, in *UpdateOrderRequest, func (c *managerClient) GetOrder(ctx context.Context, in *GetOrderRequest, opts ...grpc.CallOption) (*GetOrderResponse, error) { out := new(GetOrderResponse) - err := c.cc.Invoke(ctx, Manager_GetOrder_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.order.Manager/GetOrder", in, out, opts...) if err != nil { return nil, err } @@ -113,7 +99,7 @@ func (c *managerClient) GetOrder(ctx context.Context, in *GetOrderRequest, opts func (c *managerClient) GetOrderOnly(ctx context.Context, in *GetOrderOnlyRequest, opts ...grpc.CallOption) (*GetOrderOnlyResponse, error) { out := new(GetOrderOnlyResponse) - err := c.cc.Invoke(ctx, Manager_GetOrderOnly_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.order.Manager/GetOrderOnly", in, out, opts...) if err != nil { return nil, err } @@ -122,7 +108,7 @@ func (c *managerClient) GetOrderOnly(ctx context.Context, in *GetOrderOnlyReques func (c *managerClient) GetOrders(ctx context.Context, in *GetOrdersRequest, opts ...grpc.CallOption) (*GetOrdersResponse, error) { out := new(GetOrdersResponse) - err := c.cc.Invoke(ctx, Manager_GetOrders_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.order.Manager/GetOrders", in, out, opts...) if err != nil { return nil, err } @@ -131,7 +117,7 @@ func (c *managerClient) GetOrders(ctx context.Context, in *GetOrdersRequest, opt func (c *managerClient) ExistOrder(ctx context.Context, in *ExistOrderRequest, opts ...grpc.CallOption) (*ExistOrderResponse, error) { out := new(ExistOrderResponse) - err := c.cc.Invoke(ctx, Manager_ExistOrder_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.order.Manager/ExistOrder", in, out, opts...) if err != nil { return nil, err } @@ -140,7 +126,7 @@ func (c *managerClient) ExistOrder(ctx context.Context, in *ExistOrderRequest, o func (c *managerClient) ExistOrderConds(ctx context.Context, in *ExistOrderCondsRequest, opts ...grpc.CallOption) (*ExistOrderCondsResponse, error) { out := new(ExistOrderCondsResponse) - err := c.cc.Invoke(ctx, Manager_ExistOrderConds_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.order.Manager/ExistOrderConds", in, out, opts...) if err != nil { return nil, err } @@ -149,7 +135,7 @@ func (c *managerClient) ExistOrderConds(ctx context.Context, in *ExistOrderConds func (c *managerClient) DeleteOrder(ctx context.Context, in *DeleteOrderRequest, opts ...grpc.CallOption) (*DeleteOrderResponse, error) { out := new(DeleteOrderResponse) - err := c.cc.Invoke(ctx, Manager_DeleteOrder_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.order.Manager/DeleteOrder", in, out, opts...) if err != nil { return nil, err } @@ -234,7 +220,7 @@ func _Manager_CreateOrder_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_CreateOrder_FullMethodName, + FullMethod: "/nftmeta.v1.order.Manager/CreateOrder", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).CreateOrder(ctx, req.(*CreateOrderRequest)) @@ -252,7 +238,7 @@ func _Manager_CreateOrders_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_CreateOrders_FullMethodName, + FullMethod: "/nftmeta.v1.order.Manager/CreateOrders", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).CreateOrders(ctx, req.(*CreateOrdersRequest)) @@ -270,7 +256,7 @@ func _Manager_UpsertOrder_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_UpsertOrder_FullMethodName, + FullMethod: "/nftmeta.v1.order.Manager/UpsertOrder", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).UpsertOrder(ctx, req.(*UpsertOrderRequest)) @@ -288,7 +274,7 @@ func _Manager_UpsertOrders_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_UpsertOrders_FullMethodName, + FullMethod: "/nftmeta.v1.order.Manager/UpsertOrders", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).UpsertOrders(ctx, req.(*UpsertOrdersRequest)) @@ -306,7 +292,7 @@ func _Manager_UpdateOrder_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_UpdateOrder_FullMethodName, + FullMethod: "/nftmeta.v1.order.Manager/UpdateOrder", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).UpdateOrder(ctx, req.(*UpdateOrderRequest)) @@ -324,7 +310,7 @@ func _Manager_GetOrder_Handler(srv interface{}, ctx context.Context, dec func(in } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetOrder_FullMethodName, + FullMethod: "/nftmeta.v1.order.Manager/GetOrder", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetOrder(ctx, req.(*GetOrderRequest)) @@ -342,7 +328,7 @@ func _Manager_GetOrderOnly_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetOrderOnly_FullMethodName, + FullMethod: "/nftmeta.v1.order.Manager/GetOrderOnly", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetOrderOnly(ctx, req.(*GetOrderOnlyRequest)) @@ -360,7 +346,7 @@ func _Manager_GetOrders_Handler(srv interface{}, ctx context.Context, dec func(i } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetOrders_FullMethodName, + FullMethod: "/nftmeta.v1.order.Manager/GetOrders", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetOrders(ctx, req.(*GetOrdersRequest)) @@ -378,7 +364,7 @@ func _Manager_ExistOrder_Handler(srv interface{}, ctx context.Context, dec func( } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_ExistOrder_FullMethodName, + FullMethod: "/nftmeta.v1.order.Manager/ExistOrder", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).ExistOrder(ctx, req.(*ExistOrderRequest)) @@ -396,7 +382,7 @@ func _Manager_ExistOrderConds_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_ExistOrderConds_FullMethodName, + FullMethod: "/nftmeta.v1.order.Manager/ExistOrderConds", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).ExistOrderConds(ctx, req.(*ExistOrderCondsRequest)) @@ -414,7 +400,7 @@ func _Manager_DeleteOrder_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_DeleteOrder_FullMethodName, + FullMethod: "/nftmeta.v1.order.Manager/DeleteOrder", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).DeleteOrder(ctx, req.(*DeleteOrderRequest)) diff --git a/proto/web3eye/nftmeta/v1/snapshot/snapshot.swagger.json b/proto/web3eye/nftmeta/v1/snapshot/snapshot.swagger.json index 0d96ed27..a5b18f28 100644 --- a/proto/web3eye/nftmeta/v1/snapshot/snapshot.swagger.json +++ b/proto/web3eye/nftmeta/v1/snapshot/snapshot.swagger.json @@ -39,6 +39,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } @@ -87,6 +88,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/snapshotSnapshot" } } @@ -138,6 +140,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/snapshotSnapshot" } }, diff --git a/proto/web3eye/nftmeta/v1/snapshot/snapshot_grpc.pb.go b/proto/web3eye/nftmeta/v1/snapshot/snapshot_grpc.pb.go index 8c5a45e2..e772a08f 100644 --- a/proto/web3eye/nftmeta/v1/snapshot/snapshot_grpc.pb.go +++ b/proto/web3eye/nftmeta/v1/snapshot/snapshot_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.18.1 // source: web3eye/nftmeta/v1/snapshot/snapshot.proto @@ -18,18 +18,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Manager_CreateSnapshot_FullMethodName = "/nftmeta.v1.snapshot.Manager/CreateSnapshot" - Manager_CreateSnapshots_FullMethodName = "/nftmeta.v1.snapshot.Manager/CreateSnapshots" - Manager_UpdateSnapshot_FullMethodName = "/nftmeta.v1.snapshot.Manager/UpdateSnapshot" - Manager_GetSnapshot_FullMethodName = "/nftmeta.v1.snapshot.Manager/GetSnapshot" - Manager_GetSnapshotOnly_FullMethodName = "/nftmeta.v1.snapshot.Manager/GetSnapshotOnly" - Manager_GetSnapshots_FullMethodName = "/nftmeta.v1.snapshot.Manager/GetSnapshots" - Manager_ExistSnapshot_FullMethodName = "/nftmeta.v1.snapshot.Manager/ExistSnapshot" - Manager_ExistSnapshotConds_FullMethodName = "/nftmeta.v1.snapshot.Manager/ExistSnapshotConds" - Manager_DeleteSnapshot_FullMethodName = "/nftmeta.v1.snapshot.Manager/DeleteSnapshot" -) - // ManagerClient is the client API for Manager 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. @@ -55,7 +43,7 @@ func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { func (c *managerClient) CreateSnapshot(ctx context.Context, in *CreateSnapshotRequest, opts ...grpc.CallOption) (*CreateSnapshotResponse, error) { out := new(CreateSnapshotResponse) - err := c.cc.Invoke(ctx, Manager_CreateSnapshot_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.snapshot.Manager/CreateSnapshot", in, out, opts...) if err != nil { return nil, err } @@ -64,7 +52,7 @@ func (c *managerClient) CreateSnapshot(ctx context.Context, in *CreateSnapshotRe func (c *managerClient) CreateSnapshots(ctx context.Context, in *CreateSnapshotsRequest, opts ...grpc.CallOption) (*CreateSnapshotsResponse, error) { out := new(CreateSnapshotsResponse) - err := c.cc.Invoke(ctx, Manager_CreateSnapshots_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.snapshot.Manager/CreateSnapshots", in, out, opts...) if err != nil { return nil, err } @@ -73,7 +61,7 @@ func (c *managerClient) CreateSnapshots(ctx context.Context, in *CreateSnapshots func (c *managerClient) UpdateSnapshot(ctx context.Context, in *UpdateSnapshotRequest, opts ...grpc.CallOption) (*UpdateSnapshotResponse, error) { out := new(UpdateSnapshotResponse) - err := c.cc.Invoke(ctx, Manager_UpdateSnapshot_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.snapshot.Manager/UpdateSnapshot", in, out, opts...) if err != nil { return nil, err } @@ -82,7 +70,7 @@ func (c *managerClient) UpdateSnapshot(ctx context.Context, in *UpdateSnapshotRe func (c *managerClient) GetSnapshot(ctx context.Context, in *GetSnapshotRequest, opts ...grpc.CallOption) (*GetSnapshotResponse, error) { out := new(GetSnapshotResponse) - err := c.cc.Invoke(ctx, Manager_GetSnapshot_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.snapshot.Manager/GetSnapshot", in, out, opts...) if err != nil { return nil, err } @@ -91,7 +79,7 @@ func (c *managerClient) GetSnapshot(ctx context.Context, in *GetSnapshotRequest, func (c *managerClient) GetSnapshotOnly(ctx context.Context, in *GetSnapshotOnlyRequest, opts ...grpc.CallOption) (*GetSnapshotOnlyResponse, error) { out := new(GetSnapshotOnlyResponse) - err := c.cc.Invoke(ctx, Manager_GetSnapshotOnly_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.snapshot.Manager/GetSnapshotOnly", in, out, opts...) if err != nil { return nil, err } @@ -100,7 +88,7 @@ func (c *managerClient) GetSnapshotOnly(ctx context.Context, in *GetSnapshotOnly func (c *managerClient) GetSnapshots(ctx context.Context, in *GetSnapshotsRequest, opts ...grpc.CallOption) (*GetSnapshotsResponse, error) { out := new(GetSnapshotsResponse) - err := c.cc.Invoke(ctx, Manager_GetSnapshots_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.snapshot.Manager/GetSnapshots", in, out, opts...) if err != nil { return nil, err } @@ -109,7 +97,7 @@ func (c *managerClient) GetSnapshots(ctx context.Context, in *GetSnapshotsReques func (c *managerClient) ExistSnapshot(ctx context.Context, in *ExistSnapshotRequest, opts ...grpc.CallOption) (*ExistSnapshotResponse, error) { out := new(ExistSnapshotResponse) - err := c.cc.Invoke(ctx, Manager_ExistSnapshot_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.snapshot.Manager/ExistSnapshot", in, out, opts...) if err != nil { return nil, err } @@ -118,7 +106,7 @@ func (c *managerClient) ExistSnapshot(ctx context.Context, in *ExistSnapshotRequ func (c *managerClient) ExistSnapshotConds(ctx context.Context, in *ExistSnapshotCondsRequest, opts ...grpc.CallOption) (*ExistSnapshotCondsResponse, error) { out := new(ExistSnapshotCondsResponse) - err := c.cc.Invoke(ctx, Manager_ExistSnapshotConds_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.snapshot.Manager/ExistSnapshotConds", in, out, opts...) if err != nil { return nil, err } @@ -127,7 +115,7 @@ func (c *managerClient) ExistSnapshotConds(ctx context.Context, in *ExistSnapsho func (c *managerClient) DeleteSnapshot(ctx context.Context, in *DeleteSnapshotRequest, opts ...grpc.CallOption) (*DeleteSnapshotResponse, error) { out := new(DeleteSnapshotResponse) - err := c.cc.Invoke(ctx, Manager_DeleteSnapshot_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.snapshot.Manager/DeleteSnapshot", in, out, opts...) if err != nil { return nil, err } @@ -204,7 +192,7 @@ func _Manager_CreateSnapshot_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_CreateSnapshot_FullMethodName, + FullMethod: "/nftmeta.v1.snapshot.Manager/CreateSnapshot", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).CreateSnapshot(ctx, req.(*CreateSnapshotRequest)) @@ -222,7 +210,7 @@ func _Manager_CreateSnapshots_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_CreateSnapshots_FullMethodName, + FullMethod: "/nftmeta.v1.snapshot.Manager/CreateSnapshots", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).CreateSnapshots(ctx, req.(*CreateSnapshotsRequest)) @@ -240,7 +228,7 @@ func _Manager_UpdateSnapshot_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_UpdateSnapshot_FullMethodName, + FullMethod: "/nftmeta.v1.snapshot.Manager/UpdateSnapshot", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).UpdateSnapshot(ctx, req.(*UpdateSnapshotRequest)) @@ -258,7 +246,7 @@ func _Manager_GetSnapshot_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetSnapshot_FullMethodName, + FullMethod: "/nftmeta.v1.snapshot.Manager/GetSnapshot", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetSnapshot(ctx, req.(*GetSnapshotRequest)) @@ -276,7 +264,7 @@ func _Manager_GetSnapshotOnly_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetSnapshotOnly_FullMethodName, + FullMethod: "/nftmeta.v1.snapshot.Manager/GetSnapshotOnly", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetSnapshotOnly(ctx, req.(*GetSnapshotOnlyRequest)) @@ -294,7 +282,7 @@ func _Manager_GetSnapshots_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetSnapshots_FullMethodName, + FullMethod: "/nftmeta.v1.snapshot.Manager/GetSnapshots", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetSnapshots(ctx, req.(*GetSnapshotsRequest)) @@ -312,7 +300,7 @@ func _Manager_ExistSnapshot_Handler(srv interface{}, ctx context.Context, dec fu } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_ExistSnapshot_FullMethodName, + FullMethod: "/nftmeta.v1.snapshot.Manager/ExistSnapshot", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).ExistSnapshot(ctx, req.(*ExistSnapshotRequest)) @@ -330,7 +318,7 @@ func _Manager_ExistSnapshotConds_Handler(srv interface{}, ctx context.Context, d } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_ExistSnapshotConds_FullMethodName, + FullMethod: "/nftmeta.v1.snapshot.Manager/ExistSnapshotConds", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).ExistSnapshotConds(ctx, req.(*ExistSnapshotCondsRequest)) @@ -348,7 +336,7 @@ func _Manager_DeleteSnapshot_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_DeleteSnapshot_FullMethodName, + FullMethod: "/nftmeta.v1.snapshot.Manager/DeleteSnapshot", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).DeleteSnapshot(ctx, req.(*DeleteSnapshotRequest)) diff --git a/proto/web3eye/nftmeta/v1/synctask/synctask.pb.gw.go b/proto/web3eye/nftmeta/v1/synctask/synctask.pb.gw.go index f90ba2ef..0a8a4988 100644 --- a/proto/web3eye/nftmeta/v1/synctask/synctask.pb.gw.go +++ b/proto/web3eye/nftmeta/v1/synctask/synctask.pb.gw.go @@ -315,20 +315,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/CreateSyncTask", runtime.WithHTTPPathPattern("/v1/create/synctask")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/CreateSyncTask", runtime.WithHTTPPathPattern("/v1/create/synctask")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_CreateSyncTask_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_CreateSyncTask_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_CreateSyncTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_CreateSyncTask_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -338,20 +340,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/UpdateSyncTask", runtime.WithHTTPPathPattern("/v1/update/synctask")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/UpdateSyncTask", runtime.WithHTTPPathPattern("/v1/update/synctask")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_UpdateSyncTask_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_UpdateSyncTask_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_UpdateSyncTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_UpdateSyncTask_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -361,20 +365,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/GetSyncTask", runtime.WithHTTPPathPattern("/v1/get/synctask")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/GetSyncTask", runtime.WithHTTPPathPattern("/v1/get/synctask")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_GetSyncTask_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_GetSyncTask_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_GetSyncTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_GetSyncTask_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -384,20 +390,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/GetSyncTaskOnly", runtime.WithHTTPPathPattern("/v1/get/synctask/only")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/GetSyncTaskOnly", runtime.WithHTTPPathPattern("/v1/get/synctask/only")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_GetSyncTaskOnly_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_GetSyncTaskOnly_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_GetSyncTaskOnly_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_GetSyncTaskOnly_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -407,20 +415,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/GetSyncTasks", runtime.WithHTTPPathPattern("/v1/get/synctasks")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/GetSyncTasks", runtime.WithHTTPPathPattern("/v1/get/synctasks")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_GetSyncTasks_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_GetSyncTasks_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_GetSyncTasks_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_GetSyncTasks_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -430,20 +440,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/ExistSyncTask", runtime.WithHTTPPathPattern("/v1/exist/synctask")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/ExistSyncTask", runtime.WithHTTPPathPattern("/v1/exist/synctask")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_ExistSyncTask_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_ExistSyncTask_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_ExistSyncTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_ExistSyncTask_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -453,20 +465,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/ExistSyncTaskConds", runtime.WithHTTPPathPattern("/v1/exist/synctask/conds")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/ExistSyncTaskConds", runtime.WithHTTPPathPattern("/v1/exist/synctask/conds")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_ExistSyncTaskConds_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_ExistSyncTaskConds_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_ExistSyncTaskConds_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_ExistSyncTaskConds_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -476,20 +490,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/DeleteSyncTask", runtime.WithHTTPPathPattern("/v1/delete/synctask")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/DeleteSyncTask", runtime.WithHTTPPathPattern("/v1/delete/synctask")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_DeleteSyncTask_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_DeleteSyncTask_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_DeleteSyncTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_DeleteSyncTask_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -499,7 +515,7 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se // RegisterManagerHandlerFromEndpoint is same as RegisterManagerHandler but // automatically dials to "endpoint" and closes the connection when "ctx" gets done. func RegisterManagerHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.Dial(endpoint, opts...) + conn, err := grpc.DialContext(ctx, endpoint, opts...) if err != nil { return err } @@ -538,19 +554,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/CreateSyncTask", runtime.WithHTTPPathPattern("/v1/create/synctask")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/CreateSyncTask", runtime.WithHTTPPathPattern("/v1/create/synctask")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_CreateSyncTask_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_CreateSyncTask_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_CreateSyncTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_CreateSyncTask_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -558,19 +576,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/UpdateSyncTask", runtime.WithHTTPPathPattern("/v1/update/synctask")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/UpdateSyncTask", runtime.WithHTTPPathPattern("/v1/update/synctask")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_UpdateSyncTask_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_UpdateSyncTask_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_UpdateSyncTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_UpdateSyncTask_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -578,19 +598,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/GetSyncTask", runtime.WithHTTPPathPattern("/v1/get/synctask")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/GetSyncTask", runtime.WithHTTPPathPattern("/v1/get/synctask")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_GetSyncTask_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_GetSyncTask_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_GetSyncTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_GetSyncTask_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -598,19 +620,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/GetSyncTaskOnly", runtime.WithHTTPPathPattern("/v1/get/synctask/only")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/GetSyncTaskOnly", runtime.WithHTTPPathPattern("/v1/get/synctask/only")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_GetSyncTaskOnly_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_GetSyncTaskOnly_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_GetSyncTaskOnly_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_GetSyncTaskOnly_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -618,19 +642,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/GetSyncTasks", runtime.WithHTTPPathPattern("/v1/get/synctasks")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/GetSyncTasks", runtime.WithHTTPPathPattern("/v1/get/synctasks")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_GetSyncTasks_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_GetSyncTasks_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_GetSyncTasks_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_GetSyncTasks_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -638,19 +664,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/ExistSyncTask", runtime.WithHTTPPathPattern("/v1/exist/synctask")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/ExistSyncTask", runtime.WithHTTPPathPattern("/v1/exist/synctask")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_ExistSyncTask_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_ExistSyncTask_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_ExistSyncTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_ExistSyncTask_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -658,19 +686,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/ExistSyncTaskConds", runtime.WithHTTPPathPattern("/v1/exist/synctask/conds")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/ExistSyncTaskConds", runtime.WithHTTPPathPattern("/v1/exist/synctask/conds")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_ExistSyncTaskConds_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_ExistSyncTaskConds_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_ExistSyncTaskConds_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_ExistSyncTaskConds_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -678,19 +708,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/DeleteSyncTask", runtime.WithHTTPPathPattern("/v1/delete/synctask")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/nftmeta.v1.synctask.Manager/DeleteSyncTask", runtime.WithHTTPPathPattern("/v1/delete/synctask")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_DeleteSyncTask_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_DeleteSyncTask_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_DeleteSyncTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_DeleteSyncTask_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) diff --git a/proto/web3eye/nftmeta/v1/synctask/synctask.swagger.json b/proto/web3eye/nftmeta/v1/synctask/synctask.swagger.json index 816383d5..42a2728b 100644 --- a/proto/web3eye/nftmeta/v1/synctask/synctask.swagger.json +++ b/proto/web3eye/nftmeta/v1/synctask/synctask.swagger.json @@ -316,6 +316,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } @@ -483,6 +484,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/synctaskSyncTask" } }, diff --git a/proto/web3eye/nftmeta/v1/synctask/synctask_grpc.pb.go b/proto/web3eye/nftmeta/v1/synctask/synctask_grpc.pb.go index b29ef3be..99a295ca 100644 --- a/proto/web3eye/nftmeta/v1/synctask/synctask_grpc.pb.go +++ b/proto/web3eye/nftmeta/v1/synctask/synctask_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.18.1 // source: web3eye/nftmeta/v1/synctask/synctask.proto @@ -18,18 +18,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Manager_CreateSyncTask_FullMethodName = "/nftmeta.v1.synctask.Manager/CreateSyncTask" - Manager_TriggerSyncTask_FullMethodName = "/nftmeta.v1.synctask.Manager/TriggerSyncTask" - Manager_UpdateSyncTask_FullMethodName = "/nftmeta.v1.synctask.Manager/UpdateSyncTask" - Manager_GetSyncTask_FullMethodName = "/nftmeta.v1.synctask.Manager/GetSyncTask" - Manager_GetSyncTaskOnly_FullMethodName = "/nftmeta.v1.synctask.Manager/GetSyncTaskOnly" - Manager_GetSyncTasks_FullMethodName = "/nftmeta.v1.synctask.Manager/GetSyncTasks" - Manager_ExistSyncTask_FullMethodName = "/nftmeta.v1.synctask.Manager/ExistSyncTask" - Manager_ExistSyncTaskConds_FullMethodName = "/nftmeta.v1.synctask.Manager/ExistSyncTaskConds" - Manager_DeleteSyncTask_FullMethodName = "/nftmeta.v1.synctask.Manager/DeleteSyncTask" -) - // ManagerClient is the client API for Manager 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. @@ -55,7 +43,7 @@ func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { func (c *managerClient) CreateSyncTask(ctx context.Context, in *CreateSyncTaskRequest, opts ...grpc.CallOption) (*CreateSyncTaskResponse, error) { out := new(CreateSyncTaskResponse) - err := c.cc.Invoke(ctx, Manager_CreateSyncTask_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.synctask.Manager/CreateSyncTask", in, out, opts...) if err != nil { return nil, err } @@ -64,7 +52,7 @@ func (c *managerClient) CreateSyncTask(ctx context.Context, in *CreateSyncTaskRe func (c *managerClient) TriggerSyncTask(ctx context.Context, in *TriggerSyncTaskRequest, opts ...grpc.CallOption) (*TriggerSyncTaskResponse, error) { out := new(TriggerSyncTaskResponse) - err := c.cc.Invoke(ctx, Manager_TriggerSyncTask_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.synctask.Manager/TriggerSyncTask", in, out, opts...) if err != nil { return nil, err } @@ -73,7 +61,7 @@ func (c *managerClient) TriggerSyncTask(ctx context.Context, in *TriggerSyncTask func (c *managerClient) UpdateSyncTask(ctx context.Context, in *UpdateSyncTaskRequest, opts ...grpc.CallOption) (*UpdateSyncTaskResponse, error) { out := new(UpdateSyncTaskResponse) - err := c.cc.Invoke(ctx, Manager_UpdateSyncTask_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.synctask.Manager/UpdateSyncTask", in, out, opts...) if err != nil { return nil, err } @@ -82,7 +70,7 @@ func (c *managerClient) UpdateSyncTask(ctx context.Context, in *UpdateSyncTaskRe func (c *managerClient) GetSyncTask(ctx context.Context, in *GetSyncTaskRequest, opts ...grpc.CallOption) (*GetSyncTaskResponse, error) { out := new(GetSyncTaskResponse) - err := c.cc.Invoke(ctx, Manager_GetSyncTask_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.synctask.Manager/GetSyncTask", in, out, opts...) if err != nil { return nil, err } @@ -91,7 +79,7 @@ func (c *managerClient) GetSyncTask(ctx context.Context, in *GetSyncTaskRequest, func (c *managerClient) GetSyncTaskOnly(ctx context.Context, in *GetSyncTaskOnlyRequest, opts ...grpc.CallOption) (*GetSyncTaskOnlyResponse, error) { out := new(GetSyncTaskOnlyResponse) - err := c.cc.Invoke(ctx, Manager_GetSyncTaskOnly_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.synctask.Manager/GetSyncTaskOnly", in, out, opts...) if err != nil { return nil, err } @@ -100,7 +88,7 @@ func (c *managerClient) GetSyncTaskOnly(ctx context.Context, in *GetSyncTaskOnly func (c *managerClient) GetSyncTasks(ctx context.Context, in *GetSyncTasksRequest, opts ...grpc.CallOption) (*GetSyncTasksResponse, error) { out := new(GetSyncTasksResponse) - err := c.cc.Invoke(ctx, Manager_GetSyncTasks_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.synctask.Manager/GetSyncTasks", in, out, opts...) if err != nil { return nil, err } @@ -109,7 +97,7 @@ func (c *managerClient) GetSyncTasks(ctx context.Context, in *GetSyncTasksReques func (c *managerClient) ExistSyncTask(ctx context.Context, in *ExistSyncTaskRequest, opts ...grpc.CallOption) (*ExistSyncTaskResponse, error) { out := new(ExistSyncTaskResponse) - err := c.cc.Invoke(ctx, Manager_ExistSyncTask_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.synctask.Manager/ExistSyncTask", in, out, opts...) if err != nil { return nil, err } @@ -118,7 +106,7 @@ func (c *managerClient) ExistSyncTask(ctx context.Context, in *ExistSyncTaskRequ func (c *managerClient) ExistSyncTaskConds(ctx context.Context, in *ExistSyncTaskCondsRequest, opts ...grpc.CallOption) (*ExistSyncTaskCondsResponse, error) { out := new(ExistSyncTaskCondsResponse) - err := c.cc.Invoke(ctx, Manager_ExistSyncTaskConds_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.synctask.Manager/ExistSyncTaskConds", in, out, opts...) if err != nil { return nil, err } @@ -127,7 +115,7 @@ func (c *managerClient) ExistSyncTaskConds(ctx context.Context, in *ExistSyncTas func (c *managerClient) DeleteSyncTask(ctx context.Context, in *DeleteSyncTaskRequest, opts ...grpc.CallOption) (*DeleteSyncTaskResponse, error) { out := new(DeleteSyncTaskResponse) - err := c.cc.Invoke(ctx, Manager_DeleteSyncTask_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.synctask.Manager/DeleteSyncTask", in, out, opts...) if err != nil { return nil, err } @@ -204,7 +192,7 @@ func _Manager_CreateSyncTask_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_CreateSyncTask_FullMethodName, + FullMethod: "/nftmeta.v1.synctask.Manager/CreateSyncTask", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).CreateSyncTask(ctx, req.(*CreateSyncTaskRequest)) @@ -222,7 +210,7 @@ func _Manager_TriggerSyncTask_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_TriggerSyncTask_FullMethodName, + FullMethod: "/nftmeta.v1.synctask.Manager/TriggerSyncTask", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).TriggerSyncTask(ctx, req.(*TriggerSyncTaskRequest)) @@ -240,7 +228,7 @@ func _Manager_UpdateSyncTask_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_UpdateSyncTask_FullMethodName, + FullMethod: "/nftmeta.v1.synctask.Manager/UpdateSyncTask", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).UpdateSyncTask(ctx, req.(*UpdateSyncTaskRequest)) @@ -258,7 +246,7 @@ func _Manager_GetSyncTask_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetSyncTask_FullMethodName, + FullMethod: "/nftmeta.v1.synctask.Manager/GetSyncTask", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetSyncTask(ctx, req.(*GetSyncTaskRequest)) @@ -276,7 +264,7 @@ func _Manager_GetSyncTaskOnly_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetSyncTaskOnly_FullMethodName, + FullMethod: "/nftmeta.v1.synctask.Manager/GetSyncTaskOnly", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetSyncTaskOnly(ctx, req.(*GetSyncTaskOnlyRequest)) @@ -294,7 +282,7 @@ func _Manager_GetSyncTasks_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetSyncTasks_FullMethodName, + FullMethod: "/nftmeta.v1.synctask.Manager/GetSyncTasks", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetSyncTasks(ctx, req.(*GetSyncTasksRequest)) @@ -312,7 +300,7 @@ func _Manager_ExistSyncTask_Handler(srv interface{}, ctx context.Context, dec fu } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_ExistSyncTask_FullMethodName, + FullMethod: "/nftmeta.v1.synctask.Manager/ExistSyncTask", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).ExistSyncTask(ctx, req.(*ExistSyncTaskRequest)) @@ -330,7 +318,7 @@ func _Manager_ExistSyncTaskConds_Handler(srv interface{}, ctx context.Context, d } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_ExistSyncTaskConds_FullMethodName, + FullMethod: "/nftmeta.v1.synctask.Manager/ExistSyncTaskConds", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).ExistSyncTaskConds(ctx, req.(*ExistSyncTaskCondsRequest)) @@ -348,7 +336,7 @@ func _Manager_DeleteSyncTask_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_DeleteSyncTask_FullMethodName, + FullMethod: "/nftmeta.v1.synctask.Manager/DeleteSyncTask", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).DeleteSyncTask(ctx, req.(*DeleteSyncTaskRequest)) diff --git a/proto/web3eye/nftmeta/v1/token/token.pb.gw.go b/proto/web3eye/nftmeta/v1/token/token.pb.gw.go index eb542266..ea3a3f63 100644 --- a/proto/web3eye/nftmeta/v1/token/token.pb.gw.go +++ b/proto/web3eye/nftmeta/v1/token/token.pb.gw.go @@ -111,20 +111,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/nftmeta.v1.token.Manager/UpdateImageVector", runtime.WithHTTPPathPattern("/v1/update/image/vector")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/nftmeta.v1.token.Manager/UpdateImageVector", runtime.WithHTTPPathPattern("/v1/update/image/vector")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_UpdateImageVector_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_UpdateImageVector_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_UpdateImageVector_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_UpdateImageVector_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -134,20 +136,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/nftmeta.v1.token.Manager/GetTokens", runtime.WithHTTPPathPattern("/v1/get/tokens")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/nftmeta.v1.token.Manager/GetTokens", runtime.WithHTTPPathPattern("/v1/get/tokens")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_GetTokens_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_GetTokens_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_GetTokens_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_GetTokens_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -157,7 +161,7 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se // RegisterManagerHandlerFromEndpoint is same as RegisterManagerHandler but // automatically dials to "endpoint" and closes the connection when "ctx" gets done. func RegisterManagerHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.Dial(endpoint, opts...) + conn, err := grpc.DialContext(ctx, endpoint, opts...) if err != nil { return err } @@ -196,19 +200,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/nftmeta.v1.token.Manager/UpdateImageVector", runtime.WithHTTPPathPattern("/v1/update/image/vector")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/nftmeta.v1.token.Manager/UpdateImageVector", runtime.WithHTTPPathPattern("/v1/update/image/vector")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_UpdateImageVector_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_UpdateImageVector_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_UpdateImageVector_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_UpdateImageVector_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -216,19 +222,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/nftmeta.v1.token.Manager/GetTokens", runtime.WithHTTPPathPattern("/v1/get/tokens")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/nftmeta.v1.token.Manager/GetTokens", runtime.WithHTTPPathPattern("/v1/get/tokens")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_GetTokens_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_GetTokens_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_GetTokens_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_GetTokens_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) diff --git a/proto/web3eye/nftmeta/v1/token/token.swagger.json b/proto/web3eye/nftmeta/v1/token/token.swagger.json index ee9605c6..68213daa 100644 --- a/proto/web3eye/nftmeta/v1/token/token.swagger.json +++ b/proto/web3eye/nftmeta/v1/token/token.swagger.json @@ -139,6 +139,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } @@ -245,6 +246,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/tokenToken" } } @@ -312,6 +314,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/tokenToken" } }, diff --git a/proto/web3eye/nftmeta/v1/token/token_grpc.pb.go b/proto/web3eye/nftmeta/v1/token/token_grpc.pb.go index 05aa5b91..977439f7 100644 --- a/proto/web3eye/nftmeta/v1/token/token_grpc.pb.go +++ b/proto/web3eye/nftmeta/v1/token/token_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.18.1 // source: web3eye/nftmeta/v1/token/token.proto @@ -18,20 +18,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Manager_CreateToken_FullMethodName = "/nftmeta.v1.token.Manager/CreateToken" - Manager_CreateTokens_FullMethodName = "/nftmeta.v1.token.Manager/CreateTokens" - Manager_UpdateToken_FullMethodName = "/nftmeta.v1.token.Manager/UpdateToken" - Manager_UpsertToken_FullMethodName = "/nftmeta.v1.token.Manager/UpsertToken" - Manager_UpdateImageVector_FullMethodName = "/nftmeta.v1.token.Manager/UpdateImageVector" - Manager_GetToken_FullMethodName = "/nftmeta.v1.token.Manager/GetToken" - Manager_GetTokenOnly_FullMethodName = "/nftmeta.v1.token.Manager/GetTokenOnly" - Manager_GetTokens_FullMethodName = "/nftmeta.v1.token.Manager/GetTokens" - Manager_ExistToken_FullMethodName = "/nftmeta.v1.token.Manager/ExistToken" - Manager_ExistTokenConds_FullMethodName = "/nftmeta.v1.token.Manager/ExistTokenConds" - Manager_DeleteToken_FullMethodName = "/nftmeta.v1.token.Manager/DeleteToken" -) - // ManagerClient is the client API for Manager 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. @@ -59,7 +45,7 @@ func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { func (c *managerClient) CreateToken(ctx context.Context, in *CreateTokenRequest, opts ...grpc.CallOption) (*CreateTokenResponse, error) { out := new(CreateTokenResponse) - err := c.cc.Invoke(ctx, Manager_CreateToken_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.token.Manager/CreateToken", in, out, opts...) if err != nil { return nil, err } @@ -68,7 +54,7 @@ func (c *managerClient) CreateToken(ctx context.Context, in *CreateTokenRequest, func (c *managerClient) CreateTokens(ctx context.Context, in *CreateTokensRequest, opts ...grpc.CallOption) (*CreateTokensResponse, error) { out := new(CreateTokensResponse) - err := c.cc.Invoke(ctx, Manager_CreateTokens_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.token.Manager/CreateTokens", in, out, opts...) if err != nil { return nil, err } @@ -77,7 +63,7 @@ func (c *managerClient) CreateTokens(ctx context.Context, in *CreateTokensReques func (c *managerClient) UpdateToken(ctx context.Context, in *UpdateTokenRequest, opts ...grpc.CallOption) (*UpdateTokenResponse, error) { out := new(UpdateTokenResponse) - err := c.cc.Invoke(ctx, Manager_UpdateToken_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.token.Manager/UpdateToken", in, out, opts...) if err != nil { return nil, err } @@ -86,7 +72,7 @@ func (c *managerClient) UpdateToken(ctx context.Context, in *UpdateTokenRequest, func (c *managerClient) UpsertToken(ctx context.Context, in *UpsertTokenRequest, opts ...grpc.CallOption) (*UpsertTokenResponse, error) { out := new(UpsertTokenResponse) - err := c.cc.Invoke(ctx, Manager_UpsertToken_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.token.Manager/UpsertToken", in, out, opts...) if err != nil { return nil, err } @@ -95,7 +81,7 @@ func (c *managerClient) UpsertToken(ctx context.Context, in *UpsertTokenRequest, func (c *managerClient) UpdateImageVector(ctx context.Context, in *UpdateImageVectorRequest, opts ...grpc.CallOption) (*UpdateImageVectorResponse, error) { out := new(UpdateImageVectorResponse) - err := c.cc.Invoke(ctx, Manager_UpdateImageVector_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.token.Manager/UpdateImageVector", in, out, opts...) if err != nil { return nil, err } @@ -104,7 +90,7 @@ func (c *managerClient) UpdateImageVector(ctx context.Context, in *UpdateImageVe func (c *managerClient) GetToken(ctx context.Context, in *GetTokenRequest, opts ...grpc.CallOption) (*GetTokenResponse, error) { out := new(GetTokenResponse) - err := c.cc.Invoke(ctx, Manager_GetToken_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.token.Manager/GetToken", in, out, opts...) if err != nil { return nil, err } @@ -113,7 +99,7 @@ func (c *managerClient) GetToken(ctx context.Context, in *GetTokenRequest, opts func (c *managerClient) GetTokenOnly(ctx context.Context, in *GetTokenOnlyRequest, opts ...grpc.CallOption) (*GetTokenOnlyResponse, error) { out := new(GetTokenOnlyResponse) - err := c.cc.Invoke(ctx, Manager_GetTokenOnly_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.token.Manager/GetTokenOnly", in, out, opts...) if err != nil { return nil, err } @@ -122,7 +108,7 @@ func (c *managerClient) GetTokenOnly(ctx context.Context, in *GetTokenOnlyReques func (c *managerClient) GetTokens(ctx context.Context, in *GetTokensRequest, opts ...grpc.CallOption) (*GetTokensResponse, error) { out := new(GetTokensResponse) - err := c.cc.Invoke(ctx, Manager_GetTokens_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.token.Manager/GetTokens", in, out, opts...) if err != nil { return nil, err } @@ -131,7 +117,7 @@ func (c *managerClient) GetTokens(ctx context.Context, in *GetTokensRequest, opt func (c *managerClient) ExistToken(ctx context.Context, in *ExistTokenRequest, opts ...grpc.CallOption) (*ExistTokenResponse, error) { out := new(ExistTokenResponse) - err := c.cc.Invoke(ctx, Manager_ExistToken_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.token.Manager/ExistToken", in, out, opts...) if err != nil { return nil, err } @@ -140,7 +126,7 @@ func (c *managerClient) ExistToken(ctx context.Context, in *ExistTokenRequest, o func (c *managerClient) ExistTokenConds(ctx context.Context, in *ExistTokenCondsRequest, opts ...grpc.CallOption) (*ExistTokenCondsResponse, error) { out := new(ExistTokenCondsResponse) - err := c.cc.Invoke(ctx, Manager_ExistTokenConds_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.token.Manager/ExistTokenConds", in, out, opts...) if err != nil { return nil, err } @@ -149,7 +135,7 @@ func (c *managerClient) ExistTokenConds(ctx context.Context, in *ExistTokenConds func (c *managerClient) DeleteToken(ctx context.Context, in *DeleteTokenRequest, opts ...grpc.CallOption) (*DeleteTokenResponse, error) { out := new(DeleteTokenResponse) - err := c.cc.Invoke(ctx, Manager_DeleteToken_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.token.Manager/DeleteToken", in, out, opts...) if err != nil { return nil, err } @@ -234,7 +220,7 @@ func _Manager_CreateToken_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_CreateToken_FullMethodName, + FullMethod: "/nftmeta.v1.token.Manager/CreateToken", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).CreateToken(ctx, req.(*CreateTokenRequest)) @@ -252,7 +238,7 @@ func _Manager_CreateTokens_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_CreateTokens_FullMethodName, + FullMethod: "/nftmeta.v1.token.Manager/CreateTokens", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).CreateTokens(ctx, req.(*CreateTokensRequest)) @@ -270,7 +256,7 @@ func _Manager_UpdateToken_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_UpdateToken_FullMethodName, + FullMethod: "/nftmeta.v1.token.Manager/UpdateToken", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).UpdateToken(ctx, req.(*UpdateTokenRequest)) @@ -288,7 +274,7 @@ func _Manager_UpsertToken_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_UpsertToken_FullMethodName, + FullMethod: "/nftmeta.v1.token.Manager/UpsertToken", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).UpsertToken(ctx, req.(*UpsertTokenRequest)) @@ -306,7 +292,7 @@ func _Manager_UpdateImageVector_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_UpdateImageVector_FullMethodName, + FullMethod: "/nftmeta.v1.token.Manager/UpdateImageVector", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).UpdateImageVector(ctx, req.(*UpdateImageVectorRequest)) @@ -324,7 +310,7 @@ func _Manager_GetToken_Handler(srv interface{}, ctx context.Context, dec func(in } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetToken_FullMethodName, + FullMethod: "/nftmeta.v1.token.Manager/GetToken", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetToken(ctx, req.(*GetTokenRequest)) @@ -342,7 +328,7 @@ func _Manager_GetTokenOnly_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetTokenOnly_FullMethodName, + FullMethod: "/nftmeta.v1.token.Manager/GetTokenOnly", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetTokenOnly(ctx, req.(*GetTokenOnlyRequest)) @@ -360,7 +346,7 @@ func _Manager_GetTokens_Handler(srv interface{}, ctx context.Context, dec func(i } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetTokens_FullMethodName, + FullMethod: "/nftmeta.v1.token.Manager/GetTokens", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetTokens(ctx, req.(*GetTokensRequest)) @@ -378,7 +364,7 @@ func _Manager_ExistToken_Handler(srv interface{}, ctx context.Context, dec func( } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_ExistToken_FullMethodName, + FullMethod: "/nftmeta.v1.token.Manager/ExistToken", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).ExistToken(ctx, req.(*ExistTokenRequest)) @@ -396,7 +382,7 @@ func _Manager_ExistTokenConds_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_ExistTokenConds_FullMethodName, + FullMethod: "/nftmeta.v1.token.Manager/ExistTokenConds", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).ExistTokenConds(ctx, req.(*ExistTokenCondsRequest)) @@ -414,7 +400,7 @@ func _Manager_DeleteToken_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_DeleteToken_FullMethodName, + FullMethod: "/nftmeta.v1.token.Manager/DeleteToken", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).DeleteToken(ctx, req.(*DeleteTokenRequest)) diff --git a/proto/web3eye/nftmeta/v1/transfer/transfer.swagger.json b/proto/web3eye/nftmeta/v1/transfer/transfer.swagger.json index 4045d327..65056893 100644 --- a/proto/web3eye/nftmeta/v1/transfer/transfer.swagger.json +++ b/proto/web3eye/nftmeta/v1/transfer/transfer.swagger.json @@ -63,6 +63,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } @@ -138,6 +139,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/transferTransfer" } } @@ -189,6 +191,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/transferTransfer" } }, @@ -368,6 +371,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/transferTransfer" } } diff --git a/proto/web3eye/nftmeta/v1/transfer/transfer_grpc.pb.go b/proto/web3eye/nftmeta/v1/transfer/transfer_grpc.pb.go index 09e7e40e..cdf68101 100644 --- a/proto/web3eye/nftmeta/v1/transfer/transfer_grpc.pb.go +++ b/proto/web3eye/nftmeta/v1/transfer/transfer_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.18.1 // source: web3eye/nftmeta/v1/transfer/transfer.proto @@ -18,20 +18,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Manager_CreateTransfer_FullMethodName = "/nftmeta.v1.transfer.Manager/CreateTransfer" - Manager_UpsertTransfer_FullMethodName = "/nftmeta.v1.transfer.Manager/UpsertTransfer" - Manager_UpdateTransfer_FullMethodName = "/nftmeta.v1.transfer.Manager/UpdateTransfer" - Manager_CreateTransfers_FullMethodName = "/nftmeta.v1.transfer.Manager/CreateTransfers" - Manager_UpsertTransfers_FullMethodName = "/nftmeta.v1.transfer.Manager/UpsertTransfers" - Manager_GetTransfer_FullMethodName = "/nftmeta.v1.transfer.Manager/GetTransfer" - Manager_GetTransferOnly_FullMethodName = "/nftmeta.v1.transfer.Manager/GetTransferOnly" - Manager_GetTransfers_FullMethodName = "/nftmeta.v1.transfer.Manager/GetTransfers" - Manager_ExistTransfer_FullMethodName = "/nftmeta.v1.transfer.Manager/ExistTransfer" - Manager_ExistTransferConds_FullMethodName = "/nftmeta.v1.transfer.Manager/ExistTransferConds" - Manager_DeleteTransfer_FullMethodName = "/nftmeta.v1.transfer.Manager/DeleteTransfer" -) - // ManagerClient is the client API for Manager 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. @@ -59,7 +45,7 @@ func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { func (c *managerClient) CreateTransfer(ctx context.Context, in *CreateTransferRequest, opts ...grpc.CallOption) (*CreateTransferResponse, error) { out := new(CreateTransferResponse) - err := c.cc.Invoke(ctx, Manager_CreateTransfer_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.transfer.Manager/CreateTransfer", in, out, opts...) if err != nil { return nil, err } @@ -68,7 +54,7 @@ func (c *managerClient) CreateTransfer(ctx context.Context, in *CreateTransferRe func (c *managerClient) UpsertTransfer(ctx context.Context, in *UpsertTransferRequest, opts ...grpc.CallOption) (*UpsertTransferResponse, error) { out := new(UpsertTransferResponse) - err := c.cc.Invoke(ctx, Manager_UpsertTransfer_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.transfer.Manager/UpsertTransfer", in, out, opts...) if err != nil { return nil, err } @@ -77,7 +63,7 @@ func (c *managerClient) UpsertTransfer(ctx context.Context, in *UpsertTransferRe func (c *managerClient) UpdateTransfer(ctx context.Context, in *UpdateTransferRequest, opts ...grpc.CallOption) (*UpdateTransferResponse, error) { out := new(UpdateTransferResponse) - err := c.cc.Invoke(ctx, Manager_UpdateTransfer_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.transfer.Manager/UpdateTransfer", in, out, opts...) if err != nil { return nil, err } @@ -86,7 +72,7 @@ func (c *managerClient) UpdateTransfer(ctx context.Context, in *UpdateTransferRe func (c *managerClient) CreateTransfers(ctx context.Context, in *CreateTransfersRequest, opts ...grpc.CallOption) (*CreateTransfersResponse, error) { out := new(CreateTransfersResponse) - err := c.cc.Invoke(ctx, Manager_CreateTransfers_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.transfer.Manager/CreateTransfers", in, out, opts...) if err != nil { return nil, err } @@ -95,7 +81,7 @@ func (c *managerClient) CreateTransfers(ctx context.Context, in *CreateTransfers func (c *managerClient) UpsertTransfers(ctx context.Context, in *UpsertTransfersRequest, opts ...grpc.CallOption) (*UpsertTransfersResponse, error) { out := new(UpsertTransfersResponse) - err := c.cc.Invoke(ctx, Manager_UpsertTransfers_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.transfer.Manager/UpsertTransfers", in, out, opts...) if err != nil { return nil, err } @@ -104,7 +90,7 @@ func (c *managerClient) UpsertTransfers(ctx context.Context, in *UpsertTransfers func (c *managerClient) GetTransfer(ctx context.Context, in *GetTransferRequest, opts ...grpc.CallOption) (*GetTransferResponse, error) { out := new(GetTransferResponse) - err := c.cc.Invoke(ctx, Manager_GetTransfer_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.transfer.Manager/GetTransfer", in, out, opts...) if err != nil { return nil, err } @@ -113,7 +99,7 @@ func (c *managerClient) GetTransfer(ctx context.Context, in *GetTransferRequest, func (c *managerClient) GetTransferOnly(ctx context.Context, in *GetTransferOnlyRequest, opts ...grpc.CallOption) (*GetTransferOnlyResponse, error) { out := new(GetTransferOnlyResponse) - err := c.cc.Invoke(ctx, Manager_GetTransferOnly_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.transfer.Manager/GetTransferOnly", in, out, opts...) if err != nil { return nil, err } @@ -122,7 +108,7 @@ func (c *managerClient) GetTransferOnly(ctx context.Context, in *GetTransferOnly func (c *managerClient) GetTransfers(ctx context.Context, in *GetTransfersRequest, opts ...grpc.CallOption) (*GetTransfersResponse, error) { out := new(GetTransfersResponse) - err := c.cc.Invoke(ctx, Manager_GetTransfers_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.transfer.Manager/GetTransfers", in, out, opts...) if err != nil { return nil, err } @@ -131,7 +117,7 @@ func (c *managerClient) GetTransfers(ctx context.Context, in *GetTransfersReques func (c *managerClient) ExistTransfer(ctx context.Context, in *ExistTransferRequest, opts ...grpc.CallOption) (*ExistTransferResponse, error) { out := new(ExistTransferResponse) - err := c.cc.Invoke(ctx, Manager_ExistTransfer_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.transfer.Manager/ExistTransfer", in, out, opts...) if err != nil { return nil, err } @@ -140,7 +126,7 @@ func (c *managerClient) ExistTransfer(ctx context.Context, in *ExistTransferRequ func (c *managerClient) ExistTransferConds(ctx context.Context, in *ExistTransferCondsRequest, opts ...grpc.CallOption) (*ExistTransferCondsResponse, error) { out := new(ExistTransferCondsResponse) - err := c.cc.Invoke(ctx, Manager_ExistTransferConds_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.transfer.Manager/ExistTransferConds", in, out, opts...) if err != nil { return nil, err } @@ -149,7 +135,7 @@ func (c *managerClient) ExistTransferConds(ctx context.Context, in *ExistTransfe func (c *managerClient) DeleteTransfer(ctx context.Context, in *DeleteTransferRequest, opts ...grpc.CallOption) (*DeleteTransferResponse, error) { out := new(DeleteTransferResponse) - err := c.cc.Invoke(ctx, Manager_DeleteTransfer_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/nftmeta.v1.transfer.Manager/DeleteTransfer", in, out, opts...) if err != nil { return nil, err } @@ -234,7 +220,7 @@ func _Manager_CreateTransfer_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_CreateTransfer_FullMethodName, + FullMethod: "/nftmeta.v1.transfer.Manager/CreateTransfer", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).CreateTransfer(ctx, req.(*CreateTransferRequest)) @@ -252,7 +238,7 @@ func _Manager_UpsertTransfer_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_UpsertTransfer_FullMethodName, + FullMethod: "/nftmeta.v1.transfer.Manager/UpsertTransfer", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).UpsertTransfer(ctx, req.(*UpsertTransferRequest)) @@ -270,7 +256,7 @@ func _Manager_UpdateTransfer_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_UpdateTransfer_FullMethodName, + FullMethod: "/nftmeta.v1.transfer.Manager/UpdateTransfer", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).UpdateTransfer(ctx, req.(*UpdateTransferRequest)) @@ -288,7 +274,7 @@ func _Manager_CreateTransfers_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_CreateTransfers_FullMethodName, + FullMethod: "/nftmeta.v1.transfer.Manager/CreateTransfers", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).CreateTransfers(ctx, req.(*CreateTransfersRequest)) @@ -306,7 +292,7 @@ func _Manager_UpsertTransfers_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_UpsertTransfers_FullMethodName, + FullMethod: "/nftmeta.v1.transfer.Manager/UpsertTransfers", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).UpsertTransfers(ctx, req.(*UpsertTransfersRequest)) @@ -324,7 +310,7 @@ func _Manager_GetTransfer_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetTransfer_FullMethodName, + FullMethod: "/nftmeta.v1.transfer.Manager/GetTransfer", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetTransfer(ctx, req.(*GetTransferRequest)) @@ -342,7 +328,7 @@ func _Manager_GetTransferOnly_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetTransferOnly_FullMethodName, + FullMethod: "/nftmeta.v1.transfer.Manager/GetTransferOnly", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetTransferOnly(ctx, req.(*GetTransferOnlyRequest)) @@ -360,7 +346,7 @@ func _Manager_GetTransfers_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetTransfers_FullMethodName, + FullMethod: "/nftmeta.v1.transfer.Manager/GetTransfers", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetTransfers(ctx, req.(*GetTransfersRequest)) @@ -378,7 +364,7 @@ func _Manager_ExistTransfer_Handler(srv interface{}, ctx context.Context, dec fu } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_ExistTransfer_FullMethodName, + FullMethod: "/nftmeta.v1.transfer.Manager/ExistTransfer", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).ExistTransfer(ctx, req.(*ExistTransferRequest)) @@ -396,7 +382,7 @@ func _Manager_ExistTransferConds_Handler(srv interface{}, ctx context.Context, d } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_ExistTransferConds_FullMethodName, + FullMethod: "/nftmeta.v1.transfer.Manager/ExistTransferConds", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).ExistTransferConds(ctx, req.(*ExistTransferCondsRequest)) @@ -414,7 +400,7 @@ func _Manager_DeleteTransfer_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_DeleteTransfer_FullMethodName, + FullMethod: "/nftmeta.v1.transfer.Manager/DeleteTransfer", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).DeleteTransfer(ctx, req.(*DeleteTransferRequest)) diff --git a/proto/web3eye/ranker/v1/contract/contract.swagger.json b/proto/web3eye/ranker/v1/contract/contract.swagger.json index 0ef94c86..461d13d7 100644 --- a/proto/web3eye/ranker/v1/contract/contract.swagger.json +++ b/proto/web3eye/ranker/v1/contract/contract.swagger.json @@ -199,6 +199,7 @@ "Tokens": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/contractShotToken" } }, @@ -230,6 +231,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/contractContract" } }, @@ -302,6 +304,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } diff --git a/proto/web3eye/ranker/v1/contract/contract_grpc.pb.go b/proto/web3eye/ranker/v1/contract/contract_grpc.pb.go index b803df25..2c32e4df 100644 --- a/proto/web3eye/ranker/v1/contract/contract_grpc.pb.go +++ b/proto/web3eye/ranker/v1/contract/contract_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.18.1 // source: web3eye/ranker/v1/contract/contract.proto @@ -19,13 +19,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Manager_GetContract_FullMethodName = "/ranker.v1.contract.Manager/GetContract" - Manager_GetContractOnly_FullMethodName = "/ranker.v1.contract.Manager/GetContractOnly" - Manager_GetContracts_FullMethodName = "/ranker.v1.contract.Manager/GetContracts" - Manager_GetContractAndTokens_FullMethodName = "/ranker.v1.contract.Manager/GetContractAndTokens" -) - // ManagerClient is the client API for Manager 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. @@ -46,7 +39,7 @@ func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { func (c *managerClient) GetContract(ctx context.Context, in *contract.GetContractRequest, opts ...grpc.CallOption) (*contract.GetContractResponse, error) { out := new(contract.GetContractResponse) - err := c.cc.Invoke(ctx, Manager_GetContract_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/ranker.v1.contract.Manager/GetContract", in, out, opts...) if err != nil { return nil, err } @@ -55,7 +48,7 @@ func (c *managerClient) GetContract(ctx context.Context, in *contract.GetContrac func (c *managerClient) GetContractOnly(ctx context.Context, in *contract.GetContractOnlyRequest, opts ...grpc.CallOption) (*contract.GetContractOnlyResponse, error) { out := new(contract.GetContractOnlyResponse) - err := c.cc.Invoke(ctx, Manager_GetContractOnly_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/ranker.v1.contract.Manager/GetContractOnly", in, out, opts...) if err != nil { return nil, err } @@ -64,7 +57,7 @@ func (c *managerClient) GetContractOnly(ctx context.Context, in *contract.GetCon func (c *managerClient) GetContracts(ctx context.Context, in *contract.GetContractsRequest, opts ...grpc.CallOption) (*contract.GetContractsResponse, error) { out := new(contract.GetContractsResponse) - err := c.cc.Invoke(ctx, Manager_GetContracts_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/ranker.v1.contract.Manager/GetContracts", in, out, opts...) if err != nil { return nil, err } @@ -73,7 +66,7 @@ func (c *managerClient) GetContracts(ctx context.Context, in *contract.GetContra func (c *managerClient) GetContractAndTokens(ctx context.Context, in *GetContractAndTokensReq, opts ...grpc.CallOption) (*GetContractAndTokensResp, error) { out := new(GetContractAndTokensResp) - err := c.cc.Invoke(ctx, Manager_GetContractAndTokens_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/ranker.v1.contract.Manager/GetContractAndTokens", in, out, opts...) if err != nil { return nil, err } @@ -130,7 +123,7 @@ func _Manager_GetContract_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetContract_FullMethodName, + FullMethod: "/ranker.v1.contract.Manager/GetContract", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetContract(ctx, req.(*contract.GetContractRequest)) @@ -148,7 +141,7 @@ func _Manager_GetContractOnly_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetContractOnly_FullMethodName, + FullMethod: "/ranker.v1.contract.Manager/GetContractOnly", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetContractOnly(ctx, req.(*contract.GetContractOnlyRequest)) @@ -166,7 +159,7 @@ func _Manager_GetContracts_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetContracts_FullMethodName, + FullMethod: "/ranker.v1.contract.Manager/GetContracts", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetContracts(ctx, req.(*contract.GetContractsRequest)) @@ -184,7 +177,7 @@ func _Manager_GetContractAndTokens_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetContractAndTokens_FullMethodName, + FullMethod: "/ranker.v1.contract.Manager/GetContractAndTokens", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetContractAndTokens(ctx, req.(*GetContractAndTokensReq)) diff --git a/proto/web3eye/ranker/v1/endpoint/endpoint.pb.go b/proto/web3eye/ranker/v1/endpoint/endpoint.pb.go index 24bf8d85..8d2e7663 100644 --- a/proto/web3eye/ranker/v1/endpoint/endpoint.pb.go +++ b/proto/web3eye/ranker/v1/endpoint/endpoint.pb.go @@ -30,6 +30,7 @@ type CreateEndpointRequest struct { ChainType v1.ChainType `protobuf:"varint,10,opt,name=ChainType,proto3,enum=chain.ChainType" json:"ChainType,omitempty"` ChainID string `protobuf:"bytes,20,opt,name=ChainID,proto3" json:"ChainID,omitempty"` Address string `protobuf:"bytes,30,opt,name=Address,proto3" json:"Address,omitempty"` + RPS uint32 `protobuf:"varint,40,opt,name=RPS,proto3" json:"RPS,omitempty"` } func (x *CreateEndpointRequest) Reset() { @@ -85,6 +86,13 @@ func (x *CreateEndpointRequest) GetAddress() string { return "" } +func (x *CreateEndpointRequest) GetRPS() uint32 { + if x != nil { + return x.RPS + } + return 0 +} + type CreateEndpointResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -140,7 +148,8 @@ type UpdateEndpointRequest struct { ID uint32 `protobuf:"varint,10,opt,name=ID,proto3" json:"ID,omitempty"` Address *string `protobuf:"bytes,20,opt,name=Address,proto3,oneof" json:"Address,omitempty"` State *v1.EndpointState `protobuf:"varint,30,opt,name=State,proto3,enum=chain.EndpointState,oneof" json:"State,omitempty"` - Remark *string `protobuf:"bytes,40,opt,name=Remark,proto3,oneof" json:"Remark,omitempty"` + RPS *uint32 `protobuf:"varint,40,opt,name=RPS,proto3,oneof" json:"RPS,omitempty"` + Remark *string `protobuf:"bytes,50,opt,name=Remark,proto3,oneof" json:"Remark,omitempty"` } func (x *UpdateEndpointRequest) Reset() { @@ -196,6 +205,13 @@ func (x *UpdateEndpointRequest) GetState() v1.EndpointState { return v1.EndpointState(0) } +func (x *UpdateEndpointRequest) GetRPS() uint32 { + if x != nil && x.RPS != nil { + return *x.RPS + } + return 0 +} + func (x *UpdateEndpointRequest) GetRemark() string { if x != nil && x.Remark != nil { return *x.Remark @@ -354,9 +370,10 @@ type GetEndpointsRequest struct { ChainID *string `protobuf:"bytes,30,opt,name=ChainID,proto3,oneof" json:"ChainID,omitempty"` Address *string `protobuf:"bytes,40,opt,name=Address,proto3,oneof" json:"Address,omitempty"` State *v1.EndpointState `protobuf:"varint,50,opt,name=State,proto3,enum=chain.EndpointState,oneof" json:"State,omitempty"` - Remark *string `protobuf:"bytes,60,opt,name=Remark,proto3,oneof" json:"Remark,omitempty"` - Offset int32 `protobuf:"varint,70,opt,name=Offset,proto3" json:"Offset,omitempty"` - Limit int32 `protobuf:"varint,80,opt,name=Limit,proto3" json:"Limit,omitempty"` + RPS *uint32 `protobuf:"varint,60,opt,name=RPS,proto3,oneof" json:"RPS,omitempty"` + Remark *string `protobuf:"bytes,70,opt,name=Remark,proto3,oneof" json:"Remark,omitempty"` + Offset int32 `protobuf:"varint,80,opt,name=Offset,proto3" json:"Offset,omitempty"` + Limit int32 `protobuf:"varint,90,opt,name=Limit,proto3" json:"Limit,omitempty"` } func (x *GetEndpointsRequest) Reset() { @@ -426,6 +443,13 @@ func (x *GetEndpointsRequest) GetState() v1.EndpointState { return v1.EndpointState(0) } +func (x *GetEndpointsRequest) GetRPS() uint32 { + if x != nil && x.RPS != nil { + return *x.RPS + } + return 0 +} + func (x *GetEndpointsRequest) GetRemark() string { if x != nil && x.Remark != nil { return *x.Remark @@ -607,116 +631,122 @@ var file_web3eye_ranker_v1_endpoint_endpoint_proto_rawDesc = []byte{ 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, - 0x2f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7b, 0x0a, 0x15, + 0x2f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8d, 0x01, 0x0a, + 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x43, 0x68, 0x61, + 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, + 0x44, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, + 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x1e, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x52, 0x50, + 0x53, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x52, 0x50, 0x53, 0x22, 0x4b, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x43, 0x68, 0x61, 0x69, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, - 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x12, - 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x4b, 0x0a, 0x16, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, + 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xd4, 0x01, 0x0a, 0x15, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x02, 0x49, 0x44, 0x12, 0x1d, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x14, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, + 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x14, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x01, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x52, 0x50, 0x53, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0d, + 0x48, 0x02, 0x52, 0x03, 0x52, 0x50, 0x53, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x52, 0x65, + 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x32, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x06, 0x52, 0x65, + 0x6d, 0x61, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x06, 0x0a, + 0x04, 0x5f, 0x52, 0x50, 0x53, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, + 0x22, 0x4b, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x49, 0x6e, + 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, + 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x24, 0x0a, + 0x12, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x02, 0x49, 0x44, 0x22, 0x48, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x49, 0x6e, + 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, + 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xfa, 0x02, + 0x0a, 0x13, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0d, 0x48, 0x00, 0x52, 0x02, 0x49, 0x44, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x09, 0x43, 0x68, + 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x48, + 0x01, 0x52, 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x1d, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x02, 0x52, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x88, 0x01, 0x01, 0x12, 0x1d, + 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x03, 0x52, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, + 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x48, 0x04, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x15, + 0x0a, 0x03, 0x52, 0x50, 0x53, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x05, 0x52, 0x03, 0x52, + 0x50, 0x53, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, + 0x46, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x88, + 0x01, 0x01, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x50, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, + 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x49, 0x44, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x43, 0x68, 0x61, 0x69, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, + 0x44, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x08, 0x0a, + 0x06, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x52, 0x50, 0x53, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0x61, 0x0a, 0x14, 0x47, 0x65, + 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x33, 0x0a, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xb5, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, - 0x12, 0x1d, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x2f, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, - 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x48, 0x01, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x1b, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x02, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, - 0x08, 0x5f, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0x4b, - 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, - 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x24, 0x0a, 0x12, 0x47, - 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, - 0x44, 0x22, 0x48, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, - 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xdb, 0x02, 0x0a, 0x13, - 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x48, - 0x00, 0x52, 0x02, 0x49, 0x44, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x69, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x48, 0x01, 0x52, - 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, - 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, - 0x52, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, - 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x05, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x48, 0x04, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, - 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x06, - 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x66, 0x66, - 0x73, 0x65, 0x74, 0x18, 0x46, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4f, 0x66, 0x66, 0x73, 0x65, - 0x74, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x50, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x49, 0x44, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x0a, 0x08, - 0x5f, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x09, - 0x0a, 0x07, 0x5f, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0x61, 0x0a, 0x14, 0x47, 0x65, 0x74, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x33, 0x0a, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, - 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, - 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x27, 0x0a, 0x15, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x02, 0x49, 0x44, 0x22, 0x4b, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x31, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, - 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x49, 0x6e, - 0x66, 0x6f, 0x32, 0x91, 0x04, 0x0a, 0x07, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x69, - 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x12, 0x29, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x72, 0x61, - 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x0e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x29, 0x2e, 0x72, 0x61, - 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x12, 0x26, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x72, 0x61, - 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2e, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x28, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x0e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x29, 0x2e, - 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x40, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2d, 0x69, 0x6f, 0x2f, - 0x57, 0x65, 0x62, 0x33, 0x45, 0x79, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x77, 0x65, - 0x62, 0x33, 0x65, 0x79, 0x65, 0x2f, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x2f, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, + 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x27, 0x0a, + 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x22, 0x4b, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x31, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x6e, 0x66, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x49, + 0x6e, 0x66, 0x6f, 0x32, 0x91, 0x04, 0x0a, 0x07, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, + 0x69, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x12, 0x29, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x72, + 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x0e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x29, 0x2e, 0x72, + 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x26, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x72, + 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x28, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x0e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x29, + 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x72, 0x61, 0x6e, 0x6b, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x40, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2d, 0x69, 0x6f, + 0x2f, 0x57, 0x65, 0x62, 0x33, 0x45, 0x79, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x77, + 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2f, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2f, 0x76, 0x31, + 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( diff --git a/proto/web3eye/ranker/v1/endpoint/endpoint.proto b/proto/web3eye/ranker/v1/endpoint/endpoint.proto index 28131e67..542ff53f 100644 --- a/proto/web3eye/ranker/v1/endpoint/endpoint.proto +++ b/proto/web3eye/ranker/v1/endpoint/endpoint.proto @@ -19,6 +19,7 @@ message CreateEndpointRequest { chain.ChainType ChainType = 10; string ChainID = 20; string Address = 30; + uint32 RPS = 40; } message CreateEndpointResponse { nftmeta.v1.endpoint.Endpoint Info = 10; } @@ -27,7 +28,8 @@ message UpdateEndpointRequest { uint32 ID = 10; optional string Address = 20; optional chain.EndpointState State = 30; - optional string Remark = 40; + optional uint32 RPS = 40; + optional string Remark = 50; } message UpdateEndpointResponse { nftmeta.v1.endpoint.Endpoint Info = 10; } @@ -42,9 +44,10 @@ message GetEndpointsRequest { optional string ChainID = 30; optional string Address = 40; optional chain.EndpointState State = 50; - optional string Remark = 60; - int32 Offset = 70; - int32 Limit = 80; + optional uint32 RPS = 60; + optional string Remark = 70; + int32 Offset = 80; + int32 Limit = 90; } message GetEndpointsResponse { repeated nftmeta.v1.endpoint.Endpoint Infos = 10; diff --git a/proto/web3eye/ranker/v1/endpoint/endpoint.swagger.json b/proto/web3eye/ranker/v1/endpoint/endpoint.swagger.json index edf74b90..2c1c1b04 100644 --- a/proto/web3eye/ranker/v1/endpoint/endpoint.swagger.json +++ b/proto/web3eye/ranker/v1/endpoint/endpoint.swagger.json @@ -70,6 +70,11 @@ "State": { "$ref": "#/definitions/chainEndpointState" }, + "RPS": { + "type": "integer", + "format": "int64", + "title": "@inject_tag: sql:\"rps\"" + }, "Remark": { "type": "string", "title": "@inject_tag: sql:\"remark\"" @@ -125,6 +130,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/endpointEndpoint" } }, @@ -155,6 +161,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } diff --git a/proto/web3eye/ranker/v1/endpoint/endpoint_grpc.pb.go b/proto/web3eye/ranker/v1/endpoint/endpoint_grpc.pb.go index 8aa8680e..090efc78 100644 --- a/proto/web3eye/ranker/v1/endpoint/endpoint_grpc.pb.go +++ b/proto/web3eye/ranker/v1/endpoint/endpoint_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.18.1 // source: web3eye/ranker/v1/endpoint/endpoint.proto @@ -18,14 +18,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Manager_CreateEndpoint_FullMethodName = "/ranker.v1.endpoint.Manager/CreateEndpoint" - Manager_UpdateEndpoint_FullMethodName = "/ranker.v1.endpoint.Manager/UpdateEndpoint" - Manager_GetEndpoint_FullMethodName = "/ranker.v1.endpoint.Manager/GetEndpoint" - Manager_GetEndpoints_FullMethodName = "/ranker.v1.endpoint.Manager/GetEndpoints" - Manager_DeleteEndpoint_FullMethodName = "/ranker.v1.endpoint.Manager/DeleteEndpoint" -) - // ManagerClient is the client API for Manager 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. @@ -47,7 +39,7 @@ func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { func (c *managerClient) CreateEndpoint(ctx context.Context, in *CreateEndpointRequest, opts ...grpc.CallOption) (*CreateEndpointResponse, error) { out := new(CreateEndpointResponse) - err := c.cc.Invoke(ctx, Manager_CreateEndpoint_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/ranker.v1.endpoint.Manager/CreateEndpoint", in, out, opts...) if err != nil { return nil, err } @@ -56,7 +48,7 @@ func (c *managerClient) CreateEndpoint(ctx context.Context, in *CreateEndpointRe func (c *managerClient) UpdateEndpoint(ctx context.Context, in *UpdateEndpointRequest, opts ...grpc.CallOption) (*UpdateEndpointResponse, error) { out := new(UpdateEndpointResponse) - err := c.cc.Invoke(ctx, Manager_UpdateEndpoint_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/ranker.v1.endpoint.Manager/UpdateEndpoint", in, out, opts...) if err != nil { return nil, err } @@ -65,7 +57,7 @@ func (c *managerClient) UpdateEndpoint(ctx context.Context, in *UpdateEndpointRe func (c *managerClient) GetEndpoint(ctx context.Context, in *GetEndpointRequest, opts ...grpc.CallOption) (*GetEndpointResponse, error) { out := new(GetEndpointResponse) - err := c.cc.Invoke(ctx, Manager_GetEndpoint_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/ranker.v1.endpoint.Manager/GetEndpoint", in, out, opts...) if err != nil { return nil, err } @@ -74,7 +66,7 @@ func (c *managerClient) GetEndpoint(ctx context.Context, in *GetEndpointRequest, func (c *managerClient) GetEndpoints(ctx context.Context, in *GetEndpointsRequest, opts ...grpc.CallOption) (*GetEndpointsResponse, error) { out := new(GetEndpointsResponse) - err := c.cc.Invoke(ctx, Manager_GetEndpoints_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/ranker.v1.endpoint.Manager/GetEndpoints", in, out, opts...) if err != nil { return nil, err } @@ -83,7 +75,7 @@ func (c *managerClient) GetEndpoints(ctx context.Context, in *GetEndpointsReques func (c *managerClient) DeleteEndpoint(ctx context.Context, in *DeleteEndpointRequest, opts ...grpc.CallOption) (*DeleteEndpointResponse, error) { out := new(DeleteEndpointResponse) - err := c.cc.Invoke(ctx, Manager_DeleteEndpoint_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/ranker.v1.endpoint.Manager/DeleteEndpoint", in, out, opts...) if err != nil { return nil, err } @@ -144,7 +136,7 @@ func _Manager_CreateEndpoint_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_CreateEndpoint_FullMethodName, + FullMethod: "/ranker.v1.endpoint.Manager/CreateEndpoint", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).CreateEndpoint(ctx, req.(*CreateEndpointRequest)) @@ -162,7 +154,7 @@ func _Manager_UpdateEndpoint_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_UpdateEndpoint_FullMethodName, + FullMethod: "/ranker.v1.endpoint.Manager/UpdateEndpoint", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).UpdateEndpoint(ctx, req.(*UpdateEndpointRequest)) @@ -180,7 +172,7 @@ func _Manager_GetEndpoint_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetEndpoint_FullMethodName, + FullMethod: "/ranker.v1.endpoint.Manager/GetEndpoint", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetEndpoint(ctx, req.(*GetEndpointRequest)) @@ -198,7 +190,7 @@ func _Manager_GetEndpoints_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetEndpoints_FullMethodName, + FullMethod: "/ranker.v1.endpoint.Manager/GetEndpoints", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetEndpoints(ctx, req.(*GetEndpointsRequest)) @@ -216,7 +208,7 @@ func _Manager_DeleteEndpoint_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_DeleteEndpoint_FullMethodName, + FullMethod: "/ranker.v1.endpoint.Manager/DeleteEndpoint", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).DeleteEndpoint(ctx, req.(*DeleteEndpointRequest)) diff --git a/proto/web3eye/ranker/v1/rankerv1.pb.gw.go b/proto/web3eye/ranker/v1/rankerv1.pb.gw.go index dd5e3a7b..f3653d86 100644 --- a/proto/web3eye/ranker/v1/rankerv1.pb.gw.go +++ b/proto/web3eye/ranker/v1/rankerv1.pb.gw.go @@ -78,20 +78,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/ranker.v1.Manager/Version", runtime.WithHTTPPathPattern("/v1/version")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/ranker.v1.Manager/Version", runtime.WithHTTPPathPattern("/v1/version")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_Version_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_Version_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_Version_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_Version_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -101,7 +103,7 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se // RegisterManagerHandlerFromEndpoint is same as RegisterManagerHandler but // automatically dials to "endpoint" and closes the connection when "ctx" gets done. func RegisterManagerHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.Dial(endpoint, opts...) + conn, err := grpc.DialContext(ctx, endpoint, opts...) if err != nil { return err } @@ -140,19 +142,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/ranker.v1.Manager/Version", runtime.WithHTTPPathPattern("/v1/version")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/ranker.v1.Manager/Version", runtime.WithHTTPPathPattern("/v1/version")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_Version_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_Version_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_Version_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_Version_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) diff --git a/proto/web3eye/ranker/v1/rankerv1.swagger.json b/proto/web3eye/ranker/v1/rankerv1.swagger.json index 38591463..80355bb1 100644 --- a/proto/web3eye/ranker/v1/rankerv1.swagger.json +++ b/proto/web3eye/ranker/v1/rankerv1.swagger.json @@ -39,6 +39,7 @@ "in": "body", "required": true, "schema": { + "type": "object", "properties": {} } } @@ -72,6 +73,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } diff --git a/proto/web3eye/ranker/v1/rankerv1_grpc.pb.go b/proto/web3eye/ranker/v1/rankerv1_grpc.pb.go index a8c9cda1..102f6d6e 100644 --- a/proto/web3eye/ranker/v1/rankerv1_grpc.pb.go +++ b/proto/web3eye/ranker/v1/rankerv1_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.18.1 // source: web3eye/ranker/v1/rankerv1.proto @@ -20,10 +20,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Manager_Version_FullMethodName = "/ranker.v1.Manager/Version" -) - // ManagerClient is the client API for Manager 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. @@ -41,7 +37,7 @@ func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { func (c *managerClient) Version(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*web3eye.VersionResponse, error) { out := new(web3eye.VersionResponse) - err := c.cc.Invoke(ctx, Manager_Version_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/ranker.v1.Manager/Version", in, out, opts...) if err != nil { return nil, err } @@ -86,7 +82,7 @@ func _Manager_Version_Handler(srv interface{}, ctx context.Context, dec func(int } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_Version_FullMethodName, + FullMethod: "/ranker.v1.Manager/Version", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).Version(ctx, req.(*emptypb.Empty)) diff --git a/proto/web3eye/ranker/v1/snapshot/snapshot.swagger.json b/proto/web3eye/ranker/v1/snapshot/snapshot.swagger.json index 2f51be60..426dba29 100644 --- a/proto/web3eye/ranker/v1/snapshot/snapshot.swagger.json +++ b/proto/web3eye/ranker/v1/snapshot/snapshot.swagger.json @@ -39,6 +39,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } @@ -95,6 +96,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/snapshotSnapshot" } }, diff --git a/proto/web3eye/ranker/v1/snapshot/snapshot_grpc.pb.go b/proto/web3eye/ranker/v1/snapshot/snapshot_grpc.pb.go index 3301a871..707b4b6b 100644 --- a/proto/web3eye/ranker/v1/snapshot/snapshot_grpc.pb.go +++ b/proto/web3eye/ranker/v1/snapshot/snapshot_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.18.1 // source: web3eye/ranker/v1/snapshot/snapshot.proto @@ -19,12 +19,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Manager_GetSnapshot_FullMethodName = "/ranker.v1.snapshot.Manager/GetSnapshot" - Manager_GetSnapshotOnly_FullMethodName = "/ranker.v1.snapshot.Manager/GetSnapshotOnly" - Manager_GetSnapshots_FullMethodName = "/ranker.v1.snapshot.Manager/GetSnapshots" -) - // ManagerClient is the client API for Manager 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. @@ -44,7 +38,7 @@ func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { func (c *managerClient) GetSnapshot(ctx context.Context, in *snapshot.GetSnapshotRequest, opts ...grpc.CallOption) (*snapshot.GetSnapshotResponse, error) { out := new(snapshot.GetSnapshotResponse) - err := c.cc.Invoke(ctx, Manager_GetSnapshot_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/ranker.v1.snapshot.Manager/GetSnapshot", in, out, opts...) if err != nil { return nil, err } @@ -53,7 +47,7 @@ func (c *managerClient) GetSnapshot(ctx context.Context, in *snapshot.GetSnapsho func (c *managerClient) GetSnapshotOnly(ctx context.Context, in *snapshot.GetSnapshotOnlyRequest, opts ...grpc.CallOption) (*snapshot.GetSnapshotOnlyResponse, error) { out := new(snapshot.GetSnapshotOnlyResponse) - err := c.cc.Invoke(ctx, Manager_GetSnapshotOnly_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/ranker.v1.snapshot.Manager/GetSnapshotOnly", in, out, opts...) if err != nil { return nil, err } @@ -62,7 +56,7 @@ func (c *managerClient) GetSnapshotOnly(ctx context.Context, in *snapshot.GetSna func (c *managerClient) GetSnapshots(ctx context.Context, in *snapshot.GetSnapshotsRequest, opts ...grpc.CallOption) (*snapshot.GetSnapshotsResponse, error) { out := new(snapshot.GetSnapshotsResponse) - err := c.cc.Invoke(ctx, Manager_GetSnapshots_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/ranker.v1.snapshot.Manager/GetSnapshots", in, out, opts...) if err != nil { return nil, err } @@ -115,7 +109,7 @@ func _Manager_GetSnapshot_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetSnapshot_FullMethodName, + FullMethod: "/ranker.v1.snapshot.Manager/GetSnapshot", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetSnapshot(ctx, req.(*snapshot.GetSnapshotRequest)) @@ -133,7 +127,7 @@ func _Manager_GetSnapshotOnly_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetSnapshotOnly_FullMethodName, + FullMethod: "/ranker.v1.snapshot.Manager/GetSnapshotOnly", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetSnapshotOnly(ctx, req.(*snapshot.GetSnapshotOnlyRequest)) @@ -151,7 +145,7 @@ func _Manager_GetSnapshots_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetSnapshots_FullMethodName, + FullMethod: "/ranker.v1.snapshot.Manager/GetSnapshots", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetSnapshots(ctx, req.(*snapshot.GetSnapshotsRequest)) diff --git a/proto/web3eye/ranker/v1/synctask/synctask.swagger.json b/proto/web3eye/ranker/v1/synctask/synctask.swagger.json index 22f3e17e..6672bae4 100644 --- a/proto/web3eye/ranker/v1/synctask/synctask.swagger.json +++ b/proto/web3eye/ranker/v1/synctask/synctask.swagger.json @@ -76,6 +76,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/synctaskSyncTask" } }, @@ -106,6 +107,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } diff --git a/proto/web3eye/ranker/v1/synctask/synctask_grpc.pb.go b/proto/web3eye/ranker/v1/synctask/synctask_grpc.pb.go index f18bbf48..e592d8c8 100644 --- a/proto/web3eye/ranker/v1/synctask/synctask_grpc.pb.go +++ b/proto/web3eye/ranker/v1/synctask/synctask_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.18.1 // source: web3eye/ranker/v1/synctask/synctask.proto @@ -18,14 +18,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Manager_CreateSyncTask_FullMethodName = "/ranker.v1.synctask.Manager/CreateSyncTask" - Manager_UpdateSyncTask_FullMethodName = "/ranker.v1.synctask.Manager/UpdateSyncTask" - Manager_GetSyncTask_FullMethodName = "/ranker.v1.synctask.Manager/GetSyncTask" - Manager_GetSyncTasks_FullMethodName = "/ranker.v1.synctask.Manager/GetSyncTasks" - Manager_DeleteSyncTask_FullMethodName = "/ranker.v1.synctask.Manager/DeleteSyncTask" -) - // ManagerClient is the client API for Manager 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. @@ -47,7 +39,7 @@ func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { func (c *managerClient) CreateSyncTask(ctx context.Context, in *CreateSyncTaskRequest, opts ...grpc.CallOption) (*CreateSyncTaskResponse, error) { out := new(CreateSyncTaskResponse) - err := c.cc.Invoke(ctx, Manager_CreateSyncTask_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/ranker.v1.synctask.Manager/CreateSyncTask", in, out, opts...) if err != nil { return nil, err } @@ -56,7 +48,7 @@ func (c *managerClient) CreateSyncTask(ctx context.Context, in *CreateSyncTaskRe func (c *managerClient) UpdateSyncTask(ctx context.Context, in *UpdateSyncTaskRequest, opts ...grpc.CallOption) (*UpdateSyncTaskResponse, error) { out := new(UpdateSyncTaskResponse) - err := c.cc.Invoke(ctx, Manager_UpdateSyncTask_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/ranker.v1.synctask.Manager/UpdateSyncTask", in, out, opts...) if err != nil { return nil, err } @@ -65,7 +57,7 @@ func (c *managerClient) UpdateSyncTask(ctx context.Context, in *UpdateSyncTaskRe func (c *managerClient) GetSyncTask(ctx context.Context, in *GetSyncTaskRequest, opts ...grpc.CallOption) (*GetSyncTaskResponse, error) { out := new(GetSyncTaskResponse) - err := c.cc.Invoke(ctx, Manager_GetSyncTask_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/ranker.v1.synctask.Manager/GetSyncTask", in, out, opts...) if err != nil { return nil, err } @@ -74,7 +66,7 @@ func (c *managerClient) GetSyncTask(ctx context.Context, in *GetSyncTaskRequest, func (c *managerClient) GetSyncTasks(ctx context.Context, in *GetSyncTasksRequest, opts ...grpc.CallOption) (*GetSyncTasksResponse, error) { out := new(GetSyncTasksResponse) - err := c.cc.Invoke(ctx, Manager_GetSyncTasks_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/ranker.v1.synctask.Manager/GetSyncTasks", in, out, opts...) if err != nil { return nil, err } @@ -83,7 +75,7 @@ func (c *managerClient) GetSyncTasks(ctx context.Context, in *GetSyncTasksReques func (c *managerClient) DeleteSyncTask(ctx context.Context, in *DeleteSyncTaskRequest, opts ...grpc.CallOption) (*DeleteSyncTaskResponse, error) { out := new(DeleteSyncTaskResponse) - err := c.cc.Invoke(ctx, Manager_DeleteSyncTask_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/ranker.v1.synctask.Manager/DeleteSyncTask", in, out, opts...) if err != nil { return nil, err } @@ -144,7 +136,7 @@ func _Manager_CreateSyncTask_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_CreateSyncTask_FullMethodName, + FullMethod: "/ranker.v1.synctask.Manager/CreateSyncTask", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).CreateSyncTask(ctx, req.(*CreateSyncTaskRequest)) @@ -162,7 +154,7 @@ func _Manager_UpdateSyncTask_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_UpdateSyncTask_FullMethodName, + FullMethod: "/ranker.v1.synctask.Manager/UpdateSyncTask", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).UpdateSyncTask(ctx, req.(*UpdateSyncTaskRequest)) @@ -180,7 +172,7 @@ func _Manager_GetSyncTask_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetSyncTask_FullMethodName, + FullMethod: "/ranker.v1.synctask.Manager/GetSyncTask", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetSyncTask(ctx, req.(*GetSyncTaskRequest)) @@ -198,7 +190,7 @@ func _Manager_GetSyncTasks_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetSyncTasks_FullMethodName, + FullMethod: "/ranker.v1.synctask.Manager/GetSyncTasks", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetSyncTasks(ctx, req.(*GetSyncTasksRequest)) @@ -216,7 +208,7 @@ func _Manager_DeleteSyncTask_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_DeleteSyncTask_FullMethodName, + FullMethod: "/ranker.v1.synctask.Manager/DeleteSyncTask", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).DeleteSyncTask(ctx, req.(*DeleteSyncTaskRequest)) diff --git a/proto/web3eye/ranker/v1/token/token.swagger.json b/proto/web3eye/ranker/v1/token/token.swagger.json index c4e3be0c..de2d1af8 100644 --- a/proto/web3eye/ranker/v1/token/token.swagger.json +++ b/proto/web3eye/ranker/v1/token/token.swagger.json @@ -74,6 +74,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } @@ -188,6 +189,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/tokenToken" } }, @@ -203,6 +205,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/tokenSearchToken" } }, @@ -308,6 +311,7 @@ "SiblingTokens": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/tokenSiblingToken" } }, diff --git a/proto/web3eye/ranker/v1/token/token_grpc.pb.go b/proto/web3eye/ranker/v1/token/token_grpc.pb.go index 94131605..c7588468 100644 --- a/proto/web3eye/ranker/v1/token/token_grpc.pb.go +++ b/proto/web3eye/ranker/v1/token/token_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.18.1 // source: web3eye/ranker/v1/token/token.proto @@ -19,14 +19,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Manager_GetToken_FullMethodName = "/ranker.v1.token.Manager/GetToken" - Manager_GetTokenOnly_FullMethodName = "/ranker.v1.token.Manager/GetTokenOnly" - Manager_GetTokens_FullMethodName = "/ranker.v1.token.Manager/GetTokens" - Manager_Search_FullMethodName = "/ranker.v1.token.Manager/Search" - Manager_SearchPage_FullMethodName = "/ranker.v1.token.Manager/SearchPage" -) - // ManagerClient is the client API for Manager 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. @@ -48,7 +40,7 @@ func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { func (c *managerClient) GetToken(ctx context.Context, in *token.GetTokenRequest, opts ...grpc.CallOption) (*token.GetTokenResponse, error) { out := new(token.GetTokenResponse) - err := c.cc.Invoke(ctx, Manager_GetToken_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/ranker.v1.token.Manager/GetToken", in, out, opts...) if err != nil { return nil, err } @@ -57,7 +49,7 @@ func (c *managerClient) GetToken(ctx context.Context, in *token.GetTokenRequest, func (c *managerClient) GetTokenOnly(ctx context.Context, in *token.GetTokenOnlyRequest, opts ...grpc.CallOption) (*token.GetTokenOnlyResponse, error) { out := new(token.GetTokenOnlyResponse) - err := c.cc.Invoke(ctx, Manager_GetTokenOnly_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/ranker.v1.token.Manager/GetTokenOnly", in, out, opts...) if err != nil { return nil, err } @@ -66,7 +58,7 @@ func (c *managerClient) GetTokenOnly(ctx context.Context, in *token.GetTokenOnly func (c *managerClient) GetTokens(ctx context.Context, in *token.GetTokensRequest, opts ...grpc.CallOption) (*token.GetTokensResponse, error) { out := new(token.GetTokensResponse) - err := c.cc.Invoke(ctx, Manager_GetTokens_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/ranker.v1.token.Manager/GetTokens", in, out, opts...) if err != nil { return nil, err } @@ -75,7 +67,7 @@ func (c *managerClient) GetTokens(ctx context.Context, in *token.GetTokensReques func (c *managerClient) Search(ctx context.Context, in *SearchTokenRequest, opts ...grpc.CallOption) (*SearchResponse, error) { out := new(SearchResponse) - err := c.cc.Invoke(ctx, Manager_Search_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/ranker.v1.token.Manager/Search", in, out, opts...) if err != nil { return nil, err } @@ -84,7 +76,7 @@ func (c *managerClient) Search(ctx context.Context, in *SearchTokenRequest, opts func (c *managerClient) SearchPage(ctx context.Context, in *SearchPageRequest, opts ...grpc.CallOption) (*SearchResponse, error) { out := new(SearchResponse) - err := c.cc.Invoke(ctx, Manager_SearchPage_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/ranker.v1.token.Manager/SearchPage", in, out, opts...) if err != nil { return nil, err } @@ -145,7 +137,7 @@ func _Manager_GetToken_Handler(srv interface{}, ctx context.Context, dec func(in } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetToken_FullMethodName, + FullMethod: "/ranker.v1.token.Manager/GetToken", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetToken(ctx, req.(*token.GetTokenRequest)) @@ -163,7 +155,7 @@ func _Manager_GetTokenOnly_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetTokenOnly_FullMethodName, + FullMethod: "/ranker.v1.token.Manager/GetTokenOnly", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetTokenOnly(ctx, req.(*token.GetTokenOnlyRequest)) @@ -181,7 +173,7 @@ func _Manager_GetTokens_Handler(srv interface{}, ctx context.Context, dec func(i } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetTokens_FullMethodName, + FullMethod: "/ranker.v1.token.Manager/GetTokens", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetTokens(ctx, req.(*token.GetTokensRequest)) @@ -199,7 +191,7 @@ func _Manager_Search_Handler(srv interface{}, ctx context.Context, dec func(inte } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_Search_FullMethodName, + FullMethod: "/ranker.v1.token.Manager/Search", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).Search(ctx, req.(*SearchTokenRequest)) @@ -217,7 +209,7 @@ func _Manager_SearchPage_Handler(srv interface{}, ctx context.Context, dec func( } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_SearchPage_FullMethodName, + FullMethod: "/ranker.v1.token.Manager/SearchPage", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).SearchPage(ctx, req.(*SearchPageRequest)) diff --git a/proto/web3eye/ranker/v1/transfer/transfer.swagger.json b/proto/web3eye/ranker/v1/transfer/transfer.swagger.json index b0eaf1e8..2a9227bf 100644 --- a/proto/web3eye/ranker/v1/transfer/transfer.swagger.json +++ b/proto/web3eye/ranker/v1/transfer/transfer.swagger.json @@ -56,6 +56,7 @@ "Infos": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/rankerv1transferTransfer" } }, @@ -121,12 +122,14 @@ "TargetItems": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/v1transferOrderItem" } }, "OfferItems": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/v1transferOrderItem" } } @@ -145,6 +148,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } diff --git a/proto/web3eye/ranker/v1/transfer/transfer_grpc.pb.go b/proto/web3eye/ranker/v1/transfer/transfer_grpc.pb.go index 6420d3f4..b2afe911 100644 --- a/proto/web3eye/ranker/v1/transfer/transfer_grpc.pb.go +++ b/proto/web3eye/ranker/v1/transfer/transfer_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.18.1 // source: web3eye/ranker/v1/transfer/transfer.proto @@ -18,10 +18,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Manager_GetTransfers_FullMethodName = "/ranker.v1.transfer.Manager/GetTransfers" -) - // ManagerClient is the client API for Manager 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. @@ -39,7 +35,7 @@ func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { func (c *managerClient) GetTransfers(ctx context.Context, in *GetTransfersRequest, opts ...grpc.CallOption) (*GetTransfersResponse, error) { out := new(GetTransfersResponse) - err := c.cc.Invoke(ctx, Manager_GetTransfers_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/ranker.v1.transfer.Manager/GetTransfers", in, out, opts...) if err != nil { return nil, err } @@ -84,7 +80,7 @@ func _Manager_GetTransfers_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_GetTransfers_FullMethodName, + FullMethod: "/ranker.v1.transfer.Manager/GetTransfers", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetTransfers(ctx, req.(*GetTransfersRequest)) diff --git a/proto/web3eye/retriever/v1/retriever.swagger.json b/proto/web3eye/retriever/v1/retriever.swagger.json index 91a91163..54712e15 100644 --- a/proto/web3eye/retriever/v1/retriever.swagger.json +++ b/proto/web3eye/retriever/v1/retriever.swagger.json @@ -39,6 +39,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } diff --git a/proto/web3eye/retriever/v1/retriever_grpc.pb.go b/proto/web3eye/retriever/v1/retriever_grpc.pb.go index d0c2ef67..6de88c5a 100644 --- a/proto/web3eye/retriever/v1/retriever_grpc.pb.go +++ b/proto/web3eye/retriever/v1/retriever_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.18.1 // source: web3eye/retriever/v1/retriever.proto @@ -18,11 +18,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Manager_StartRetrieve_FullMethodName = "/retriever.v1.Manager/StartRetrieve" - Manager_StatRetrieve_FullMethodName = "/retriever.v1.Manager/StatRetrieve" -) - // ManagerClient is the client API for Manager 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. @@ -41,7 +36,7 @@ func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { func (c *managerClient) StartRetrieve(ctx context.Context, in *StartRetrieveRequest, opts ...grpc.CallOption) (*StartRetrieveResponse, error) { out := new(StartRetrieveResponse) - err := c.cc.Invoke(ctx, Manager_StartRetrieve_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/retriever.v1.Manager/StartRetrieve", in, out, opts...) if err != nil { return nil, err } @@ -50,7 +45,7 @@ func (c *managerClient) StartRetrieve(ctx context.Context, in *StartRetrieveRequ func (c *managerClient) StatRetrieve(ctx context.Context, in *StatRetrieveRequest, opts ...grpc.CallOption) (*StatRetrieveResponse, error) { out := new(StatRetrieveResponse) - err := c.cc.Invoke(ctx, Manager_StatRetrieve_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/retriever.v1.Manager/StatRetrieve", in, out, opts...) if err != nil { return nil, err } @@ -99,7 +94,7 @@ func _Manager_StartRetrieve_Handler(srv interface{}, ctx context.Context, dec fu } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_StartRetrieve_FullMethodName, + FullMethod: "/retriever.v1.Manager/StartRetrieve", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).StartRetrieve(ctx, req.(*StartRetrieveRequest)) @@ -117,7 +112,7 @@ func _Manager_StatRetrieve_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_StatRetrieve_FullMethodName, + FullMethod: "/retriever.v1.Manager/StatRetrieve", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).StatRetrieve(ctx, req.(*StatRetrieveRequest)) diff --git a/proto/web3eye/transform/v1/transform.pb.gw.go b/proto/web3eye/transform/v1/transform.pb.gw.go index 7a0093ef..4f375297 100644 --- a/proto/web3eye/transform/v1/transform.pb.gw.go +++ b/proto/web3eye/transform/v1/transform.pb.gw.go @@ -78,20 +78,22 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/transform.v1.Manager/Version", runtime.WithHTTPPathPattern("/v1/version")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/transform.v1.Manager/Version", runtime.WithHTTPPathPattern("/v1/version")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Manager_Version_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Manager_Version_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_Version_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_Version_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -101,7 +103,7 @@ func RegisterManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, se // RegisterManagerHandlerFromEndpoint is same as RegisterManagerHandler but // automatically dials to "endpoint" and closes the connection when "ctx" gets done. func RegisterManagerHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.Dial(endpoint, opts...) + conn, err := grpc.DialContext(ctx, endpoint, opts...) if err != nil { return err } @@ -140,19 +142,21 @@ func RegisterManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/transform.v1.Manager/Version", runtime.WithHTTPPathPattern("/v1/version")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/transform.v1.Manager/Version", runtime.WithHTTPPathPattern("/v1/version")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Manager_Version_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_Manager_Version_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_Manager_Version_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Manager_Version_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) diff --git a/proto/web3eye/transform/v1/transform.swagger.json b/proto/web3eye/transform/v1/transform.swagger.json index 27c863cf..20eacabb 100644 --- a/proto/web3eye/transform/v1/transform.swagger.json +++ b/proto/web3eye/transform/v1/transform.swagger.json @@ -39,6 +39,7 @@ "in": "body", "required": true, "schema": { + "type": "object", "properties": {} } } @@ -81,6 +82,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } diff --git a/proto/web3eye/transform/v1/transform_grpc.pb.go b/proto/web3eye/transform/v1/transform_grpc.pb.go index 2813c989..c287fa64 100644 --- a/proto/web3eye/transform/v1/transform_grpc.pb.go +++ b/proto/web3eye/transform/v1/transform_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc v3.18.1 // source: web3eye/transform/v1/transform.proto @@ -20,11 +20,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Manager_Version_FullMethodName = "/transform.v1.Manager/Version" - Manager_UrlToVector_FullMethodName = "/transform.v1.Manager/UrlToVector" -) - // ManagerClient is the client API for Manager 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. @@ -43,7 +38,7 @@ func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { func (c *managerClient) Version(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*web3eye.VersionResponse, error) { out := new(web3eye.VersionResponse) - err := c.cc.Invoke(ctx, Manager_Version_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/transform.v1.Manager/Version", in, out, opts...) if err != nil { return nil, err } @@ -52,7 +47,7 @@ func (c *managerClient) Version(ctx context.Context, in *emptypb.Empty, opts ... func (c *managerClient) UrlToVector(ctx context.Context, in *UrlToVectorReq, opts ...grpc.CallOption) (*UrlToVectorResp, error) { out := new(UrlToVectorResp) - err := c.cc.Invoke(ctx, Manager_UrlToVector_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/transform.v1.Manager/UrlToVector", in, out, opts...) if err != nil { return nil, err } @@ -101,7 +96,7 @@ func _Manager_Version_Handler(srv interface{}, ctx context.Context, dec func(int } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_Version_FullMethodName, + FullMethod: "/transform.v1.Manager/Version", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).Version(ctx, req.(*emptypb.Empty)) @@ -119,7 +114,7 @@ func _Manager_UrlToVector_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Manager_UrlToVector_FullMethodName, + FullMethod: "/transform.v1.Manager/UrlToVector", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).UrlToVector(ctx, req.(*UrlToVectorReq)) diff --git a/proto/web3eye/web3eye.swagger.json b/proto/web3eye/web3eye.swagger.json index 301a608f..bc3aa487 100644 --- a/proto/web3eye/web3eye.swagger.json +++ b/proto/web3eye/web3eye.swagger.json @@ -34,6 +34,7 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } diff --git a/ranker/api/v1/endpoint/api.go b/ranker/api/v1/endpoint/api.go index 24c7f188..c723ab33 100644 --- a/ranker/api/v1/endpoint/api.go +++ b/ranker/api/v1/endpoint/api.go @@ -4,6 +4,7 @@ import ( "context" "github.com/NpoolPlatform/go-service-framework/pkg/logger" + "github.com/NpoolPlatform/libent-cruder/pkg/cruder" "github.com/web3eye-io/Web3Eye/nft-meta/api/v1/endpoint" "github.com/web3eye-io/Web3Eye/proto/web3eye" nftmetanpool "github.com/web3eye-io/Web3Eye/proto/web3eye/nftmeta/v1/endpoint" @@ -27,6 +28,7 @@ func (s *Server) CreateEndpoint(ctx context.Context, in *rankernpool.CreateEndpo ChainType: &in.ChainType, ChainID: &in.ChainID, Address: &in.Address, + RPS: &in.RPS, }, }) if err != nil { @@ -44,6 +46,7 @@ func (s *Server) UpdateEndpoint(ctx context.Context, in *rankernpool.UpdateEndpo ID: &in.ID, Address: in.Address, State: in.State, + RPS: in.RPS, Remark: in.Remark, }, }) @@ -83,27 +86,31 @@ func (s *Server) GetEndpoints(ctx context.Context, in *rankernpool.GetEndpointsR func buildConds(in *rankernpool.GetEndpointsRequest) *nftmetanpool.Conds { conds := &nftmetanpool.Conds{} if in.ID != nil { - conds.ID = &web3eye.Uint32Val{Op: "eq", Value: *in.ID} + conds.ID = &web3eye.Uint32Val{Op: cruder.EQ, Value: *in.ID} } if in.ChainType != nil { - conds.ChainType = &web3eye.Uint32Val{Op: "eq", Value: uint32(*in.ChainType.Enum())} + conds.ChainType = &web3eye.Uint32Val{Op: cruder.EQ, Value: uint32(*in.ChainType.Enum())} } if in.ChainID != nil { - conds.ChainID = &web3eye.StringVal{Op: "eq", Value: *in.ChainID} + conds.ChainID = &web3eye.StringVal{Op: cruder.EQ, Value: *in.ChainID} } if in.Address != nil { - conds.Address = &web3eye.StringVal{Op: "eq", Value: *in.Address} + conds.Address = &web3eye.StringVal{Op: cruder.EQ, Value: *in.Address} } if in.State != nil { - conds.State = &web3eye.Uint32Val{Op: "eq", Value: uint32(*in.State.Enum())} + conds.State = &web3eye.Uint32Val{Op: cruder.EQ, Value: uint32(*in.State.Enum())} + } + + if in.RPS != nil { + conds.RPS = &web3eye.Uint32Val{Op: cruder.EQ, Value: *in.RPS} } if in.Remark != nil { - conds.Remark = &web3eye.StringVal{Op: "eq", Value: *in.Remark} + conds.Remark = &web3eye.StringVal{Op: cruder.EQ, Value: *in.Remark} } return conds } From cc0a309b3827ad34ca3fe5341aea3647ca81c49e Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Mon, 8 Jan 2024 19:12:24 +0800 Subject: [PATCH 048/116] add rps --- go.mod | 15 --------------- go.sum | 50 -------------------------------------------------- 2 files changed, 65 deletions(-) diff --git a/go.mod b/go.mod index e861575d..a96ba02d 100644 --- a/go.mod +++ b/go.mod @@ -72,14 +72,11 @@ require ( github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96 // indirect github.com/AthenZ/athenz v1.10.39 // indirect github.com/DataDog/zstd v1.5.0 // indirect - github.com/Masterminds/semver v1.4.2 // indirect - github.com/Masterminds/sprig v2.15.0+incompatible // indirect github.com/Microsoft/go-winio v0.6.1 // indirect github.com/agext/levenshtein v1.2.3 // indirect github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 // indirect github.com/alexbrainman/goissue34681 v0.0.0-20191006012335-3fc7a47baff5 // indirect github.com/andres-erbsen/clock v0.0.0-20160526145045-9e14626cd129 // indirect - github.com/aokoli/goutils v1.0.1 // indirect github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect github.com/ardielle/ardielle-go v1.5.2 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10 // indirect @@ -130,7 +127,6 @@ require ( github.com/dustin/go-humanize v1.0.1 // indirect github.com/dvsekhvalnov/jose2go v1.5.0 // indirect github.com/elastic/gosigar v0.14.2 // indirect - github.com/envoyproxy/protoc-gen-validate v1.0.2 // indirect github.com/ethereum/c-kzg-4844 v0.4.0 // indirect github.com/facebookgo/atomicfile v0.0.0-20151019160806-2de1f203e7d5 // indirect github.com/fatih/color v1.15.0 // indirect @@ -181,10 +177,7 @@ require ( github.com/hashicorp/golang-lru/v2 v2.0.4 // indirect github.com/hashicorp/hcl/v2 v2.17.0 // indirect github.com/holiman/uint256 v1.2.4 // indirect - github.com/huandu/xstrings v1.0.0 // indirect github.com/huin/goupnp v1.3.0 // indirect - github.com/imdario/mergo v0.3.4 // indirect - github.com/inconshreveable/mousetrap v1.0.1 // indirect github.com/ipfs/bbloom v0.0.4 // indirect github.com/ipfs/go-bitfield v1.1.0 // indirect github.com/ipfs/go-block-format v0.1.2 // indirect @@ -252,7 +245,6 @@ require ( github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.19 // indirect - github.com/mattn/go-runewidth v0.0.13 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/mcuadros/go-version v0.0.0-20190830083331-035f6764e8d2 // indirect github.com/miekg/dns v1.1.55 // indirect @@ -276,9 +268,7 @@ require ( github.com/multiformats/go-multicodec v0.9.0 // indirect github.com/multiformats/go-multistream v0.4.1 // indirect github.com/multiformats/go-varint v0.0.7 // indirect - github.com/mwitkow/go-proto-validators v0.0.0-20180403085117-0950a7990007 // indirect github.com/near/borsh-go v0.3.2-0.20220516180422-1ff87d108454 // indirect - github.com/olekukonko/tablewriter v0.0.5 // indirect github.com/onsi/ginkgo/v2 v2.11.0 // indirect github.com/opencontainers/runtime-spec v1.0.2 // indirect github.com/opentracing/opentracing-go v1.2.0 // indirect @@ -293,23 +283,18 @@ require ( github.com/prometheus/client_model v0.4.0 // indirect github.com/prometheus/common v0.44.0 // indirect github.com/prometheus/procfs v0.11.0 // indirect - github.com/pseudomuto/protoc-gen-doc v1.5.1 // indirect - github.com/pseudomuto/protokit v0.2.0 // indirect github.com/quic-go/qpack v0.4.0 // indirect github.com/quic-go/qtls-go1-19 v0.3.2 // indirect github.com/quic-go/qtls-go1-20 v0.3.0 // indirect github.com/quic-go/quic-go v0.36.1 // indirect github.com/quic-go/webtransport-go v0.5.3 // indirect github.com/raulk/go-watchdog v1.3.0 // indirect - github.com/rivo/uniseg v0.2.0 // indirect github.com/rogpeppe/go-internal v1.11.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/samber/lo v1.38.1 // indirect github.com/shirou/gopsutil v3.21.11+incompatible // indirect github.com/sirupsen/logrus v1.9.0 // indirect github.com/spaolacci/murmur3 v1.1.0 // indirect - github.com/spf13/cobra v1.6.1 // indirect - github.com/spf13/pflag v1.0.5 // indirect github.com/streamingfast/logging v0.0.0-20230608130331-f22c91403091 // indirect github.com/supranational/blst v0.3.11 // indirect github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect diff --git a/go.sum b/go.sum index 74088a43..070ef021 100644 --- a/go.sum +++ b/go.sum @@ -78,10 +78,6 @@ github.com/GeertJohan/go.rice v1.0.0/go.mod h1:eH6gbSOAUv07dQuZVnBmoDP8mgsM1rtix github.com/Joker/hpp v1.0.0/go.mod h1:8x5n+M1Hp5hC0g8okX3sR3vFQwynaX/UgSOM9MeBKzY= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/Kubuxu/go-os-helper v0.0.1/go.mod h1:N8B+I7vPCT80IcP58r50u4+gEEcsZETFUpAzWW2ep1Y= -github.com/Masterminds/semver v1.4.2 h1:WBLTQ37jOCzSLtXNdoo8bNM8876KhNqOKvrlGITgsTc= -github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= -github.com/Masterminds/sprig v2.15.0+incompatible h1:0gSxPGWS9PAr7U2NsQ2YQg6juRDINkUyuvbb4b2Xm8w= -github.com/Masterminds/sprig v2.15.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= github.com/NpoolPlatform/go-service-framework v0.0.0-20230630110040-60a65709d9fb h1:JkPVZs+rG8kmCUcUTuQu84hZo7QI9xGJiYFRH0FXrEk= @@ -114,14 +110,10 @@ github.com/alexbrainman/goissue34681 v0.0.0-20191006012335-3fc7a47baff5/go.mod h github.com/andres-erbsen/clock v0.0.0-20160526145045-9e14626cd129 h1:MzBOUgng9orim59UnfUTLRjMpd09C5uEVQ6RPGeCaVI= github.com/andres-erbsen/clock v0.0.0-20160526145045-9e14626cd129/go.mod h1:rFgpPQZYZ8vdbc+48xibu8ALc3yeyd64IhHS+PU6Yyg= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/aokoli/goutils v1.0.1 h1:7fpzNGoJ3VA8qcrm++XEE1QUe0mIwNeLa02Nwq7RDkg= -github.com/aokoli/goutils v1.0.1/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ= github.com/apache/pulsar-client-go v0.11.0 h1:fniyVbewAOcMSMLwxzhdrCFmFTorCW40jfnmQVcsrJw= github.com/apache/pulsar-client-go v0.11.0/go.mod h1:FoijqJwgjroSKptIWp1vvK1CXs8dXnQiL8I+MHOri4A= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= -github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= github.com/ardielle/ardielle-go v1.5.2 h1:TilHTpHIQJ27R1Tl/iITBzMwiUGSlVfiVhwDNGM3Zj4= @@ -268,7 +260,6 @@ github.com/cockroachdb/logtags v0.0.0-20211118104740-dabe8e521a4f/go.mod h1:Vz9D github.com/cockroachdb/pebble v0.0.0-20230928194634-aa077af62593 h1:aPEJyR4rPBvDmeyi+l/FS/VtA00IWvjeFvjen1m1l1A= github.com/cockroachdb/redact v1.1.3 h1:AKZds10rFSIj7qADf0g46UixK8NNLwWTNdCIGS5wfSQ= github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= -github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2/go.mod h1:8BT+cPK6xvFOcRlk0R8eg+OTkcqI6baNH4xAkpiYVvQ= github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= @@ -374,8 +365,6 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v1.0.2 h1:QkIBuU5k+x7/QXPvPPnWXWlCdaBFApVqftFV6k087DA= -github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7QWXpgx6x8QiMKdmN72jogE= github.com/etcd-io/bbolt v1.3.3/go.mod h1:ZF2nL25h33cCyBtcyWeZ2/I3HQOfTP+0PIEvHjkjCrw= github.com/ethereum/c-kzg-4844 v0.4.0 h1:3MS1s4JtA868KpJxroZoepdV0ZKBp3u/O5HcZ7R3nlY= github.com/ethereum/c-kzg-4844 v0.4.0/go.mod h1:VewdlzQmpT5QSrVhbBuGoCdFJkpaJlO1aQputP83wc0= @@ -430,7 +419,6 @@ github.com/filecoin-project/go-fil-commcid v0.1.0/go.mod h1:Eaox7Hvus1JgPrL5+M3+ github.com/filecoin-project/go-fil-commp-hashhash v0.1.0 h1:imrrpZWEHRnNqqv0tN7LXep5bFEVOVmQWHJvl2mgsGo= github.com/filecoin-project/go-fil-markets v1.28.3 h1:2cFu7tLZYrfNz4LnxjgERaVD7k5+Wwp0H76mnnTGPBk= github.com/filecoin-project/go-fil-markets v1.28.3/go.mod h1:eryxo/oVgIxaR5g5CNr9PlvZOi+u/bak0IsPL/PT1hk= -github.com/filecoin-project/go-hamt-ipld v0.1.5/go.mod h1:6Is+ONR5Cd5R6XZoCse1CWaXZc0Hdb/JeX+EQCQzX24= github.com/filecoin-project/go-hamt-ipld/v3 v3.1.0/go.mod h1:bxmzgT8tmeVQA1/gvBwFmYdT8SOFUwB3ovSUfG1Ux0g= github.com/filecoin-project/go-hamt-ipld/v3 v3.3.0 h1:lYx2W8lE2GpwMnVmLn9rRkxTZGMgirWabz0Cx0BTlAU= github.com/filecoin-project/go-hamt-ipld/v3 v3.3.0/go.mod h1:IWfNfjdXLrqyyj3X7JMJQgWYu9M4NX/hQl1zdv64bmc= @@ -529,7 +517,6 @@ github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg78 github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68= -github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= github.com/go-yaml/yaml v2.1.0+incompatible/go.mod h1:w2MrLa16VYP0jy6N7M5kHaCkaLENm+P+Tv+MfurjSw0= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= @@ -557,8 +544,6 @@ github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keL github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.1.1 h1:jxpi2eWoU84wbX9iIEyAeeoac3FLuifZpY9tcNUD9kw= -github.com/golang/glog v1.1.1/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -645,7 +630,6 @@ github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -728,8 +712,6 @@ github.com/holiman/bloomfilter/v2 v2.0.3 h1:73e0e/V0tCydx14a0SCYS/EWCxgwLZ18CZcZ github.com/holiman/uint256 v1.2.4 h1:jUc4Nk8fm9jZabQuqr2JzednajVmBpC+oiTiXZJEApU= github.com/holiman/uint256 v1.2.4/go.mod h1:EOMSn4q6Nyt9P6efbI3bueV4e1b3dGlUCXeiRV4ng7E= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/huandu/xstrings v1.0.0 h1:pO2K/gKgKaat5LdpAhxhluX2GPQMaI3W5FUz/I/UnWk= -github.com/huandu/xstrings v1.0.0/go.mod h1:4qWG/gcEcfX4z/mBDHJ++3ReCw9ibxbsNJbcucJdbSo= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= github.com/huin/goupnp v1.0.0/go.mod h1:n9v9KO1tAxYH82qOn+UTIFQDmx5n1Zxd/ClZDMX7Bnc= github.com/huin/goupnp v1.0.3/go.mod h1:ZxNlw5WqJj6wSsRK5+YfflQGXYfccj5VgQsMNixHM7Y= @@ -738,12 +720,8 @@ github.com/huin/goupnp v1.3.0/go.mod h1:gnGPsThkYa7bFi/KWmEysQRf48l2dvR5bxr2OFck github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= github.com/hydrogen18/memlistener v0.0.0-20200120041712-dcc25e7acd91/go.mod h1:qEIFzExnS6016fRpRfxrExeVn2gbClQA99gQhnIcdhE= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.4 h1:mKkfHkZWD8dC7WxKx3N9WCF0Y+dLau45704YQmY6H94= -github.com/imdario/mergo v0.3.4/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= -github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs= github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyqMG0= @@ -1307,9 +1285,7 @@ github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D github.com/mattn/go-pointer v0.0.1 h1:n+XhsuGeVO6MEAp7xyEukFINEa+Quek5psIR/ylA6o0= github.com/mattn/go-pointer v0.0.1/go.mod h1:2zXcozF6qYGgmsG+SeTZz3oAbFLdD3OWqnUbNvJZAlc= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= -github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-sqlite3 v1.14.13 h1:1tj15ngiFfcZzii7yd82foL+ks+ouQcj8j/TPq3fk1I= github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= @@ -1466,8 +1442,6 @@ github.com/multiformats/go-varint v0.0.7 h1:sWSGR+f/eu5ABZA2ZpYKBILXTTs9JWpdEM/n github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOELpZAu9eioSos/OU= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-proto-validators v0.0.0-20180403085117-0950a7990007 h1:28i1IjGcx8AofiB4N3q5Yls55VEaitzuEPkFJEVgGkA= -github.com/mwitkow/go-proto-validators v0.0.0-20180403085117-0950a7990007/go.mod h1:m2XC9Qq0AlmmVksL6FktJCdTYyLk7V3fKyp0sl1yWQo= github.com/myxtype/filecoin-client v0.3.2 h1:Myc3VKbdHDA1wYOY4ut5bIkVHv2F7KrldKbqyXJh+5k= github.com/myxtype/filecoin-client v0.3.2/go.mod h1:jfxSnA9FsYGzyIGCKkL5WvPFZv7JqneZxfPoog23CO8= github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= @@ -1491,7 +1465,6 @@ github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQ github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= -github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= @@ -1607,10 +1580,6 @@ github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0ua github.com/prometheus/procfs v0.11.0 h1:5EAgkfkMl659uZPbe9AS2N68a7Cc1TJbPEuGzFuRbyk= github.com/prometheus/procfs v0.11.0/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/pseudomuto/protoc-gen-doc v1.5.1 h1:Ah259kcrio7Ix1Rhb6u8FCaOkzf9qRBqXnvAufg061w= -github.com/pseudomuto/protoc-gen-doc v1.5.1/go.mod h1:XpMKYg6zkcpgfpCfQ8GcWBDRtRxOmMR5w7pz4Xo+dYM= -github.com/pseudomuto/protokit v0.2.0 h1:hlnBDcy3YEDXH7kc9gV+NLaN0cDzhDvD1s7Y6FZ8RpM= -github.com/pseudomuto/protokit v0.2.0/go.mod h1:2PdH30hxVHsup8KpBTOXTBeMVhJZVio3Q8ViKSAXT0Q= github.com/quic-go/qpack v0.4.0 h1:Cr9BXA1sQS2SmDUWjSofMPNKmvF6IiIfDRmgU0w1ZCo= github.com/quic-go/qpack v0.4.0/go.mod h1:UZVnYIfi5GRk+zI9UMaCPsmZ2xKJP7XBUvVyT1Knj9A= github.com/quic-go/qtls-go1-19 v0.3.2 h1:tFxjCFcTQzK+oMxG6Zcvp4Dq8dx4yD3dDiIiyc86Z5U= @@ -1625,9 +1594,7 @@ github.com/raulk/go-watchdog v1.3.0 h1:oUmdlHxdkXRJlwfG0O9omj8ukerm8MEQavSiDTEtB github.com/raulk/go-watchdog v1.3.0/go.mod h1:fIvOnLbF0b0ZwkB9YU4mOW9Did//4vPZtDqv66NfsMU= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= -github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= @@ -1711,12 +1678,9 @@ github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkU github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= -github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= -github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= @@ -1774,7 +1738,6 @@ github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9f github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c h1:u6SKchux2yDvFQnDHS3lPnIRmfVJ5Sxy3ao2SIdysLQ= -github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM= github.com/twmb/murmur3 v1.1.6 h1:mqrRot1BRxm+Yct+vavLMou2/iJt0tNVTTC0QoIjaZg= github.com/tyler-smith/go-bip39 v1.1.0 h1:5eUemwrMargf3BSLRRCalXT93Ns6pQJIjYQN2nyfOP8= github.com/ucarion/urlpath v0.0.0-20200424170820-7ccc79b76bbb h1:Ywfo8sUltxogBpFuMOFRrrSifO788kAFxmvVw31PtQQ= @@ -1868,7 +1831,6 @@ github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFi github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/zclconf/go-cty v1.13.2 h1:4GvrUxe/QUDYuJKAav4EYqdM47/kZa672LwmXFmEKT0= github.com/zclconf/go-cty v1.13.2/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= -github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= @@ -2123,8 +2085,6 @@ golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4Iltr golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8= -golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= golang.org/x/oauth2 v0.13.0 h1:jDDenyj+WgFtmV3zYVoi8aE2BwtXFLWOA67ZfNWftiY= golang.org/x/oauth2 v0.13.0/go.mod h1:/JMhi4ZRXAf4HG9LiNmxvk+45+96RUlVThiH8FzNBn0= golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw= @@ -2381,8 +2341,6 @@ google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww google.golang.org/appengine v1.6.2/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/genproto v0.0.0-20180518175338-11a468237815/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= @@ -2423,16 +2381,10 @@ google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= -google.golang.org/genproto v0.0.0-20230629202037-9506855d4529 h1:9JucMWR7sPvCxUFd6UsOUNmA5kCcWOfORaT3tpAsKQs= -google.golang.org/genproto v0.0.0-20230629202037-9506855d4529/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64= google.golang.org/genproto v0.0.0-20231002182017-d307bd883b97 h1:SeZZZx0cP0fqUyA+oRzP9k7cSwJlvDFiROO72uwD6i0= google.golang.org/genproto v0.0.0-20231002182017-d307bd883b97/go.mod h1:t1VqOqqvce95G3hIDCT5FeO3YUc6Q4Oe24L/+rNMxRk= -google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529 h1:s5YSX+ZH5b5vS9rnpGymvIyMpLRJizowqDlOuyjXnTk= -google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= google.golang.org/genproto/googleapis/api v0.0.0-20231002182017-d307bd883b97 h1:W18sezcAYs+3tDZX4F80yctqa12jcP1PUS2gQu1zTPU= google.golang.org/genproto/googleapis/api v0.0.0-20231002182017-d307bd883b97/go.mod h1:iargEX0SFPm3xcfMI0d1domjg0ZF4Aa0p2awqyxhvF0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230629202037-9506855d4529 h1:DEH99RbiLZhMxrpEJCZ0A+wdTe0EOgou/poSLx9vWf4= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230629202037-9506855d4529/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= google.golang.org/genproto/googleapis/rpc v0.0.0-20231002182017-d307bd883b97 h1:6GQBEOdGkX6MMTLT9V+TjtIRZCw9VPD5Z+yHY9wMgS0= google.golang.org/genproto/googleapis/rpc v0.0.0-20231002182017-d307bd883b97/go.mod h1:v7nGkzlmW8P3n/bKmWBn2WpBjpOEx8Q6gMueudAmKfY= google.golang.org/grpc v1.12.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= @@ -2459,8 +2411,6 @@ google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.56.1 h1:z0dNfjIl0VpaZ9iSVjA6daGatAYwPGstTjt5vkRMFkQ= -google.golang.org/grpc v1.56.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= google.golang.org/grpc v1.60.1 h1:26+wFr+cNqSGFcOXcabYC0lUVJVRa2Sb2ortSK7VrEU= google.golang.org/grpc v1.60.1/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.2.0 h1:TLkBREm4nIsEcexnCjgQd5GQWaHcqMzwQV0TX9pq8S0= From 72d9f6f70612314242a2e0a402bd6a228791d60f Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Mon, 8 Jan 2024 19:33:00 +0800 Subject: [PATCH 049/116] bugfix for get transfers --- .../v1/transfer/transfer.swagger.json | 3 + .../web3eye/ranker/v1/transfer/transfer.pb.go | 143 ++++++++++-------- .../web3eye/ranker/v1/transfer/transfer.proto | 1 + .../ranker/v1/transfer/transfer.swagger.json | 3 + ranker/pkg/crud/v1/transfer/transfer.go | 4 +- 5 files changed, 86 insertions(+), 68 deletions(-) diff --git a/proto/web3eye/entrance/v1/transfer/transfer.swagger.json b/proto/web3eye/entrance/v1/transfer/transfer.swagger.json index 9b1baef0..edbf8e6e 100644 --- a/proto/web3eye/entrance/v1/transfer/transfer.swagger.json +++ b/proto/web3eye/entrance/v1/transfer/transfer.swagger.json @@ -131,6 +131,9 @@ "type": "integer", "format": "int64" }, + "EntID": { + "type": "string" + }, "ChainType": { "$ref": "#/definitions/chainChainType" }, diff --git a/proto/web3eye/ranker/v1/transfer/transfer.pb.go b/proto/web3eye/ranker/v1/transfer/transfer.pb.go index 792e569f..b60568a1 100644 --- a/proto/web3eye/ranker/v1/transfer/transfer.pb.go +++ b/proto/web3eye/ranker/v1/transfer/transfer.pb.go @@ -156,6 +156,7 @@ type Transfer struct { unknownFields protoimpl.UnknownFields ID uint32 `protobuf:"varint,10,opt,name=ID,proto3" json:"ID,omitempty"` + EntID string `protobuf:"bytes,11,opt,name=EntID,proto3" json:"EntID,omitempty"` ChainType v1.ChainType `protobuf:"varint,20,opt,name=ChainType,proto3,enum=chain.ChainType" json:"ChainType,omitempty"` ChainID string `protobuf:"bytes,30,opt,name=ChainID,proto3" json:"ChainID,omitempty"` Contract string `protobuf:"bytes,40,opt,name=Contract,proto3" json:"Contract,omitempty"` @@ -213,6 +214,13 @@ func (x *Transfer) GetID() uint32 { return 0 } +func (x *Transfer) GetEntID() string { + if x != nil { + return x.EntID + } + return "" +} + func (x *Transfer) GetChainType() v1.ChainType { if x != nil { return x.ChainType @@ -501,74 +509,75 @@ var file_web3eye_ranker_v1_transfer_transfer_proto_rawDesc = []byte{ 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x64, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x22, 0xaf, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x22, 0xc5, 0x04, 0x0a, 0x08, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x49, - 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x12, 0x2e, 0x0a, 0x09, 0x43, - 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, - 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, - 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x68, - 0x61, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x12, 0x2e, 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x32, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x3c, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x46, - 0x72, 0x6f, 0x6d, 0x18, 0x46, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x46, 0x72, 0x6f, 0x6d, 0x12, - 0x0e, 0x0a, 0x02, 0x54, 0x6f, 0x18, 0x50, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x54, 0x6f, 0x12, - 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x64, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x78, 0x48, - 0x61, 0x73, 0x68, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x54, 0x78, 0x48, 0x61, 0x73, - 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x18, 0x78, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, - 0x17, 0x0a, 0x06, 0x54, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x82, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x06, 0x54, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, - 0x72, 0x6b, 0x18, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, - 0x6b, 0x12, 0x1b, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x96, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x40, - 0x0a, 0x0b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xfa, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, - 0x74, 0x65, 0x6d, 0x52, 0x0b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, - 0x12, 0x3e, 0x0a, 0x0a, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xa0, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0a, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x73, - 0x22, 0xd4, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x69, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x43, - 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x69, - 0x6e, 0x49, 0x44, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, - 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x1e, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1d, - 0x0a, 0x07, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x07, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x44, 0x88, 0x01, 0x01, 0x12, 0x16, 0x0a, - 0x06, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x32, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4f, - 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x3c, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x5f, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x44, 0x22, 0x60, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x32, 0x0a, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x05, 0x49, 0x6e, - 0x66, 0x6f, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x14, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x32, 0x6e, 0x0a, 0x07, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x12, 0x63, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, - 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x40, 0x5a, 0x3e, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2d, - 0x69, 0x6f, 0x2f, 0x57, 0x65, 0x62, 0x33, 0x45, 0x79, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2f, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2f, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2f, - 0x76, 0x31, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x45, + 0x6e, 0x74, 0x49, 0x44, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, 0x6e, 0x74, 0x49, + 0x44, 0x12, 0x2e, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x14, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x68, 0x61, + 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x18, 0x1e, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x2e, 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x54, 0x79, 0x70, 0x65, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x49, 0x44, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, + 0x44, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x72, 0x6f, 0x6d, 0x18, 0x46, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x6f, 0x18, 0x50, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x54, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x5a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, + 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x64, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, + 0x16, 0x0a, 0x06, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x48, 0x61, 0x73, 0x68, 0x18, 0x78, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x17, 0x0a, 0x06, 0x54, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x18, + 0x82, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x54, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, + 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x1b, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x18, 0x96, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4c, 0x6f, 0x67, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x12, 0x40, 0x0a, 0x0b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x74, + 0x65, 0x6d, 0x73, 0x18, 0xfa, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x72, 0x61, 0x6e, + 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0b, 0x54, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x3e, 0x0a, 0x0a, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, + 0x74, 0x65, 0x6d, 0x73, 0x18, 0xa0, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x72, 0x61, + 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, + 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0a, 0x4f, 0x66, 0x66, 0x65, + 0x72, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0xd4, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, + 0x0a, 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x10, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x07, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x44, 0x18, + 0x28, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x44, + 0x88, 0x01, 0x01, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x32, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x44, 0x22, 0x60, 0x0a, + 0x14, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x0a, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x52, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x74, + 0x61, 0x6c, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x32, + 0x6e, 0x0a, 0x07, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x63, 0x0a, 0x0c, 0x47, 0x65, + 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x61, 0x6e, + 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, + 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, + 0x40, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, + 0x62, 0x33, 0x65, 0x79, 0x65, 0x2d, 0x69, 0x6f, 0x2f, 0x57, 0x65, 0x62, 0x33, 0x45, 0x79, 0x65, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x77, 0x65, 0x62, 0x33, 0x65, 0x79, 0x65, 0x2f, 0x72, + 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/proto/web3eye/ranker/v1/transfer/transfer.proto b/proto/web3eye/ranker/v1/transfer/transfer.proto index 3d3cad03..91df0e01 100644 --- a/proto/web3eye/ranker/v1/transfer/transfer.proto +++ b/proto/web3eye/ranker/v1/transfer/transfer.proto @@ -27,6 +27,7 @@ message OrderItem{ message Transfer { uint32 ID = 10; + string EntID = 11; chain.ChainType ChainType = 20; string ChainID = 30; string Contract = 40; diff --git a/proto/web3eye/ranker/v1/transfer/transfer.swagger.json b/proto/web3eye/ranker/v1/transfer/transfer.swagger.json index 2a9227bf..cd3b3715 100644 --- a/proto/web3eye/ranker/v1/transfer/transfer.swagger.json +++ b/proto/web3eye/ranker/v1/transfer/transfer.swagger.json @@ -73,6 +73,9 @@ "type": "integer", "format": "int64" }, + "EntID": { + "type": "string" + }, "ChainType": { "$ref": "#/definitions/chainChainType" }, diff --git a/ranker/pkg/crud/v1/transfer/transfer.go b/ranker/pkg/crud/v1/transfer/transfer.go index 6d7ede92..87a61b44 100644 --- a/ranker/pkg/crud/v1/transfer/transfer.go +++ b/ranker/pkg/crud/v1/transfer/transfer.go @@ -19,7 +19,8 @@ import ( ) type OrderItem struct { - ID uuid.UUID `json:"id,omitempty"` + ID uint32 `json:"id,omitempty"` + EntID uuid.UUID `json:"ent_id,omitempty"` CreatedAt uint32 `json:"created_at,omitempty"` UpdatedAt uint32 `json:"updated_at,omitempty"` DeletedAt uint32 `json:"deleted_at,omitempty"` @@ -148,6 +149,7 @@ func ent2rpcTransfer(row *ent.Transfer, orderItems []*OrderItem) *rankernpool.Tr amount, _ := utils.DecStr2uint64(row.Amount) rpctransfer := &rankernpool.Transfer{ ID: row.ID, + EntID: row.EntID.String(), ChainType: basetype.ChainType(basetype.ChainType_value[row.ChainType]), ChainID: row.ChainID, Contract: row.Contract, From 2c2b7e0094c9b6f9a06cfee56a6ab35e4658fec2 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Mon, 8 Jan 2024 20:13:37 +0800 Subject: [PATCH 050/116] add state for index sol token --- block-etl/pkg/chains/sol/token.go | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/block-etl/pkg/chains/sol/token.go b/block-etl/pkg/chains/sol/token.go index b60a6b75..02a26570 100644 --- a/block-etl/pkg/chains/sol/token.go +++ b/block-etl/pkg/chains/sol/token.go @@ -8,6 +8,7 @@ import ( "time" "github.com/NpoolPlatform/go-service-framework/pkg/logger" + "github.com/NpoolPlatform/libent-cruder/pkg/cruder" "github.com/portto/solana-go-sdk/program/metaplex/token_metadata" "github.com/web3eye-io/Web3Eye/block-etl/pkg/chains/indexer" "github.com/web3eye-io/Web3Eye/block-etl/pkg/token" @@ -138,19 +139,27 @@ func (e *SolIndexer) IndexToken(ctx context.Context, inTransfers []*chains.Token conds := &tokenProto.Conds{ ChainType: &ctMessage.Uint32Val{ Value: uint32(e.ChainType), - Op: "eq", + Op: cruder.EQ, }, ChainID: &ctMessage.StringVal{ Value: e.ChainID, - Op: "eq", + Op: cruder.EQ, }, Contract: &ctMessage.StringVal{ Value: transfer.Contract, - Op: "eq", + Op: cruder.EQ, }, TokenID: &ctMessage.StringVal{ Value: transfer.TokenID, - Op: "eq", + Op: cruder.EQ, + }, + URIState: &ctMessage.Uint32Val{ + Value: uint32(basetype.BlockParseState_BlockTypeFinish), + Op: cruder.EQ, + }, + VectorState: &ctMessage.Uint32Val{ + Value: uint32(tokenProto.ConvertState_Success), + Op: cruder.EQ, }, } From 5e464892b76e9314e711607ac54313e32cf90b75 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Mon, 8 Jan 2024 21:45:38 +0800 Subject: [PATCH 051/116] add times for using endpoints --- block-etl/pkg/chains/IndexMGR.go | 3 ++- common/chains/endpointmgr.go | 4 ++-- common/chains/eth/client.go | 11 ++++++----- common/chains/eth/rpc.go | 25 ++++++++++++++++++------- common/chains/sol/client.go | 12 ++++++------ common/chains/sol/rpc.go | 12 ++++++++---- 6 files changed, 42 insertions(+), 25 deletions(-) diff --git a/block-etl/pkg/chains/IndexMGR.go b/block-etl/pkg/chains/IndexMGR.go index 12039de3..53cb2385 100644 --- a/block-etl/pkg/chains/IndexMGR.go +++ b/block-etl/pkg/chains/IndexMGR.go @@ -4,6 +4,7 @@ import ( "time" "github.com/NpoolPlatform/go-service-framework/pkg/logger" + "github.com/NpoolPlatform/libent-cruder/pkg/cruder" "github.com/web3eye-io/Web3Eye/block-etl/pkg/chains/eth" "github.com/web3eye-io/Web3Eye/block-etl/pkg/chains/sol" endpointNMCli "github.com/web3eye-io/Web3Eye/nft-meta/pkg/client/v1/endpoint" @@ -138,7 +139,7 @@ func (pmgr *indexMGR) checkNewEndpoints(ctx context.Context, state basetype.Endp func (pmgr *indexMGR) checkAvaliableEndpoints(ctx context.Context) { conds := &endpoint.Conds{ State: &web3eye.Uint32Val{ - Op: "eq", + Op: cruder.EQ, Value: uint32(basetype.EndpointState_EndpointAvaliable), }, } diff --git a/common/chains/endpointmgr.go b/common/chains/endpointmgr.go index 78df4360..b11fdad1 100644 --- a/common/chains/endpointmgr.go +++ b/common/chains/endpointmgr.go @@ -88,7 +88,7 @@ func (e *EndpointInterval) UnmarshalBinary(data []byte) error { return json.Unmarshal(data, e) } -func LockEndpoint(ctx context.Context, keys []string) (string, error) { +func LockEndpoint(ctx context.Context, keys []string, lockTimes uint16) (string, error) { for { select { case <-time.NewTicker(lockEndpointWaitTime).C: @@ -104,7 +104,7 @@ func LockEndpoint(ctx context.Context, keys []string) (string, error) { fmt.Println(err) continue } - locked, _ := ctredis.TryPubLock(lockKey, interval) + locked, _ := ctredis.TryPubLock(lockKey, interval*time.Duration(lockTimes)) if locked { return lockKey, nil } diff --git a/common/chains/eth/client.go b/common/chains/eth/client.go index cb5ff9a9..de116a98 100644 --- a/common/chains/eth/client.go +++ b/common/chains/eth/client.go @@ -22,8 +22,8 @@ type ethClients struct { endpoints []string } -func (ethCli *ethClients) GetNode(ctx context.Context) (*ethclient.Client, string, error) { - endpoint, err := chains.LockEndpoint(ctx, ethCli.endpoints) +func (ethCli *ethClients) GetNode(ctx context.Context, useTimes uint16) (*ethclient.Client, string, error) { + endpoint, err := chains.LockEndpoint(ctx, ethCli.endpoints, useTimes) if err != nil { return nil, "", err } @@ -39,7 +39,7 @@ func (ethCli *ethClients) GetNode(ctx context.Context) (*ethclient.Client, strin return cli, endpoint, nil } -func (ethCli *ethClients) WithClient(ctx context.Context, fn func(ctx context.Context, c *ethclient.Client) (bool, error)) error { +func (ethCli *ethClients) WithClient(ctx context.Context, useTimes uint16, fn func(ctx context.Context, c *ethclient.Client) (bool, error)) error { var ( apiErr, err error retry bool @@ -54,7 +54,7 @@ func (ethCli *ethClients) WithClient(ctx context.Context, fn func(ctx context.Co time.Sleep(retriesSleepTime) } - client, endpoint, err := ethCli.GetNode(ctx) + client, endpoint, err := ethCli.GetNode(ctx, useTimes) if err != nil { continue } @@ -82,7 +82,8 @@ func checkEndpoint(ctx context.Context, endpoint string, err error) { return } - _, err = chains.LockEndpoint(ctx, []string{endpoint}) + useTimes := uint16(1) + _, err = chains.LockEndpoint(ctx, []string{endpoint}, useTimes) if err == nil { return } diff --git a/common/chains/eth/rpc.go b/common/chains/eth/rpc.go index 6b97a137..d9937baf 100644 --- a/common/chains/eth/rpc.go +++ b/common/chains/eth/rpc.go @@ -21,7 +21,8 @@ func (ethCli ethClients) FilterLogs(ctx context.Context, query ethereum.FilterQu _logs := []types.Log{} var err error - err = ethCli.WithClient(ctx, func(ctx context.Context, c *ethclient.Client) (bool, error) { + useTimes := uint16(1) + err = ethCli.WithClient(ctx, useTimes, func(ctx context.Context, c *ethclient.Client) (bool, error) { _logs, err = c.FilterLogs(ctx, query) if err != nil { return false, err @@ -39,7 +40,8 @@ func (ethCli ethClients) CurrentBlockNum(ctx context.Context) (uint64, error) { var num uint64 var err error - err = ethCli.WithClient(ctx, func(ctx context.Context, c *ethclient.Client) (bool, error) { + useTimes := uint16(1) + err = ethCli.WithClient(ctx, useTimes, func(ctx context.Context, c *ethclient.Client) (bool, error) { num, err = c.BlockNumber(ctx) if err != nil { return false, err @@ -53,7 +55,8 @@ func (ethCli ethClients) CurrentBlockNum(ctx context.Context) (uint64, error) { func (ethCli ethClients) TokenURI(ctx context.Context, tokenType basetype.TokenType, contractAddr, tokenID string, blockNum uint64) (string, error) { var uri string var err error - err = ethCli.WithClient(ctx, func(ctx context.Context, c *ethclient.Client) (bool, error) { + useTimes := uint16(1) + err = ethCli.WithClient(ctx, useTimes, func(ctx context.Context, c *ethclient.Client) (bool, error) { uri, err = tokenURI(c, tokenType, contractAddr, tokenID, blockNum) return false, err }) @@ -98,7 +101,9 @@ func tokenURI( func (ethCli ethClients) BlockByNumber(ctx context.Context, blockNum *big.Int) (*types.Block, error) { var block *types.Block var err error - err = ethCli.WithClient(ctx, func(ctx context.Context, c *ethclient.Client) (bool, error) { + + useTimes := uint16(1) + err = ethCli.WithClient(ctx, useTimes, func(ctx context.Context, c *ethclient.Client) (bool, error) { block, err = c.BlockByNumber(ctx, blockNum) return false, err }) @@ -108,7 +113,10 @@ func (ethCli ethClients) BlockByNumber(ctx context.Context, blockNum *big.Int) ( func (ethCli ethClients) GetContractCreator(ctx context.Context, contractAddr string) (*chains.ContractCreator, error) { var creator *chains.ContractCreator var err error - err = ethCli.WithClient(ctx, func(ctx context.Context, c *ethclient.Client) (bool, error) { + + // guess value + useTimes := uint16(8) + err = ethCli.WithClient(ctx, useTimes, func(ctx context.Context, c *ethclient.Client) (bool, error) { creator, err = ethCli.getContractCreator(ctx, c, contractAddr) return false, err }) @@ -186,7 +194,8 @@ func (ethCli ethClients) GetCurrencyMetadata(ctx context.Context, contractAddr s func (ethCli ethClients) GetERC20Metadata(ctx context.Context, contractAddr string) (*EthCurrencyMetadata, error) { var info *EthCurrencyMetadata var err error - err = ethCli.WithClient(ctx, func(ctx context.Context, c *ethclient.Client) (bool, error) { + useTimes := uint16(3) + err = ethCli.WithClient(ctx, useTimes, func(ctx context.Context, c *ethclient.Client) (bool, error) { info, err = ethCli.getERC20Metadata(ctx, c, contractAddr) return false, err }) @@ -225,7 +234,9 @@ func (ethCli ethClients) getERC20Metadata(ctx context.Context, ethClient *ethcli func (ethCli ethClients) GetERC721Metadata(ctx context.Context, contractAddr string) (*EthCurrencyMetadata, error) { var info *EthCurrencyMetadata var err error - err = ethCli.WithClient(ctx, func(ctx context.Context, c *ethclient.Client) (bool, error) { + useTimes := uint16(2) + + err = ethCli.WithClient(ctx, useTimes, func(ctx context.Context, c *ethclient.Client) (bool, error) { info, err = ethCli.getERC721Metadata(ctx, c, contractAddr) return false, err }) diff --git a/common/chains/sol/client.go b/common/chains/sol/client.go index de4f8f6c..6886ad8d 100644 --- a/common/chains/sol/client.go +++ b/common/chains/sol/client.go @@ -21,8 +21,8 @@ type solClients struct { endpoints []string } -func (solCli solClients) GetNode(ctx context.Context) (*rpc.Client, string, error) { - endpoint, err := chains.LockEndpoint(ctx, solCli.endpoints) +func (solCli solClients) GetNode(ctx context.Context, useTimes uint16) (*rpc.Client, string, error) { + endpoint, err := chains.LockEndpoint(ctx, solCli.endpoints, useTimes) if err != nil { return nil, "", err } @@ -31,7 +31,7 @@ func (solCli solClients) GetNode(ctx context.Context) (*rpc.Client, string, erro return cli, endpoint, nil } -func (solCli *solClients) WithClient(ctx context.Context, fn func(ctx context.Context, c *rpc.Client) (bool, error)) error { +func (solCli *solClients) WithClient(ctx context.Context, useTimes uint16, fn func(ctx context.Context, c *rpc.Client) (bool, error)) error { var ( apiErr, err error retry bool @@ -46,7 +46,7 @@ func (solCli *solClients) WithClient(ctx context.Context, fn func(ctx context.Co time.Sleep(retriesSleepTime) } - client, endpoint, err := solCli.GetNode(ctx) + client, endpoint, err := solCli.GetNode(ctx, useTimes) if err != nil { continue @@ -73,8 +73,8 @@ func checkEndpoint(ctx context.Context, endpoint string, err error) { if err == nil { return } - - _, err = chains.LockEndpoint(ctx, []string{endpoint}) + useTimes := uint16(1) + _, err = chains.LockEndpoint(ctx, []string{endpoint}, useTimes) if err == nil { return } diff --git a/common/chains/sol/rpc.go b/common/chains/sol/rpc.go index 6e28ade3..76b51c7c 100644 --- a/common/chains/sol/rpc.go +++ b/common/chains/sol/rpc.go @@ -14,7 +14,8 @@ func (solCli solClients) GetSlotHeight(ctx context.Context) (uint64, error) { height := uint64(0) var err error - err = solCli.WithClient(ctx, func(ctx context.Context, c *rpc.Client) (bool, error) { + useTimes := uint16(1) + err = solCli.WithClient(ctx, useTimes, func(ctx context.Context, c *rpc.Client) (bool, error) { height, err = c.GetSlot(ctx, rpc.CommitmentFinalized) if err != nil { return false, err @@ -30,7 +31,8 @@ func (solCli solClients) GetBlock(ctx context.Context, slot uint64) (*rpc.GetBlo maxSupportedTransactionVersion := uint64(0) rewards := false var err error - err = solCli.WithClient(ctx, func(ctx context.Context, c *rpc.Client) (bool, error) { + useTimes := uint16(1) + err = solCli.WithClient(ctx, useTimes, func(ctx context.Context, c *rpc.Client) (bool, error) { block, err = c.GetBlockWithOpts(context.Background(), slot, &rpc.GetBlockOpts{ MaxSupportedTransactionVersion: &maxSupportedTransactionVersion, Rewards: &rewards, @@ -49,7 +51,8 @@ func (solCli solClients) GetTX(ctx context.Context, txSig solana.Signature) (*rp tx := &rpc.GetTransactionResult{} maxSupportedTransactionVersion := uint64(0) var err error - err = solCli.WithClient(ctx, func(ctx context.Context, c *rpc.Client) (bool, error) { + useTimes := uint16(1) + err = solCli.WithClient(ctx, useTimes, func(ctx context.Context, c *rpc.Client) (bool, error) { tx, err = c.GetTransaction(ctx, txSig, &rpc.GetTransactionOpts{MaxSupportedTransactionVersion: &maxSupportedTransactionVersion}) if err != nil { return true, err @@ -73,7 +76,8 @@ func (solCli solClients) GetMetadata(ctx context.Context, mint string) (*token_m } accountInfo := &rpc.GetAccountInfoResult{} - err = solCli.WithClient(ctx, func(ctx context.Context, c *rpc.Client) (bool, error) { + useTimes := uint16(1) + err = solCli.WithClient(ctx, useTimes, func(ctx context.Context, c *rpc.Client) (bool, error) { accountInfo, err = c.GetAccountInfo(ctx, metadataAcc) if err != nil { return true, err From 07f8dd1bac720501258ebd80366886bc7143d87d Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Mon, 8 Jan 2024 21:52:20 +0800 Subject: [PATCH 052/116] add times for using endpoints --- common/chains/eth/rpc.go | 15 +++++++-------- common/chains/sol/rpc.go | 8 ++++---- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/common/chains/eth/rpc.go b/common/chains/eth/rpc.go index d9937baf..052ad442 100644 --- a/common/chains/eth/rpc.go +++ b/common/chains/eth/rpc.go @@ -21,7 +21,7 @@ func (ethCli ethClients) FilterLogs(ctx context.Context, query ethereum.FilterQu _logs := []types.Log{} var err error - useTimes := uint16(1) + var useTimes uint16 = 1 err = ethCli.WithClient(ctx, useTimes, func(ctx context.Context, c *ethclient.Client) (bool, error) { _logs, err = c.FilterLogs(ctx, query) if err != nil { @@ -40,7 +40,7 @@ func (ethCli ethClients) CurrentBlockNum(ctx context.Context) (uint64, error) { var num uint64 var err error - useTimes := uint16(1) + var useTimes uint16 = 1 err = ethCli.WithClient(ctx, useTimes, func(ctx context.Context, c *ethclient.Client) (bool, error) { num, err = c.BlockNumber(ctx) if err != nil { @@ -55,7 +55,7 @@ func (ethCli ethClients) CurrentBlockNum(ctx context.Context) (uint64, error) { func (ethCli ethClients) TokenURI(ctx context.Context, tokenType basetype.TokenType, contractAddr, tokenID string, blockNum uint64) (string, error) { var uri string var err error - useTimes := uint16(1) + var useTimes uint16 = 1 err = ethCli.WithClient(ctx, useTimes, func(ctx context.Context, c *ethclient.Client) (bool, error) { uri, err = tokenURI(c, tokenType, contractAddr, tokenID, blockNum) return false, err @@ -102,7 +102,7 @@ func (ethCli ethClients) BlockByNumber(ctx context.Context, blockNum *big.Int) ( var block *types.Block var err error - useTimes := uint16(1) + var useTimes uint16 = 1 err = ethCli.WithClient(ctx, useTimes, func(ctx context.Context, c *ethclient.Client) (bool, error) { block, err = c.BlockByNumber(ctx, blockNum) return false, err @@ -115,7 +115,7 @@ func (ethCli ethClients) GetContractCreator(ctx context.Context, contractAddr st var err error // guess value - useTimes := uint16(8) + var useTimes uint16 = 8 err = ethCli.WithClient(ctx, useTimes, func(ctx context.Context, c *ethclient.Client) (bool, error) { creator, err = ethCli.getContractCreator(ctx, c, contractAddr) return false, err @@ -194,7 +194,7 @@ func (ethCli ethClients) GetCurrencyMetadata(ctx context.Context, contractAddr s func (ethCli ethClients) GetERC20Metadata(ctx context.Context, contractAddr string) (*EthCurrencyMetadata, error) { var info *EthCurrencyMetadata var err error - useTimes := uint16(3) + var useTimes uint16 = 3 err = ethCli.WithClient(ctx, useTimes, func(ctx context.Context, c *ethclient.Client) (bool, error) { info, err = ethCli.getERC20Metadata(ctx, c, contractAddr) return false, err @@ -234,8 +234,7 @@ func (ethCli ethClients) getERC20Metadata(ctx context.Context, ethClient *ethcli func (ethCli ethClients) GetERC721Metadata(ctx context.Context, contractAddr string) (*EthCurrencyMetadata, error) { var info *EthCurrencyMetadata var err error - useTimes := uint16(2) - + var useTimes uint16 = 2 err = ethCli.WithClient(ctx, useTimes, func(ctx context.Context, c *ethclient.Client) (bool, error) { info, err = ethCli.getERC721Metadata(ctx, c, contractAddr) return false, err diff --git a/common/chains/sol/rpc.go b/common/chains/sol/rpc.go index 76b51c7c..d1b8c998 100644 --- a/common/chains/sol/rpc.go +++ b/common/chains/sol/rpc.go @@ -14,7 +14,7 @@ func (solCli solClients) GetSlotHeight(ctx context.Context) (uint64, error) { height := uint64(0) var err error - useTimes := uint16(1) + var useTimes uint16 = 1 err = solCli.WithClient(ctx, useTimes, func(ctx context.Context, c *rpc.Client) (bool, error) { height, err = c.GetSlot(ctx, rpc.CommitmentFinalized) if err != nil { @@ -31,7 +31,7 @@ func (solCli solClients) GetBlock(ctx context.Context, slot uint64) (*rpc.GetBlo maxSupportedTransactionVersion := uint64(0) rewards := false var err error - useTimes := uint16(1) + var useTimes uint16 = 1 err = solCli.WithClient(ctx, useTimes, func(ctx context.Context, c *rpc.Client) (bool, error) { block, err = c.GetBlockWithOpts(context.Background(), slot, &rpc.GetBlockOpts{ MaxSupportedTransactionVersion: &maxSupportedTransactionVersion, @@ -51,7 +51,7 @@ func (solCli solClients) GetTX(ctx context.Context, txSig solana.Signature) (*rp tx := &rpc.GetTransactionResult{} maxSupportedTransactionVersion := uint64(0) var err error - useTimes := uint16(1) + var useTimes uint16 = 1 err = solCli.WithClient(ctx, useTimes, func(ctx context.Context, c *rpc.Client) (bool, error) { tx, err = c.GetTransaction(ctx, txSig, &rpc.GetTransactionOpts{MaxSupportedTransactionVersion: &maxSupportedTransactionVersion}) if err != nil { @@ -76,7 +76,7 @@ func (solCli solClients) GetMetadata(ctx context.Context, mint string) (*token_m } accountInfo := &rpc.GetAccountInfoResult{} - useTimes := uint16(1) + var useTimes uint16 = 1 err = solCli.WithClient(ctx, useTimes, func(ctx context.Context, c *rpc.Client) (bool, error) { accountInfo, err = c.GetAccountInfo(ctx, metadataAcc) if err != nil { From 538475cc95fe3091aee5211d69937351d16c0e2d Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Tue, 9 Jan 2024 09:15:04 +0800 Subject: [PATCH 053/116] fix panic bug --- block-etl/pkg/chains/eth/task.go | 2 +- block-etl/pkg/chains/eth/token.go | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/block-etl/pkg/chains/eth/task.go b/block-etl/pkg/chains/eth/task.go index dc641b60..ce086fd5 100644 --- a/block-etl/pkg/chains/eth/task.go +++ b/block-etl/pkg/chains/eth/task.go @@ -49,7 +49,7 @@ func (e *EthIndexer) IndexBlock(ctx context.Context, taskBlockNum chan uint64) { continue } - if block.ParseState == basetype.BlockParseState_BlockTypeFinish { + if block.ParseState != basetype.BlockParseState_BlockTypeStart { continue } diff --git a/block-etl/pkg/chains/eth/token.go b/block-etl/pkg/chains/eth/token.go index a2682fb4..6c02fe2f 100644 --- a/block-etl/pkg/chains/eth/token.go +++ b/block-etl/pkg/chains/eth/token.go @@ -57,10 +57,18 @@ func (e *EthIndexer) CheckBlock(ctx context.Context, inBlockNum uint64) (*blockP return nil, fmt.Errorf("cannot get eth client,err: %v", err) } - number := block.Number().Uint64() - blockHash := block.Hash().String() - blockTime := block.Time() + number := inBlockNum + var blockHash string = "" + var blockTime uint64 = 0 + var parseState = basetype.BlockParseState_BlockTypeFailed.Enum() remark := "" + if block != nil { + blockHash = block.Hash().String() + blockTime = block.Time() + parseState = basetype.BlockParseState_BlockTypeStart.Enum() + remark = "cannot get the block" + } + resp, err := blockNMCli.UpsertBlock(ctx, &blockProto.UpsertBlockRequest{ Info: &blockProto.BlockReq{ ChainType: &e.ChainType, @@ -68,7 +76,7 @@ func (e *EthIndexer) CheckBlock(ctx context.Context, inBlockNum uint64) (*blockP BlockNumber: &number, BlockHash: &blockHash, BlockTime: &blockTime, - ParseState: basetype.BlockParseState_BlockTypeStart.Enum(), + ParseState: parseState, Remark: &remark, }, }) From f929507147545cd9f738ec8d9164555de5b7e416 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Tue, 9 Jan 2024 09:18:30 +0800 Subject: [PATCH 054/116] fix panic bug --- block-etl/pkg/chains/eth/token.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block-etl/pkg/chains/eth/token.go b/block-etl/pkg/chains/eth/token.go index 6c02fe2f..7c38f869 100644 --- a/block-etl/pkg/chains/eth/token.go +++ b/block-etl/pkg/chains/eth/token.go @@ -58,7 +58,7 @@ func (e *EthIndexer) CheckBlock(ctx context.Context, inBlockNum uint64) (*blockP } number := inBlockNum - var blockHash string = "" + var blockHash = "" var blockTime uint64 = 0 var parseState = basetype.BlockParseState_BlockTypeFailed.Enum() remark := "" From 16becdb52bcfd97e4a2f056fd00381cf2191e8a1 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Tue, 9 Jan 2024 09:40:05 +0800 Subject: [PATCH 055/116] backoff nodes --- common/chains/eth/client.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/chains/eth/client.go b/common/chains/eth/client.go index de116a98..c46d3f87 100644 --- a/common/chains/eth/client.go +++ b/common/chains/eth/client.go @@ -84,7 +84,7 @@ func checkEndpoint(ctx context.Context, endpoint string, err error) { useTimes := uint16(1) _, err = chains.LockEndpoint(ctx, []string{endpoint}, useTimes) - if err == nil { + if err != nil { return } From 0a0b6e3b7b0d28bfcb1152d97b96055276bd0cf4 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Tue, 9 Jan 2024 10:15:06 +0800 Subject: [PATCH 056/116] bugfix for panic --- block-etl/pkg/chains/indexer/indexer.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/block-etl/pkg/chains/indexer/indexer.go b/block-etl/pkg/chains/indexer/indexer.go index c36243b4..53fea6b4 100644 --- a/block-etl/pkg/chains/indexer/indexer.go +++ b/block-etl/pkg/chains/indexer/indexer.go @@ -171,6 +171,9 @@ func (e *Indexer) indexTopicTasks(ctx context.Context, pulsarCli pulsar.Client, retries++ continue } + if resp == nil || resp.Info == nil { + return + } if resp.Info.SyncState != basetype.SyncState_Start { return } From aec8563cfef56237a1c0379751ca95769f95b37f Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Tue, 9 Jan 2024 10:54:23 +0800 Subject: [PATCH 057/116] bugfix for panic --- common/chains/endpointmgr.go | 3 +-- common/chains/eth/client.go | 22 ++++++++++------------ 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/common/chains/endpointmgr.go b/common/chains/endpointmgr.go index b11fdad1..a233bfd2 100644 --- a/common/chains/endpointmgr.go +++ b/common/chains/endpointmgr.go @@ -44,8 +44,7 @@ func (eIMGR *endpointIntervalMGR) PutEndpoint(item *EndpointInterval, autoCalBac item.MaxBackoffIndex = int(_maxBackoffIndex) } - err := ctredis.Set(eIMGR.getKey(item.Address), item, eIMGR.RedisExpireTime) - return err + return ctredis.Set(eIMGR.getKey(item.Address), item, eIMGR.RedisExpireTime) } func (eIMGR *endpointIntervalMGR) BackoffEndpoint(address string) error { diff --git a/common/chains/eth/client.go b/common/chains/eth/client.go index c46d3f87..5832f43b 100644 --- a/common/chains/eth/client.go +++ b/common/chains/eth/client.go @@ -33,6 +33,7 @@ func (ethCli *ethClients) GetNode(ctx context.Context, useTimes uint16) (*ethcli cli, err := ethclient.DialContext(ctx, endpoint) if err != nil { + go checkEndpoint(context.Background(), endpoint, err) return nil, "", err } @@ -41,14 +42,10 @@ func (ethCli *ethClients) GetNode(ctx context.Context, useTimes uint16) (*ethcli func (ethCli *ethClients) WithClient(ctx context.Context, useTimes uint16, fn func(ctx context.Context, c *ethclient.Client) (bool, error)) error { var ( - apiErr, err error - retry bool + apiErr, nodeErr error + retry bool ) - if err != nil { - return err - } - for i := 0; i < utils.MinInt(MaxRetries, len(ethCli.endpoints)); i++ { if i > 0 { time.Sleep(retriesSleepTime) @@ -56,6 +53,7 @@ func (ethCli *ethClients) WithClient(ctx context.Context, useTimes uint16, fn fu client, endpoint, err := ethCli.GetNode(ctx, useTimes) if err != nil { + nodeErr = err continue } @@ -74,7 +72,7 @@ func (ethCli *ethClients) WithClient(ctx context.Context, useTimes uint16, fn fu if apiErr != nil { return apiErr } - return err + return nodeErr } func checkEndpoint(ctx context.Context, endpoint string, err error) { @@ -82,11 +80,11 @@ func checkEndpoint(ctx context.Context, endpoint string, err error) { return } - useTimes := uint16(1) - _, err = chains.LockEndpoint(ctx, []string{endpoint}, useTimes) - if err != nil { - return - } + // useTimes := uint16(1) + // _, err = chains.LockEndpoint(ctx, []string{endpoint}, useTimes) + // if err != nil { + // return + // } _, err = GetEndpointChainID(context.Background(), endpoint) if err == nil { From d2ddbe417c8689bd31d997ecb99622180be4af97 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Tue, 9 Jan 2024 10:55:58 +0800 Subject: [PATCH 058/116] check endpoint when dial --- common/chains/sol/client.go | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/common/chains/sol/client.go b/common/chains/sol/client.go index 6886ad8d..63d6204e 100644 --- a/common/chains/sol/client.go +++ b/common/chains/sol/client.go @@ -33,14 +33,10 @@ func (solCli solClients) GetNode(ctx context.Context, useTimes uint16) (*rpc.Cli func (solCli *solClients) WithClient(ctx context.Context, useTimes uint16, fn func(ctx context.Context, c *rpc.Client) (bool, error)) error { var ( - apiErr, err error - retry bool + apiErr, nodeErr error + retry bool ) - if err != nil { - return err - } - for i := 0; i < utils.MinInt(MaxRetries, len(solCli.endpoints)); i++ { if i > 0 { time.Sleep(retriesSleepTime) @@ -49,6 +45,7 @@ func (solCli *solClients) WithClient(ctx context.Context, useTimes uint16, fn fu client, endpoint, err := solCli.GetNode(ctx, useTimes) if err != nil { + nodeErr = err continue } @@ -66,7 +63,7 @@ func (solCli *solClients) WithClient(ctx context.Context, useTimes uint16, fn fu if apiErr != nil { return apiErr } - return err + return nodeErr } func checkEndpoint(ctx context.Context, endpoint string, err error) { From 9db3e903a47409a1656b0f44df49ee69a0193628 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Tue, 9 Jan 2024 10:59:13 +0800 Subject: [PATCH 059/116] check endpoint when dial --- common/chains/eth/client.go | 8 +------- common/chains/sol/client.go | 7 +------ 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/common/chains/eth/client.go b/common/chains/eth/client.go index 5832f43b..dbac7352 100644 --- a/common/chains/eth/client.go +++ b/common/chains/eth/client.go @@ -80,13 +80,7 @@ func checkEndpoint(ctx context.Context, endpoint string, err error) { return } - // useTimes := uint16(1) - // _, err = chains.LockEndpoint(ctx, []string{endpoint}, useTimes) - // if err != nil { - // return - // } - - _, err = GetEndpointChainID(context.Background(), endpoint) + _, err = GetEndpointChainID(ctx, endpoint) if err == nil { return } diff --git a/common/chains/sol/client.go b/common/chains/sol/client.go index 63d6204e..79b4c964 100644 --- a/common/chains/sol/client.go +++ b/common/chains/sol/client.go @@ -70,13 +70,8 @@ func checkEndpoint(ctx context.Context, endpoint string, err error) { if err == nil { return } - useTimes := uint16(1) - _, err = chains.LockEndpoint(ctx, []string{endpoint}, useTimes) - if err == nil { - return - } - _, err = GetEndpointChainID(context.Background(), endpoint) + _, err = GetEndpointChainID(ctx, endpoint) if err == nil { return } From 2e437d28671cfc4b942e5a395479f0b0dd50bebe Mon Sep 17 00:00:00 2001 From: lidaqiang Date: Tue, 9 Jan 2024 12:03:18 +0800 Subject: [PATCH 060/116] add RPS Attr --- dashboard/src/components/endpoint/Endpoint.vue | 1 + dashboard/src/teststore/endpoint/types.ts | 3 +++ 2 files changed, 4 insertions(+) diff --git a/dashboard/src/components/endpoint/Endpoint.vue b/dashboard/src/components/endpoint/Endpoint.vue index dacc8c08..284955db 100644 --- a/dashboard/src/components/endpoint/Endpoint.vue +++ b/dashboard/src/components/endpoint/Endpoint.vue @@ -28,6 +28,7 @@ + diff --git a/dashboard/src/teststore/endpoint/types.ts b/dashboard/src/teststore/endpoint/types.ts index 3d13d5f5..3be26d39 100644 --- a/dashboard/src/teststore/endpoint/types.ts +++ b/dashboard/src/teststore/endpoint/types.ts @@ -10,6 +10,7 @@ export interface Endpoint { Address: string; State: EndpointState; Remark: string; + RPS: number } export interface CreateEndpointRequest extends BaseRequest{ @@ -18,6 +19,7 @@ export interface CreateEndpointRequest extends BaseRequest{ Address: string; State: EndpointState; Remark: string; + RPS: number } export interface CreateEndpointResponse { @@ -51,6 +53,7 @@ export interface UpdateEndpointRequest extends BaseRequest{ Address: string; State: EndpointState; Remark: string; + RPS?: number } export interface UpdateEndpointResponse { From baf5ced0f7ad0324cc7512948a0706a5b1e58888 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Tue, 9 Jan 2024 14:34:38 +0800 Subject: [PATCH 061/116] adjust backoff --- block-etl/pkg/chains/IndexMGR.go | 4 ++-- common/chains/endpointmgr.go | 38 +++++++++++++++++++++++++++----- common/chains/eth/client.go | 12 +++++++--- common/chains/eth/rpc.go | 10 ++------- common/chains/sol/client.go | 8 +++++-- 5 files changed, 51 insertions(+), 21 deletions(-) diff --git a/block-etl/pkg/chains/IndexMGR.go b/block-etl/pkg/chains/IndexMGR.go index 53cb2385..2d13cb20 100644 --- a/block-etl/pkg/chains/IndexMGR.go +++ b/block-etl/pkg/chains/IndexMGR.go @@ -165,11 +165,11 @@ func (pmgr *indexMGR) checkAvaliableEndpoints(ctx context.Context) { info.RPS = 1 } - err = chains.GetEndpintIntervalMGR().PutEndpoint(&chains.EndpointInterval{ + err = chains.GetEndpintIntervalMGR().GoAheadEndpoint(&chains.EndpointInterval{ Address: info.Address, MinInterval: time.Second / time.Duration(info.RPS), MaxInterval: time.Minute, - }, true) + }) if err != nil { logger.Sugar().Warnw("checkAvaliableEndpoints", "Msg", "failed to put endpoints to redis", "Error", err) } diff --git a/common/chains/endpointmgr.go b/common/chains/endpointmgr.go index a233bfd2..eec3e0ad 100644 --- a/common/chains/endpointmgr.go +++ b/common/chains/endpointmgr.go @@ -26,9 +26,12 @@ type EndpointInterval struct { var _eIMGR *endpointIntervalMGR -const keyExpireTime = time.Minute * 5 -const lockEndpointWaitTime = time.Millisecond * 100 -const eIMGRPrefix = "eIMGR" +const ( + keyExpireTime = time.Minute * 5 + lockEndpointWaitTime = time.Millisecond * 100 + eIMGRPrefix = "eIMGR" + goaheadLockTime = time.Minute +) func GetEndpintIntervalMGR() *endpointIntervalMGR { if _eIMGR == nil { @@ -37,8 +40,8 @@ func GetEndpintIntervalMGR() *endpointIntervalMGR { return _eIMGR } -func (eIMGR *endpointIntervalMGR) PutEndpoint(item *EndpointInterval, autoCalBackoff bool) error { - if autoCalBackoff { +func (eIMGR *endpointIntervalMGR) putEndpoint(item *EndpointInterval, autoResetBackoffIndex bool) error { + if autoResetBackoffIndex { item.BackoffIndex = 0 _maxBackoffIndex := math.Log2(float64(item.MaxInterval) / float64(item.MinInterval)) item.MaxBackoffIndex = int(_maxBackoffIndex) @@ -47,6 +50,25 @@ func (eIMGR *endpointIntervalMGR) PutEndpoint(item *EndpointInterval, autoCalBac return ctredis.Set(eIMGR.getKey(item.Address), item, eIMGR.RedisExpireTime) } +func (eIMGR *endpointIntervalMGR) GoAheadEndpoint(item *EndpointInterval) error { + locked, err := ctredis.TryPubLock(eIMGR.getLockKey(item.Address), goaheadLockTime) + if !locked || err != nil { + return nil + } + + _item := &EndpointInterval{} + err = ctredis.Get(eIMGR.getKey(item.Address), _item) + if err != nil { + return eIMGR.putEndpoint(item, true) + } + + if _item.BackoffIndex > 0 { + _item.BackoffIndex-- + } + + return eIMGR.putEndpoint(_item, false) +} + func (eIMGR *endpointIntervalMGR) BackoffEndpoint(address string) error { item := &EndpointInterval{} err := ctredis.Get(eIMGR.getKey(address), item) @@ -58,7 +80,7 @@ func (eIMGR *endpointIntervalMGR) BackoffEndpoint(address string) error { item.BackoffIndex++ } - return eIMGR.PutEndpoint(item, false) + return eIMGR.putEndpoint(item, false) } func (eIMGR *endpointIntervalMGR) GetEndpointInterval(address string) (time.Duration, error) { @@ -78,6 +100,10 @@ func (eIMGR *endpointIntervalMGR) getKey(address string) string { return fmt.Sprintf("%v-%v", eIMGRPrefix, address) } +func (eIMGR *endpointIntervalMGR) getLockKey(address string) string { + return fmt.Sprintf("%v-lock-%v", eIMGRPrefix, address) +} + func (e *EndpointInterval) MarshalBinary() (data []byte, err error) { data, err = json.Marshal(e) return data, err diff --git a/common/chains/eth/client.go b/common/chains/eth/client.go index dbac7352..ceb63dff 100644 --- a/common/chains/eth/client.go +++ b/common/chains/eth/client.go @@ -3,12 +3,12 @@ package eth import ( "context" "errors" + "fmt" "time" "github.com/NpoolPlatform/go-service-framework/pkg/logger" "github.com/ethereum/go-ethereum/ethclient" "github.com/web3eye-io/Web3Eye/common/chains" - "github.com/web3eye-io/Web3Eye/common/utils" ) const ( @@ -23,7 +23,12 @@ type ethClients struct { } func (ethCli *ethClients) GetNode(ctx context.Context, useTimes uint16) (*ethclient.Client, string, error) { - endpoint, err := chains.LockEndpoint(ctx, ethCli.endpoints, useTimes) + endpoints := ethCli.endpoints + if len(endpoints) == 0 { + return nil, "", fmt.Errorf("have no avaliable endpoints") + } + + endpoint, err := chains.LockEndpoint(ctx, endpoints, useTimes) if err != nil { return nil, "", err } @@ -32,6 +37,7 @@ func (ethCli *ethClients) GetNode(ctx context.Context, useTimes uint16) (*ethcli defer cancel() cli, err := ethclient.DialContext(ctx, endpoint) + if err != nil { go checkEndpoint(context.Background(), endpoint, err) return nil, "", err @@ -46,7 +52,7 @@ func (ethCli *ethClients) WithClient(ctx context.Context, useTimes uint16, fn fu retry bool ) - for i := 0; i < utils.MinInt(MaxRetries, len(ethCli.endpoints)); i++ { + for i := 0; i < MaxRetries; i++ { if i > 0 { time.Sleep(retriesSleepTime) } diff --git a/common/chains/eth/rpc.go b/common/chains/eth/rpc.go index 052ad442..5543cbea 100644 --- a/common/chains/eth/rpc.go +++ b/common/chains/eth/rpc.go @@ -24,10 +24,7 @@ func (ethCli ethClients) FilterLogs(ctx context.Context, query ethereum.FilterQu var useTimes uint16 = 1 err = ethCli.WithClient(ctx, useTimes, func(ctx context.Context, c *ethclient.Client) (bool, error) { _logs, err = c.FilterLogs(ctx, query) - if err != nil { - return false, err - } - return false, nil + return false, err }) logs := make([]*types.Log, len(_logs)) for i := range _logs { @@ -43,10 +40,7 @@ func (ethCli ethClients) CurrentBlockNum(ctx context.Context) (uint64, error) { var useTimes uint16 = 1 err = ethCli.WithClient(ctx, useTimes, func(ctx context.Context, c *ethclient.Client) (bool, error) { num, err = c.BlockNumber(ctx) - if err != nil { - return false, err - } - return false, nil + return false, err }) return num, err diff --git a/common/chains/sol/client.go b/common/chains/sol/client.go index 79b4c964..3d924813 100644 --- a/common/chains/sol/client.go +++ b/common/chains/sol/client.go @@ -3,12 +3,12 @@ package sol import ( "context" "errors" + "fmt" "time" "github.com/NpoolPlatform/go-service-framework/pkg/logger" "github.com/gagliardetto/solana-go/rpc" "github.com/web3eye-io/Web3Eye/common/chains" - "github.com/web3eye-io/Web3Eye/common/utils" ) const ( @@ -22,6 +22,10 @@ type solClients struct { } func (solCli solClients) GetNode(ctx context.Context, useTimes uint16) (*rpc.Client, string, error) { + if len(solCli.endpoints) == 0 { + return nil, "", fmt.Errorf("have no avaliable endpoints") + } + endpoint, err := chains.LockEndpoint(ctx, solCli.endpoints, useTimes) if err != nil { return nil, "", err @@ -37,7 +41,7 @@ func (solCli *solClients) WithClient(ctx context.Context, useTimes uint16, fn fu retry bool ) - for i := 0; i < utils.MinInt(MaxRetries, len(solCli.endpoints)); i++ { + for i := 0; i < MaxRetries; i++ { if i > 0 { time.Sleep(retriesSleepTime) } From 26367cf2540a6bb766abea6f568623561cc20d13 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Tue, 9 Jan 2024 14:51:34 +0800 Subject: [PATCH 062/116] adjust backoff --- common/chains/eth/client.go | 4 ++-- common/chains/sol/client.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/common/chains/eth/client.go b/common/chains/eth/client.go index ceb63dff..1745f157 100644 --- a/common/chains/eth/client.go +++ b/common/chains/eth/client.go @@ -14,7 +14,7 @@ import ( const ( MinNodeNum = 1 MaxRetries = 3 - retriesSleepTime = 200 * time.Millisecond + retriesSleepTime = 500 * time.Millisecond dialTimeout = 3 * time.Second ) @@ -25,7 +25,7 @@ type ethClients struct { func (ethCli *ethClients) GetNode(ctx context.Context, useTimes uint16) (*ethclient.Client, string, error) { endpoints := ethCli.endpoints if len(endpoints) == 0 { - return nil, "", fmt.Errorf("have no avaliable endpoints") + return nil, "", fmt.Errorf("have no available endpoints") } endpoint, err := chains.LockEndpoint(ctx, endpoints, useTimes) diff --git a/common/chains/sol/client.go b/common/chains/sol/client.go index 3d924813..766c88fc 100644 --- a/common/chains/sol/client.go +++ b/common/chains/sol/client.go @@ -14,7 +14,7 @@ import ( const ( MinNodeNum = 1 MaxRetries = 3 - retriesSleepTime = 200 * time.Millisecond + retriesSleepTime = 500 * time.Millisecond ) type solClients struct { From 3eb137d614c73a015537f9cef971483319c5492c Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Tue, 9 Jan 2024 15:01:50 +0800 Subject: [PATCH 063/116] adjust word --- block-etl/pkg/chains/IndexMGR.go | 12 ++++++------ dashboard/src/teststore/basetypes/endpoint/const.ts | 2 +- .../src/teststore/endpoint/endpoint.swagger.json | 2 +- dashboard/src/teststore/endpoint/schema.ts | 2 +- proto/web3eye/basetype/v1/chain.pb.go | 6 +++--- proto/web3eye/basetype/v1/chain.proto | 2 +- .../entrance/v1/endpoint/endpoint.swagger.json | 2 +- .../nftmeta/v1/endpoint/endpoint.swagger.json | 2 +- .../web3eye/ranker/v1/endpoint/endpoint.swagger.json | 2 +- 9 files changed, 16 insertions(+), 16 deletions(-) diff --git a/block-etl/pkg/chains/IndexMGR.go b/block-etl/pkg/chains/IndexMGR.go index 2d13cb20..132f6b11 100644 --- a/block-etl/pkg/chains/IndexMGR.go +++ b/block-etl/pkg/chains/IndexMGR.go @@ -60,10 +60,10 @@ func GetIndexMGR() *indexMGR { func (pmgr *indexMGR) Run(ctx context.Context) { for { pmgr.checkNewEndpoints(ctx, basetype.EndpointState_EndpointDefault) - pmgr.checkNewEndpoints(ctx, basetype.EndpointState_EndpointAvaliable) + pmgr.checkNewEndpoints(ctx, basetype.EndpointState_EndpointAvailable) pmgr.checkNewEndpoints(ctx, basetype.EndpointState_EndpointError) pmgr.checkNewEndpoints(ctx, basetype.EndpointState_EndpointUnstable) - pmgr.checkAvaliableEndpoints(ctx) + pmgr.checkAvailableEndpoints(ctx) <-time.NewTicker(UpdateInterval).C } } @@ -105,7 +105,7 @@ func (pmgr *indexMGR) checkNewEndpoints(ctx context.Context, state basetype.Endp } info.ChainID = chainID - info.State = basetype.EndpointState_EndpointAvaliable + info.State = basetype.EndpointState_EndpointAvailable }() updateInfos = append(updateInfos, &endpoint.EndpointReq{ @@ -136,11 +136,11 @@ func (pmgr *indexMGR) checkNewEndpoints(ctx context.Context, state basetype.Endp } // check erver chantype-chainid available endpoints and update it to indexer -func (pmgr *indexMGR) checkAvaliableEndpoints(ctx context.Context) { +func (pmgr *indexMGR) checkAvailableEndpoints(ctx context.Context) { conds := &endpoint.Conds{ State: &web3eye.Uint32Val{ Op: cruder.EQ, - Value: uint32(basetype.EndpointState_EndpointAvaliable), + Value: uint32(basetype.EndpointState_EndpointAvailable), }, } @@ -171,7 +171,7 @@ func (pmgr *indexMGR) checkAvaliableEndpoints(ctx context.Context) { MaxInterval: time.Minute, }) if err != nil { - logger.Sugar().Warnw("checkAvaliableEndpoints", "Msg", "failed to put endpoints to redis", "Error", err) + logger.Sugar().Warnw("checkAvailableEndpoints", "Msg", "failed to put endpoints to redis", "Error", err) } } diff --git a/dashboard/src/teststore/basetypes/endpoint/const.ts b/dashboard/src/teststore/basetypes/endpoint/const.ts index 40715a3f..726236ce 100644 --- a/dashboard/src/teststore/basetypes/endpoint/const.ts +++ b/dashboard/src/teststore/basetypes/endpoint/const.ts @@ -1,6 +1,6 @@ export enum EndpointState { EndpointDefault = 'EndpointDefault', - EndpointAvaliable = 'EndpointAvaliable', + EndpointAvailable = 'EndpointAvailable', EndpointUnstable = 'EndpointUnstable', EndpointError = 'EndpointError', } \ No newline at end of file diff --git a/dashboard/src/teststore/endpoint/endpoint.swagger.json b/dashboard/src/teststore/endpoint/endpoint.swagger.json index b900a959..9df6d825 100644 --- a/dashboard/src/teststore/endpoint/endpoint.swagger.json +++ b/dashboard/src/teststore/endpoint/endpoint.swagger.json @@ -383,7 +383,7 @@ "type": "string", "enum": [ "EndpointDefault", - "EndpointAvaliable", + "EndpointAvailable", "EndpointUnstable", "EndpointError" ], diff --git a/dashboard/src/teststore/endpoint/schema.ts b/dashboard/src/teststore/endpoint/schema.ts index a5a747e5..6caa0cc9 100644 --- a/dashboard/src/teststore/endpoint/schema.ts +++ b/dashboard/src/teststore/endpoint/schema.ts @@ -19,7 +19,7 @@ export enum ChainChainType { /** @default "EndpointDefault" */ export enum CttypeEndpointState { EndpointDefault = 'EndpointDefault', - EndpointAvaliable = 'EndpointAvaliable', + EndpointAvailable = 'EndpointAvailable', EndpointUnstable = 'EndpointUnstable', EndpointError = 'EndpointError', } diff --git a/proto/web3eye/basetype/v1/chain.pb.go b/proto/web3eye/basetype/v1/chain.pb.go index 2d93b2dd..38ed35cc 100644 --- a/proto/web3eye/basetype/v1/chain.pb.go +++ b/proto/web3eye/basetype/v1/chain.pb.go @@ -347,7 +347,7 @@ type EndpointState int32 const ( EndpointState_EndpointDefault EndpointState = 0 - EndpointState_EndpointAvaliable EndpointState = 10 + EndpointState_EndpointAvailable EndpointState = 10 EndpointState_EndpointUnstable EndpointState = 20 EndpointState_EndpointError EndpointState = 40 ) @@ -356,13 +356,13 @@ const ( var ( EndpointState_name = map[int32]string{ 0: "EndpointDefault", - 10: "EndpointAvaliable", + 10: "EndpointAvailable", 20: "EndpointUnstable", 40: "EndpointError", } EndpointState_value = map[string]int32{ "EndpointDefault": 0, - "EndpointAvaliable": 10, + "EndpointAvailable": 10, "EndpointUnstable": 20, "EndpointError": 40, } diff --git a/proto/web3eye/basetype/v1/chain.proto b/proto/web3eye/basetype/v1/chain.proto index 4e360a48..86a7c4f2 100644 --- a/proto/web3eye/basetype/v1/chain.proto +++ b/proto/web3eye/basetype/v1/chain.proto @@ -54,7 +54,7 @@ enum SyncState { enum EndpointState { EndpointDefault = 0; - EndpointAvaliable = 10; + EndpointAvailable = 10; EndpointUnstable = 20; EndpointError = 40; } diff --git a/proto/web3eye/entrance/v1/endpoint/endpoint.swagger.json b/proto/web3eye/entrance/v1/endpoint/endpoint.swagger.json index f9c58a9f..24f99ffb 100644 --- a/proto/web3eye/entrance/v1/endpoint/endpoint.swagger.json +++ b/proto/web3eye/entrance/v1/endpoint/endpoint.swagger.json @@ -191,7 +191,7 @@ "type": "string", "enum": [ "EndpointDefault", - "EndpointAvaliable", + "EndpointAvailable", "EndpointUnstable", "EndpointError" ], diff --git a/proto/web3eye/nftmeta/v1/endpoint/endpoint.swagger.json b/proto/web3eye/nftmeta/v1/endpoint/endpoint.swagger.json index 3eae48b6..a660584b 100644 --- a/proto/web3eye/nftmeta/v1/endpoint/endpoint.swagger.json +++ b/proto/web3eye/nftmeta/v1/endpoint/endpoint.swagger.json @@ -30,7 +30,7 @@ "type": "string", "enum": [ "EndpointDefault", - "EndpointAvaliable", + "EndpointAvailable", "EndpointUnstable", "EndpointError" ], diff --git a/proto/web3eye/ranker/v1/endpoint/endpoint.swagger.json b/proto/web3eye/ranker/v1/endpoint/endpoint.swagger.json index 2c1c1b04..99ccbc3e 100644 --- a/proto/web3eye/ranker/v1/endpoint/endpoint.swagger.json +++ b/proto/web3eye/ranker/v1/endpoint/endpoint.swagger.json @@ -30,7 +30,7 @@ "type": "string", "enum": [ "EndpointDefault", - "EndpointAvaliable", + "EndpointAvailable", "EndpointUnstable", "EndpointError" ], From ce205785825b6f876d47daa5003033a3b828516e Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Tue, 9 Jan 2024 15:22:57 +0800 Subject: [PATCH 064/116] adjust word --- common/chains/sol/client.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/chains/sol/client.go b/common/chains/sol/client.go index 766c88fc..76403fa6 100644 --- a/common/chains/sol/client.go +++ b/common/chains/sol/client.go @@ -23,7 +23,7 @@ type solClients struct { func (solCli solClients) GetNode(ctx context.Context, useTimes uint16) (*rpc.Client, string, error) { if len(solCli.endpoints) == 0 { - return nil, "", fmt.Errorf("have no avaliable endpoints") + return nil, "", fmt.Errorf("have no available endpoints") } endpoint, err := chains.LockEndpoint(ctx, solCli.endpoints, useTimes) From 20d965d0887e787e74db07764b94eecaa9e6c7d7 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Tue, 9 Jan 2024 15:26:31 +0800 Subject: [PATCH 065/116] adjust word --- common/chains/eth/rpc.go | 14 +++++++------- common/chains/sol/rpc.go | 20 ++++---------------- 2 files changed, 11 insertions(+), 23 deletions(-) diff --git a/common/chains/eth/rpc.go b/common/chains/eth/rpc.go index 5543cbea..872c9e83 100644 --- a/common/chains/eth/rpc.go +++ b/common/chains/eth/rpc.go @@ -24,7 +24,7 @@ func (ethCli ethClients) FilterLogs(ctx context.Context, query ethereum.FilterQu var useTimes uint16 = 1 err = ethCli.WithClient(ctx, useTimes, func(ctx context.Context, c *ethclient.Client) (bool, error) { _logs, err = c.FilterLogs(ctx, query) - return false, err + return true, err }) logs := make([]*types.Log, len(_logs)) for i := range _logs { @@ -40,7 +40,7 @@ func (ethCli ethClients) CurrentBlockNum(ctx context.Context) (uint64, error) { var useTimes uint16 = 1 err = ethCli.WithClient(ctx, useTimes, func(ctx context.Context, c *ethclient.Client) (bool, error) { num, err = c.BlockNumber(ctx) - return false, err + return true, err }) return num, err @@ -52,7 +52,7 @@ func (ethCli ethClients) TokenURI(ctx context.Context, tokenType basetype.TokenT var useTimes uint16 = 1 err = ethCli.WithClient(ctx, useTimes, func(ctx context.Context, c *ethclient.Client) (bool, error) { uri, err = tokenURI(c, tokenType, contractAddr, tokenID, blockNum) - return false, err + return true, err }) uri = ethCli.ReplaceID(uri, tokenID) return uri, err @@ -99,7 +99,7 @@ func (ethCli ethClients) BlockByNumber(ctx context.Context, blockNum *big.Int) ( var useTimes uint16 = 1 err = ethCli.WithClient(ctx, useTimes, func(ctx context.Context, c *ethclient.Client) (bool, error) { block, err = c.BlockByNumber(ctx, blockNum) - return false, err + return true, err }) return block, err } @@ -112,7 +112,7 @@ func (ethCli ethClients) GetContractCreator(ctx context.Context, contractAddr st var useTimes uint16 = 8 err = ethCli.WithClient(ctx, useTimes, func(ctx context.Context, c *ethclient.Client) (bool, error) { creator, err = ethCli.getContractCreator(ctx, c, contractAddr) - return false, err + return true, err }) return creator, err } @@ -191,7 +191,7 @@ func (ethCli ethClients) GetERC20Metadata(ctx context.Context, contractAddr stri var useTimes uint16 = 3 err = ethCli.WithClient(ctx, useTimes, func(ctx context.Context, c *ethclient.Client) (bool, error) { info, err = ethCli.getERC20Metadata(ctx, c, contractAddr) - return false, err + return true, err }) return info, err } @@ -231,7 +231,7 @@ func (ethCli ethClients) GetERC721Metadata(ctx context.Context, contractAddr str var useTimes uint16 = 2 err = ethCli.WithClient(ctx, useTimes, func(ctx context.Context, c *ethclient.Client) (bool, error) { info, err = ethCli.getERC721Metadata(ctx, c, contractAddr) - return false, err + return true, err }) return info, err } diff --git a/common/chains/sol/rpc.go b/common/chains/sol/rpc.go index d1b8c998..21f847dc 100644 --- a/common/chains/sol/rpc.go +++ b/common/chains/sol/rpc.go @@ -17,10 +17,7 @@ func (solCli solClients) GetSlotHeight(ctx context.Context) (uint64, error) { var useTimes uint16 = 1 err = solCli.WithClient(ctx, useTimes, func(ctx context.Context, c *rpc.Client) (bool, error) { height, err = c.GetSlot(ctx, rpc.CommitmentFinalized) - if err != nil { - return false, err - } - return false, nil + return true, err }) return height, err @@ -38,10 +35,7 @@ func (solCli solClients) GetBlock(ctx context.Context, slot uint64) (*rpc.GetBlo Rewards: &rewards, TransactionDetails: rpc.TransactionDetailsFull, }) - if err != nil { - return true, err - } - return false, nil + return true, err }) return block, err @@ -54,10 +48,7 @@ func (solCli solClients) GetTX(ctx context.Context, txSig solana.Signature) (*rp var useTimes uint16 = 1 err = solCli.WithClient(ctx, useTimes, func(ctx context.Context, c *rpc.Client) (bool, error) { tx, err = c.GetTransaction(ctx, txSig, &rpc.GetTransactionOpts{MaxSupportedTransactionVersion: &maxSupportedTransactionVersion}) - if err != nil { - return true, err - } - return false, nil + return true, err }) return tx, err @@ -79,10 +70,7 @@ func (solCli solClients) GetMetadata(ctx context.Context, mint string) (*token_m var useTimes uint16 = 1 err = solCli.WithClient(ctx, useTimes, func(ctx context.Context, c *rpc.Client) (bool, error) { accountInfo, err = c.GetAccountInfo(ctx, metadataAcc) - if err != nil { - return true, err - } - return false, nil + return true, err }) if err != nil { From c3cba617ab0e179517c69969a17aabf8fa11e2c7 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Wed, 10 Jan 2024 16:42:43 +0800 Subject: [PATCH 066/116] delay 6s for search file --- ranker/pkg/client/v1/token/token.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ranker/pkg/client/v1/token/token.go b/ranker/pkg/client/v1/token/token.go index c101ae7e..5cb44d05 100644 --- a/ranker/pkg/client/v1/token/token.go +++ b/ranker/pkg/client/v1/token/token.go @@ -20,7 +20,7 @@ type handler func(context.Context, rankerproto.ManagerClient) (cruder.Any, error var ( cc grpc.ClientConnInterface = nil - timeout = 6 * time.Second + timeout = 12 * time.Second ) func WithCRUD(ctx context.Context, handler handler) (cruder.Any, error) { From d1afbc3d65748427082d4563cb0a1d898a566bf5 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 11 Jan 2024 10:21:41 +0800 Subject: [PATCH 067/116] log sync err --- block-etl/pkg/chains/IndexMGR.go | 14 +++++++------- common/chains/eth/chainid.go | 18 +++++++++++++++++- common/chains/eth/client.go | 2 +- common/chains/sol/chainid.go | 7 ++++++- common/chains/sol/client.go | 2 +- 5 files changed, 32 insertions(+), 11 deletions(-) diff --git a/block-etl/pkg/chains/IndexMGR.go b/block-etl/pkg/chains/IndexMGR.go index 132f6b11..121b815f 100644 --- a/block-etl/pkg/chains/IndexMGR.go +++ b/block-etl/pkg/chains/IndexMGR.go @@ -49,8 +49,8 @@ func init() { } // TODO:should be registered - pMGR.EndpointChainIDHandlers[basetype.ChainType_Ethereum] = common_eth.GetEndpointChainID - pMGR.EndpointChainIDHandlers[basetype.ChainType_Solana] = common_sol.GetEndpointChainID + pMGR.EndpointChainIDHandlers[basetype.ChainType_Ethereum] = common_eth.CheckEndpointChainID + pMGR.EndpointChainIDHandlers[basetype.ChainType_Solana] = common_sol.CheckEndpointChainID } func GetIndexMGR() *indexMGR { @@ -59,17 +59,17 @@ func GetIndexMGR() *indexMGR { func (pmgr *indexMGR) Run(ctx context.Context) { for { - pmgr.checkNewEndpoints(ctx, basetype.EndpointState_EndpointDefault) - pmgr.checkNewEndpoints(ctx, basetype.EndpointState_EndpointAvailable) - pmgr.checkNewEndpoints(ctx, basetype.EndpointState_EndpointError) - pmgr.checkNewEndpoints(ctx, basetype.EndpointState_EndpointUnstable) + pmgr.checkEndpoints(ctx, basetype.EndpointState_EndpointDefault) + pmgr.checkEndpoints(ctx, basetype.EndpointState_EndpointAvailable) + pmgr.checkEndpoints(ctx, basetype.EndpointState_EndpointError) + pmgr.checkEndpoints(ctx, basetype.EndpointState_EndpointUnstable) pmgr.checkAvailableEndpoints(ctx) <-time.NewTicker(UpdateInterval).C } } // check for the newly created endpoints -func (pmgr *indexMGR) checkNewEndpoints(ctx context.Context, state basetype.EndpointState) { +func (pmgr *indexMGR) checkEndpoints(ctx context.Context, state basetype.EndpointState) { conds := &endpoint.Conds{ State: &web3eye.Uint32Val{ Op: "eq", diff --git a/common/chains/eth/chainid.go b/common/chains/eth/chainid.go index 693b60a4..70385a68 100644 --- a/common/chains/eth/chainid.go +++ b/common/chains/eth/chainid.go @@ -2,15 +2,31 @@ package eth import ( "context" + "fmt" "github.com/ethereum/go-ethereum/ethclient" ) -func GetEndpointChainID(ctx context.Context, endpoint string) (string, error) { +func CheckEndpointChainID(ctx context.Context, endpoint string) (string, error) { cli, err := ethclient.Dial(endpoint) if err != nil { return "", err } + defer cli.Close() + + syncRet, _err := cli.SyncProgress(ctx) + if _err != nil { + cli.Close() + return "", _err + } + + if syncRet != nil { + cli.Close() + return "", fmt.Errorf( + "node is syncing ,current block %v ,highest block %v ", + syncRet.CurrentBlock, syncRet.HighestBlock, + ) + } chainID, err := cli.ChainID(ctx) if err != nil { diff --git a/common/chains/eth/client.go b/common/chains/eth/client.go index 1745f157..6826008c 100644 --- a/common/chains/eth/client.go +++ b/common/chains/eth/client.go @@ -86,7 +86,7 @@ func checkEndpoint(ctx context.Context, endpoint string, err error) { return } - _, err = GetEndpointChainID(ctx, endpoint) + _, err = CheckEndpointChainID(ctx, endpoint) if err == nil { return } diff --git a/common/chains/sol/chainid.go b/common/chains/sol/chainid.go index 4b905ba1..688d055d 100644 --- a/common/chains/sol/chainid.go +++ b/common/chains/sol/chainid.go @@ -6,9 +6,14 @@ import ( "github.com/gagliardetto/solana-go/rpc" ) -func GetEndpointChainID(ctx context.Context, endpoint string) (string, error) { +func CheckEndpointChainID(ctx context.Context, endpoint string) (string, error) { cli := rpc.New(endpoint) + _, err := cli.GetHealth(ctx) + if err != nil { + return "", err + } + out, err := cli.GetGenesisHash(ctx) if err != nil { return "", err diff --git a/common/chains/sol/client.go b/common/chains/sol/client.go index 76403fa6..ef9419d3 100644 --- a/common/chains/sol/client.go +++ b/common/chains/sol/client.go @@ -75,7 +75,7 @@ func checkEndpoint(ctx context.Context, endpoint string, err error) { return } - _, err = GetEndpointChainID(ctx, endpoint) + _, err = CheckEndpointChainID(ctx, endpoint) if err == nil { return } From ff27c93a2dea957eee2ae76a8b91740ec1c51fca Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 11 Jan 2024 10:40:01 +0800 Subject: [PATCH 068/116] log err for check endpoints --- block-etl/pkg/chains/IndexMGR.go | 1 + block-etl/pkg/chains/eth/task.go | 11 +++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/block-etl/pkg/chains/IndexMGR.go b/block-etl/pkg/chains/IndexMGR.go index 121b815f..4f55b2bf 100644 --- a/block-etl/pkg/chains/IndexMGR.go +++ b/block-etl/pkg/chains/IndexMGR.go @@ -100,6 +100,7 @@ func (pmgr *indexMGR) checkEndpoints(ctx context.Context, state basetype.Endpoin chainID, err := handler(ctx, info.Address) if err != nil { + logger.Sugar().Errorf("endpoint not available, err: %v", err) info.State = basetype.EndpointState_EndpointError return } diff --git a/block-etl/pkg/chains/eth/task.go b/block-etl/pkg/chains/eth/task.go index ce086fd5..220ae2c7 100644 --- a/block-etl/pkg/chains/eth/task.go +++ b/block-etl/pkg/chains/eth/task.go @@ -41,6 +41,7 @@ func NewEthIndexer(chainID string) *indexer.Indexer { func (e *EthIndexer) IndexBlock(ctx context.Context, taskBlockNum chan uint64) { ctx.Done() for { + e.checkOkEndpoints() select { case num := <-taskBlockNum: block, err := e.CheckBlock(ctx, num) @@ -117,11 +118,17 @@ func (e *EthIndexer) OnNoAvalibleEndpoints(event func()) { e.ONAEEvents = append(e.ONAEEvents, event) } -func (e *EthIndexer) UpdateEndpoints(endpoints []string) { - e.OkEndpoints = endpoints +func (e *EthIndexer) checkOkEndpoints() bool { if len(e.OkEndpoints) == 0 { for _, v := range e.ONAEEvents { v() } + return false } + return true +} + +func (e *EthIndexer) UpdateEndpoints(endpoints []string) { + e.OkEndpoints = endpoints + _ = e.checkOkEndpoints() } From 3887b9f4a0f8c742677420f2c367da399ad892e3 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 11 Jan 2024 10:45:44 +0800 Subject: [PATCH 069/116] check endpoints when index block --- block-etl/pkg/chains/eth/task.go | 6 ++---- block-etl/pkg/chains/sol/task.go | 9 +++++++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/block-etl/pkg/chains/eth/task.go b/block-etl/pkg/chains/eth/task.go index 220ae2c7..4309e07e 100644 --- a/block-etl/pkg/chains/eth/task.go +++ b/block-etl/pkg/chains/eth/task.go @@ -118,17 +118,15 @@ func (e *EthIndexer) OnNoAvalibleEndpoints(event func()) { e.ONAEEvents = append(e.ONAEEvents, event) } -func (e *EthIndexer) checkOkEndpoints() bool { +func (e *EthIndexer) checkOkEndpoints() { if len(e.OkEndpoints) == 0 { for _, v := range e.ONAEEvents { v() } - return false } - return true } func (e *EthIndexer) UpdateEndpoints(endpoints []string) { e.OkEndpoints = endpoints - _ = e.checkOkEndpoints() + e.checkOkEndpoints() } diff --git a/block-etl/pkg/chains/sol/task.go b/block-etl/pkg/chains/sol/task.go index 688a58f0..5c021ce3 100644 --- a/block-etl/pkg/chains/sol/task.go +++ b/block-etl/pkg/chains/sol/task.go @@ -43,6 +43,7 @@ func NewSolIndexer(chainID string) *indexer.Indexer { func (e *SolIndexer) IndexBlock(ctx context.Context, taskBlockNum chan uint64) { ctx.Done() for { + e.checkOkEndpoints() select { case slotNum := <-taskBlockNum: block, err := e.CheckBlock(ctx, slotNum) @@ -109,11 +110,15 @@ func (e *SolIndexer) OnNoAvalibleEndpoints(event func()) { e.ONAEEvents = append(e.ONAEEvents, event) } -func (e *SolIndexer) UpdateEndpoints(endpoints []string) { - e.OkEndpoints = endpoints +func (e *SolIndexer) checkOkEndpoints() { if len(e.OkEndpoints) == 0 { for _, v := range e.ONAEEvents { v() } } } + +func (e *SolIndexer) UpdateEndpoints(endpoints []string) { + e.OkEndpoints = endpoints + e.checkOkEndpoints() +} From 05620dfb4facf3c559c2173c4a46edd6178f7f17 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 11 Jan 2024 10:49:13 +0800 Subject: [PATCH 070/116] faied to parse info,if have no available endpoints --- block-etl/pkg/chains/eth/task.go | 13 ++++++++++--- block-etl/pkg/chains/sol/task.go | 11 +++++++++-- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/block-etl/pkg/chains/eth/task.go b/block-etl/pkg/chains/eth/task.go index 4309e07e..610a4c3b 100644 --- a/block-etl/pkg/chains/eth/task.go +++ b/block-etl/pkg/chains/eth/task.go @@ -2,6 +2,7 @@ package eth import ( "context" + "fmt" "time" "github.com/NpoolPlatform/go-service-framework/pkg/logger" @@ -41,7 +42,6 @@ func NewEthIndexer(chainID string) *indexer.Indexer { func (e *EthIndexer) IndexBlock(ctx context.Context, taskBlockNum chan uint64) { ctx.Done() for { - e.checkOkEndpoints() select { case num := <-taskBlockNum: block, err := e.CheckBlock(ctx, num) @@ -55,6 +55,11 @@ func (e *EthIndexer) IndexBlock(ctx context.Context, taskBlockNum chan uint64) { } err = func() error { + err := e.checkOkEndpoints() + if err != nil { + return err + } + blockLogs, err := e.IndexBlockLogs(ctx, block.BlockNumber) if err != nil { return err @@ -118,15 +123,17 @@ func (e *EthIndexer) OnNoAvalibleEndpoints(event func()) { e.ONAEEvents = append(e.ONAEEvents, event) } -func (e *EthIndexer) checkOkEndpoints() { +func (e *EthIndexer) checkOkEndpoints() error { if len(e.OkEndpoints) == 0 { for _, v := range e.ONAEEvents { v() } + return fmt.Errorf("have no available endpoints") } + return nil } func (e *EthIndexer) UpdateEndpoints(endpoints []string) { e.OkEndpoints = endpoints - e.checkOkEndpoints() + _ = e.checkOkEndpoints() } diff --git a/block-etl/pkg/chains/sol/task.go b/block-etl/pkg/chains/sol/task.go index 5c021ce3..ec0d853b 100644 --- a/block-etl/pkg/chains/sol/task.go +++ b/block-etl/pkg/chains/sol/task.go @@ -2,6 +2,7 @@ package sol import ( "context" + "fmt" "strings" "time" @@ -43,7 +44,6 @@ func NewSolIndexer(chainID string) *indexer.Indexer { func (e *SolIndexer) IndexBlock(ctx context.Context, taskBlockNum chan uint64) { ctx.Done() for { - e.checkOkEndpoints() select { case slotNum := <-taskBlockNum: block, err := e.CheckBlock(ctx, slotNum) @@ -57,6 +57,11 @@ func (e *SolIndexer) IndexBlock(ctx context.Context, taskBlockNum chan uint64) { } err = func() error { + err := e.checkOkEndpoints() + if err != nil { + return err + } + outTransfers1, err := e.IndexTransfer(ctx, slotNum) if err != nil { return err @@ -110,12 +115,14 @@ func (e *SolIndexer) OnNoAvalibleEndpoints(event func()) { e.ONAEEvents = append(e.ONAEEvents, event) } -func (e *SolIndexer) checkOkEndpoints() { +func (e *SolIndexer) checkOkEndpoints() error { if len(e.OkEndpoints) == 0 { for _, v := range e.ONAEEvents { v() } + return fmt.Errorf("have no available endpoints") } + return nil } func (e *SolIndexer) UpdateEndpoints(endpoints []string) { From 76315cb29ab23d9b9de3a0d8fb1497ea2a5dff57 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 11 Jan 2024 10:51:41 +0800 Subject: [PATCH 071/116] faied to parse info,if have no available endpoints --- block-etl/pkg/chains/sol/task.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block-etl/pkg/chains/sol/task.go b/block-etl/pkg/chains/sol/task.go index ec0d853b..d405c598 100644 --- a/block-etl/pkg/chains/sol/task.go +++ b/block-etl/pkg/chains/sol/task.go @@ -127,5 +127,5 @@ func (e *SolIndexer) checkOkEndpoints() error { func (e *SolIndexer) UpdateEndpoints(endpoints []string) { e.OkEndpoints = endpoints - e.checkOkEndpoints() + _ = e.checkOkEndpoints() } From da057cc6f1e1b7a0dc3b52242c8fee6e81d4f593 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 11 Jan 2024 10:55:12 +0800 Subject: [PATCH 072/116] faied to parse info,if have no available endpoints --- block-etl/pkg/chains/eth/task.go | 5 +---- block-etl/pkg/chains/sol/task.go | 5 +---- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/block-etl/pkg/chains/eth/task.go b/block-etl/pkg/chains/eth/task.go index 610a4c3b..7d9ed680 100644 --- a/block-etl/pkg/chains/eth/task.go +++ b/block-etl/pkg/chains/eth/task.go @@ -92,13 +92,10 @@ func (e *EthIndexer) IndexBlock(ctx context.Context, taskBlockNum chan uint64) { return nil }() - if err != nil { - logger.Sugar().Errorw("IndexBlock", "BlockNum", num, "Error", err) - } - remark := "" parseState := basetype.BlockParseState_BlockTypeFinish if err != nil { + logger.Sugar().Errorw("IndexBlock", "BlockNum", num, "Error", err) remark = err.Error() parseState = basetype.BlockParseState_BlockTypeFailed } diff --git a/block-etl/pkg/chains/sol/task.go b/block-etl/pkg/chains/sol/task.go index d405c598..e1368d2d 100644 --- a/block-etl/pkg/chains/sol/task.go +++ b/block-etl/pkg/chains/sol/task.go @@ -84,13 +84,10 @@ func (e *SolIndexer) IndexBlock(ctx context.Context, taskBlockNum chan uint64) { err = nil } - if err != nil { - logger.Sugar().Error(err) - } - remark := "" parseState := basetype.BlockParseState_BlockTypeFinish if err != nil { + logger.Sugar().Error(err) remark = err.Error() parseState = basetype.BlockParseState_BlockTypeFailed } From cd940ee8d0c8f4d8289f95e2f7a919e4e1421a87 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 11 Jan 2024 11:07:10 +0800 Subject: [PATCH 073/116] faied to parse info,if have no available endpoints --- block-etl/pkg/chains/IndexMGR.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block-etl/pkg/chains/IndexMGR.go b/block-etl/pkg/chains/IndexMGR.go index 4f55b2bf..fd8e1424 100644 --- a/block-etl/pkg/chains/IndexMGR.go +++ b/block-etl/pkg/chains/IndexMGR.go @@ -100,7 +100,7 @@ func (pmgr *indexMGR) checkEndpoints(ctx context.Context, state basetype.Endpoin chainID, err := handler(ctx, info.Address) if err != nil { - logger.Sugar().Errorf("endpoint not available, err: %v", err) + logger.Sugar().Errorf("endpoint %v not available, err: %v", info.ID, err) info.State = basetype.EndpointState_EndpointError return } From 2a83a0f4078ed7b1af2df303c0bf183417ccefb5 Mon Sep 17 00:00:00 2001 From: lidaqiang Date: Thu, 11 Jan 2024 11:49:00 +0800 Subject: [PATCH 074/116] bugfix:http://47.116.78.131:10083/issues/2631 --- dashboard/src/components/endpoint/Endpoint.vue | 6 ++++++ webui/quasar.conf.js | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/dashboard/src/components/endpoint/Endpoint.vue b/dashboard/src/components/endpoint/Endpoint.vue index 284955db..f651c3fe 100644 --- a/dashboard/src/components/endpoint/Endpoint.vue +++ b/dashboard/src/components/endpoint/Endpoint.vue @@ -210,6 +210,12 @@ const columns = computed(() => [ sortable: true, field: (row: Endpoint) => row.State }, + { + name: 'RPS', + label: t('MSG_RPS'), + sortable: true, + field: (row: Endpoint) => row.RPS + }, ]) \ No newline at end of file diff --git a/webui/quasar.conf.js b/webui/quasar.conf.js index 2d8c3144..29ba4421 100644 --- a/webui/quasar.conf.js +++ b/webui/quasar.conf.js @@ -79,7 +79,7 @@ module.exports = configure(function (ctx) { devServer: { proxy: { '/api': { - target: 'https://api.npool.top:20402', + target: 'https://api.testnet.web3eye.io', pathRewrite: { '^/api': '/api' }, @@ -107,7 +107,8 @@ module.exports = configure(function (ctx) { // Quasar plugins plugins: [ - 'Notify' + 'Notify', + 'LocalStorage' ], }, From be355ecb2b89e42922a8df40471ab6a3f2066101 Mon Sep 17 00:00:00 2001 From: lidaqiang Date: Thu, 11 Jan 2024 11:57:30 +0800 Subject: [PATCH 075/116] bugfix:http://47.116.78.131:10083/issues/2625 --- webui/src/components/Token/Token.vue | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/webui/src/components/Token/Token.vue b/webui/src/components/Token/Token.vue index fd8191a6..ed2f9bdc 100644 --- a/webui/src/components/Token/Token.vue +++ b/webui/src/components/Token/Token.vue @@ -208,9 +208,10 @@ const loadMore = () => { if (localkey.getStorageKey() == null) { haveMore.value = false isLoading.value = false + currentPage.value = 1 return } - if (currentPage.value >= token.SearchTokens.Pages && token.SearchTokens.Pages !== 0) { + if (currentPage.value > token.SearchTokens.Pages && token.SearchTokens.Pages !== 0) { haveMore.value = true return } From 6f35980ee1993ec3857d7d71f13cabfa7034ea9b Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 11 Jan 2024 12:07:27 +0800 Subject: [PATCH 076/116] skip check syncState when not support is_syncing --- common/chains/eth/chainid.go | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/common/chains/eth/chainid.go b/common/chains/eth/chainid.go index 70385a68..b68552b9 100644 --- a/common/chains/eth/chainid.go +++ b/common/chains/eth/chainid.go @@ -3,6 +3,7 @@ package eth import ( "context" "fmt" + "strings" "github.com/ethereum/go-ethereum/ethclient" ) @@ -15,17 +16,17 @@ func CheckEndpointChainID(ctx context.Context, endpoint string) (string, error) defer cli.Close() syncRet, _err := cli.SyncProgress(ctx) - if _err != nil { - cli.Close() - return "", _err - } + if !(_err != nil && strings.Contains(_err.Error(), "Method not found")) { + if _err != nil { + return "", _err + } - if syncRet != nil { - cli.Close() - return "", fmt.Errorf( - "node is syncing ,current block %v ,highest block %v ", - syncRet.CurrentBlock, syncRet.HighestBlock, - ) + if syncRet != nil { + return "", fmt.Errorf( + "node is syncing ,current block %v ,highest block %v ", + syncRet.CurrentBlock, syncRet.HighestBlock, + ) + } } chainID, err := cli.ChainID(ctx) From e0abfa54316538e0c2b2c68fe1dff3260137a3b5 Mon Sep 17 00:00:00 2001 From: lidaqiang Date: Thu, 11 Jan 2024 12:09:51 +0800 Subject: [PATCH 077/116] http://47.116.78.131:10083/issues/2568 --- webui/src/components/Contract/Contract.vue | 145 ++++++++++----------- 1 file changed, 69 insertions(+), 76 deletions(-) diff --git a/webui/src/components/Contract/Contract.vue b/webui/src/components/Contract/Contract.vue index 978fad7c..18bf9389 100644 --- a/webui/src/components/Contract/Contract.vue +++ b/webui/src/components/Contract/Contract.vue @@ -1,7 +1,7 @@
- +
@@ -178,7 +164,7 @@ const getContract = () => { Message: {} }, (error: boolean, row: Contract) => { if (!error) { - if (!_chainID.value|| !_chainType.value) { + if (!_chainID.value || !_chainType.value) { getTransfers(0, 100, row.ChainID, row.ChainType) } } @@ -208,6 +194,11 @@ const getTransfers = (offset: number, limit: number, chainID: string, chainType: } const columns = computed(() => [ + { + name: 'TokenID', + label: 'TokenID', + align: 'left', + }, { name: 'OfferItems', label: 'Offer Items', @@ -318,4 +309,6 @@ onMounted(() => { font-size: 12px .token,.show-more padding-left: 5px +.offer-item + margin-left: -40px \ No newline at end of file From 93fba9e934290958c3aa40c5e225383000022e3c Mon Sep 17 00:00:00 2001 From: lidaqiang Date: Thu, 11 Jan 2024 12:27:05 +0800 Subject: [PATCH 078/116] http://47.116.78.131:10083/issues/2619 --- webui/src/components/Token/Detail.vue | 4 +++- webui/src/teststore/contract/index.ts | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/webui/src/components/Token/Detail.vue b/webui/src/components/Token/Detail.vue index da3135cf..b3e34578 100644 --- a/webui/src/components/Token/Detail.vue +++ b/webui/src/components/Token/Detail.vue @@ -84,7 +84,7 @@ -
+
{ padding-left: 5px .grid-container padding-bottom: 48px +.offer-item + margin-left: -40px diff --git a/webui/src/teststore/contract/index.ts b/webui/src/teststore/contract/index.ts index 37d2de78..7a8ef333 100644 --- a/webui/src/teststore/contract/index.ts +++ b/webui/src/teststore/contract/index.ts @@ -27,7 +27,8 @@ export const useContractStore = defineStore('contract', { }, shotTokens(): (contract: string) => Array { return (contract:string) => { - return this.ShotTokens.ShotTokens.get(contract) as Array + const tokens = this.ShotTokens.ShotTokens.get(contract) as Array + return tokens?.sort((a, b) => b.TokenID.localeCompare(a.TokenID, 'zh-CN')) } } }, From dd6ec9747d7c5f94512e0d19c96e9b31fd864b83 Mon Sep 17 00:00:00 2001 From: lidaqiang Date: Thu, 11 Jan 2024 12:33:43 +0800 Subject: [PATCH 079/116] http://47.116.78.131:10083/issues/2618 --- webui/src/components/Contract/Contract.vue | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/webui/src/components/Contract/Contract.vue b/webui/src/components/Contract/Contract.vue index 18bf9389..35d8f23e 100644 --- a/webui/src/components/Contract/Contract.vue +++ b/webui/src/components/Contract/Contract.vue @@ -156,18 +156,22 @@ const getImageUrl = computed(() => (url: string) => { return url }) -const getContract = () => { +const getContract = (offset: number, limit: number) => { contract.getContractAndTokens({ Contract: _contract.value, - Offset: 0, - Limit: 100, + Offset: offset, + Limit: limit, Message: {} - }, (error: boolean, row: Contract) => { + }, (error: boolean, row: Contract, rows: ShotToken[]) => { if (!error) { if (!_chainID.value || !_chainType.value) { getTransfers(0, 100, row.ChainID, row.ChainType) } } + if(error || rows?.length === 0) { + return + } + getContract(offset + limit, limit) }) } @@ -252,7 +256,7 @@ const onTokenClick = (token: ShotToken) => { onMounted(() => { if (_contract?.value?.length > 0) { - getContract() + getContract(0, 100) } if (transfers.value?.length === 0) { if (!_chainID.value || !_chainType.value) return From 67c81426348fc09c724670b635db6158f0b4488f Mon Sep 17 00:00:00 2001 From: lidaqiang Date: Thu, 11 Jan 2024 14:15:14 +0800 Subject: [PATCH 080/116] add close icon --- webui/src/components/Main/Main.vue | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/webui/src/components/Main/Main.vue b/webui/src/components/Main/Main.vue index f60d40ba..ece271f0 100644 --- a/webui/src/components/Main/Main.vue +++ b/webui/src/components/Main/Main.vue @@ -32,6 +32,7 @@
+
Drag an image here
@@ -110,6 +111,10 @@ enum State { const state = ref(State.Normal) const contract = ref('') +const onCloseClick = () => { + opening.value = false +} + onMounted(() => { const dropArea = document.getElementById('drop-target') dropArea?.addEventListener('drop', (e) => { @@ -150,12 +155,19 @@ onMounted(() => { }) dropZone?.addEventListener('dragleave', (e) => { e.stopPropagation() - // e.preventDefault() + e.preventDefault() + console.log('dragleave: ') let relatedTarget = e.relatedTarget if (!relatedTarget?.dispatchEvent) { // leave window opening.value = false } }) + dropZone?.addEventListener('dragend', function (e) { + e.preventDefault() + e.stopPropagation() + console.log('dragend: ') + opening.value = false + }) dropZone?.addEventListener('drop', (e) => { e.stopPropagation() e.preventDefault() @@ -243,6 +255,12 @@ onMounted(() => { .drag-image-here padding-left: 8px color: rgb(95,99,104) + .close + position: absolute + right: 8px + top: 0 + margin-top: 45px + cursor: pointer .hidden display: none #drop-target.highlight From 1519051984aef32e9f2439672d07a6d2613668df Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Fri, 12 Jan 2024 11:51:00 +0800 Subject: [PATCH 081/116] add index for tokens --- go.mod | 6 ++++++ go.sum | 17 +++++++++++++++++ nft-meta/pkg/db/ent/internal/schema.go | 2 +- nft-meta/pkg/db/ent/migrate/schema.go | 5 +++++ nft-meta/pkg/db/ent/schema/token.go | 1 + ranker/api/v1/token/search.go | 6 +++--- 6 files changed, 33 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index a96ba02d..6e599be3 100644 --- a/go.mod +++ b/go.mod @@ -178,6 +178,7 @@ require ( github.com/hashicorp/hcl/v2 v2.17.0 // indirect github.com/holiman/uint256 v1.2.4 // indirect github.com/huin/goupnp v1.3.0 // indirect + github.com/inconshreveable/mousetrap v1.0.1 // indirect github.com/ipfs/bbloom v0.0.4 // indirect github.com/ipfs/go-bitfield v1.1.0 // indirect github.com/ipfs/go-block-format v0.1.2 // indirect @@ -245,6 +246,7 @@ require ( github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.19 // indirect + github.com/mattn/go-runewidth v0.0.13 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/mcuadros/go-version v0.0.0-20190830083331-035f6764e8d2 // indirect github.com/miekg/dns v1.1.55 // indirect @@ -269,6 +271,7 @@ require ( github.com/multiformats/go-multistream v0.4.1 // indirect github.com/multiformats/go-varint v0.0.7 // indirect github.com/near/borsh-go v0.3.2-0.20220516180422-1ff87d108454 // indirect + github.com/olekukonko/tablewriter v0.0.5 // indirect github.com/onsi/ginkgo/v2 v2.11.0 // indirect github.com/opencontainers/runtime-spec v1.0.2 // indirect github.com/opentracing/opentracing-go v1.2.0 // indirect @@ -289,12 +292,15 @@ require ( github.com/quic-go/quic-go v0.36.1 // indirect github.com/quic-go/webtransport-go v0.5.3 // indirect github.com/raulk/go-watchdog v1.3.0 // indirect + github.com/rivo/uniseg v0.2.0 // indirect github.com/rogpeppe/go-internal v1.11.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/samber/lo v1.38.1 // indirect github.com/shirou/gopsutil v3.21.11+incompatible // indirect github.com/sirupsen/logrus v1.9.0 // indirect github.com/spaolacci/murmur3 v1.1.0 // indirect + github.com/spf13/cobra v1.6.1 // indirect + github.com/spf13/pflag v1.0.5 // indirect github.com/streamingfast/logging v0.0.0-20230608130331-f22c91403091 // indirect github.com/supranational/blst v0.3.11 // indirect github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect diff --git a/go.sum b/go.sum index 070ef021..6968cb09 100644 --- a/go.sum +++ b/go.sum @@ -110,10 +110,12 @@ github.com/alexbrainman/goissue34681 v0.0.0-20191006012335-3fc7a47baff5/go.mod h github.com/andres-erbsen/clock v0.0.0-20160526145045-9e14626cd129 h1:MzBOUgng9orim59UnfUTLRjMpd09C5uEVQ6RPGeCaVI= github.com/andres-erbsen/clock v0.0.0-20160526145045-9e14626cd129/go.mod h1:rFgpPQZYZ8vdbc+48xibu8ALc3yeyd64IhHS+PU6Yyg= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apache/pulsar-client-go v0.11.0 h1:fniyVbewAOcMSMLwxzhdrCFmFTorCW40jfnmQVcsrJw= github.com/apache/pulsar-client-go v0.11.0/go.mod h1:FoijqJwgjroSKptIWp1vvK1CXs8dXnQiL8I+MHOri4A= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= github.com/ardielle/ardielle-go v1.5.2 h1:TilHTpHIQJ27R1Tl/iITBzMwiUGSlVfiVhwDNGM3Zj4= @@ -260,6 +262,7 @@ github.com/cockroachdb/logtags v0.0.0-20211118104740-dabe8e521a4f/go.mod h1:Vz9D github.com/cockroachdb/pebble v0.0.0-20230928194634-aa077af62593 h1:aPEJyR4rPBvDmeyi+l/FS/VtA00IWvjeFvjen1m1l1A= github.com/cockroachdb/redact v1.1.3 h1:AKZds10rFSIj7qADf0g46UixK8NNLwWTNdCIGS5wfSQ= github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= +github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2/go.mod h1:8BT+cPK6xvFOcRlk0R8eg+OTkcqI6baNH4xAkpiYVvQ= github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= @@ -419,6 +422,7 @@ github.com/filecoin-project/go-fil-commcid v0.1.0/go.mod h1:Eaox7Hvus1JgPrL5+M3+ github.com/filecoin-project/go-fil-commp-hashhash v0.1.0 h1:imrrpZWEHRnNqqv0tN7LXep5bFEVOVmQWHJvl2mgsGo= github.com/filecoin-project/go-fil-markets v1.28.3 h1:2cFu7tLZYrfNz4LnxjgERaVD7k5+Wwp0H76mnnTGPBk= github.com/filecoin-project/go-fil-markets v1.28.3/go.mod h1:eryxo/oVgIxaR5g5CNr9PlvZOi+u/bak0IsPL/PT1hk= +github.com/filecoin-project/go-hamt-ipld v0.1.5/go.mod h1:6Is+ONR5Cd5R6XZoCse1CWaXZc0Hdb/JeX+EQCQzX24= github.com/filecoin-project/go-hamt-ipld/v3 v3.1.0/go.mod h1:bxmzgT8tmeVQA1/gvBwFmYdT8SOFUwB3ovSUfG1Ux0g= github.com/filecoin-project/go-hamt-ipld/v3 v3.3.0 h1:lYx2W8lE2GpwMnVmLn9rRkxTZGMgirWabz0Cx0BTlAU= github.com/filecoin-project/go-hamt-ipld/v3 v3.3.0/go.mod h1:IWfNfjdXLrqyyj3X7JMJQgWYu9M4NX/hQl1zdv64bmc= @@ -517,6 +521,7 @@ github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg78 github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68= +github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= github.com/go-yaml/yaml v2.1.0+incompatible/go.mod h1:w2MrLa16VYP0jy6N7M5kHaCkaLENm+P+Tv+MfurjSw0= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= @@ -722,6 +727,8 @@ github.com/hydrogen18/memlistener v0.0.0-20200120041712-dcc25e7acd91/go.mod h1:q github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= +github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs= github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyqMG0= @@ -1285,7 +1292,9 @@ github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D github.com/mattn/go-pointer v0.0.1 h1:n+XhsuGeVO6MEAp7xyEukFINEa+Quek5psIR/ylA6o0= github.com/mattn/go-pointer v0.0.1/go.mod h1:2zXcozF6qYGgmsG+SeTZz3oAbFLdD3OWqnUbNvJZAlc= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= +github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-sqlite3 v1.14.13 h1:1tj15ngiFfcZzii7yd82foL+ks+ouQcj8j/TPq3fk1I= github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= @@ -1465,6 +1474,7 @@ github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQ github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= +github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= @@ -1594,7 +1604,9 @@ github.com/raulk/go-watchdog v1.3.0 h1:oUmdlHxdkXRJlwfG0O9omj8ukerm8MEQavSiDTEtB github.com/raulk/go-watchdog v1.3.0/go.mod h1:fIvOnLbF0b0ZwkB9YU4mOW9Did//4vPZtDqv66NfsMU= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= +github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= @@ -1678,9 +1690,12 @@ github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkU github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= +github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= +github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= @@ -1738,6 +1753,7 @@ github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9f github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c h1:u6SKchux2yDvFQnDHS3lPnIRmfVJ5Sxy3ao2SIdysLQ= +github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM= github.com/twmb/murmur3 v1.1.6 h1:mqrRot1BRxm+Yct+vavLMou2/iJt0tNVTTC0QoIjaZg= github.com/tyler-smith/go-bip39 v1.1.0 h1:5eUemwrMargf3BSLRRCalXT93Ns6pQJIjYQN2nyfOP8= github.com/ucarion/urlpath v0.0.0-20200424170820-7ccc79b76bbb h1:Ywfo8sUltxogBpFuMOFRrrSifO788kAFxmvVw31PtQQ= @@ -1831,6 +1847,7 @@ github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFi github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/zclconf/go-cty v1.13.2 h1:4GvrUxe/QUDYuJKAav4EYqdM47/kZa672LwmXFmEKT0= github.com/zclconf/go-cty v1.13.2/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= +github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= diff --git a/nft-meta/pkg/db/ent/internal/schema.go b/nft-meta/pkg/db/ent/internal/schema.go index 8edaa0c3..7c137a4e 100644 --- a/nft-meta/pkg/db/ent/internal/schema.go +++ b/nft-meta/pkg/db/ent/internal/schema.go @@ -6,4 +6,4 @@ // Package internal holds a loadable version of the latest schema. package internal -const Schema = `{"Schema":"github.com/web3eye-io/Web3Eye/nft-meta/pkg/db/ent/schema","Package":"github.com/web3eye-io/Web3Eye/nft-meta/pkg/db/ent","Schemas":[{"name":"Block","config":{"Table":""},"fields":[{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":0}},{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"block_number","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"block_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"block_time","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"parse_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":6,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["chain_type","chain_id","block_number"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":0}]},{"name":"Contract","config":{"Table":""},"fields":[{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":0}},{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"address","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"name","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"symbol","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"decimals","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_value":0,"default_kind":10,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"creator","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"block_num","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"tx_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":8,"MixedIn":false,"MixinIndex":0}},{"name":"tx_time","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":9,"MixedIn":false,"MixinIndex":0}},{"name":"profile_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":10,"MixedIn":false,"MixinIndex":0}},{"name":"base_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":11,"MixedIn":false,"MixinIndex":0}},{"name":"banner_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":12,"MixedIn":false,"MixinIndex":0}},{"name":"description","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":13,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":14,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["chain_type","chain_id","address"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":0}]},{"name":"Endpoint","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"address","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"rps","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_value":1,"default_kind":10,"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"Order","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"tx_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"block_number","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"tx_index","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"log_index","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"recipient","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["tx_hash","recipient","log_index"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"OrderItem","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"order_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"order_item_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"contract","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"token_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"token_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"amount","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"fields":["order_id"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"Snapshot","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"index","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"snapshot_comm_p","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"snapshot_root","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"snapshot_uri","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"backup_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["index","backup_state"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"SyncTask","config":{"Table":""},"fields":[{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":0}},{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"default":true,"default_value":"ChainUnkonwn","default_kind":24,"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"start","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"end","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"current","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"topic","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"unique":true,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"description","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"sync_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"default":true,"default_value":"Default","default_kind":24,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":8,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"fields":["topic"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":0}]},{"name":"Token","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"contract","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"token_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"token_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"owner","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"uri","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"uri_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"uri_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":8,"MixedIn":false,"MixinIndex":0}},{"name":"image_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":9,"MixedIn":false,"MixinIndex":0}},{"name":"video_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":10,"MixedIn":false,"MixinIndex":0}},{"name":"description","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":11,"MixedIn":false,"MixinIndex":0}},{"name":"name","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":12,"MixedIn":false,"MixinIndex":0}},{"name":"vector_id","type":{"Type":13,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":13,"MixedIn":false,"MixinIndex":0}},{"name":"vector_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"default":true,"default_value":"Default","default_kind":24,"position":{"Index":14,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":15,"MixedIn":false,"MixinIndex":0}},{"name":"ipfs_image_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":16,"MixedIn":false,"MixinIndex":0}},{"name":"image_snapshot_id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":17,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["contract","token_id"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"Transfer","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"contract","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"token_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"token_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"from","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"to","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"amount","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"block_number","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":8,"MixedIn":false,"MixinIndex":0}},{"name":"tx_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":9,"MixedIn":false,"MixinIndex":0}},{"name":"block_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":10,"MixedIn":false,"MixinIndex":0}},{"name":"tx_time","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":11,"MixedIn":false,"MixinIndex":0}},{"name":"log_index","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_value":0,"default_kind":10,"position":{"Index":12,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":13,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["contract","token_id","tx_hash","from","log_index"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]}],"Features":["entql","sql/lock","sql/execquery","sql/upsert","privacy","schema/snapshot","sql/modifier"]}` +const Schema = `{"Schema":"github.com/web3eye-io/Web3Eye/nft-meta/pkg/db/ent/schema","Package":"github.com/web3eye-io/Web3Eye/nft-meta/pkg/db/ent","Schemas":[{"name":"Block","config":{"Table":""},"fields":[{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":0}},{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"block_number","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"block_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"block_time","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"parse_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":6,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["chain_type","chain_id","block_number"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":0}]},{"name":"Contract","config":{"Table":""},"fields":[{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":0}},{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"address","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"name","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"symbol","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"decimals","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_value":0,"default_kind":10,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"creator","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"block_num","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"tx_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":8,"MixedIn":false,"MixinIndex":0}},{"name":"tx_time","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":9,"MixedIn":false,"MixinIndex":0}},{"name":"profile_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":10,"MixedIn":false,"MixinIndex":0}},{"name":"base_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":11,"MixedIn":false,"MixinIndex":0}},{"name":"banner_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":12,"MixedIn":false,"MixinIndex":0}},{"name":"description","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":13,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":14,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["chain_type","chain_id","address"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":0}]},{"name":"Endpoint","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"address","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"rps","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_value":1,"default_kind":10,"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"Order","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"tx_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"block_number","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"tx_index","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"log_index","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"recipient","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["tx_hash","recipient","log_index"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"OrderItem","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"order_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"order_item_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"contract","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"token_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"token_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"amount","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"fields":["order_id"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"Snapshot","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"index","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"snapshot_comm_p","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"snapshot_root","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"snapshot_uri","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"backup_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["index","backup_state"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"SyncTask","config":{"Table":""},"fields":[{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":0}},{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"default":true,"default_value":"ChainUnkonwn","default_kind":24,"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"start","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"end","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"current","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"topic","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"unique":true,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"description","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"sync_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"default":true,"default_value":"Default","default_kind":24,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":8,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"fields":["topic"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":0}]},{"name":"Token","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"contract","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"token_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"token_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"owner","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"uri","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"uri_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"uri_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":8,"MixedIn":false,"MixinIndex":0}},{"name":"image_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":9,"MixedIn":false,"MixinIndex":0}},{"name":"video_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":10,"MixedIn":false,"MixinIndex":0}},{"name":"description","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":11,"MixedIn":false,"MixinIndex":0}},{"name":"name","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":12,"MixedIn":false,"MixinIndex":0}},{"name":"vector_id","type":{"Type":13,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":13,"MixedIn":false,"MixinIndex":0}},{"name":"vector_state","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"default":true,"default_value":"Default","default_kind":24,"position":{"Index":14,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":15,"MixedIn":false,"MixinIndex":0}},{"name":"ipfs_image_url","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":16,"MixedIn":false,"MixinIndex":0}},{"name":"image_snapshot_id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":17,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["contract","token_id"]},{"fields":["vector_id"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]},{"name":"Transfer","config":{"Table":""},"fields":[{"name":"id","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":true,"MixinIndex":0}},{"name":"ent_id","type":{"Type":4,"Ident":"uuid.UUID","PkgPath":"github.com/google/uuid","PkgName":"uuid","Nillable":false,"RType":{"Name":"UUID","Ident":"uuid.UUID","Kind":17,"PkgPath":"github.com/google/uuid","Methods":{"ClockSequence":{"In":[],"Out":[{"Name":"int","Ident":"int","Kind":2,"PkgPath":"","Methods":null}]},"Domain":{"In":[],"Out":[{"Name":"Domain","Ident":"uuid.Domain","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"ID":{"In":[],"Out":[{"Name":"uint32","Ident":"uint32","Kind":10,"PkgPath":"","Methods":null}]},"MarshalBinary":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"MarshalText":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"NodeID":{"In":[],"Out":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}]},"Scan":{"In":[{"Name":"","Ident":"interface {}","Kind":20,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"String":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"Time":{"In":[],"Out":[{"Name":"Time","Ident":"uuid.Time","Kind":6,"PkgPath":"github.com/google/uuid","Methods":null}]},"URN":{"In":[],"Out":[{"Name":"string","Ident":"string","Kind":24,"PkgPath":"","Methods":null}]},"UnmarshalBinary":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"UnmarshalText":{"In":[{"Name":"","Ident":"[]uint8","Kind":23,"PkgPath":"","Methods":null}],"Out":[{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Value":{"In":[],"Out":[{"Name":"Value","Ident":"driver.Value","Kind":20,"PkgPath":"database/sql/driver","Methods":null},{"Name":"error","Ident":"error","Kind":20,"PkgPath":"","Methods":null}]},"Variant":{"In":[],"Out":[{"Name":"Variant","Ident":"uuid.Variant","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]},"Version":{"In":[],"Out":[{"Name":"Version","Ident":"uuid.Version","Kind":8,"PkgPath":"github.com/google/uuid","Methods":null}]}}}},"unique":true,"default":true,"default_kind":19,"position":{"Index":1,"MixedIn":true,"MixinIndex":0}},{"name":"created_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":0,"MixedIn":true,"MixinIndex":1}},{"name":"updated_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"update_default":true,"position":{"Index":1,"MixedIn":true,"MixinIndex":1}},{"name":"deleted_at","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_kind":19,"position":{"Index":2,"MixedIn":true,"MixinIndex":1}},{"name":"chain_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":0,"MixedIn":false,"MixinIndex":0}},{"name":"chain_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":1,"MixedIn":false,"MixinIndex":0}},{"name":"contract","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":2,"MixedIn":false,"MixinIndex":0}},{"name":"token_type","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":3,"MixedIn":false,"MixinIndex":0}},{"name":"token_id","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":4,"MixedIn":false,"MixinIndex":0}},{"name":"from","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":5,"MixedIn":false,"MixinIndex":0}},{"name":"to","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":128,"validators":1,"position":{"Index":6,"MixedIn":false,"MixinIndex":0}},{"name":"amount","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":7,"MixedIn":false,"MixinIndex":0}},{"name":"block_number","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":8,"MixedIn":false,"MixinIndex":0}},{"name":"tx_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":9,"MixedIn":false,"MixinIndex":0}},{"name":"block_hash","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"position":{"Index":10,"MixedIn":false,"MixinIndex":0}},{"name":"tx_time","type":{"Type":18,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"optional":true,"position":{"Index":11,"MixedIn":false,"MixinIndex":0}},{"name":"log_index","type":{"Type":16,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"default":true,"default_value":0,"default_kind":10,"position":{"Index":12,"MixedIn":false,"MixinIndex":0}},{"name":"remark","type":{"Type":7,"Ident":"","PkgPath":"","PkgName":"","Nillable":false,"RType":null},"size":2147483647,"optional":true,"position":{"Index":13,"MixedIn":false,"MixinIndex":0}}],"indexes":[{"unique":true,"fields":["ent_id"]},{"unique":true,"fields":["contract","token_id","tx_hash","from","log_index"]}],"policy":[{"Index":0,"MixedIn":true,"MixinIndex":1}]}],"Features":["entql","sql/lock","sql/execquery","sql/upsert","privacy","schema/snapshot","sql/modifier"]}` diff --git a/nft-meta/pkg/db/ent/migrate/schema.go b/nft-meta/pkg/db/ent/migrate/schema.go index 2efe53dc..df4d4856 100644 --- a/nft-meta/pkg/db/ent/migrate/schema.go +++ b/nft-meta/pkg/db/ent/migrate/schema.go @@ -284,6 +284,11 @@ var ( Unique: true, Columns: []*schema.Column{TokensColumns[7], TokensColumns[9]}, }, + { + Name: "token_vector_id", + Unique: false, + Columns: []*schema.Column{TokensColumns[18]}, + }, }, } // TransfersColumns holds the columns for the "transfers" table. diff --git a/nft-meta/pkg/db/ent/schema/token.go b/nft-meta/pkg/db/ent/schema/token.go index fdf860e9..066047fd 100644 --- a/nft-meta/pkg/db/ent/schema/token.go +++ b/nft-meta/pkg/db/ent/schema/token.go @@ -61,5 +61,6 @@ func (Token) Indexes() []ent.Index { return []ent.Index{ index.Fields("contract", "token_id"). Unique(), + index.Fields("vector_id"), } } diff --git a/ranker/api/v1/token/search.go b/ranker/api/v1/token/search.go index f99e4fdb..d3de6dea 100644 --- a/ranker/api/v1/token/search.go +++ b/ranker/api/v1/token/search.go @@ -30,7 +30,7 @@ const ( ) type SearchTokenBone struct { - EntID string + ID uint32 SiblingIDs []uint32 SiblingsNum uint32 Distance float32 @@ -372,7 +372,7 @@ func ToTokenBones(infos []*rankernpool.SearchToken) []*SearchTokenBone { bones := make([]*SearchTokenBone, len(infos)) for i, v := range infos { bones[i] = &SearchTokenBone{ - EntID: v.EntID, + ID: v.ID, SiblingsNum: v.SiblingsNum, Distance: v.Distance, TranserferNum: v.TransfersNum, @@ -389,7 +389,7 @@ func ToTokenBones(infos []*rankernpool.SearchToken) []*SearchTokenBone { func ToSearchTokens(ctx context.Context, bones []*SearchTokenBone) ([]*rankernpool.SearchToken, error) { tokens := make([]*rankernpool.SearchToken, len(bones)) for i, v := range bones { - h, err := tokenhandler.NewHandler(ctx, tokenhandler.WithEntID(&v.EntID, true)) + h, err := tokenhandler.NewHandler(ctx, tokenhandler.WithID(&v.ID, true)) if err != nil { return nil, err } From e2712a8c2177ceaf0b56a1f85d933e82c09e4205 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Fri, 12 Jan 2024 11:55:56 +0800 Subject: [PATCH 082/116] add index for tokens --- go.mod | 6 ------ go.sum | 17 ----------------- 2 files changed, 23 deletions(-) diff --git a/go.mod b/go.mod index 6e599be3..a96ba02d 100644 --- a/go.mod +++ b/go.mod @@ -178,7 +178,6 @@ require ( github.com/hashicorp/hcl/v2 v2.17.0 // indirect github.com/holiman/uint256 v1.2.4 // indirect github.com/huin/goupnp v1.3.0 // indirect - github.com/inconshreveable/mousetrap v1.0.1 // indirect github.com/ipfs/bbloom v0.0.4 // indirect github.com/ipfs/go-bitfield v1.1.0 // indirect github.com/ipfs/go-block-format v0.1.2 // indirect @@ -246,7 +245,6 @@ require ( github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.19 // indirect - github.com/mattn/go-runewidth v0.0.13 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/mcuadros/go-version v0.0.0-20190830083331-035f6764e8d2 // indirect github.com/miekg/dns v1.1.55 // indirect @@ -271,7 +269,6 @@ require ( github.com/multiformats/go-multistream v0.4.1 // indirect github.com/multiformats/go-varint v0.0.7 // indirect github.com/near/borsh-go v0.3.2-0.20220516180422-1ff87d108454 // indirect - github.com/olekukonko/tablewriter v0.0.5 // indirect github.com/onsi/ginkgo/v2 v2.11.0 // indirect github.com/opencontainers/runtime-spec v1.0.2 // indirect github.com/opentracing/opentracing-go v1.2.0 // indirect @@ -292,15 +289,12 @@ require ( github.com/quic-go/quic-go v0.36.1 // indirect github.com/quic-go/webtransport-go v0.5.3 // indirect github.com/raulk/go-watchdog v1.3.0 // indirect - github.com/rivo/uniseg v0.2.0 // indirect github.com/rogpeppe/go-internal v1.11.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/samber/lo v1.38.1 // indirect github.com/shirou/gopsutil v3.21.11+incompatible // indirect github.com/sirupsen/logrus v1.9.0 // indirect github.com/spaolacci/murmur3 v1.1.0 // indirect - github.com/spf13/cobra v1.6.1 // indirect - github.com/spf13/pflag v1.0.5 // indirect github.com/streamingfast/logging v0.0.0-20230608130331-f22c91403091 // indirect github.com/supranational/blst v0.3.11 // indirect github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect diff --git a/go.sum b/go.sum index 6968cb09..070ef021 100644 --- a/go.sum +++ b/go.sum @@ -110,12 +110,10 @@ github.com/alexbrainman/goissue34681 v0.0.0-20191006012335-3fc7a47baff5/go.mod h github.com/andres-erbsen/clock v0.0.0-20160526145045-9e14626cd129 h1:MzBOUgng9orim59UnfUTLRjMpd09C5uEVQ6RPGeCaVI= github.com/andres-erbsen/clock v0.0.0-20160526145045-9e14626cd129/go.mod h1:rFgpPQZYZ8vdbc+48xibu8ALc3yeyd64IhHS+PU6Yyg= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apache/pulsar-client-go v0.11.0 h1:fniyVbewAOcMSMLwxzhdrCFmFTorCW40jfnmQVcsrJw= github.com/apache/pulsar-client-go v0.11.0/go.mod h1:FoijqJwgjroSKptIWp1vvK1CXs8dXnQiL8I+MHOri4A= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= -github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= github.com/ardielle/ardielle-go v1.5.2 h1:TilHTpHIQJ27R1Tl/iITBzMwiUGSlVfiVhwDNGM3Zj4= @@ -262,7 +260,6 @@ github.com/cockroachdb/logtags v0.0.0-20211118104740-dabe8e521a4f/go.mod h1:Vz9D github.com/cockroachdb/pebble v0.0.0-20230928194634-aa077af62593 h1:aPEJyR4rPBvDmeyi+l/FS/VtA00IWvjeFvjen1m1l1A= github.com/cockroachdb/redact v1.1.3 h1:AKZds10rFSIj7qADf0g46UixK8NNLwWTNdCIGS5wfSQ= github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= -github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2/go.mod h1:8BT+cPK6xvFOcRlk0R8eg+OTkcqI6baNH4xAkpiYVvQ= github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= @@ -422,7 +419,6 @@ github.com/filecoin-project/go-fil-commcid v0.1.0/go.mod h1:Eaox7Hvus1JgPrL5+M3+ github.com/filecoin-project/go-fil-commp-hashhash v0.1.0 h1:imrrpZWEHRnNqqv0tN7LXep5bFEVOVmQWHJvl2mgsGo= github.com/filecoin-project/go-fil-markets v1.28.3 h1:2cFu7tLZYrfNz4LnxjgERaVD7k5+Wwp0H76mnnTGPBk= github.com/filecoin-project/go-fil-markets v1.28.3/go.mod h1:eryxo/oVgIxaR5g5CNr9PlvZOi+u/bak0IsPL/PT1hk= -github.com/filecoin-project/go-hamt-ipld v0.1.5/go.mod h1:6Is+ONR5Cd5R6XZoCse1CWaXZc0Hdb/JeX+EQCQzX24= github.com/filecoin-project/go-hamt-ipld/v3 v3.1.0/go.mod h1:bxmzgT8tmeVQA1/gvBwFmYdT8SOFUwB3ovSUfG1Ux0g= github.com/filecoin-project/go-hamt-ipld/v3 v3.3.0 h1:lYx2W8lE2GpwMnVmLn9rRkxTZGMgirWabz0Cx0BTlAU= github.com/filecoin-project/go-hamt-ipld/v3 v3.3.0/go.mod h1:IWfNfjdXLrqyyj3X7JMJQgWYu9M4NX/hQl1zdv64bmc= @@ -521,7 +517,6 @@ github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg78 github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68= -github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= github.com/go-yaml/yaml v2.1.0+incompatible/go.mod h1:w2MrLa16VYP0jy6N7M5kHaCkaLENm+P+Tv+MfurjSw0= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= @@ -727,8 +722,6 @@ github.com/hydrogen18/memlistener v0.0.0-20200120041712-dcc25e7acd91/go.mod h1:q github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= -github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs= github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyqMG0= @@ -1292,9 +1285,7 @@ github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D github.com/mattn/go-pointer v0.0.1 h1:n+XhsuGeVO6MEAp7xyEukFINEa+Quek5psIR/ylA6o0= github.com/mattn/go-pointer v0.0.1/go.mod h1:2zXcozF6qYGgmsG+SeTZz3oAbFLdD3OWqnUbNvJZAlc= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= -github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-sqlite3 v1.14.13 h1:1tj15ngiFfcZzii7yd82foL+ks+ouQcj8j/TPq3fk1I= github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= @@ -1474,7 +1465,6 @@ github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQ github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= -github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= @@ -1604,9 +1594,7 @@ github.com/raulk/go-watchdog v1.3.0 h1:oUmdlHxdkXRJlwfG0O9omj8ukerm8MEQavSiDTEtB github.com/raulk/go-watchdog v1.3.0/go.mod h1:fIvOnLbF0b0ZwkB9YU4mOW9Did//4vPZtDqv66NfsMU= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= -github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= @@ -1690,12 +1678,9 @@ github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkU github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= -github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= -github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= @@ -1753,7 +1738,6 @@ github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9f github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c h1:u6SKchux2yDvFQnDHS3lPnIRmfVJ5Sxy3ao2SIdysLQ= -github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM= github.com/twmb/murmur3 v1.1.6 h1:mqrRot1BRxm+Yct+vavLMou2/iJt0tNVTTC0QoIjaZg= github.com/tyler-smith/go-bip39 v1.1.0 h1:5eUemwrMargf3BSLRRCalXT93Ns6pQJIjYQN2nyfOP8= github.com/ucarion/urlpath v0.0.0-20200424170820-7ccc79b76bbb h1:Ywfo8sUltxogBpFuMOFRrrSifO788kAFxmvVw31PtQQ= @@ -1847,7 +1831,6 @@ github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFi github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/zclconf/go-cty v1.13.2 h1:4GvrUxe/QUDYuJKAav4EYqdM47/kZa672LwmXFmEKT0= github.com/zclconf/go-cty v1.13.2/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= -github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= From f32363e035c3898b11701e9facaae073dcdbcebb Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Fri, 12 Jan 2024 12:03:42 +0800 Subject: [PATCH 083/116] add log for debug --- ranker/api/v1/token/search.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ranker/api/v1/token/search.go b/ranker/api/v1/token/search.go index d3de6dea..b2aaf225 100644 --- a/ranker/api/v1/token/search.go +++ b/ranker/api/v1/token/search.go @@ -119,7 +119,7 @@ func (s *Server) RankerTokens(ctx context.Context, vector []float32, storageKey logger.Sugar().Errorf("search from milvus failed, %v", err) return 0, 0, err } - logger.Sugar().Infof("scores: %v", len(scores)) + logger.Sugar().Infof("get top scores: %v", len(scores)) infos, err := QueryAndCollectTokens(ctx, scores, TopN) if err != nil { @@ -127,6 +127,8 @@ func (s *Server) RankerTokens(ctx context.Context, vector []float32, storageKey return 0, 0, err } + logger.Sugar().Infof("collection infos: %v", len(infos)) + totalPages = uint32(len(infos) / int(limit)) if len(infos)%int(limit) > 0 { totalPages += 1 From 9c6d30b8c339679acc4e87d031fba2bc4fe499b1 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Fri, 12 Jan 2024 14:42:15 +0800 Subject: [PATCH 084/116] add lock when check endpoint status --- common/chains/eth/chainid.go | 7 +++++++ common/chains/sol/chainid.go | 9 ++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/common/chains/eth/chainid.go b/common/chains/eth/chainid.go index b68552b9..26dc5b9a 100644 --- a/common/chains/eth/chainid.go +++ b/common/chains/eth/chainid.go @@ -6,9 +6,16 @@ import ( "strings" "github.com/ethereum/go-ethereum/ethclient" + "github.com/web3eye-io/Web3Eye/common/chains" ) func CheckEndpointChainID(ctx context.Context, endpoint string) (string, error) { + useTimes := uint16(2) + endpoint, err := chains.LockEndpoint(ctx, []string{endpoint}, useTimes) + if err != nil { + return "", err + } + cli, err := ethclient.Dial(endpoint) if err != nil { return "", err diff --git a/common/chains/sol/chainid.go b/common/chains/sol/chainid.go index 688d055d..790a0e75 100644 --- a/common/chains/sol/chainid.go +++ b/common/chains/sol/chainid.go @@ -4,12 +4,19 @@ import ( "context" "github.com/gagliardetto/solana-go/rpc" + "github.com/web3eye-io/Web3Eye/common/chains" ) func CheckEndpointChainID(ctx context.Context, endpoint string) (string, error) { + useTimes := uint16(2) + endpoint, err := chains.LockEndpoint(ctx, []string{endpoint}, useTimes) + if err != nil { + return "", err + } + cli := rpc.New(endpoint) - _, err := cli.GetHealth(ctx) + _, err = cli.GetHealth(ctx) if err != nil { return "", err } From c720bcfadedf8b6bae1bbecfc4e4eb70853c3ca8 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Fri, 12 Jan 2024 15:12:30 +0800 Subject: [PATCH 085/116] add lock when check endpoint status --- go.mod | 6 ++++++ go.sum | 17 +++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/go.mod b/go.mod index a96ba02d..6e599be3 100644 --- a/go.mod +++ b/go.mod @@ -178,6 +178,7 @@ require ( github.com/hashicorp/hcl/v2 v2.17.0 // indirect github.com/holiman/uint256 v1.2.4 // indirect github.com/huin/goupnp v1.3.0 // indirect + github.com/inconshreveable/mousetrap v1.0.1 // indirect github.com/ipfs/bbloom v0.0.4 // indirect github.com/ipfs/go-bitfield v1.1.0 // indirect github.com/ipfs/go-block-format v0.1.2 // indirect @@ -245,6 +246,7 @@ require ( github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.19 // indirect + github.com/mattn/go-runewidth v0.0.13 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/mcuadros/go-version v0.0.0-20190830083331-035f6764e8d2 // indirect github.com/miekg/dns v1.1.55 // indirect @@ -269,6 +271,7 @@ require ( github.com/multiformats/go-multistream v0.4.1 // indirect github.com/multiformats/go-varint v0.0.7 // indirect github.com/near/borsh-go v0.3.2-0.20220516180422-1ff87d108454 // indirect + github.com/olekukonko/tablewriter v0.0.5 // indirect github.com/onsi/ginkgo/v2 v2.11.0 // indirect github.com/opencontainers/runtime-spec v1.0.2 // indirect github.com/opentracing/opentracing-go v1.2.0 // indirect @@ -289,12 +292,15 @@ require ( github.com/quic-go/quic-go v0.36.1 // indirect github.com/quic-go/webtransport-go v0.5.3 // indirect github.com/raulk/go-watchdog v1.3.0 // indirect + github.com/rivo/uniseg v0.2.0 // indirect github.com/rogpeppe/go-internal v1.11.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/samber/lo v1.38.1 // indirect github.com/shirou/gopsutil v3.21.11+incompatible // indirect github.com/sirupsen/logrus v1.9.0 // indirect github.com/spaolacci/murmur3 v1.1.0 // indirect + github.com/spf13/cobra v1.6.1 // indirect + github.com/spf13/pflag v1.0.5 // indirect github.com/streamingfast/logging v0.0.0-20230608130331-f22c91403091 // indirect github.com/supranational/blst v0.3.11 // indirect github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect diff --git a/go.sum b/go.sum index 070ef021..6968cb09 100644 --- a/go.sum +++ b/go.sum @@ -110,10 +110,12 @@ github.com/alexbrainman/goissue34681 v0.0.0-20191006012335-3fc7a47baff5/go.mod h github.com/andres-erbsen/clock v0.0.0-20160526145045-9e14626cd129 h1:MzBOUgng9orim59UnfUTLRjMpd09C5uEVQ6RPGeCaVI= github.com/andres-erbsen/clock v0.0.0-20160526145045-9e14626cd129/go.mod h1:rFgpPQZYZ8vdbc+48xibu8ALc3yeyd64IhHS+PU6Yyg= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apache/pulsar-client-go v0.11.0 h1:fniyVbewAOcMSMLwxzhdrCFmFTorCW40jfnmQVcsrJw= github.com/apache/pulsar-client-go v0.11.0/go.mod h1:FoijqJwgjroSKptIWp1vvK1CXs8dXnQiL8I+MHOri4A= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= github.com/ardielle/ardielle-go v1.5.2 h1:TilHTpHIQJ27R1Tl/iITBzMwiUGSlVfiVhwDNGM3Zj4= @@ -260,6 +262,7 @@ github.com/cockroachdb/logtags v0.0.0-20211118104740-dabe8e521a4f/go.mod h1:Vz9D github.com/cockroachdb/pebble v0.0.0-20230928194634-aa077af62593 h1:aPEJyR4rPBvDmeyi+l/FS/VtA00IWvjeFvjen1m1l1A= github.com/cockroachdb/redact v1.1.3 h1:AKZds10rFSIj7qADf0g46UixK8NNLwWTNdCIGS5wfSQ= github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= +github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2/go.mod h1:8BT+cPK6xvFOcRlk0R8eg+OTkcqI6baNH4xAkpiYVvQ= github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= @@ -419,6 +422,7 @@ github.com/filecoin-project/go-fil-commcid v0.1.0/go.mod h1:Eaox7Hvus1JgPrL5+M3+ github.com/filecoin-project/go-fil-commp-hashhash v0.1.0 h1:imrrpZWEHRnNqqv0tN7LXep5bFEVOVmQWHJvl2mgsGo= github.com/filecoin-project/go-fil-markets v1.28.3 h1:2cFu7tLZYrfNz4LnxjgERaVD7k5+Wwp0H76mnnTGPBk= github.com/filecoin-project/go-fil-markets v1.28.3/go.mod h1:eryxo/oVgIxaR5g5CNr9PlvZOi+u/bak0IsPL/PT1hk= +github.com/filecoin-project/go-hamt-ipld v0.1.5/go.mod h1:6Is+ONR5Cd5R6XZoCse1CWaXZc0Hdb/JeX+EQCQzX24= github.com/filecoin-project/go-hamt-ipld/v3 v3.1.0/go.mod h1:bxmzgT8tmeVQA1/gvBwFmYdT8SOFUwB3ovSUfG1Ux0g= github.com/filecoin-project/go-hamt-ipld/v3 v3.3.0 h1:lYx2W8lE2GpwMnVmLn9rRkxTZGMgirWabz0Cx0BTlAU= github.com/filecoin-project/go-hamt-ipld/v3 v3.3.0/go.mod h1:IWfNfjdXLrqyyj3X7JMJQgWYu9M4NX/hQl1zdv64bmc= @@ -517,6 +521,7 @@ github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg78 github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68= +github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= github.com/go-yaml/yaml v2.1.0+incompatible/go.mod h1:w2MrLa16VYP0jy6N7M5kHaCkaLENm+P+Tv+MfurjSw0= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= @@ -722,6 +727,8 @@ github.com/hydrogen18/memlistener v0.0.0-20200120041712-dcc25e7acd91/go.mod h1:q github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= +github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs= github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyqMG0= @@ -1285,7 +1292,9 @@ github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D github.com/mattn/go-pointer v0.0.1 h1:n+XhsuGeVO6MEAp7xyEukFINEa+Quek5psIR/ylA6o0= github.com/mattn/go-pointer v0.0.1/go.mod h1:2zXcozF6qYGgmsG+SeTZz3oAbFLdD3OWqnUbNvJZAlc= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= +github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-sqlite3 v1.14.13 h1:1tj15ngiFfcZzii7yd82foL+ks+ouQcj8j/TPq3fk1I= github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= @@ -1465,6 +1474,7 @@ github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQ github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= +github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= @@ -1594,7 +1604,9 @@ github.com/raulk/go-watchdog v1.3.0 h1:oUmdlHxdkXRJlwfG0O9omj8ukerm8MEQavSiDTEtB github.com/raulk/go-watchdog v1.3.0/go.mod h1:fIvOnLbF0b0ZwkB9YU4mOW9Did//4vPZtDqv66NfsMU= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= +github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= @@ -1678,9 +1690,12 @@ github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkU github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= +github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= +github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= @@ -1738,6 +1753,7 @@ github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9f github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c h1:u6SKchux2yDvFQnDHS3lPnIRmfVJ5Sxy3ao2SIdysLQ= +github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM= github.com/twmb/murmur3 v1.1.6 h1:mqrRot1BRxm+Yct+vavLMou2/iJt0tNVTTC0QoIjaZg= github.com/tyler-smith/go-bip39 v1.1.0 h1:5eUemwrMargf3BSLRRCalXT93Ns6pQJIjYQN2nyfOP8= github.com/ucarion/urlpath v0.0.0-20200424170820-7ccc79b76bbb h1:Ywfo8sUltxogBpFuMOFRrrSifO788kAFxmvVw31PtQQ= @@ -1831,6 +1847,7 @@ github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFi github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/zclconf/go-cty v1.13.2 h1:4GvrUxe/QUDYuJKAav4EYqdM47/kZa672LwmXFmEKT0= github.com/zclconf/go-cty v1.13.2/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= +github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= From e892933a542a2728094927aba131c5cf8954115c Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Fri, 12 Jan 2024 15:19:10 +0800 Subject: [PATCH 086/116] remake proto --- go.mod | 6 ------ go.sum | 17 ----------------- proto/web3eye/basetype/v1/chain.pb.go | 2 +- 3 files changed, 1 insertion(+), 24 deletions(-) diff --git a/go.mod b/go.mod index 6e599be3..a96ba02d 100644 --- a/go.mod +++ b/go.mod @@ -178,7 +178,6 @@ require ( github.com/hashicorp/hcl/v2 v2.17.0 // indirect github.com/holiman/uint256 v1.2.4 // indirect github.com/huin/goupnp v1.3.0 // indirect - github.com/inconshreveable/mousetrap v1.0.1 // indirect github.com/ipfs/bbloom v0.0.4 // indirect github.com/ipfs/go-bitfield v1.1.0 // indirect github.com/ipfs/go-block-format v0.1.2 // indirect @@ -246,7 +245,6 @@ require ( github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.19 // indirect - github.com/mattn/go-runewidth v0.0.13 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/mcuadros/go-version v0.0.0-20190830083331-035f6764e8d2 // indirect github.com/miekg/dns v1.1.55 // indirect @@ -271,7 +269,6 @@ require ( github.com/multiformats/go-multistream v0.4.1 // indirect github.com/multiformats/go-varint v0.0.7 // indirect github.com/near/borsh-go v0.3.2-0.20220516180422-1ff87d108454 // indirect - github.com/olekukonko/tablewriter v0.0.5 // indirect github.com/onsi/ginkgo/v2 v2.11.0 // indirect github.com/opencontainers/runtime-spec v1.0.2 // indirect github.com/opentracing/opentracing-go v1.2.0 // indirect @@ -292,15 +289,12 @@ require ( github.com/quic-go/quic-go v0.36.1 // indirect github.com/quic-go/webtransport-go v0.5.3 // indirect github.com/raulk/go-watchdog v1.3.0 // indirect - github.com/rivo/uniseg v0.2.0 // indirect github.com/rogpeppe/go-internal v1.11.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/samber/lo v1.38.1 // indirect github.com/shirou/gopsutil v3.21.11+incompatible // indirect github.com/sirupsen/logrus v1.9.0 // indirect github.com/spaolacci/murmur3 v1.1.0 // indirect - github.com/spf13/cobra v1.6.1 // indirect - github.com/spf13/pflag v1.0.5 // indirect github.com/streamingfast/logging v0.0.0-20230608130331-f22c91403091 // indirect github.com/supranational/blst v0.3.11 // indirect github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect diff --git a/go.sum b/go.sum index 6968cb09..070ef021 100644 --- a/go.sum +++ b/go.sum @@ -110,12 +110,10 @@ github.com/alexbrainman/goissue34681 v0.0.0-20191006012335-3fc7a47baff5/go.mod h github.com/andres-erbsen/clock v0.0.0-20160526145045-9e14626cd129 h1:MzBOUgng9orim59UnfUTLRjMpd09C5uEVQ6RPGeCaVI= github.com/andres-erbsen/clock v0.0.0-20160526145045-9e14626cd129/go.mod h1:rFgpPQZYZ8vdbc+48xibu8ALc3yeyd64IhHS+PU6Yyg= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apache/pulsar-client-go v0.11.0 h1:fniyVbewAOcMSMLwxzhdrCFmFTorCW40jfnmQVcsrJw= github.com/apache/pulsar-client-go v0.11.0/go.mod h1:FoijqJwgjroSKptIWp1vvK1CXs8dXnQiL8I+MHOri4A= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= -github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= github.com/ardielle/ardielle-go v1.5.2 h1:TilHTpHIQJ27R1Tl/iITBzMwiUGSlVfiVhwDNGM3Zj4= @@ -262,7 +260,6 @@ github.com/cockroachdb/logtags v0.0.0-20211118104740-dabe8e521a4f/go.mod h1:Vz9D github.com/cockroachdb/pebble v0.0.0-20230928194634-aa077af62593 h1:aPEJyR4rPBvDmeyi+l/FS/VtA00IWvjeFvjen1m1l1A= github.com/cockroachdb/redact v1.1.3 h1:AKZds10rFSIj7qADf0g46UixK8NNLwWTNdCIGS5wfSQ= github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= -github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2/go.mod h1:8BT+cPK6xvFOcRlk0R8eg+OTkcqI6baNH4xAkpiYVvQ= github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= @@ -422,7 +419,6 @@ github.com/filecoin-project/go-fil-commcid v0.1.0/go.mod h1:Eaox7Hvus1JgPrL5+M3+ github.com/filecoin-project/go-fil-commp-hashhash v0.1.0 h1:imrrpZWEHRnNqqv0tN7LXep5bFEVOVmQWHJvl2mgsGo= github.com/filecoin-project/go-fil-markets v1.28.3 h1:2cFu7tLZYrfNz4LnxjgERaVD7k5+Wwp0H76mnnTGPBk= github.com/filecoin-project/go-fil-markets v1.28.3/go.mod h1:eryxo/oVgIxaR5g5CNr9PlvZOi+u/bak0IsPL/PT1hk= -github.com/filecoin-project/go-hamt-ipld v0.1.5/go.mod h1:6Is+ONR5Cd5R6XZoCse1CWaXZc0Hdb/JeX+EQCQzX24= github.com/filecoin-project/go-hamt-ipld/v3 v3.1.0/go.mod h1:bxmzgT8tmeVQA1/gvBwFmYdT8SOFUwB3ovSUfG1Ux0g= github.com/filecoin-project/go-hamt-ipld/v3 v3.3.0 h1:lYx2W8lE2GpwMnVmLn9rRkxTZGMgirWabz0Cx0BTlAU= github.com/filecoin-project/go-hamt-ipld/v3 v3.3.0/go.mod h1:IWfNfjdXLrqyyj3X7JMJQgWYu9M4NX/hQl1zdv64bmc= @@ -521,7 +517,6 @@ github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg78 github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68= -github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= github.com/go-yaml/yaml v2.1.0+incompatible/go.mod h1:w2MrLa16VYP0jy6N7M5kHaCkaLENm+P+Tv+MfurjSw0= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= @@ -727,8 +722,6 @@ github.com/hydrogen18/memlistener v0.0.0-20200120041712-dcc25e7acd91/go.mod h1:q github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= -github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs= github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyqMG0= @@ -1292,9 +1285,7 @@ github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D github.com/mattn/go-pointer v0.0.1 h1:n+XhsuGeVO6MEAp7xyEukFINEa+Quek5psIR/ylA6o0= github.com/mattn/go-pointer v0.0.1/go.mod h1:2zXcozF6qYGgmsG+SeTZz3oAbFLdD3OWqnUbNvJZAlc= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= -github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-sqlite3 v1.14.13 h1:1tj15ngiFfcZzii7yd82foL+ks+ouQcj8j/TPq3fk1I= github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= @@ -1474,7 +1465,6 @@ github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQ github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= -github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= @@ -1604,9 +1594,7 @@ github.com/raulk/go-watchdog v1.3.0 h1:oUmdlHxdkXRJlwfG0O9omj8ukerm8MEQavSiDTEtB github.com/raulk/go-watchdog v1.3.0/go.mod h1:fIvOnLbF0b0ZwkB9YU4mOW9Did//4vPZtDqv66NfsMU= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= -github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= @@ -1690,12 +1678,9 @@ github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkU github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= -github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= -github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= @@ -1753,7 +1738,6 @@ github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9f github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c h1:u6SKchux2yDvFQnDHS3lPnIRmfVJ5Sxy3ao2SIdysLQ= -github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM= github.com/twmb/murmur3 v1.1.6 h1:mqrRot1BRxm+Yct+vavLMou2/iJt0tNVTTC0QoIjaZg= github.com/tyler-smith/go-bip39 v1.1.0 h1:5eUemwrMargf3BSLRRCalXT93Ns6pQJIjYQN2nyfOP8= github.com/ucarion/urlpath v0.0.0-20200424170820-7ccc79b76bbb h1:Ywfo8sUltxogBpFuMOFRrrSifO788kAFxmvVw31PtQQ= @@ -1847,7 +1831,6 @@ github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFi github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/zclconf/go-cty v1.13.2 h1:4GvrUxe/QUDYuJKAav4EYqdM47/kZa672LwmXFmEKT0= github.com/zclconf/go-cty v1.13.2/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= -github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= diff --git a/proto/web3eye/basetype/v1/chain.pb.go b/proto/web3eye/basetype/v1/chain.pb.go index 38ed35cc..4b8be241 100644 --- a/proto/web3eye/basetype/v1/chain.pb.go +++ b/proto/web3eye/basetype/v1/chain.pb.go @@ -492,7 +492,7 @@ var file_web3eye_basetype_v1_chain_proto_rawDesc = []byte{ 0x0a, 0x0d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x41, 0x76, 0x61, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x0a, 0x12, 0x14, 0x0a, 0x10, 0x45, + 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x0a, 0x12, 0x14, 0x0a, 0x10, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x55, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x14, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x28, 0x2a, 0x7a, 0x0a, 0x0d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x55, 0x52, 0x49, From 1fbac5be81a5876381381d151b1e3ee9c77c8f84 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Sat, 13 Jan 2024 14:05:40 +0800 Subject: [PATCH 087/116] not check when check available --- common/chains/endpointmgr.go | 31 +++++++++++++++++++++---------- common/chains/eth/chainid.go | 7 ------- common/chains/eth/client.go | 6 +++++- common/chains/eth/rpc.go | 24 +++++++++++++++++++++++- common/chains/sol/chainid.go | 9 +-------- common/chains/sol/client.go | 6 +++++- common/chains/sol/rpc.go | 16 ++++++++++++++++ 7 files changed, 71 insertions(+), 28 deletions(-) diff --git a/common/chains/endpointmgr.go b/common/chains/endpointmgr.go index eec3e0ad..682480c0 100644 --- a/common/chains/endpointmgr.go +++ b/common/chains/endpointmgr.go @@ -83,7 +83,7 @@ func (eIMGR *endpointIntervalMGR) BackoffEndpoint(address string) error { return eIMGR.putEndpoint(item, false) } -func (eIMGR *endpointIntervalMGR) GetEndpointInterval(address string) (time.Duration, error) { +func (eIMGR *endpointIntervalMGR) getEndpointInterval(address string) (time.Duration, error) { item := &EndpointInterval{} err := ctredis.Get(eIMGR.getKey(address), item) if err != nil { @@ -113,29 +113,40 @@ func (e *EndpointInterval) UnmarshalBinary(data []byte) error { return json.Unmarshal(data, e) } -func LockEndpoint(ctx context.Context, keys []string, lockTimes uint16) (string, error) { +func LockEndpoint(ctx context.Context, endpoints []string, lockTimes uint16) (endpoint string, err error) { for { select { case <-time.NewTicker(lockEndpointWaitTime).C: - _randIndex, err := rand.Int(rand.Reader, big.NewInt(int64(len(keys)))) + if len(endpoints) == 0 { + return "", fmt.Errorf("have no available endpoints") + } + + _randIndex, err := rand.Int(rand.Reader, big.NewInt(int64(len(endpoints)))) if err != nil { return "", err } + randIndex := int(_randIndex.Int64()) - for j := 0; j < len(keys); j++ { - lockKey := keys[(randIndex+j)%len(keys)] - interval, err := GetEndpintIntervalMGR().GetEndpointInterval(lockKey) + var interval time.Duration + okEndpoints := []string{} + + for j := 0; j < len(endpoints); j++ { + endpoint := endpoints[(randIndex+j)%len(endpoints)] + interval, err = GetEndpintIntervalMGR().getEndpointInterval(endpoint) if err != nil { - fmt.Println(err) continue } - locked, _ := ctredis.TryPubLock(lockKey, interval*time.Duration(lockTimes)) + + okEndpoints = append(okEndpoints, endpoint) + + locked, _ := ctredis.TryPubLock(endpoint, interval*time.Duration(lockTimes)) if locked { - return lockKey, nil + return endpoint, err } } + endpoints = okEndpoints case <-ctx.Done(): - return "", nil + return endpoint, err } } } diff --git a/common/chains/eth/chainid.go b/common/chains/eth/chainid.go index 26dc5b9a..b68552b9 100644 --- a/common/chains/eth/chainid.go +++ b/common/chains/eth/chainid.go @@ -6,16 +6,9 @@ import ( "strings" "github.com/ethereum/go-ethereum/ethclient" - "github.com/web3eye-io/Web3Eye/common/chains" ) func CheckEndpointChainID(ctx context.Context, endpoint string) (string, error) { - useTimes := uint16(2) - endpoint, err := chains.LockEndpoint(ctx, []string{endpoint}, useTimes) - if err != nil { - return "", err - } - cli, err := ethclient.Dial(endpoint) if err != nil { return "", err diff --git a/common/chains/eth/client.go b/common/chains/eth/client.go index 6826008c..44ed16de 100644 --- a/common/chains/eth/client.go +++ b/common/chains/eth/client.go @@ -86,7 +86,11 @@ func checkEndpoint(ctx context.Context, endpoint string, err error) { return } - _, err = CheckEndpointChainID(ctx, endpoint) + cli, err := Client([]string{endpoint}) + if err != nil { + return + } + _, err = cli.GetChainID(ctx) if err == nil { return } diff --git a/common/chains/eth/rpc.go b/common/chains/eth/rpc.go index 872c9e83..ceec69d8 100644 --- a/common/chains/eth/rpc.go +++ b/common/chains/eth/rpc.go @@ -108,7 +108,7 @@ func (ethCli ethClients) GetContractCreator(ctx context.Context, contractAddr st var creator *chains.ContractCreator var err error - // guess value + // estimate value var useTimes uint16 = 8 err = ethCli.WithClient(ctx, useTimes, func(ctx context.Context, c *ethclient.Client) (bool, error) { creator, err = ethCli.getContractCreator(ctx, c, contractAddr) @@ -117,6 +117,28 @@ func (ethCli ethClients) GetContractCreator(ctx context.Context, contractAddr st return creator, err } +func (ethCli ethClients) GetChainID(ctx context.Context) (string, error) { + var _chainID *big.Int + var err error + + // guess value + var useTimes uint16 = 1 + err = ethCli.WithClient(ctx, useTimes, func(ctx context.Context, c *ethclient.Client) (bool, error) { + _chainID, err = c.ChainID(ctx) + return false, err + }) + if err != nil { + return "", err + } + + if _chainID == nil { + return "", fmt.Errorf("failed get chainID") + } + + return _chainID.String(), nil + +} + func (ethCli ethClients) getContractCreator(ctx context.Context, ethClient *ethclient.Client, contractAddr string) (*chains.ContractCreator, error) { rHeight, err := ethClient.BlockNumber(ctx) if err != nil { diff --git a/common/chains/sol/chainid.go b/common/chains/sol/chainid.go index 790a0e75..688d055d 100644 --- a/common/chains/sol/chainid.go +++ b/common/chains/sol/chainid.go @@ -4,19 +4,12 @@ import ( "context" "github.com/gagliardetto/solana-go/rpc" - "github.com/web3eye-io/Web3Eye/common/chains" ) func CheckEndpointChainID(ctx context.Context, endpoint string) (string, error) { - useTimes := uint16(2) - endpoint, err := chains.LockEndpoint(ctx, []string{endpoint}, useTimes) - if err != nil { - return "", err - } - cli := rpc.New(endpoint) - _, err = cli.GetHealth(ctx) + _, err := cli.GetHealth(ctx) if err != nil { return "", err } diff --git a/common/chains/sol/client.go b/common/chains/sol/client.go index ef9419d3..7b9e407b 100644 --- a/common/chains/sol/client.go +++ b/common/chains/sol/client.go @@ -74,8 +74,12 @@ func checkEndpoint(ctx context.Context, endpoint string, err error) { if err == nil { return } + cli, err := Client([]string{endpoint}) + if err != nil { + return + } - _, err = CheckEndpointChainID(ctx, endpoint) + _, err = cli.GetChainID(ctx) if err == nil { return } diff --git a/common/chains/sol/rpc.go b/common/chains/sol/rpc.go index 21f847dc..e76b3be3 100644 --- a/common/chains/sol/rpc.go +++ b/common/chains/sol/rpc.go @@ -54,6 +54,22 @@ func (solCli solClients) GetTX(ctx context.Context, txSig solana.Signature) (*rp return tx, err } +func (solCli solClients) GetChainID(ctx context.Context) (string, error) { + var gHash solana.Hash + var err error + var useTimes uint16 = 1 + err = solCli.WithClient(ctx, useTimes, func(ctx context.Context, c *rpc.Client) (bool, error) { + gHash, err = c.GetGenesisHash(ctx) + return true, err + }) + + if err != nil { + return "", err + } + + return gHash.String(), err +} + func (solCli solClients) GetMetadata(ctx context.Context, mint string) (*token_metadata.Metadata, error) { mintAcc := common.PublicKeyFromString(mint) metadataAccount, err := token_metadata.GetTokenMetaPubkey(mintAcc) From 5a0d722e1fd00bdf679af881168ea3f048a439af Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Sat, 13 Jan 2024 15:07:22 +0800 Subject: [PATCH 088/116] not check when check available --- common/chains/eth/rpc.go | 1 - 1 file changed, 1 deletion(-) diff --git a/common/chains/eth/rpc.go b/common/chains/eth/rpc.go index ceec69d8..25568ce1 100644 --- a/common/chains/eth/rpc.go +++ b/common/chains/eth/rpc.go @@ -136,7 +136,6 @@ func (ethCli ethClients) GetChainID(ctx context.Context) (string, error) { } return _chainID.String(), nil - } func (ethCli ethClients) getContractCreator(ctx context.Context, ethClient *ethclient.Client, contractAddr string) (*chains.ContractCreator, error) { From b0e9326d1c82c2a5eccb50481bd244d38e56a220 Mon Sep 17 00:00:00 2001 From: lidaqiang Date: Mon, 15 Jan 2024 10:43:42 +0800 Subject: [PATCH 089/116] http://47.116.78.131:10083/issues/2567 --- webui/src/components/Token/Token.vue | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/webui/src/components/Token/Token.vue b/webui/src/components/Token/Token.vue index ed2f9bdc..5b630b50 100644 --- a/webui/src/components/Token/Token.vue +++ b/webui/src/components/Token/Token.vue @@ -78,7 +78,7 @@ import { useRouter } from 'vue-router' import { useTokenStore } from 'src/teststore/token'; import { SearchToken, SiblingToken } from 'src/teststore/token/types' import { Transfer } from 'src/teststore/transfer/types' -import { computed, defineAsyncComponent, onMounted, ref } from 'vue' +import { computed, defineAsyncComponent, onMounted, ref, watch } from 'vue' import { ChainType } from 'src/teststore/basetypes/const' import copy from '../../assets/material/copy.png' const MyImage = defineAsyncComponent(() => import('src/components/Token/Image.vue')) @@ -204,10 +204,20 @@ const loading = ref(false) const localkey = useStorageKeyStore() +watch(() => [tokens.value], () => { + if (tokens.value?.length === 0) { + haveMore.value = false + isLoading.value = false + loading.value = false + currentPage.value = 1 + } +}) + const loadMore = () => { - if (localkey.getStorageKey() == null) { + if (localkey.getStorageKey() === null || localkey.getStorageKey() === '') { haveMore.value = false isLoading.value = false + loading.value = true currentPage.value = 1 return } From b589bbfe302ceac502525fc9a48e57f762b447ab Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Mon, 15 Jan 2024 17:49:55 +0800 Subject: [PATCH 090/116] donot check sync state when checkEndpoint --- common/chains/eth/chainid.go | 26 ++++++++++++-------------- go.mod | 1 + go.sum | 10 ++++++++++ 3 files changed, 23 insertions(+), 14 deletions(-) diff --git a/common/chains/eth/chainid.go b/common/chains/eth/chainid.go index b68552b9..5b496bf8 100644 --- a/common/chains/eth/chainid.go +++ b/common/chains/eth/chainid.go @@ -2,8 +2,6 @@ package eth import ( "context" - "fmt" - "strings" "github.com/ethereum/go-ethereum/ethclient" ) @@ -15,19 +13,19 @@ func CheckEndpointChainID(ctx context.Context, endpoint string) (string, error) } defer cli.Close() - syncRet, _err := cli.SyncProgress(ctx) - if !(_err != nil && strings.Contains(_err.Error(), "Method not found")) { - if _err != nil { - return "", _err - } + // syncRet, _err := cli.SyncProgress(ctx) + // if !(_err != nil && strings.Contains(_err.Error(), "Method not found")) { + // if _err != nil { + // return "", _err + // } - if syncRet != nil { - return "", fmt.Errorf( - "node is syncing ,current block %v ,highest block %v ", - syncRet.CurrentBlock, syncRet.HighestBlock, - ) - } - } + // if syncRet != nil { + // return "", fmt.Errorf( + // "node is syncing ,current block %v ,highest block %v ", + // syncRet.CurrentBlock, syncRet.HighestBlock, + // ) + // } + // } chainID, err := cli.ChainID(ctx) if err != nil { diff --git a/go.mod b/go.mod index a96ba02d..380017e0 100644 --- a/go.mod +++ b/go.mod @@ -73,6 +73,7 @@ require ( github.com/AthenZ/athenz v1.10.39 // indirect github.com/DataDog/zstd v1.5.0 // indirect github.com/Microsoft/go-winio v0.6.1 // indirect + github.com/PaulXu-cn/go-mod-graph-chart v0.5.3 // indirect github.com/agext/levenshtein v1.2.3 // indirect github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 // indirect github.com/alexbrainman/goissue34681 v0.0.0-20191006012335-3fc7a47baff5 // indirect diff --git a/go.sum b/go.sum index 070ef021..92a7c889 100644 --- a/go.sum +++ b/go.sum @@ -85,6 +85,8 @@ github.com/NpoolPlatform/go-service-framework v0.0.0-20230630110040-60a65709d9fb github.com/NpoolPlatform/libent-cruder v0.0.0-20231008051607-f64457cf6ab6 h1:zbM3Zq0qObWEiw+wYJihNFOsBfXey8mBgAhT7HzGB8Y= github.com/NpoolPlatform/libent-cruder v0.0.0-20231008051607-f64457cf6ab6/go.mod h1:EXCihQpRNNyWaPu1IphiZFLTyyUK/CJMZdW4My7y48Q= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/PaulXu-cn/go-mod-graph-chart v0.5.3 h1:fg9ytRxEA4tdGzkAZxHe8gFiS/ImjQrknPg8l6NPdJ0= +github.com/PaulXu-cn/go-mod-graph-chart v0.5.3/go.mod h1:PCJo3cS+W3LXrAcdy5N9J/Swfs9cEd6k6xtlqRP3GAI= github.com/Shopify/goreferrer v0.0.0-20181106222321-ec9c9a553398/go.mod h1:a1uqRtAwp2Xwc6WNPJEufxJ7fx3npB4UV/JOLmbu5I0= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= @@ -110,10 +112,12 @@ github.com/alexbrainman/goissue34681 v0.0.0-20191006012335-3fc7a47baff5/go.mod h github.com/andres-erbsen/clock v0.0.0-20160526145045-9e14626cd129 h1:MzBOUgng9orim59UnfUTLRjMpd09C5uEVQ6RPGeCaVI= github.com/andres-erbsen/clock v0.0.0-20160526145045-9e14626cd129/go.mod h1:rFgpPQZYZ8vdbc+48xibu8ALc3yeyd64IhHS+PU6Yyg= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apache/pulsar-client-go v0.11.0 h1:fniyVbewAOcMSMLwxzhdrCFmFTorCW40jfnmQVcsrJw= github.com/apache/pulsar-client-go v0.11.0/go.mod h1:FoijqJwgjroSKptIWp1vvK1CXs8dXnQiL8I+MHOri4A= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= github.com/ardielle/ardielle-go v1.5.2 h1:TilHTpHIQJ27R1Tl/iITBzMwiUGSlVfiVhwDNGM3Zj4= @@ -260,6 +264,7 @@ github.com/cockroachdb/logtags v0.0.0-20211118104740-dabe8e521a4f/go.mod h1:Vz9D github.com/cockroachdb/pebble v0.0.0-20230928194634-aa077af62593 h1:aPEJyR4rPBvDmeyi+l/FS/VtA00IWvjeFvjen1m1l1A= github.com/cockroachdb/redact v1.1.3 h1:AKZds10rFSIj7qADf0g46UixK8NNLwWTNdCIGS5wfSQ= github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= +github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2/go.mod h1:8BT+cPK6xvFOcRlk0R8eg+OTkcqI6baNH4xAkpiYVvQ= github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= @@ -419,6 +424,7 @@ github.com/filecoin-project/go-fil-commcid v0.1.0/go.mod h1:Eaox7Hvus1JgPrL5+M3+ github.com/filecoin-project/go-fil-commp-hashhash v0.1.0 h1:imrrpZWEHRnNqqv0tN7LXep5bFEVOVmQWHJvl2mgsGo= github.com/filecoin-project/go-fil-markets v1.28.3 h1:2cFu7tLZYrfNz4LnxjgERaVD7k5+Wwp0H76mnnTGPBk= github.com/filecoin-project/go-fil-markets v1.28.3/go.mod h1:eryxo/oVgIxaR5g5CNr9PlvZOi+u/bak0IsPL/PT1hk= +github.com/filecoin-project/go-hamt-ipld v0.1.5/go.mod h1:6Is+ONR5Cd5R6XZoCse1CWaXZc0Hdb/JeX+EQCQzX24= github.com/filecoin-project/go-hamt-ipld/v3 v3.1.0/go.mod h1:bxmzgT8tmeVQA1/gvBwFmYdT8SOFUwB3ovSUfG1Ux0g= github.com/filecoin-project/go-hamt-ipld/v3 v3.3.0 h1:lYx2W8lE2GpwMnVmLn9rRkxTZGMgirWabz0Cx0BTlAU= github.com/filecoin-project/go-hamt-ipld/v3 v3.3.0/go.mod h1:IWfNfjdXLrqyyj3X7JMJQgWYu9M4NX/hQl1zdv64bmc= @@ -517,6 +523,7 @@ github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg78 github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68= +github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= github.com/go-yaml/yaml v2.1.0+incompatible/go.mod h1:w2MrLa16VYP0jy6N7M5kHaCkaLENm+P+Tv+MfurjSw0= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= @@ -1595,6 +1602,7 @@ github.com/raulk/go-watchdog v1.3.0/go.mod h1:fIvOnLbF0b0ZwkB9YU4mOW9Did//4vPZtD github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= @@ -1738,6 +1746,7 @@ github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9f github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c h1:u6SKchux2yDvFQnDHS3lPnIRmfVJ5Sxy3ao2SIdysLQ= +github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM= github.com/twmb/murmur3 v1.1.6 h1:mqrRot1BRxm+Yct+vavLMou2/iJt0tNVTTC0QoIjaZg= github.com/tyler-smith/go-bip39 v1.1.0 h1:5eUemwrMargf3BSLRRCalXT93Ns6pQJIjYQN2nyfOP8= github.com/ucarion/urlpath v0.0.0-20200424170820-7ccc79b76bbb h1:Ywfo8sUltxogBpFuMOFRrrSifO788kAFxmvVw31PtQQ= @@ -1831,6 +1840,7 @@ github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFi github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/zclconf/go-cty v1.13.2 h1:4GvrUxe/QUDYuJKAav4EYqdM47/kZa672LwmXFmEKT0= github.com/zclconf/go-cty v1.13.2/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= +github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= From 82c4767b14f40c1ddfe9f773a2b05a66201a6c44 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Mon, 15 Jan 2024 19:04:07 +0800 Subject: [PATCH 091/116] donot check sync state when checkEndpoint --- go.mod | 1 - go.sum | 10 ---------- 2 files changed, 11 deletions(-) diff --git a/go.mod b/go.mod index 380017e0..a96ba02d 100644 --- a/go.mod +++ b/go.mod @@ -73,7 +73,6 @@ require ( github.com/AthenZ/athenz v1.10.39 // indirect github.com/DataDog/zstd v1.5.0 // indirect github.com/Microsoft/go-winio v0.6.1 // indirect - github.com/PaulXu-cn/go-mod-graph-chart v0.5.3 // indirect github.com/agext/levenshtein v1.2.3 // indirect github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 // indirect github.com/alexbrainman/goissue34681 v0.0.0-20191006012335-3fc7a47baff5 // indirect diff --git a/go.sum b/go.sum index 92a7c889..070ef021 100644 --- a/go.sum +++ b/go.sum @@ -85,8 +85,6 @@ github.com/NpoolPlatform/go-service-framework v0.0.0-20230630110040-60a65709d9fb github.com/NpoolPlatform/libent-cruder v0.0.0-20231008051607-f64457cf6ab6 h1:zbM3Zq0qObWEiw+wYJihNFOsBfXey8mBgAhT7HzGB8Y= github.com/NpoolPlatform/libent-cruder v0.0.0-20231008051607-f64457cf6ab6/go.mod h1:EXCihQpRNNyWaPu1IphiZFLTyyUK/CJMZdW4My7y48Q= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/PaulXu-cn/go-mod-graph-chart v0.5.3 h1:fg9ytRxEA4tdGzkAZxHe8gFiS/ImjQrknPg8l6NPdJ0= -github.com/PaulXu-cn/go-mod-graph-chart v0.5.3/go.mod h1:PCJo3cS+W3LXrAcdy5N9J/Swfs9cEd6k6xtlqRP3GAI= github.com/Shopify/goreferrer v0.0.0-20181106222321-ec9c9a553398/go.mod h1:a1uqRtAwp2Xwc6WNPJEufxJ7fx3npB4UV/JOLmbu5I0= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= @@ -112,12 +110,10 @@ github.com/alexbrainman/goissue34681 v0.0.0-20191006012335-3fc7a47baff5/go.mod h github.com/andres-erbsen/clock v0.0.0-20160526145045-9e14626cd129 h1:MzBOUgng9orim59UnfUTLRjMpd09C5uEVQ6RPGeCaVI= github.com/andres-erbsen/clock v0.0.0-20160526145045-9e14626cd129/go.mod h1:rFgpPQZYZ8vdbc+48xibu8ALc3yeyd64IhHS+PU6Yyg= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apache/pulsar-client-go v0.11.0 h1:fniyVbewAOcMSMLwxzhdrCFmFTorCW40jfnmQVcsrJw= github.com/apache/pulsar-client-go v0.11.0/go.mod h1:FoijqJwgjroSKptIWp1vvK1CXs8dXnQiL8I+MHOri4A= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= -github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= github.com/ardielle/ardielle-go v1.5.2 h1:TilHTpHIQJ27R1Tl/iITBzMwiUGSlVfiVhwDNGM3Zj4= @@ -264,7 +260,6 @@ github.com/cockroachdb/logtags v0.0.0-20211118104740-dabe8e521a4f/go.mod h1:Vz9D github.com/cockroachdb/pebble v0.0.0-20230928194634-aa077af62593 h1:aPEJyR4rPBvDmeyi+l/FS/VtA00IWvjeFvjen1m1l1A= github.com/cockroachdb/redact v1.1.3 h1:AKZds10rFSIj7qADf0g46UixK8NNLwWTNdCIGS5wfSQ= github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= -github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2/go.mod h1:8BT+cPK6xvFOcRlk0R8eg+OTkcqI6baNH4xAkpiYVvQ= github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= @@ -424,7 +419,6 @@ github.com/filecoin-project/go-fil-commcid v0.1.0/go.mod h1:Eaox7Hvus1JgPrL5+M3+ github.com/filecoin-project/go-fil-commp-hashhash v0.1.0 h1:imrrpZWEHRnNqqv0tN7LXep5bFEVOVmQWHJvl2mgsGo= github.com/filecoin-project/go-fil-markets v1.28.3 h1:2cFu7tLZYrfNz4LnxjgERaVD7k5+Wwp0H76mnnTGPBk= github.com/filecoin-project/go-fil-markets v1.28.3/go.mod h1:eryxo/oVgIxaR5g5CNr9PlvZOi+u/bak0IsPL/PT1hk= -github.com/filecoin-project/go-hamt-ipld v0.1.5/go.mod h1:6Is+ONR5Cd5R6XZoCse1CWaXZc0Hdb/JeX+EQCQzX24= github.com/filecoin-project/go-hamt-ipld/v3 v3.1.0/go.mod h1:bxmzgT8tmeVQA1/gvBwFmYdT8SOFUwB3ovSUfG1Ux0g= github.com/filecoin-project/go-hamt-ipld/v3 v3.3.0 h1:lYx2W8lE2GpwMnVmLn9rRkxTZGMgirWabz0Cx0BTlAU= github.com/filecoin-project/go-hamt-ipld/v3 v3.3.0/go.mod h1:IWfNfjdXLrqyyj3X7JMJQgWYu9M4NX/hQl1zdv64bmc= @@ -523,7 +517,6 @@ github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg78 github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68= -github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= github.com/go-yaml/yaml v2.1.0+incompatible/go.mod h1:w2MrLa16VYP0jy6N7M5kHaCkaLENm+P+Tv+MfurjSw0= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= @@ -1602,7 +1595,6 @@ github.com/raulk/go-watchdog v1.3.0/go.mod h1:fIvOnLbF0b0ZwkB9YU4mOW9Did//4vPZtD github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= @@ -1746,7 +1738,6 @@ github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9f github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c h1:u6SKchux2yDvFQnDHS3lPnIRmfVJ5Sxy3ao2SIdysLQ= -github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM= github.com/twmb/murmur3 v1.1.6 h1:mqrRot1BRxm+Yct+vavLMou2/iJt0tNVTTC0QoIjaZg= github.com/tyler-smith/go-bip39 v1.1.0 h1:5eUemwrMargf3BSLRRCalXT93Ns6pQJIjYQN2nyfOP8= github.com/ucarion/urlpath v0.0.0-20200424170820-7ccc79b76bbb h1:Ywfo8sUltxogBpFuMOFRrrSifO788kAFxmvVw31PtQQ= @@ -1840,7 +1831,6 @@ github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFi github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/zclconf/go-cty v1.13.2 h1:4GvrUxe/QUDYuJKAav4EYqdM47/kZa672LwmXFmEKT0= github.com/zclconf/go-cty v1.13.2/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= -github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= From 21d2a47320b0d6aa8a32b6d98efc398feed27b8e Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Mon, 15 Jan 2024 20:29:24 +0800 Subject: [PATCH 092/116] donot check sync state when checkEndpoint --- ranker/cmd/ranker/run.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ranker/cmd/ranker/run.go b/ranker/cmd/ranker/run.go index 91c9eed8..10122c73 100644 --- a/ranker/cmd/ranker/run.go +++ b/ranker/cmd/ranker/run.go @@ -36,16 +36,22 @@ var runCmd = &cli.Command{ return logger.Init(logger.DebugLevel, config.GetConfig().Ranker.LogFile) }, Action: func(c *cli.Context) error { + logger.Sugar().Info("start launch") err := db.Init() if err != nil { panic(fmt.Errorf("mysql init err: %v", err)) } + logger.Sugar().Info("success to init db") err = milvusdb.Init(c.Context) if err != nil { panic(fmt.Errorf("milvus init err: %v", err)) } + logger.Sugar().Info("success to init milvus") + go runGRPCServer(config.GetConfig().Ranker.GrpcPort) + logger.Sugar().Info("success to start server") + sigchan := make(chan os.Signal, 1) signal.Notify(sigchan, syscall.SIGINT, syscall.SIGTERM) From 66a948ff32b5b8d9547ccaf4563a0257af670112 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Mon, 15 Jan 2024 21:01:17 +0800 Subject: [PATCH 093/116] check milvus connect --- nft-meta/pkg/milvusdb/milvus.go | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/nft-meta/pkg/milvusdb/milvus.go b/nft-meta/pkg/milvusdb/milvus.go index a5455f08..4e363722 100644 --- a/nft-meta/pkg/milvusdb/milvus.go +++ b/nft-meta/pkg/milvusdb/milvus.go @@ -28,17 +28,8 @@ func Client(ctx context.Context) (c client.Client, err error) { return cli, nil } timeoutCtx, cancel := context.WithTimeout(ctx, connectTimeout) - go func() { - defer cancel() - cli, err = client.NewGrpcClient(ctx, config.GetConfig().Milvus.Address) - }() - - <-timeoutCtx.Done() - ctxErr := timeoutCtx.Err() - - if ctxErr.Error() != contextCancel { - return nil, ctxErr - } + defer cancel() + cli, err = client.NewGrpcClient(timeoutCtx, config.GetConfig().Milvus.Address) if err != nil { return nil, err From 740e11f6bd21e12cf70c5c49c31077bed337ff14 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Mon, 15 Jan 2024 21:03:30 +0800 Subject: [PATCH 094/116] check milvus connect --- nft-meta/pkg/milvusdb/milvus.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nft-meta/pkg/milvusdb/milvus.go b/nft-meta/pkg/milvusdb/milvus.go index 4e363722..b8c7d41c 100644 --- a/nft-meta/pkg/milvusdb/milvus.go +++ b/nft-meta/pkg/milvusdb/milvus.go @@ -10,7 +10,7 @@ import ( const ( connectTimeout = time.Second * 5 - contextCancel = "context canceled" + // contextCancel = "context canceled" ) var cli client.Client From facb6e942c4d6335c3a5884c9d11ad052efac36f Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Tue, 16 Jan 2024 11:45:38 +0800 Subject: [PATCH 095/116] add debug log to block-etl --- block-etl/pkg/chains/eth/task.go | 10 ++++++++-- block-etl/pkg/chains/eth/token.go | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/block-etl/pkg/chains/eth/task.go b/block-etl/pkg/chains/eth/task.go index 7d9ed680..1e161623 100644 --- a/block-etl/pkg/chains/eth/task.go +++ b/block-etl/pkg/chains/eth/task.go @@ -44,6 +44,7 @@ func (e *EthIndexer) IndexBlock(ctx context.Context, taskBlockNum chan uint64) { for { select { case num := <-taskBlockNum: + logger.Sugar().Infow("IndexBlock", "BlockNum", num, "DebugMsg", "start to parse") block, err := e.CheckBlock(ctx, num) if err != nil { logger.Sugar().Errorw("IndexBlock", "BlockNum", num, "Error", err) @@ -59,32 +60,37 @@ func (e *EthIndexer) IndexBlock(ctx context.Context, taskBlockNum chan uint64) { if err != nil { return err } + logger.Sugar().Infow("IndexBlock", "BlockNum", num, "DebugMsg", "start IndexBlockLogs") blockLogs, err := e.IndexBlockLogs(ctx, block.BlockNumber) if err != nil { return err } + logger.Sugar().Infow("IndexBlock", "BlockNum", num, "DebugMsg", "start IndexTransfer") filteredT1, err := e.IndexTransfer(ctx, blockLogs.TransferLogs, block.BlockTime) if err != nil { return err } + logger.Sugar().Infow("IndexBlock", "BlockNum", num, "DebugMsg", "start IndexToken") contractT1, err := e.IndexToken(ctx, filteredT1) if err != nil { return err } + logger.Sugar().Infow("IndexBlock", "BlockNum", num, "DebugMsg", "start IndexContract") err = e.IndexContract(ctx, contractT1, FindContractCreator) if err != nil { return err } + logger.Sugar().Infow("IndexBlock", "BlockNum", num, "DebugMsg", "start IndexOrder") contractT2, err := e.IndexOrder(ctx, blockLogs.OrderLogs) if err != nil { return err } - + logger.Sugar().Infow("IndexBlock", "BlockNum", num, "DebugMsg", "start order IndexContract") err = e.IndexContract(ctx, contractT2, FindContractCreator) if err != nil { return err @@ -99,7 +105,7 @@ func (e *EthIndexer) IndexBlock(ctx context.Context, taskBlockNum chan uint64) { remark = err.Error() parseState = basetype.BlockParseState_BlockTypeFailed } - + logger.Sugar().Infow("IndexBlock", "BlockNum", num, "DebugMsg", "start order UpdateBlock") _, err = blockNMCli.UpdateBlock(ctx, &blockProto.UpdateBlockRequest{ Info: &blockProto.BlockReq{ ID: &block.ID, diff --git a/block-etl/pkg/chains/eth/token.go b/block-etl/pkg/chains/eth/token.go index 7c38f869..87b7869e 100644 --- a/block-etl/pkg/chains/eth/token.go +++ b/block-etl/pkg/chains/eth/token.go @@ -66,7 +66,7 @@ func (e *EthIndexer) CheckBlock(ctx context.Context, inBlockNum uint64) (*blockP blockHash = block.Hash().String() blockTime = block.Time() parseState = basetype.BlockParseState_BlockTypeStart.Enum() - remark = "cannot get the block" + remark = "start to parse the block" } resp, err := blockNMCli.UpsertBlock(ctx, &blockProto.UpsertBlockRequest{ From 959ddbcd38a28aa50556a92e26932a64e2f0d5c9 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Tue, 16 Jan 2024 12:31:26 +0800 Subject: [PATCH 096/116] just sync on task --- block-etl/pkg/chains/indexer/indexer.go | 6 ++++-- nft-meta/pkg/mw/v1/synctask/query.go | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/block-etl/pkg/chains/indexer/indexer.go b/block-etl/pkg/chains/indexer/indexer.go index 53fea6b4..f0af9b77 100644 --- a/block-etl/pkg/chains/indexer/indexer.go +++ b/block-etl/pkg/chains/indexer/indexer.go @@ -118,9 +118,11 @@ func (e *Indexer) pullTaskTopics(ctx context.Context) (outBlockNum chan uint64, logger.Sugar().Error(err) } - for _, info := range resp.GetInfos() { - e.indexTopicTasks(ctx, pulsarCli, info, outBlockNum) + for len(resp.GetInfos()) == 0 { + continue } + e.indexTopicTasks(ctx, pulsarCli, resp.GetInfos()[0], outBlockNum) + case <-ctx.Done(): return } diff --git a/nft-meta/pkg/mw/v1/synctask/query.go b/nft-meta/pkg/mw/v1/synctask/query.go index 122066cb..8ad98dce 100644 --- a/nft-meta/pkg/mw/v1/synctask/query.go +++ b/nft-meta/pkg/mw/v1/synctask/query.go @@ -120,7 +120,7 @@ func (h *Handler) GetSyncTasks(ctx context.Context) ([]*synctaskproto.SyncTask, handler.stm. Offset(int(h.Offset)). Limit(int(h.Limit)). - Order(ent.Desc(synctaskent.FieldUpdatedAt)) + Order(ent.Desc(synctaskent.FieldID)) return handler.scan(_ctx) }) if err != nil { From 71205bfe8bbdbf1fb4d82871e3491fe1846ecd55 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Fri, 19 Jan 2024 16:50:40 +0800 Subject: [PATCH 097/116] change index for milvus --- nft-meta/pkg/milvusdb/collections.go | 4 ++-- nft-meta/pkg/milvusdb/crud.go | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/nft-meta/pkg/milvusdb/collections.go b/nft-meta/pkg/milvusdb/collections.go index 64bba23f..e3dd1f1d 100644 --- a/nft-meta/pkg/milvusdb/collections.go +++ b/nft-meta/pkg/milvusdb/collections.go @@ -47,7 +47,7 @@ func initCollections(ctx context.Context, c client.Client) error { return err } if !has { - err = c.CreateCollection(ctx, collection, 2) + err = c.CreateCollection(ctx, collection, 8) if err != nil { return err } @@ -57,7 +57,7 @@ func initCollections(ctx context.Context, c client.Client) error { return err } - idx, err := entity.NewIndexFlat(entity.L2) + idx, err := entity.NewIndexDISKANN(entity.L2) if err != nil { return err } diff --git a/nft-meta/pkg/milvusdb/crud.go b/nft-meta/pkg/milvusdb/crud.go index ac6499c1..70444768 100644 --- a/nft-meta/pkg/milvusdb/crud.go +++ b/nft-meta/pkg/milvusdb/crud.go @@ -108,7 +108,8 @@ func (c *nftConllectionMGR) Search(ctx context.Context, nftVectors [][VectorDim] return ret, err } - sParam, err := entity.NewIndexFlatSearchParam() + DISKANN_list := 100 + sParam, err := entity.NewIndexDISKANNSearchParam(DISKANN_list) if err != nil { return ret, err } From ad7b4167d5925bc01c304aaad9edbc5a787665a1 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Fri, 19 Jan 2024 16:57:52 +0800 Subject: [PATCH 098/116] change index for milvus --- nft-meta/pkg/milvusdb/collections.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nft-meta/pkg/milvusdb/collections.go b/nft-meta/pkg/milvusdb/collections.go index e3dd1f1d..cceba88a 100644 --- a/nft-meta/pkg/milvusdb/collections.go +++ b/nft-meta/pkg/milvusdb/collections.go @@ -47,7 +47,8 @@ func initCollections(ctx context.Context, c client.Client) error { return err } if !has { - err = c.CreateCollection(ctx, collection, 8) + shardsNum := int32(8) + err = c.CreateCollection(ctx, collection, shardsNum) if err != nil { return err } From ab1b304e89b440f3b829fd7618c5ede2aaf9f6ed Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Fri, 19 Jan 2024 17:01:50 +0800 Subject: [PATCH 099/116] change index for milvus --- nft-meta/pkg/milvusdb/collections.go | 2 +- nft-meta/pkg/milvusdb/crud.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/nft-meta/pkg/milvusdb/collections.go b/nft-meta/pkg/milvusdb/collections.go index cceba88a..d6cf71b2 100644 --- a/nft-meta/pkg/milvusdb/collections.go +++ b/nft-meta/pkg/milvusdb/collections.go @@ -47,7 +47,7 @@ func initCollections(ctx context.Context, c client.Client) error { return err } if !has { - shardsNum := int32(8) + var shardsNum int32 = 8 err = c.CreateCollection(ctx, collection, shardsNum) if err != nil { return err diff --git a/nft-meta/pkg/milvusdb/crud.go b/nft-meta/pkg/milvusdb/crud.go index 70444768..a338f64a 100644 --- a/nft-meta/pkg/milvusdb/crud.go +++ b/nft-meta/pkg/milvusdb/crud.go @@ -108,8 +108,8 @@ func (c *nftConllectionMGR) Search(ctx context.Context, nftVectors [][VectorDim] return ret, err } - DISKANN_list := 100 - sParam, err := entity.NewIndexDISKANNSearchParam(DISKANN_list) + var searchList int = 100 + sParam, err := entity.NewIndexDISKANNSearchParam(searchList) if err != nil { return ret, err } From 9abfbbe452cf9a44b222cb1bbd7cf4869f048bb9 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Fri, 19 Jan 2024 17:04:05 +0800 Subject: [PATCH 100/116] change index for milvus --- nft-meta/pkg/milvusdb/crud.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nft-meta/pkg/milvusdb/crud.go b/nft-meta/pkg/milvusdb/crud.go index a338f64a..a58f8d31 100644 --- a/nft-meta/pkg/milvusdb/crud.go +++ b/nft-meta/pkg/milvusdb/crud.go @@ -108,7 +108,7 @@ func (c *nftConllectionMGR) Search(ctx context.Context, nftVectors [][VectorDim] return ret, err } - var searchList int = 100 + var searchList = 100 sParam, err := entity.NewIndexDISKANNSearchParam(searchList) if err != nil { return ret, err From cb6a2ae83353f225d9998507f24740a94316557f Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Tue, 30 Jan 2024 11:01:47 +0800 Subject: [PATCH 101/116] auto flush --- nft-meta/pkg/milvusdb/collections.go | 41 ++++++++++++++++++++++++++-- nft-meta/pkg/milvusdb/crud.go | 4 --- 2 files changed, 39 insertions(+), 6 deletions(-) diff --git a/nft-meta/pkg/milvusdb/collections.go b/nft-meta/pkg/milvusdb/collections.go index d6cf71b2..660d508c 100644 --- a/nft-meta/pkg/milvusdb/collections.go +++ b/nft-meta/pkg/milvusdb/collections.go @@ -3,9 +3,11 @@ package milvusdb import ( "context" "fmt" + "time" "github.com/milvus-io/milvus-sdk-go/v2/client" "github.com/milvus-io/milvus-sdk-go/v2/entity" + "github.com/web3eye-io/Web3Eye/common/ctredis" "github.com/web3eye-io/Web3Eye/config" ) @@ -48,7 +50,7 @@ func initCollections(ctx context.Context, c client.Client) error { } if !has { var shardsNum int32 = 8 - err = c.CreateCollection(ctx, collection, shardsNum) + err := c.CreateCollection(ctx, collection, shardsNum) if err != nil { return err } @@ -57,7 +59,30 @@ func initCollections(ctx context.Context, c client.Client) error { if err != nil { return err } + } + indexes, _ := c.DescribeIndex(ctx, collection.CollectionName, FieldsVector) + haveIndex := false + for _, index := range indexes { + _ = c.ReleaseCollection(ctx, collection.CollectionName) + if index.IndexType() == entity.DISKANN { + haveIndex = true + } + err := c.DropIndex(ctx, collection.CollectionName, FieldsVector) + if err != nil { + return err + } + } + + idx, err := entity.NewIndexFlat(entity.L2) + if err != nil { + return err + } + err = c.CreateIndex(ctx, collection.CollectionName, FieldsVector, idx, false) + if err != nil { + return err + } + if !haveIndex { idx, err := entity.NewIndexDISKANN(entity.L2) if err != nil { return err @@ -67,7 +92,7 @@ func initCollections(ctx context.Context, c client.Client) error { return err } } - + go autoFlush() err = c.LoadCollection(ctx, collection.CollectionName, false) if err != nil { return err @@ -75,3 +100,15 @@ func initCollections(ctx context.Context, c client.Client) error { } return nil } + +func autoFlush() { + lockKey := "milvus_flush_lock" + refreshTimeout := time.Minute * 10 + for { + <-time.NewTicker(refreshTimeout).C + locked, err := ctredis.TryPubLock(lockKey, refreshTimeout) + if locked && err != nil { + _ = cli.Flush(context.Background(), c.CollectionName, false) + } + } +} diff --git a/nft-meta/pkg/milvusdb/crud.go b/nft-meta/pkg/milvusdb/crud.go index a58f8d31..9dafa6ec 100644 --- a/nft-meta/pkg/milvusdb/crud.go +++ b/nft-meta/pkg/milvusdb/crud.go @@ -41,10 +41,6 @@ func (c *nftConllectionMGR) Create(ctx context.Context, nftVectors [][VectorDim] return emptyRet, err } - if err := cli.Flush(ctx, c.CollectionName, false); err != nil { - return emptyRet, err - } - idRows := iDs.(*entity.ColumnInt64) ret := idRows.Data() From 82b342d3dcb6195539960cab2e5cb035310f2544 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Tue, 30 Jan 2024 11:02:08 +0800 Subject: [PATCH 102/116] auto flush --- nft-meta/pkg/milvusdb/collections.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nft-meta/pkg/milvusdb/collections.go b/nft-meta/pkg/milvusdb/collections.go index 660d508c..399f65ff 100644 --- a/nft-meta/pkg/milvusdb/collections.go +++ b/nft-meta/pkg/milvusdb/collections.go @@ -103,7 +103,7 @@ func initCollections(ctx context.Context, c client.Client) error { func autoFlush() { lockKey := "milvus_flush_lock" - refreshTimeout := time.Minute * 10 + refreshTimeout := time.Hour for { <-time.NewTicker(refreshTimeout).C locked, err := ctredis.TryPubLock(lockKey, refreshTimeout) From 45c4b6c73b71bf2ab2a80ccd9165fda9846dbb1c Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Tue, 30 Jan 2024 11:48:08 +0800 Subject: [PATCH 103/116] auto flush --- nft-meta/pkg/milvusdb/collections.go | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/nft-meta/pkg/milvusdb/collections.go b/nft-meta/pkg/milvusdb/collections.go index 399f65ff..82c4baad 100644 --- a/nft-meta/pkg/milvusdb/collections.go +++ b/nft-meta/pkg/milvusdb/collections.go @@ -67,6 +67,7 @@ func initCollections(ctx context.Context, c client.Client) error { _ = c.ReleaseCollection(ctx, collection.CollectionName) if index.IndexType() == entity.DISKANN { haveIndex = true + continue } err := c.DropIndex(ctx, collection.CollectionName, FieldsVector) if err != nil { @@ -74,14 +75,6 @@ func initCollections(ctx context.Context, c client.Client) error { } } - idx, err := entity.NewIndexFlat(entity.L2) - if err != nil { - return err - } - err = c.CreateIndex(ctx, collection.CollectionName, FieldsVector, idx, false) - if err != nil { - return err - } if !haveIndex { idx, err := entity.NewIndexDISKANN(entity.L2) if err != nil { From 0148853740550705c8ebd66387e206e2af307a2c Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Tue, 30 Jan 2024 16:49:00 +0800 Subject: [PATCH 104/116] fix panic --- block-etl/pkg/chains/indexer/indexer.go | 1 + 1 file changed, 1 insertion(+) diff --git a/block-etl/pkg/chains/indexer/indexer.go b/block-etl/pkg/chains/indexer/indexer.go index f0af9b77..284d0150 100644 --- a/block-etl/pkg/chains/indexer/indexer.go +++ b/block-etl/pkg/chains/indexer/indexer.go @@ -116,6 +116,7 @@ func (e *Indexer) pullTaskTopics(ctx context.Context) (outBlockNum chan uint64, resp, err := synctaskNMCli.GetSyncTasks(ctx, &synctask.GetSyncTasksRequest{Conds: conds, Offset: 0, Limit: maxTopicNum}) if err != nil { logger.Sugar().Error(err) + continue } for len(resp.GetInfos()) == 0 { From f31d95f66735bf6db654d4d8f5f18e13a294a4f3 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Tue, 30 Jan 2024 18:02:41 +0800 Subject: [PATCH 105/116] desc to asc --- nft-meta/pkg/mw/v1/synctask/query.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nft-meta/pkg/mw/v1/synctask/query.go b/nft-meta/pkg/mw/v1/synctask/query.go index 8ad98dce..c082b8c7 100644 --- a/nft-meta/pkg/mw/v1/synctask/query.go +++ b/nft-meta/pkg/mw/v1/synctask/query.go @@ -120,7 +120,7 @@ func (h *Handler) GetSyncTasks(ctx context.Context) ([]*synctaskproto.SyncTask, handler.stm. Offset(int(h.Offset)). Limit(int(h.Limit)). - Order(ent.Desc(synctaskent.FieldID)) + Order(ent.Asc(synctaskent.FieldID)) return handler.scan(_ctx) }) if err != nil { From fbec0a9b131d1aca5c08bcccef3d1b77111bcfac Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 1 Feb 2024 09:35:22 +0800 Subject: [PATCH 106/116] fixbug --- nft-meta/pkg/milvusdb/collections.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/nft-meta/pkg/milvusdb/collections.go b/nft-meta/pkg/milvusdb/collections.go index 82c4baad..325b3cc0 100644 --- a/nft-meta/pkg/milvusdb/collections.go +++ b/nft-meta/pkg/milvusdb/collections.go @@ -64,11 +64,11 @@ func initCollections(ctx context.Context, c client.Client) error { indexes, _ := c.DescribeIndex(ctx, collection.CollectionName, FieldsVector) haveIndex := false for _, index := range indexes { - _ = c.ReleaseCollection(ctx, collection.CollectionName) if index.IndexType() == entity.DISKANN { haveIndex = true continue } + _ = c.ReleaseCollection(ctx, collection.CollectionName) err := c.DropIndex(ctx, collection.CollectionName, FieldsVector) if err != nil { return err @@ -85,11 +85,12 @@ func initCollections(ctx context.Context, c client.Client) error { return err } } - go autoFlush() + err = c.LoadCollection(ctx, collection.CollectionName, false) if err != nil { return err } + go autoFlush() } return nil } From b0a45178641d5e06b6e706639e7e5dbc3fbc2112 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 1 Feb 2024 10:20:27 +0800 Subject: [PATCH 107/116] add log --- nft-meta/api/v1/endpoint/endpoint.go | 9 +++++++++ nft-meta/api/v1/synctask/synctask.go | 13 +++++++++---- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/nft-meta/api/v1/endpoint/endpoint.go b/nft-meta/api/v1/endpoint/endpoint.go index 53063d2e..8fac7475 100644 --- a/nft-meta/api/v1/endpoint/endpoint.go +++ b/nft-meta/api/v1/endpoint/endpoint.go @@ -44,6 +44,7 @@ func (s *Server) CreateEndpoint(ctx context.Context, in *endpointproto.CreateEnd return &endpointproto.CreateEndpointResponse{}, status.Error(codes.Internal, err.Error()) } + logger.Sugar().Infof("success to CreateEndpoint ,chaintype:%v chainid:%v rps:%v address:%v", info.ChainType, info.ChainID, info.RPS, info.Address) return &endpointproto.CreateEndpointResponse{ Info: info, }, nil @@ -68,6 +69,7 @@ func (s *Server) CreateEndpoints(ctx context.Context, in *endpointproto.CreateEn return &endpointproto.CreateEndpointsResponse{}, status.Error(codes.Internal, err.Error()) } + logger.Sugar().Infof("success to CreateEndpoints ,have %v infos", len(infos)) return &endpointproto.CreateEndpointsResponse{ Infos: infos, }, nil @@ -101,6 +103,7 @@ func (s *Server) UpdateEndpoint(ctx context.Context, in *endpointproto.UpdateEnd return &endpointproto.UpdateEndpointResponse{}, status.Error(codes.Internal, err.Error()) } + logger.Sugar().Infof("success to UpdateEndpoint ,chaintype:%v chainid:%v rps:%v address:%v", info.ChainType, info.ChainID, info.RPS, info.Address) return &endpointproto.UpdateEndpointResponse{ Info: info, }, nil @@ -146,6 +149,7 @@ func (s *Server) UpdateEndpoints(ctx context.Context, in *endpointproto.UpdateEn } } + logger.Sugar().Infof("success to CreateEndpoints ,all have %v infos, failed to update %v infos", len(in.Infos), len(failedInfos)) return &endpointproto.UpdateEndpointsResponse{ Infos: failedInfos, }, nil @@ -165,6 +169,7 @@ func (s *Server) GetEndpoint(ctx context.Context, in *endpointproto.GetEndpointR return &endpointproto.GetEndpointResponse{}, status.Error(codes.Internal, err.Error()) } + logger.Sugar().Infof("success to GetEndpoint ,chaintype:%v chainid:%v rps:%v address:%v", info.ChainType, info.ChainID, info.RPS, info.Address) return &endpointproto.GetEndpointResponse{ Info: info, }, nil @@ -190,7 +195,9 @@ func (s *Server) GetEndpointOnly(ctx context.Context, in *endpointproto.GetEndpo errMsg := "more than one result or have no result" return &endpointproto.GetEndpointOnlyResponse{}, status.Error(codes.Internal, errMsg) } + info := infos[0] + logger.Sugar().Infof("success to GetEndpointOnly ,chaintype:%v chainid:%v rps:%v address:%v", info.ChainType, info.ChainID, info.RPS, info.Address) return &endpointproto.GetEndpointOnlyResponse{ Info: infos[0], }, nil @@ -212,6 +219,7 @@ func (s *Server) GetEndpoints(ctx context.Context, in *endpointproto.GetEndpoint return &endpointproto.GetEndpointsResponse{}, status.Error(codes.Internal, err.Error()) } + logger.Sugar().Infof("success to GetEndpoints ,all have %v infos", infos) return &endpointproto.GetEndpointsResponse{ Infos: infos, Total: total, @@ -273,6 +281,7 @@ func (s *Server) DeleteEndpoint(ctx context.Context, in *endpointproto.DeleteEnd return &endpointproto.DeleteEndpointResponse{}, status.Error(codes.Internal, err.Error()) } + logger.Sugar().Infof("success to DeleteEndpoint ,chaintype:%v chainid:%v rps:%v address:%v", info.ChainType, info.ChainID, info.RPS, info.Address) return &endpointproto.DeleteEndpointResponse{ Info: info, }, nil diff --git a/nft-meta/api/v1/synctask/synctask.go b/nft-meta/api/v1/synctask/synctask.go index d748c569..8ada252f 100644 --- a/nft-meta/api/v1/synctask/synctask.go +++ b/nft-meta/api/v1/synctask/synctask.go @@ -85,8 +85,7 @@ func (s *Server) CreateSyncTask(ctx context.Context, in *npool.CreateSyncTaskReq return &npool.CreateSyncTaskResponse{}, status.Error(codes.Internal, err.Error()) } - logger.Sugar().Infof("CreateSyncTask success ,chaintype:%v chainid:%v start:%v end:%v", info.ChainType, info.ChainID, info.Start, info.End) - + logger.Sugar().Infof("success to CreateSyncTask ,chaintype:%v chainid:%v start:%v end:%v, state: %v", info.ChainType, info.ChainID, info.Start, info.End, info.SyncState) return &npool.CreateSyncTaskResponse{ Info: info, }, nil @@ -184,6 +183,7 @@ func (s *Server) TriggerSyncTask(ctx context.Context, in *npool.TriggerSyncTaskR return &npool.TriggerSyncTaskResponse{}, status.Error(codes.InvalidArgument, err.Error()) } + logger.Sugar().Infof("success to TriggerSyncTask ,chaintype:%v chainid:%v start:%v end:%v", info.ChainType, info.ChainID, info.Start, info.End) return &npool.TriggerSyncTaskResponse{ Info: info, }, nil @@ -325,6 +325,7 @@ func (s *Server) UpdateSyncTask(ctx context.Context, in *npool.UpdateSyncTaskReq logger.Sugar().Infow("UpdateSyncTask", "ID", in.GetInfo().GetID()) + logger.Sugar().Infof("success to UpdateSyncTask ,chaintype:%v chainid:%v start:%v end:%v, state: %v", info.ChainType, info.ChainID, info.Start, info.End, info.SyncState) return &npool.UpdateSyncTaskResponse{ Info: info, }, nil @@ -344,7 +345,7 @@ func (s *Server) GetSyncTask(ctx context.Context, in *npool.GetSyncTaskRequest) logger.Sugar().Errorw("GetSyncTask", "ID", in.GetID(), "error", err) return &npool.GetSyncTaskResponse{}, status.Error(codes.Internal, err.Error()) } - + logger.Sugar().Infof("success to GetSyncTask ,chaintype:%v chainid:%v start:%v end:%v, state: %v", info.ChainType, info.ChainID, info.Start, info.End, info.SyncState) return &npool.GetSyncTaskResponse{ Info: info, }, nil @@ -370,9 +371,11 @@ func (s *Server) GetSyncTaskOnly(ctx context.Context, in *npool.GetSyncTaskOnlyR errMsg := "more than one result or have no result" return &npool.GetSyncTaskOnlyResponse{}, status.Error(codes.Internal, errMsg) } + info := infos[0] + logger.Sugar().Infof("success to GetSyncTaskOnly ,chaintype:%v chainid:%v start:%v end:%v, state: %v", info.ChainType, info.ChainID, info.Start, info.End, info.SyncState) return &npool.GetSyncTaskOnlyResponse{ - Info: infos[0], + Info: info, }, nil } @@ -391,6 +394,7 @@ func (s *Server) GetSyncTasks(ctx context.Context, in *npool.GetSyncTasksRequest logger.Sugar().Errorw("GetSyncTasks", "error", err) return &npool.GetSyncTasksResponse{}, status.Error(codes.Internal, err.Error()) } + logger.Sugar().Infof("success to GetSyncTasks, have %v infos", len(infos)) return &npool.GetSyncTasksResponse{ Infos: infos, @@ -451,6 +455,7 @@ func (s *Server) DeleteSyncTask(ctx context.Context, in *npool.DeleteSyncTaskReq return &npool.DeleteSyncTaskResponse{}, status.Error(codes.Internal, err.Error()) } + logger.Sugar().Infof("success to DeleteSyncTask ,chaintype:%v chainid:%v start:%v end:%v, state: %v", info.ChainType, info.ChainID, info.Start, info.End, info.SyncState) return &npool.DeleteSyncTaskResponse{ Info: info, }, nil From 3da01a785f309171d2b7f733a3b97f4147716c86 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 1 Feb 2024 10:54:29 +0800 Subject: [PATCH 108/116] change search_list --- nft-meta/pkg/milvusdb/crud.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/nft-meta/pkg/milvusdb/crud.go b/nft-meta/pkg/milvusdb/crud.go index 9dafa6ec..05ccf947 100644 --- a/nft-meta/pkg/milvusdb/crud.go +++ b/nft-meta/pkg/milvusdb/crud.go @@ -96,7 +96,7 @@ func (c *nftConllectionMGR) Query(ctx context.Context, iDs []int64) (map[int64][ } // return []map[id]score -func (c *nftConllectionMGR) Search(ctx context.Context, nftVectors [][VectorDim]float32, limit int) ([]map[int64]float32, error) { +func (c *nftConllectionMGR) Search(ctx context.Context, nftVectors [][VectorDim]float32, topK int) ([]map[int64]float32, error) { ret := make([]map[int64]float32, 0) cli, err := Client(ctx) @@ -104,8 +104,7 @@ func (c *nftConllectionMGR) Search(ctx context.Context, nftVectors [][VectorDim] return ret, err } - var searchList = 100 - sParam, err := entity.NewIndexDISKANNSearchParam(searchList) + sParam, err := entity.NewIndexDISKANNSearchParam(topK) if err != nil { return ret, err } @@ -116,7 +115,7 @@ func (c *nftConllectionMGR) Search(ctx context.Context, nftVectors [][VectorDim] } sRet, err := cli.Search(ctx, c.CollectionName, []string{DefaultPartition}, "", []string{FieldsID}, vec, - FieldsVector, entity.L2, limit, sParam) + FieldsVector, entity.L2, topK, sParam) if err != nil { return ret, err } From a2c6e0a3ad82d1ed2db7624c71fe63fa919d0b00 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 1 Feb 2024 11:11:32 +0800 Subject: [PATCH 109/116] change search_list --- nft-meta/api/v1/endpoint/endpoint.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nft-meta/api/v1/endpoint/endpoint.go b/nft-meta/api/v1/endpoint/endpoint.go index 8fac7475..06bc967a 100644 --- a/nft-meta/api/v1/endpoint/endpoint.go +++ b/nft-meta/api/v1/endpoint/endpoint.go @@ -219,7 +219,7 @@ func (s *Server) GetEndpoints(ctx context.Context, in *endpointproto.GetEndpoint return &endpointproto.GetEndpointsResponse{}, status.Error(codes.Internal, err.Error()) } - logger.Sugar().Infof("success to GetEndpoints ,all have %v infos", infos) + logger.Sugar().Infof("success to GetEndpoints ,all have %v infos", len(infos)) return &endpointproto.GetEndpointsResponse{ Infos: infos, Total: total, From 51dc1c4300a482a84c99956a65ee09184aec1348 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 1 Feb 2024 11:27:21 +0800 Subject: [PATCH 110/116] add 200 block --- nft-meta/api/v1/synctask/synctask.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/nft-meta/api/v1/synctask/synctask.go b/nft-meta/api/v1/synctask/synctask.go index 8ada252f..93244b17 100644 --- a/nft-meta/api/v1/synctask/synctask.go +++ b/nft-meta/api/v1/synctask/synctask.go @@ -26,9 +26,8 @@ import ( ) const ( - MaxPutTaskNumOnce = 100 + MaxPutTaskNumOnce = 200 MaxPutBadBlockTaskNumOnce = 50 - ReportInterval = 100 RedisLockTimeout = time.Second * 10 ) From 59c15793247c6f7208c0663311f3190c9ddf3df4 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 1 Feb 2024 11:31:33 +0800 Subject: [PATCH 111/116] add sync blocks --- block-etl/pkg/chains/indexer/indexer.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block-etl/pkg/chains/indexer/indexer.go b/block-etl/pkg/chains/indexer/indexer.go index 284d0150..002394cc 100644 --- a/block-etl/pkg/chains/indexer/indexer.go +++ b/block-etl/pkg/chains/indexer/indexer.go @@ -19,7 +19,7 @@ const ( CheckTopicInterval = time.Second * 10 FindContractCreator = false maxTopicNum = 5 - maxParseGoroutineNum = 5 + maxParseGoroutineNum = 10 updateBlockNumInterval = time.Minute MaxContentLength = 1098304 OverLimitStoreLength = 100 From 666714aec7aaff4069568ee6d13852be6c6a4ad0 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 1 Feb 2024 14:29:52 +0800 Subject: [PATCH 112/116] increase dose --- block-etl/pkg/chains/eth/task.go | 4 ++-- block-etl/pkg/chains/indexer/indexer.go | 5 +++-- nft-meta/api/v1/synctask/synctask.go | 4 ++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/block-etl/pkg/chains/eth/task.go b/block-etl/pkg/chains/eth/task.go index 1e161623..2083c091 100644 --- a/block-etl/pkg/chains/eth/task.go +++ b/block-etl/pkg/chains/eth/task.go @@ -13,9 +13,9 @@ import ( ) const ( - CheckTopicInterval = time.Second * 10 + CheckTopicInterval = time.Second * 5 FindContractCreator = false - redisExpireDefaultTime = time.Second * 10 + redisExpireDefaultTime = time.Second * 5 ) type EthIndexer struct { diff --git a/block-etl/pkg/chains/indexer/indexer.go b/block-etl/pkg/chains/indexer/indexer.go index 002394cc..9b968a17 100644 --- a/block-etl/pkg/chains/indexer/indexer.go +++ b/block-etl/pkg/chains/indexer/indexer.go @@ -16,7 +16,8 @@ import ( ) const ( - CheckTopicInterval = time.Second * 10 + CheckTopicInterval = time.Second * 5 + TriggerTaskInterval = time.Second * 2 FindContractCreator = false maxTopicNum = 5 maxParseGoroutineNum = 10 @@ -164,7 +165,7 @@ func (e *Indexer) indexTopicTasks(ctx context.Context, pulsarCli pulsar.Client, continue } retries = 0 - case <-time.NewTicker(CheckTopicInterval).C: + case <-time.NewTicker(TriggerTaskInterval).C: if retries > maxRetries { return } diff --git a/nft-meta/api/v1/synctask/synctask.go b/nft-meta/api/v1/synctask/synctask.go index 93244b17..cb958266 100644 --- a/nft-meta/api/v1/synctask/synctask.go +++ b/nft-meta/api/v1/synctask/synctask.go @@ -26,9 +26,9 @@ import ( ) const ( - MaxPutTaskNumOnce = 200 + MaxPutTaskNumOnce = 1000 MaxPutBadBlockTaskNumOnce = 50 - RedisLockTimeout = time.Second * 10 + RedisLockTimeout = time.Second * 5 ) func (s *Server) CreateSyncTask(ctx context.Context, in *npool.CreateSyncTaskRequest) (*npool.CreateSyncTaskResponse, error) { From a2f383a6ec9a9cc35cf42c52ee90cff79887e68c Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 1 Feb 2024 15:37:04 +0800 Subject: [PATCH 113/116] increase dose --- block-etl/pkg/chains/eth/token.go | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/block-etl/pkg/chains/eth/token.go b/block-etl/pkg/chains/eth/token.go index 87b7869e..76e8dee8 100644 --- a/block-etl/pkg/chains/eth/token.go +++ b/block-etl/pkg/chains/eth/token.go @@ -268,8 +268,13 @@ func (e *EthIndexer) IndexContract(ctx context.Context, inContracts []*ContractM if exist { continue } - contractMeta, creator, remark := e.getContractInfo(ctx, contract, findContractCreator) - + remark := "" + contractMeta, creator, err := e.getContractInfo(ctx, contract, findContractCreator) + if err != nil { + contractMeta = ð.EthCurrencyMetadata{} + creator = &chains.ContractCreator{} + remark = err.Error() + } // store the result from := creator.From txHash := creator.TxHash @@ -332,15 +337,12 @@ func (e *EthIndexer) checkContract(ctx context.Context, contract string) (exist return false, nil } -func (e *EthIndexer) getContractInfo(ctx context.Context, contract *ContractMeta, findContractCreator bool) (*eth.EthCurrencyMetadata, *chains.ContractCreator, string) { - contractMeta := ð.EthCurrencyMetadata{} - creator := &chains.ContractCreator{} +func (e *EthIndexer) getContractInfo(ctx context.Context, contract *ContractMeta, findContractCreator bool) (*eth.EthCurrencyMetadata, *chains.ContractCreator, error) { cli, err := eth.Client(e.OkEndpoints) - remark := "" if err != nil { - return contractMeta, creator, fmt.Sprintf("cannot get eth client,err: %v", err) + return ð.EthCurrencyMetadata{}, &chains.ContractCreator{}, fmt.Errorf("cannot get eth client,err: %v", err) } - + contractMeta := ð.EthCurrencyMetadata{} switch contract.TokenType { case basetype.TokenType_Native: contractMeta, err = cli.GetCurrencyMetadata(ctx, contract.Contract) @@ -351,17 +353,17 @@ func (e *EthIndexer) getContractInfo(ctx context.Context, contract *ContractMeta } if err != nil { - remark = err.Error() + return ð.EthCurrencyMetadata{}, &chains.ContractCreator{}, fmt.Errorf("cannot get eth client,err: %v", err) } - + creator := &chains.ContractCreator{} // stop get info for creator if findContractCreator && contract.TokenType != basetype.TokenType_Native { creator, err = cli.GetContractCreator(ctx, contract.Contract) if err != nil { - remark = fmt.Sprintf("%v,%v", remark, err.Error()) + return ð.EthCurrencyMetadata{}, &chains.ContractCreator{}, fmt.Errorf("cannot get eth client,err: %v", err) } } - return contractMeta, creator, remark + return contractMeta, creator, nil } func (e *EthIndexer) GetCurrentBlockNum() uint64 { From b51973df9ac471a9fd4aebaeb6c5fb2604b787be Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 1 Feb 2024 15:44:41 +0800 Subject: [PATCH 114/116] increase dose --- block-etl/pkg/chains/eth/token.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block-etl/pkg/chains/eth/token.go b/block-etl/pkg/chains/eth/token.go index 76e8dee8..d25418e5 100644 --- a/block-etl/pkg/chains/eth/token.go +++ b/block-etl/pkg/chains/eth/token.go @@ -342,7 +342,7 @@ func (e *EthIndexer) getContractInfo(ctx context.Context, contract *ContractMeta if err != nil { return ð.EthCurrencyMetadata{}, &chains.ContractCreator{}, fmt.Errorf("cannot get eth client,err: %v", err) } - contractMeta := ð.EthCurrencyMetadata{} + var contractMeta *eth.EthCurrencyMetadata switch contract.TokenType { case basetype.TokenType_Native: contractMeta, err = cli.GetCurrencyMetadata(ctx, contract.Contract) From 95fb2c9421da247f887611787b90faf4192cffd3 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Thu, 1 Feb 2024 16:15:30 +0800 Subject: [PATCH 115/116] increase dose --- nft-meta/api/v1/synctask/synctask.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nft-meta/api/v1/synctask/synctask.go b/nft-meta/api/v1/synctask/synctask.go index cb958266..1dd822e0 100644 --- a/nft-meta/api/v1/synctask/synctask.go +++ b/nft-meta/api/v1/synctask/synctask.go @@ -28,7 +28,7 @@ import ( const ( MaxPutTaskNumOnce = 1000 MaxPutBadBlockTaskNumOnce = 50 - RedisLockTimeout = time.Second * 5 + RedisLockTimeout = time.Second * 3 ) func (s *Server) CreateSyncTask(ctx context.Context, in *npool.CreateSyncTaskRequest) (*npool.CreateSyncTaskResponse, error) { From b44da1f70814384e117d2f22132a0056e9635e30 Mon Sep 17 00:00:00 2001 From: Geapefurit <670884108@qq.com> Date: Sun, 4 Feb 2024 12:45:51 +0800 Subject: [PATCH 116/116] fix bug for block-etl --- block-etl/pkg/chains/indexer/indexer.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block-etl/pkg/chains/indexer/indexer.go b/block-etl/pkg/chains/indexer/indexer.go index 9b968a17..cb818d35 100644 --- a/block-etl/pkg/chains/indexer/indexer.go +++ b/block-etl/pkg/chains/indexer/indexer.go @@ -120,7 +120,7 @@ func (e *Indexer) pullTaskTopics(ctx context.Context) (outBlockNum chan uint64, continue } - for len(resp.GetInfos()) == 0 { + if len(resp.GetInfos()) == 0 { continue } e.indexTopicTasks(ctx, pulsarCli, resp.GetInfos()[0], outBlockNum)