diff --git a/Makefile b/Makefile index 2dc118e..08f1405 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,7 @@ +ROOT_DIR := $(shell pwd) + MAIN_PACKAGE_PATH ?= ./ -BINARY_NAME ?= ap-avs +BINARY_NAME ?= ap # ==================================================================================== # # HELPERS @@ -56,15 +58,6 @@ build: run: build /tmp/bin/${BINARY_NAME} -## run/live: run the application with reloading on file changes -.PHONY: run/live -run/live: - go run github.com/cosmtrek/air@v1.43.0 \ - --build.cmd "make build" --build.bin "/tmp/bin/${BINARY_NAME}" --build.delay "100" \ - --build.exclude_dir "" \ - --build.include_ext "go, tpl, tmpl, html, css, scss, js, ts, sql, jpeg, jpg, gif, png, bmp, svg, webp, ico" \ - --misc.clean_on_exit "true" - ## push: push changes to the remote Git repository .PHONY: push @@ -77,14 +70,22 @@ production/deploy: confirm tidy audit no-dirty GOOS=linux GOARCH=amd64 go build -ldflags='-s' -o=/tmp/bin/linux_amd64/${BINARY_NAME} ${MAIN_PACKAGE_PATH} upx -5 /tmp/bin/linux_amd64/${BINARY_NAME} -## dev: generate protoc +## protoc-gen: generate protoc buf Go binding +.PHONY: protoc-gen protoc-gen: protoc \ --go_out=. \ --go_opt=paths=source_relative \ --go-grpc_out=. \ --go-grpc_opt=paths=source_relative \ - protobuf/avs.proto + protobuf/avs.proto + + protoc \ + --go_out=. \ + --go_opt=paths=source_relative \ + --go-grpc_out=. \ + --go-grpc_opt=paths=source_relative \ + protobuf/node.proto ## up: bring up docker compose stack up: @@ -96,6 +97,15 @@ unstable-build: docker push avaprotocol/avs-dev:unstable +## dev/live: run the application with reloading on file changes +.PHONY: dev-live +dev-live: + go run github.com/air-verse/air@v1.61.1 \ + --build.cmd "make dev-build" --build.bin "./out/${BINARY_NAME}" --build.args_bin "aggregator" --build.delay "100" \ + --build.exclude_dir "certs,client-sdk,contracts,examples,out,docs,tmp" \ + --build.include_ext "go, tpl, tmpl, html, css, scss, js, ts, sql, jpeg, jpg, gif, png, bmp, svg, webp, ico" \ + --misc.clean_on_exit "true" + ## dev-build: build a dev version for local development dev-build: mkdir out || true diff --git a/aggregator/rpc_server.go b/aggregator/rpc_server.go index ce8c315..67cd181 100644 --- a/aggregator/rpc_server.go +++ b/aggregator/rpc_server.go @@ -158,15 +158,20 @@ func (r *RpcServer) ListTasks(ctx context.Context, payload *avsproto.ListTasksRe "user", user.Address.String(), "smart_wallet_address", payload.SmartWalletAddress, ) - tasks, err := r.engine.ListTasksByUser(user, payload) + return r.engine.ListTasksByUser(user, payload) +} +func (r *RpcServer) ListExecutions(ctx context.Context, payload *avsproto.ListExecutionsReq) (*avsproto.ListExecutionsResp, error) { + user, err := r.verifyAuth(ctx) if err != nil { - return nil, err + return nil, status.Errorf(codes.Unauthenticated, "%s: %s", auth.InvalidAuthenticationKey, err.Error()) } - return &avsproto.ListTasksResp{ - Tasks: tasks, - }, nil + r.config.Logger.Info("process list execution", + "user", user.Address.String(), + "task_id", payload.Id, + ) + return r.engine.ListExecutions(user, payload) } func (r *RpcServer) GetTask(ctx context.Context, payload *avsproto.IdReq) (*avsproto.Task, error) { diff --git a/core/taskengine/cursor.go b/core/taskengine/cursor.go new file mode 100644 index 0000000..963d30a --- /dev/null +++ b/core/taskengine/cursor.go @@ -0,0 +1,97 @@ +package taskengine + +import ( + "encoding/base64" + "encoding/json" + "strconv" + + "github.com/oklog/ulid/v2" +) + +type CursorDirection string + +const ( + CursorDirectionNext = CursorDirection("next") + CursorDirectionPrevious = CursorDirection("prev") +) + +type Cursor struct { + Direction CursorDirection `json:"d"` + Position string `json:"p"` + + parsePos bool `json:"-"` + int64Pos int64 `json:"-"` + ulidPos ulid.ULID `json:"-"` +} + +func CursorFromString(data string) (*Cursor, error) { + c := &Cursor{ + Direction: CursorDirectionNext, + Position: "0", + parsePos: false, + int64Pos: 0, + ulidPos: ulid.Zero, + } + + decoded, err := base64.StdEncoding.DecodeString(data) + if err != nil { + return c, err + } + + if err = json.Unmarshal(decoded, &c); err == nil { + return c, nil + } else { + return c, err + } +} + +func NewCursor(direction CursorDirection, position string) *Cursor { + return &Cursor{ + Direction: direction, + Position: position, + + parsePos: false, + int64Pos: 0, + } +} +func (c *Cursor) String() string { + var d []byte + d, err := json.Marshal(c) + + if err != nil { + return "" + } + + encoded := base64.StdEncoding.EncodeToString(d) + + return encoded +} + +// Given a value, return true if the value is after the cursor +func (c *Cursor) AfterInt64(value int64) bool { + if !c.parsePos { + c.int64Pos, _ = strconv.ParseInt(c.Position, 10, 64) + c.parsePos = true + } + if c.Direction == CursorDirectionNext { + return c.int64Pos <= value + } + + return c.int64Pos >= value +} + +// Given a value, return true if the value is after the cursor +func (c *Cursor) AfterUlid(value ulid.ULID) bool { + if !c.parsePos { + var err error + c.ulidPos, err = ulid.Parse(c.Position) + if err != nil { + c.ulidPos = ulid.Zero + } + c.parsePos = true + } + if c.Direction == CursorDirectionNext { + return c.ulidPos.Compare(value) < 0 + } + return c.ulidPos.Compare(value) > 0 +} diff --git a/core/taskengine/engine.go b/core/taskengine/engine.go index b0441a1..0237c65 100644 --- a/core/taskengine/engine.go +++ b/core/taskengine/engine.go @@ -6,7 +6,6 @@ import ( "fmt" "math/big" "strconv" - "strings" "sync" "time" @@ -20,6 +19,7 @@ import ( "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common/math" "github.com/ethereum/go-ethereum/ethclient" + "github.com/oklog/ulid/v2" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" grpcstatus "google.golang.org/grpc/status" @@ -29,7 +29,8 @@ import ( ) const ( - ExecuteTask = "execute_task" + ExecuteTask = "execute_task" + DefaultItemPerPage = 50 ) var ( @@ -388,7 +389,7 @@ func (n *Engine) AggregateChecksResult(address string, payload *avsproto.NotifyT return nil } -func (n *Engine) ListTasksByUser(user *model.User, payload *avsproto.ListTasksReq) ([]*avsproto.Task, error) { +func (n *Engine) ListTasksByUser(user *model.User, payload *avsproto.ListTasksReq) (*avsproto.ListTasksResp, error) { // by default show the task from the default smart wallet, if proving we look into that wallet specifically owner := user.SmartAccountAddress if payload.SmartWalletAddress == "" { @@ -412,10 +413,26 @@ func (n *Engine) ListTasksByUser(user *model.User, payload *avsproto.ListTasksRe return nil, grpcstatus.Errorf(codes.Code(avsproto.Error_StorageUnavailable), StorageUnavailableError) } - tasks := make([]*avsproto.Task, len(taskIDs)) - for i, kv := range taskIDs { + taskResp := &avsproto.ListTasksResp{ + Tasks: []*avsproto.ListTasksResp_Item{}, + Cursor: "", + } + + total := 0 + cursor, err := CursorFromString(payload.Cursor) + itemPerPage := int(payload.ItemPerPage) + if itemPerPage == 0 { + itemPerPage = DefaultItemPerPage + } + for _, kv := range taskIDs { status, _ := strconv.Atoi(string(kv.Value)) taskID := string(model.TaskKeyToId(kv.Key[2:])) + + taskIDUlid := model.UlidFromTaskId(taskID) + if !cursor.AfterUlid(taskIDUlid) { + continue + } + taskRawByte, err := n.db.GetKey(TaskStorageKey(taskID, avsproto.TaskStatus(status))) if err != nil { continue @@ -427,10 +444,34 @@ func (n *Engine) ListTasksByUser(user *model.User, payload *avsproto.ListTasksRe } task.Id = taskID - tasks[i], _ = task.ToProtoBuf() + if t, err := task.ToProtoBuf(); err == nil { + taskResp.Tasks = append(taskResp.Tasks, &avsproto.ListTasksResp_Item{ + Id: t.Id, + Owner: t.Owner, + SmartWalletAddress: t.SmartWalletAddress, + StartAt: t.StartAt, + ExpiredAt: t.ExpiredAt, + Memo: t.Memo, + CompletedAt: t.CompletedAt, + MaxExecution: t.MaxExecution, + TotalExecution: t.TotalExecution, + LastRanAt: t.LastRanAt, + Status: t.Status, + Trigger: t.Trigger, + }) + total += 1 + } + + if total >= itemPerPage { + break + } } - return tasks, nil + if total >= itemPerPage { + taskResp.Cursor = NewCursor(CursorDirectionNext, taskResp.Tasks[total-1].Id).String() + } + + return taskResp, nil } func (n *Engine) GetTaskByID(taskID string) (*model.Task, error) { @@ -456,13 +497,64 @@ func (n *Engine) GetTask(user *model.User, taskID string) (*model.Task, error) { return nil, err } - if strings.ToLower(task.Owner) != strings.ToLower(user.Address.Hex()) { + if !task.OwnedBy(user.Address) { return nil, grpcstatus.Errorf(codes.NotFound, TaskNotFoundError) } return task, nil } +// List Execution for a given task id +func (n *Engine) ListExecutions(user *model.User, payload *avsproto.ListExecutionsReq) (*avsproto.ListExecutionsResp, error) { + task, err := n.GetTaskByID(payload.Id) + if err != nil { + return nil, err + } + + if !task.OwnedBy(user.Address) { + return nil, grpcstatus.Errorf(codes.NotFound, TaskNotFoundError) + } + + executionKVs, err := n.db.GetByPrefix(TaskExecutionPrefix(task.Id)) + + if err != nil { + return nil, grpcstatus.Errorf(codes.Code(avsproto.Error_StorageUnavailable), StorageUnavailableError) + } + + executioResp := &avsproto.ListExecutionsResp{ + Executions: []*avsproto.Execution{}, + Cursor: "", + } + + total := 0 + cursor, err := CursorFromString(payload.Cursor) + + itemPerPage := int(payload.ItemPerPage) + if itemPerPage == 0 { + itemPerPage = DefaultItemPerPage + } + for _, kv := range executionKVs { + executionUlid := ulid.MustParse(string(ExecutionIdFromStorageKey(kv.Key))) + if !cursor.AfterUlid(executionUlid) { + continue + } + + exec := avsproto.Execution{} + if err := protojson.Unmarshal(kv.Value, &exec); err == nil { + executioResp.Executions = append(executioResp.Executions, &exec) + total += 1 + } + if total >= itemPerPage { + break + } + } + + if total >= itemPerPage { + executioResp.Cursor = NewCursor(CursorDirectionNext, executioResp.Executions[total-1].Id).String() + } + return executioResp, nil +} + func (n *Engine) DeleteTaskByUser(user *model.User, taskID string) (bool, error) { task, err := n.GetTask(user, taskID) diff --git a/core/taskengine/processor.go b/core/taskengine/executor.go similarity index 78% rename from core/taskengine/processor.go rename to core/taskengine/executor.go index a70a97c..392061a 100644 --- a/core/taskengine/processor.go +++ b/core/taskengine/executor.go @@ -8,6 +8,7 @@ import ( "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/ethclient" + "github.com/oklog/ulid/v2" "google.golang.org/protobuf/encoding/protojson" "github.com/AvaProtocol/ap-avs/core/chainio/aa" @@ -71,34 +72,59 @@ func (x *TaskExecutor) Perform(job *apqueue.Job) error { return fmt.Errorf("vm failed to initialize: %w", err) } + t0 := time.Now() vm.Compile() err = vm.Run() + t1 := time.Now() - defer func() { - updates := map[string][]byte{} - updates[string(TaskStorageKey(task.Id, task.Status))], err = task.ToJSON() - updates[string(TaskUserKey(task))] = []byte(fmt.Sprintf("%d", task.Status)) + task.TotalExecution += 1 + task.LastRanAt = t0.Unix() - if err = x.db.BatchWrite(updates); err != nil { - // TODO Gracefully handling of storage cleanup - x.logger.Errorf("error updating task status. %w", err, "task_id", task.Id, "job_id", job.ID) - } - }() + if task.MaxExecution > 0 && task.TotalExecution >= task.MaxExecution { + task.Status = avsproto.TaskStatus_Completed + task.CompletedAt = t1.Unix() + } + execution := &avsproto.Execution{ + Id: ulid.Make().String(), + StartAt: t0.Unix(), + EndAt: t1.Unix(), + Success: err == nil, + Error: "", + Steps: vm.ExecutionLogs, + TriggerMark: triggerMark, + } + + if err != nil { + execution.Error = err.Error() + } + + updates := map[string][]byte{} + updates[string(TaskStorageKey(task.Id, task.Status))], err = task.ToJSON() + updates[string(TaskUserKey(task))] = []byte(fmt.Sprintf("%d", task.Status)) + + executionByte, err := protojson.Marshal(execution) + if err == nil { + updates[string(TaskExecutionKey(task, execution.Id))] = executionByte + } + + //t.Executions = append(t.Executions, exc) + + if err = x.db.BatchWrite(updates); err != nil { + // TODO Gracefully handling of storage cleanup + x.logger.Errorf("error updating task status. %w", err, "task_id", task.Id, "job_id", job.ID) + } // TODO: Track max execution reached to set as completed - currentTime := time.Now() if err == nil { x.logger.Info("succesfully executing task", "taskid", job.Name, "triggermark", string(job.Data)) - task.AppendExecution(currentTime.Unix(), triggerMark, vm.ExecutionLogs, nil) - //task.SetCompleted() - } else { - x.logger.Error("error executing task", "taskid", job.Name, "triggermark", string(job.Data), err) - task.AppendExecution(currentTime.Unix(), triggerMark, vm.ExecutionLogs, err) - //task.SetFailed() - return fmt.Errorf("Error executing program: %v", err) + // task.AppendExecution(currentTime.Unix(), triggerMark, vm.ExecutionLogs, nil) + + return nil } - return nil + x.logger.Error("error executing task", "taskid", job.Name, "triggermark", string(job.Data), err) + // task.AppendExecution(currentTime.Unix(), triggerMark, vm.ExecutionLogs, err) + return fmt.Errorf("Error executing task %s %v", job.Name, err) } type ContractProcessor struct { diff --git a/core/taskengine/executor_test.go b/core/taskengine/executor_test.go new file mode 100644 index 0000000..f85e023 --- /dev/null +++ b/core/taskengine/executor_test.go @@ -0,0 +1,10 @@ +package taskengine + +import ( + "fmt" + "testing" +) + +func TestExecutorAppendLog(t *testing.T) { + fmt.Println("Pending impl") +} diff --git a/core/taskengine/schema.go b/core/taskengine/schema.go index 29ff4aa..312b855 100644 --- a/core/taskengine/schema.go +++ b/core/taskengine/schema.go @@ -53,6 +53,23 @@ func TaskUserKey(t *model.Task) []byte { )) } +func TaskExecutionPrefix(taskID string) []byte { + return []byte(fmt.Sprintf("history:%s", taskID)) +} + +func TaskExecutionKey(t *model.Task, executionID string) []byte { + return []byte(fmt.Sprintf( + "history:%s:%s", + t.Id, + executionID, + )) +} + +func ExecutionIdFromStorageKey(key []byte) string { + // key layout: history:01JEJWH9RCPY7S74XBW135S4GA:2 + return string(key[35:]) +} + // Convert task status gRPC enum into the storage prefix // c: completed. task is completed and no longer being check for trigger anymore // f: failed. task is failed to executed, and no longer being check for trigger anymore diff --git a/core/taskengine/vm.go b/core/taskengine/vm.go index 2ace20b..cd0dda0 100644 --- a/core/taskengine/vm.go +++ b/core/taskengine/vm.go @@ -327,12 +327,14 @@ func (v *VM) executeNode(node *avsproto.TaskNode) (*avsproto.Execution_Step, err } func (v *VM) runBranch(stepID string, node *avsproto.BranchNode) (*avsproto.Execution_Step, string, error) { + t0 := time.Now() s := &avsproto.Execution_Step{ NodeId: stepID, OutputData: "", Log: "", Error: "", Success: true, + StartAt: t0.Unix(), } var sb strings.Builder @@ -361,6 +363,7 @@ func (v *VM) runBranch(stepID string, node *avsproto.BranchNode) (*avsproto.Exec s.Error = fmt.Errorf("error compile the statement: %w", err).Error() sb.WriteString("error compile expression") s.Log = sb.String() + s.EndAt = time.Now().Unix() return s, outcome, fmt.Errorf("error compile the statement: %w", err) } result, err := expr.Run(program, v.vars) @@ -369,6 +372,7 @@ func (v *VM) runBranch(stepID string, node *avsproto.BranchNode) (*avsproto.Exec s.Error = fmt.Errorf("error run statement: %w", err).Error() sb.WriteString("error run expression") s.Log = sb.String() + s.EndAt = time.Now().Unix() return s, outcome, fmt.Errorf("error evaluate the statement: %w", err) } @@ -379,11 +383,13 @@ func (v *VM) runBranch(stepID string, node *avsproto.BranchNode) (*avsproto.Exec // run the node s.Log = sb.String() s.OutputData = outcome + s.EndAt = time.Now().Unix() return s, outcome, nil } } sb.WriteString("\nno condition matched. halt execution") s.Log = sb.String() + s.EndAt = time.Now().Unix() return s, "", nil } diff --git a/core/taskengine/vm_runner_rest.go b/core/taskengine/vm_runner_rest.go index 07e5bf6..1c5d1f5 100644 --- a/core/taskengine/vm_runner_rest.go +++ b/core/taskengine/vm_runner_rest.go @@ -34,14 +34,25 @@ func NewRestProrcessor() *RestProcessor { } func (r *RestProcessor) Execute(stepID string, node *avsproto.RestAPINode) (*avsproto.Execution_Step, error) { + t0 := time.Now().Unix() s := &avsproto.Execution_Step{ NodeId: stepID, Log: "", OutputData: "", Success: true, Error: "", + StartAt: t0, } + var err error + defer func() { + s.EndAt = time.Now().Unix() + s.Success = err == nil + if err != nil { + s.Error = err.Error() + } + }() + var log strings.Builder request := r.client.R(). @@ -52,7 +63,6 @@ func (r *RestProcessor) Execute(stepID string, node *avsproto.RestAPINode) (*avs } var resp *resty.Response - var err error if strings.EqualFold(node.Method, "post") { resp, err = request.Post(node.Url) } else if strings.EqualFold(node.Method, "get") { @@ -63,6 +73,7 @@ func (r *RestProcessor) Execute(stepID string, node *avsproto.RestAPINode) (*avs u, err := url.Parse(node.Url) if err != nil { + s.Error = fmt.Sprintf("cannot parse url: %s", node.Url) return nil, err } diff --git a/docs/development.md b/docs/development.md index dc6356b..9d10c04 100644 --- a/docs/development.md +++ b/docs/development.md @@ -18,7 +18,7 @@ After having the config file, we can run the aggregator: ``` make dev-build -make dev-aggregator +make dev-agg ``` Or use docker compsose directly: @@ -30,6 +30,7 @@ docker compose build docker compose up ``` + Once the docker compose is up, there are 2 services running: 1. The aggregator on localhost:2206 @@ -38,9 +39,17 @@ Once the docker compose is up, there are 2 services running: Visit http://localhost:8080 and you can interactively create and construct request to our grpc node. -For detail of each method and payload, check the protocol.md docs. +For detail of each method and payload, check the protocol.md docs. Look into `examples` to run example workflow against the local node + +# Live reload + +To auto compile and live reload the node, run: +``` +make dev-live +``` + ## Client SDK We generate the client sdk for JavaScript. The code is generated based on our diff --git a/examples/example.js b/examples/example.js index 322a4bd..6e19ce1 100644 --- a/examples/example.js +++ b/examples/example.js @@ -117,6 +117,8 @@ async function listTask(owner, token) { "ListTasks", { smart_wallet_address: process.argv[3], + cursor: process.argv[4] || "", + item_per_page: 2, }, metadata ); @@ -125,6 +127,8 @@ async function listTask(owner, token) { for (const item of result.tasks) { console.log(util.inspect(item, { depth: 4, colors: true })); } + console.log(util.inspect({cursor: result.cursor}, { depth: 4, colors: true })); + console.log("Note: we are returning only 2 items per page to demonstrate pagination") } async function getTask(owner, token, taskId) { @@ -136,6 +140,16 @@ async function getTask(owner, token, taskId) { console.log(util.inspect(result, { depth: 4, colors: true })); } +async function listExecutions(owner, token, taskId) { + const metadata = new grpc.Metadata(); + metadata.add("authkey", token); + + const result = await asyncRPC(client, "ListExecutions", { id: taskId, cursor: process.argv[4] || "", item_per_page: 2 }, metadata); + + console.log(util.inspect(result, { depth: 4, colors: true })); +} + + async function cancel(owner, token, taskId) { const metadata = new grpc.Metadata(); metadata.add("authkey", token); @@ -329,6 +343,9 @@ const main = async (cmd) => { await getTask(owner, token, process.argv[3]); break; + case "executions": + await listExecutions(owner, token, process.argv[3]); + break; case "cancel": await cancel(owner, token, process.argv[3]); break; @@ -579,7 +596,7 @@ async function scheduleMonitor(owner, token, target) { // It's important to quote amount with `` because it may contains a `.` and need to be escape with markdownv2 body: `JSON.stringify({ chat_id:-4609037622, - text: \`Congrat, your walllet [\${trigger1.data.to_address}](https://sepolia.etherscan.io/address/\${trigger1.data.to_address}) received \\\`\${trigger1.data.value_formatted}\\\` [\${trigger1.data.token_symbol}](https://sepolia.etherscan.io/token/\${trigger1.data.address}) at [\${trigger1.data.transaction_hash}](sepolia.etherscan.io/tx/\${trigger1.data.transaction_hash})\` + text: \`Congrat, your walllet [\${trigger1.data.to_address}](https://sepolia.etherscan.io/address/\${trigger1.data.to_address}) received \\\`\${trigger1.data.value_formatted}\\\` [\${trigger1.data.token_symbol}](https://sepolia.etherscan.io/token/\${trigger1.data.address}) from \${trigger1.data.from_address} at [\${trigger1.data.transaction_hash}](sepolia.etherscan.io/tx/\${trigger1.data.transaction_hash})\` })`, headers: { "content-type": "application/json" diff --git a/examples/static_codegen/avs_grpc_pb.js b/examples/static_codegen/avs_grpc_pb.js index f788a2d..499d8e8 100644 --- a/examples/static_codegen/avs_grpc_pb.js +++ b/examples/static_codegen/avs_grpc_pb.js @@ -3,42 +3,8 @@ 'use strict'; var grpc = require('@grpc/grpc-js'); var avs_pb = require('./avs_pb.js'); -var google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js'); var google_protobuf_wrappers_pb = require('google-protobuf/google/protobuf/wrappers_pb.js'); -function serialize_aggregator_AckMessageReq(arg) { - if (!(arg instanceof avs_pb.AckMessageReq)) { - throw new Error('Expected argument of type aggregator.AckMessageReq'); - } - return Buffer.from(arg.serializeBinary()); -} - -function deserialize_aggregator_AckMessageReq(buffer_arg) { - return avs_pb.AckMessageReq.deserializeBinary(new Uint8Array(buffer_arg)); -} - -function serialize_aggregator_Checkin(arg) { - if (!(arg instanceof avs_pb.Checkin)) { - throw new Error('Expected argument of type aggregator.Checkin'); - } - return Buffer.from(arg.serializeBinary()); -} - -function deserialize_aggregator_Checkin(buffer_arg) { - return avs_pb.Checkin.deserializeBinary(new Uint8Array(buffer_arg)); -} - -function serialize_aggregator_CheckinResp(arg) { - if (!(arg instanceof avs_pb.CheckinResp)) { - throw new Error('Expected argument of type aggregator.CheckinResp'); - } - return Buffer.from(arg.serializeBinary()); -} - -function deserialize_aggregator_CheckinResp(buffer_arg) { - return avs_pb.CheckinResp.deserializeBinary(new Uint8Array(buffer_arg)); -} - function serialize_aggregator_CreateTaskReq(arg) { if (!(arg instanceof avs_pb.CreateTaskReq)) { throw new Error('Expected argument of type aggregator.CreateTaskReq'); @@ -116,6 +82,28 @@ function deserialize_aggregator_KeyResp(buffer_arg) { return avs_pb.KeyResp.deserializeBinary(new Uint8Array(buffer_arg)); } +function serialize_aggregator_ListExecutionsReq(arg) { + if (!(arg instanceof avs_pb.ListExecutionsReq)) { + throw new Error('Expected argument of type aggregator.ListExecutionsReq'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_aggregator_ListExecutionsReq(buffer_arg) { + return avs_pb.ListExecutionsReq.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_aggregator_ListExecutionsResp(arg) { + if (!(arg instanceof avs_pb.ListExecutionsResp)) { + throw new Error('Expected argument of type aggregator.ListExecutionsResp'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_aggregator_ListExecutionsResp(buffer_arg) { + return avs_pb.ListExecutionsResp.deserializeBinary(new Uint8Array(buffer_arg)); +} + function serialize_aggregator_ListTasksReq(arg) { if (!(arg instanceof avs_pb.ListTasksReq)) { throw new Error('Expected argument of type aggregator.ListTasksReq'); @@ -182,50 +170,6 @@ function deserialize_aggregator_NonceResp(buffer_arg) { return avs_pb.NonceResp.deserializeBinary(new Uint8Array(buffer_arg)); } -function serialize_aggregator_NotifyTriggersReq(arg) { - if (!(arg instanceof avs_pb.NotifyTriggersReq)) { - throw new Error('Expected argument of type aggregator.NotifyTriggersReq'); - } - return Buffer.from(arg.serializeBinary()); -} - -function deserialize_aggregator_NotifyTriggersReq(buffer_arg) { - return avs_pb.NotifyTriggersReq.deserializeBinary(new Uint8Array(buffer_arg)); -} - -function serialize_aggregator_NotifyTriggersResp(arg) { - if (!(arg instanceof avs_pb.NotifyTriggersResp)) { - throw new Error('Expected argument of type aggregator.NotifyTriggersResp'); - } - return Buffer.from(arg.serializeBinary()); -} - -function deserialize_aggregator_NotifyTriggersResp(buffer_arg) { - return avs_pb.NotifyTriggersResp.deserializeBinary(new Uint8Array(buffer_arg)); -} - -function serialize_aggregator_SyncMessagesReq(arg) { - if (!(arg instanceof avs_pb.SyncMessagesReq)) { - throw new Error('Expected argument of type aggregator.SyncMessagesReq'); - } - return Buffer.from(arg.serializeBinary()); -} - -function deserialize_aggregator_SyncMessagesReq(buffer_arg) { - return avs_pb.SyncMessagesReq.deserializeBinary(new Uint8Array(buffer_arg)); -} - -function serialize_aggregator_SyncMessagesResp(arg) { - if (!(arg instanceof avs_pb.SyncMessagesResp)) { - throw new Error('Expected argument of type aggregator.SyncMessagesResp'); - } - return Buffer.from(arg.serializeBinary()); -} - -function deserialize_aggregator_SyncMessagesResp(buffer_arg) { - return avs_pb.SyncMessagesResp.deserializeBinary(new Uint8Array(buffer_arg)); -} - function serialize_aggregator_Task(arg) { if (!(arg instanceof avs_pb.Task)) { throw new Error('Expected argument of type aggregator.Task'); @@ -330,6 +274,17 @@ createTask: { responseSerialize: serialize_aggregator_Task, responseDeserialize: deserialize_aggregator_Task, }, + listExecutions: { + path: '/aggregator.Aggregator/ListExecutions', + requestStream: false, + responseStream: false, + requestType: avs_pb.ListExecutionsReq, + responseType: avs_pb.ListExecutionsResp, + requestSerialize: serialize_aggregator_ListExecutionsReq, + requestDeserialize: deserialize_aggregator_ListExecutionsReq, + responseSerialize: serialize_aggregator_ListExecutionsResp, + responseDeserialize: deserialize_aggregator_ListExecutionsResp, + }, cancelTask: { path: '/aggregator.Aggregator/CancelTask', requestStream: false, @@ -355,52 +310,3 @@ createTask: { }; exports.AggregatorClient = grpc.makeGenericClientConstructor(AggregatorService); -var NodeService = exports.NodeService = { - // Operator endpoint -ping: { - path: '/aggregator.Node/Ping', - requestStream: false, - responseStream: false, - requestType: avs_pb.Checkin, - responseType: avs_pb.CheckinResp, - requestSerialize: serialize_aggregator_Checkin, - requestDeserialize: deserialize_aggregator_Checkin, - responseSerialize: serialize_aggregator_CheckinResp, - responseDeserialize: deserialize_aggregator_CheckinResp, - }, - syncMessages: { - path: '/aggregator.Node/SyncMessages', - requestStream: false, - responseStream: true, - requestType: avs_pb.SyncMessagesReq, - responseType: avs_pb.SyncMessagesResp, - requestSerialize: serialize_aggregator_SyncMessagesReq, - requestDeserialize: deserialize_aggregator_SyncMessagesReq, - responseSerialize: serialize_aggregator_SyncMessagesResp, - responseDeserialize: deserialize_aggregator_SyncMessagesResp, - }, - ack: { - path: '/aggregator.Node/Ack', - requestStream: false, - responseStream: false, - requestType: avs_pb.AckMessageReq, - responseType: google_protobuf_wrappers_pb.BoolValue, - requestSerialize: serialize_aggregator_AckMessageReq, - requestDeserialize: deserialize_aggregator_AckMessageReq, - responseSerialize: serialize_google_protobuf_BoolValue, - responseDeserialize: deserialize_google_protobuf_BoolValue, - }, - notifyTriggers: { - path: '/aggregator.Node/NotifyTriggers', - requestStream: false, - responseStream: false, - requestType: avs_pb.NotifyTriggersReq, - responseType: avs_pb.NotifyTriggersResp, - requestSerialize: serialize_aggregator_NotifyTriggersReq, - requestDeserialize: deserialize_aggregator_NotifyTriggersReq, - responseSerialize: serialize_aggregator_NotifyTriggersResp, - responseDeserialize: deserialize_aggregator_NotifyTriggersResp, - }, -}; - -exports.NodeClient = grpc.makeGenericClientConstructor(NodeService); diff --git a/examples/static_codegen/avs_pb.js b/examples/static_codegen/avs_pb.js index ca67c28..dd55ea8 100644 --- a/examples/static_codegen/avs_pb.js +++ b/examples/static_codegen/avs_pb.js @@ -21,16 +21,10 @@ var global = (function() { return Function('return this')(); }.call(null)); -var google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js'); -goog.object.extend(proto, google_protobuf_timestamp_pb); var google_protobuf_wrappers_pb = require('google-protobuf/google/protobuf/wrappers_pb.js'); goog.object.extend(proto, google_protobuf_wrappers_pb); -goog.exportSymbol('proto.aggregator.AckMessageReq', null, global); goog.exportSymbol('proto.aggregator.BlockCondition', null, global); goog.exportSymbol('proto.aggregator.BranchNode', null, global); -goog.exportSymbol('proto.aggregator.Checkin', null, global); -goog.exportSymbol('proto.aggregator.Checkin.Status', null, global); -goog.exportSymbol('proto.aggregator.CheckinResp', null, global); goog.exportSymbol('proto.aggregator.Condition', null, global); goog.exportSymbol('proto.aggregator.ContractReadNode', null, global); goog.exportSymbol('proto.aggregator.ContractWriteNode', null, global); @@ -52,22 +46,19 @@ goog.exportSymbol('proto.aggregator.GetKeyReq', null, global); goog.exportSymbol('proto.aggregator.GraphQLQueryNode', null, global); goog.exportSymbol('proto.aggregator.IdReq', null, global); goog.exportSymbol('proto.aggregator.KeyResp', null, global); +goog.exportSymbol('proto.aggregator.ListExecutionsReq', null, global); +goog.exportSymbol('proto.aggregator.ListExecutionsResp', null, global); goog.exportSymbol('proto.aggregator.ListTasksReq', null, global); goog.exportSymbol('proto.aggregator.ListTasksResp', null, global); +goog.exportSymbol('proto.aggregator.ListTasksResp.Item', null, global); goog.exportSymbol('proto.aggregator.ListWalletReq', null, global); goog.exportSymbol('proto.aggregator.ListWalletResp', null, global); goog.exportSymbol('proto.aggregator.LoopNode', null, global); goog.exportSymbol('proto.aggregator.LoopNode.RunnerCase', null, global); -goog.exportSymbol('proto.aggregator.MessageOp', null, global); goog.exportSymbol('proto.aggregator.NonceRequest', null, global); goog.exportSymbol('proto.aggregator.NonceResp', null, global); -goog.exportSymbol('proto.aggregator.NotifyTriggersReq', null, global); -goog.exportSymbol('proto.aggregator.NotifyTriggersResp', null, global); goog.exportSymbol('proto.aggregator.RestAPINode', null, global); goog.exportSymbol('proto.aggregator.SmartWallet', null, global); -goog.exportSymbol('proto.aggregator.SyncMessagesReq', null, global); -goog.exportSymbol('proto.aggregator.SyncMessagesResp', null, global); -goog.exportSymbol('proto.aggregator.SyncMessagesResp.TaskMetadata', null, global); goog.exportSymbol('proto.aggregator.Task', null, global); goog.exportSymbol('proto.aggregator.TaskEdge', null, global); goog.exportSymbol('proto.aggregator.TaskNode', null, global); @@ -97,153 +88,6 @@ if (goog.DEBUG && !COMPILED) { */ proto.aggregator.IdReq.displayName = 'proto.aggregator.IdReq'; } -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.aggregator.Checkin = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); -}; -goog.inherits(proto.aggregator.Checkin, jspb.Message); -if (goog.DEBUG && !COMPILED) { - /** - * @public - * @override - */ - proto.aggregator.Checkin.displayName = 'proto.aggregator.Checkin'; -} -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.aggregator.Checkin.Status = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); -}; -goog.inherits(proto.aggregator.Checkin.Status, jspb.Message); -if (goog.DEBUG && !COMPILED) { - /** - * @public - * @override - */ - proto.aggregator.Checkin.Status.displayName = 'proto.aggregator.Checkin.Status'; -} -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.aggregator.CheckinResp = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); -}; -goog.inherits(proto.aggregator.CheckinResp, jspb.Message); -if (goog.DEBUG && !COMPILED) { - /** - * @public - * @override - */ - proto.aggregator.CheckinResp.displayName = 'proto.aggregator.CheckinResp'; -} -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.aggregator.SyncMessagesReq = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); -}; -goog.inherits(proto.aggregator.SyncMessagesReq, jspb.Message); -if (goog.DEBUG && !COMPILED) { - /** - * @public - * @override - */ - proto.aggregator.SyncMessagesReq.displayName = 'proto.aggregator.SyncMessagesReq'; -} -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.aggregator.SyncMessagesResp = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); -}; -goog.inherits(proto.aggregator.SyncMessagesResp, jspb.Message); -if (goog.DEBUG && !COMPILED) { - /** - * @public - * @override - */ - proto.aggregator.SyncMessagesResp.displayName = 'proto.aggregator.SyncMessagesResp'; -} -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.aggregator.SyncMessagesResp.TaskMetadata = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); -}; -goog.inherits(proto.aggregator.SyncMessagesResp.TaskMetadata, jspb.Message); -if (goog.DEBUG && !COMPILED) { - /** - * @public - * @override - */ - proto.aggregator.SyncMessagesResp.TaskMetadata.displayName = 'proto.aggregator.SyncMessagesResp.TaskMetadata'; -} -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.aggregator.AckMessageReq = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); -}; -goog.inherits(proto.aggregator.AckMessageReq, jspb.Message); -if (goog.DEBUG && !COMPILED) { - /** - * @public - * @override - */ - proto.aggregator.AckMessageReq.displayName = 'proto.aggregator.AckMessageReq'; -} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -863,16 +707,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.aggregator.GetKeyReq = function(opt_data) { +proto.aggregator.ListTasksResp.Item = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.aggregator.GetKeyReq, jspb.Message); +goog.inherits(proto.aggregator.ListTasksResp.Item, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.aggregator.GetKeyReq.displayName = 'proto.aggregator.GetKeyReq'; + proto.aggregator.ListTasksResp.Item.displayName = 'proto.aggregator.ListTasksResp.Item'; } /** * Generated by JsPbCodeGenerator. @@ -884,16 +728,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.aggregator.KeyResp = function(opt_data) { +proto.aggregator.ListExecutionsReq = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.aggregator.KeyResp, jspb.Message); +goog.inherits(proto.aggregator.ListExecutionsReq, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.aggregator.KeyResp.displayName = 'proto.aggregator.KeyResp'; + proto.aggregator.ListExecutionsReq.displayName = 'proto.aggregator.ListExecutionsReq'; } /** * Generated by JsPbCodeGenerator. @@ -905,16 +749,37 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.aggregator.TriggerMark = function(opt_data) { +proto.aggregator.ListExecutionsResp = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.aggregator.ListExecutionsResp.repeatedFields_, null); +}; +goog.inherits(proto.aggregator.ListExecutionsResp, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.aggregator.ListExecutionsResp.displayName = 'proto.aggregator.ListExecutionsResp'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.aggregator.GetKeyReq = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.aggregator.TriggerMark, jspb.Message); +goog.inherits(proto.aggregator.GetKeyReq, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.aggregator.TriggerMark.displayName = 'proto.aggregator.TriggerMark'; + proto.aggregator.GetKeyReq.displayName = 'proto.aggregator.GetKeyReq'; } /** * Generated by JsPbCodeGenerator. @@ -926,16 +791,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.aggregator.NotifyTriggersReq = function(opt_data) { +proto.aggregator.KeyResp = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.aggregator.NotifyTriggersReq, jspb.Message); +goog.inherits(proto.aggregator.KeyResp, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.aggregator.NotifyTriggersReq.displayName = 'proto.aggregator.NotifyTriggersReq'; + proto.aggregator.KeyResp.displayName = 'proto.aggregator.KeyResp'; } /** * Generated by JsPbCodeGenerator. @@ -947,16 +812,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.aggregator.NotifyTriggersResp = function(opt_data) { +proto.aggregator.TriggerMark = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.aggregator.NotifyTriggersResp, jspb.Message); +goog.inherits(proto.aggregator.TriggerMark, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.aggregator.NotifyTriggersResp.displayName = 'proto.aggregator.NotifyTriggersResp'; + proto.aggregator.TriggerMark.displayName = 'proto.aggregator.TriggerMark'; } /** * Generated by JsPbCodeGenerator. @@ -1131,6 +996,13 @@ proto.aggregator.IdReq.prototype.setId = function(value) { +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.aggregator.FixedEpochCondition.repeatedFields_ = [1]; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -1146,8 +1018,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.aggregator.Checkin.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.Checkin.toObject(opt_includeInstance, this); +proto.aggregator.FixedEpochCondition.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.FixedEpochCondition.toObject(opt_includeInstance, this); }; @@ -1156,19 +1028,13 @@ proto.aggregator.Checkin.prototype.toObject = function(opt_includeInstance) { * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.aggregator.Checkin} msg The msg instance to transform. + * @param {!proto.aggregator.FixedEpochCondition} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.Checkin.toObject = function(includeInstance, msg) { +proto.aggregator.FixedEpochCondition.toObject = function(includeInstance, msg) { var f, obj = { - id: jspb.Message.getFieldWithDefault(msg, 1, ""), - address: jspb.Message.getFieldWithDefault(msg, 2, ""), - signature: jspb.Message.getFieldWithDefault(msg, 3, ""), - status: (f = msg.getStatus()) && proto.aggregator.Checkin.Status.toObject(includeInstance, f), - version: jspb.Message.getFieldWithDefault(msg, 5, ""), - metricsport: jspb.Message.getFieldWithDefault(msg, 6, 0), - remoteip: jspb.Message.getFieldWithDefault(msg, 7, "") + epochsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f }; if (includeInstance) { @@ -1182,23 +1048,23 @@ proto.aggregator.Checkin.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.Checkin} + * @return {!proto.aggregator.FixedEpochCondition} */ -proto.aggregator.Checkin.deserializeBinary = function(bytes) { +proto.aggregator.FixedEpochCondition.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.Checkin; - return proto.aggregator.Checkin.deserializeBinaryFromReader(msg, reader); + var msg = new proto.aggregator.FixedEpochCondition; + return proto.aggregator.FixedEpochCondition.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.aggregator.Checkin} msg The message object to deserialize into. + * @param {!proto.aggregator.FixedEpochCondition} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.Checkin} + * @return {!proto.aggregator.FixedEpochCondition} */ -proto.aggregator.Checkin.deserializeBinaryFromReader = function(msg, reader) { +proto.aggregator.FixedEpochCondition.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -1206,33 +1072,10 @@ proto.aggregator.Checkin.deserializeBinaryFromReader = function(msg, reader) { var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {string} */ (reader.readString()); - msg.setId(value); - break; - case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setAddress(value); - break; - case 3: - var value = /** @type {string} */ (reader.readString()); - msg.setSignature(value); - break; - case 4: - var value = new proto.aggregator.Checkin.Status; - reader.readMessage(value,proto.aggregator.Checkin.Status.deserializeBinaryFromReader); - msg.setStatus(value); - break; - case 5: - var value = /** @type {string} */ (reader.readString()); - msg.setVersion(value); - break; - case 6: - var value = /** @type {number} */ (reader.readInt32()); - msg.setMetricsport(value); - break; - case 7: - var value = /** @type {string} */ (reader.readString()); - msg.setRemoteip(value); + var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedInt64() : [reader.readInt64()]); + for (var i = 0; i < values.length; i++) { + msg.addEpochs(values[i]); + } break; default: reader.skipField(); @@ -1247,9 +1090,9 @@ proto.aggregator.Checkin.deserializeBinaryFromReader = function(msg, reader) { * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.aggregator.Checkin.prototype.serializeBinary = function() { +proto.aggregator.FixedEpochCondition.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.aggregator.Checkin.serializeBinaryToWriter(this, writer); + proto.aggregator.FixedEpochCondition.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -1257,69 +1100,70 @@ proto.aggregator.Checkin.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.Checkin} message + * @param {!proto.aggregator.FixedEpochCondition} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.Checkin.serializeBinaryToWriter = function(message, writer) { +proto.aggregator.FixedEpochCondition.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getId(); + f = message.getEpochsList(); if (f.length > 0) { - writer.writeString( + writer.writePackedInt64( 1, f ); } - f = message.getAddress(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } - f = message.getSignature(); - if (f.length > 0) { - writer.writeString( - 3, - f - ); - } - f = message.getStatus(); - if (f != null) { - writer.writeMessage( - 4, - f, - proto.aggregator.Checkin.Status.serializeBinaryToWriter - ); - } - f = message.getVersion(); - if (f.length > 0) { - writer.writeString( - 5, - f - ); - } - f = message.getMetricsport(); - if (f !== 0) { - writer.writeInt32( - 6, - f - ); - } - f = message.getRemoteip(); - if (f.length > 0) { - writer.writeString( - 7, - f - ); - } }; - - - -if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * repeated int64 epochs = 1; + * @return {!Array} + */ +proto.aggregator.FixedEpochCondition.prototype.getEpochsList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +}; + + +/** + * @param {!Array} value + * @return {!proto.aggregator.FixedEpochCondition} returns this + */ +proto.aggregator.FixedEpochCondition.prototype.setEpochsList = function(value) { + return jspb.Message.setField(this, 1, value || []); +}; + + +/** + * @param {number} value + * @param {number=} opt_index + * @return {!proto.aggregator.FixedEpochCondition} returns this + */ +proto.aggregator.FixedEpochCondition.prototype.addEpochs = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.aggregator.FixedEpochCondition} returns this + */ +proto.aggregator.FixedEpochCondition.prototype.clearEpochsList = function() { + return this.setEpochsList([]); +}; + + + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.aggregator.CronCondition.repeatedFields_ = [1]; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. * Field names that are reserved in JavaScript and will be renamed to pb_name. @@ -1332,8 +1176,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.aggregator.Checkin.Status.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.Checkin.Status.toObject(opt_includeInstance, this); +proto.aggregator.CronCondition.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.CronCondition.toObject(opt_includeInstance, this); }; @@ -1342,15 +1186,13 @@ proto.aggregator.Checkin.Status.prototype.toObject = function(opt_includeInstanc * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.aggregator.Checkin.Status} msg The msg instance to transform. + * @param {!proto.aggregator.CronCondition} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.Checkin.Status.toObject = function(includeInstance, msg) { +proto.aggregator.CronCondition.toObject = function(includeInstance, msg) { var f, obj = { - uptime: jspb.Message.getFieldWithDefault(msg, 1, 0), - queuedepth: jspb.Message.getFieldWithDefault(msg, 2, 0), - lastHeartbeat: (f = msg.getLastHeartbeat()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f) + scheduleList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f }; if (includeInstance) { @@ -1364,23 +1206,23 @@ proto.aggregator.Checkin.Status.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.Checkin.Status} + * @return {!proto.aggregator.CronCondition} */ -proto.aggregator.Checkin.Status.deserializeBinary = function(bytes) { +proto.aggregator.CronCondition.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.Checkin.Status; - return proto.aggregator.Checkin.Status.deserializeBinaryFromReader(msg, reader); + var msg = new proto.aggregator.CronCondition; + return proto.aggregator.CronCondition.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.aggregator.Checkin.Status} msg The message object to deserialize into. + * @param {!proto.aggregator.CronCondition} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.Checkin.Status} + * @return {!proto.aggregator.CronCondition} */ -proto.aggregator.Checkin.Status.deserializeBinaryFromReader = function(msg, reader) { +proto.aggregator.CronCondition.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -1388,17 +1230,8 @@ proto.aggregator.Checkin.Status.deserializeBinaryFromReader = function(msg, read var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {number} */ (reader.readInt64()); - msg.setUptime(value); - break; - case 2: - var value = /** @type {number} */ (reader.readInt64()); - msg.setQueuedepth(value); - break; - case 3: - var value = new google_protobuf_timestamp_pb.Timestamp; - reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader); - msg.setLastHeartbeat(value); + var value = /** @type {string} */ (reader.readString()); + msg.addSchedule(value); break; default: reader.skipField(); @@ -1413,9 +1246,9 @@ proto.aggregator.Checkin.Status.deserializeBinaryFromReader = function(msg, read * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.aggregator.Checkin.Status.prototype.serializeBinary = function() { +proto.aggregator.CronCondition.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.aggregator.Checkin.Status.serializeBinaryToWriter(this, writer); + proto.aggregator.CronCondition.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -1423,273 +1256,207 @@ proto.aggregator.Checkin.Status.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.Checkin.Status} message + * @param {!proto.aggregator.CronCondition} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.Checkin.Status.serializeBinaryToWriter = function(message, writer) { +proto.aggregator.CronCondition.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getUptime(); - if (f !== 0) { - writer.writeInt64( + f = message.getScheduleList(); + if (f.length > 0) { + writer.writeRepeatedString( 1, f ); } - f = message.getQueuedepth(); - if (f !== 0) { - writer.writeInt64( - 2, - f - ); - } - f = message.getLastHeartbeat(); - if (f != null) { - writer.writeMessage( - 3, - f, - google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter - ); - } }; /** - * optional int64 uptime = 1; - * @return {number} + * repeated string schedule = 1; + * @return {!Array} */ -proto.aggregator.Checkin.Status.prototype.getUptime = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +proto.aggregator.CronCondition.prototype.getScheduleList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; /** - * @param {number} value - * @return {!proto.aggregator.Checkin.Status} returns this + * @param {!Array} value + * @return {!proto.aggregator.CronCondition} returns this */ -proto.aggregator.Checkin.Status.prototype.setUptime = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); +proto.aggregator.CronCondition.prototype.setScheduleList = function(value) { + return jspb.Message.setField(this, 1, value || []); }; /** - * optional int64 queueDepth = 2; - * @return {number} + * @param {string} value + * @param {number=} opt_index + * @return {!proto.aggregator.CronCondition} returns this */ -proto.aggregator.Checkin.Status.prototype.getQueuedepth = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +proto.aggregator.CronCondition.prototype.addSchedule = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); }; /** - * @param {number} value - * @return {!proto.aggregator.Checkin.Status} returns this + * Clears the list making it empty but non-null. + * @return {!proto.aggregator.CronCondition} returns this */ -proto.aggregator.Checkin.Status.prototype.setQueuedepth = function(value) { - return jspb.Message.setProto3IntField(this, 2, value); +proto.aggregator.CronCondition.prototype.clearScheduleList = function() { + return this.setScheduleList([]); }; -/** - * optional google.protobuf.Timestamp last_heartbeat = 3; - * @return {?proto.google.protobuf.Timestamp} - */ -proto.aggregator.Checkin.Status.prototype.getLastHeartbeat = function() { - return /** @type{?proto.google.protobuf.Timestamp} */ ( - jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 3)); -}; - -/** - * @param {?proto.google.protobuf.Timestamp|undefined} value - * @return {!proto.aggregator.Checkin.Status} returns this -*/ -proto.aggregator.Checkin.Status.prototype.setLastHeartbeat = function(value) { - return jspb.Message.setWrapperField(this, 3, value); -}; +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Clears the message field making it undefined. - * @return {!proto.aggregator.Checkin.Status} returns this + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.aggregator.Checkin.Status.prototype.clearLastHeartbeat = function() { - return this.setLastHeartbeat(undefined); +proto.aggregator.BlockCondition.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.BlockCondition.toObject(opt_includeInstance, this); }; /** - * Returns whether this field is set. - * @return {boolean} + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.aggregator.BlockCondition} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.Checkin.Status.prototype.hasLastHeartbeat = function() { - return jspb.Message.getField(this, 3) != null; -}; - +proto.aggregator.BlockCondition.toObject = function(includeInstance, msg) { + var f, obj = { + interval: jspb.Message.getFieldWithDefault(msg, 1, 0) + }; -/** - * optional string id = 1; - * @return {string} - */ -proto.aggregator.Checkin.prototype.getId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * @param {string} value - * @return {!proto.aggregator.Checkin} returns this + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.aggregator.BlockCondition} */ -proto.aggregator.Checkin.prototype.setId = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); +proto.aggregator.BlockCondition.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.aggregator.BlockCondition; + return proto.aggregator.BlockCondition.deserializeBinaryFromReader(msg, reader); }; /** - * optional string address = 2; - * @return {string} + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.aggregator.BlockCondition} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.aggregator.BlockCondition} */ -proto.aggregator.Checkin.prototype.getAddress = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +proto.aggregator.BlockCondition.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {number} */ (reader.readInt64()); + msg.setInterval(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * @param {string} value - * @return {!proto.aggregator.Checkin} returns this + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.aggregator.Checkin.prototype.setAddress = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); +proto.aggregator.BlockCondition.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.aggregator.BlockCondition.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * optional string signature = 3; - * @return {string} + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.aggregator.BlockCondition} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.Checkin.prototype.getSignature = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +proto.aggregator.BlockCondition.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getInterval(); + if (f !== 0) { + writer.writeInt64( + 1, + f + ); + } }; /** - * @param {string} value - * @return {!proto.aggregator.Checkin} returns this + * optional int64 interval = 1; + * @return {number} */ -proto.aggregator.Checkin.prototype.setSignature = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); +proto.aggregator.BlockCondition.prototype.getInterval = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * optional Status status = 4; - * @return {?proto.aggregator.Checkin.Status} + * @param {number} value + * @return {!proto.aggregator.BlockCondition} returns this */ -proto.aggregator.Checkin.prototype.getStatus = function() { - return /** @type{?proto.aggregator.Checkin.Status} */ ( - jspb.Message.getWrapperField(this, proto.aggregator.Checkin.Status, 4)); +proto.aggregator.BlockCondition.prototype.setInterval = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); }; -/** - * @param {?proto.aggregator.Checkin.Status|undefined} value - * @return {!proto.aggregator.Checkin} returns this -*/ -proto.aggregator.Checkin.prototype.setStatus = function(value) { - return jspb.Message.setWrapperField(this, 4, value); -}; - -/** - * Clears the message field making it undefined. - * @return {!proto.aggregator.Checkin} returns this - */ -proto.aggregator.Checkin.prototype.clearStatus = function() { - return this.setStatus(undefined); -}; +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Returns whether this field is set. - * @return {boolean} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.aggregator.Checkin.prototype.hasStatus = function() { - return jspb.Message.getField(this, 4) != null; -}; - - -/** - * optional string version = 5; - * @return {string} - */ -proto.aggregator.Checkin.prototype.getVersion = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); -}; - - -/** - * @param {string} value - * @return {!proto.aggregator.Checkin} returns this - */ -proto.aggregator.Checkin.prototype.setVersion = function(value) { - return jspb.Message.setProto3StringField(this, 5, value); -}; - - -/** - * optional int32 metricsPort = 6; - * @return {number} - */ -proto.aggregator.Checkin.prototype.getMetricsport = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0)); -}; - - -/** - * @param {number} value - * @return {!proto.aggregator.Checkin} returns this - */ -proto.aggregator.Checkin.prototype.setMetricsport = function(value) { - return jspb.Message.setProto3IntField(this, 6, value); -}; - - -/** - * optional string remoteIP = 7; - * @return {string} - */ -proto.aggregator.Checkin.prototype.getRemoteip = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, "")); -}; - - -/** - * @param {string} value - * @return {!proto.aggregator.Checkin} returns this - */ -proto.aggregator.Checkin.prototype.setRemoteip = function(value) { - return jspb.Message.setProto3StringField(this, 7, value); -}; - - - - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.aggregator.CheckinResp.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.CheckinResp.toObject(opt_includeInstance, this); +proto.aggregator.EventCondition.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.EventCondition.toObject(opt_includeInstance, this); }; @@ -1698,13 +1465,13 @@ proto.aggregator.CheckinResp.prototype.toObject = function(opt_includeInstance) * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.aggregator.CheckinResp} msg The msg instance to transform. + * @param {!proto.aggregator.EventCondition} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.CheckinResp.toObject = function(includeInstance, msg) { +proto.aggregator.EventCondition.toObject = function(includeInstance, msg) { var f, obj = { - updatedAt: (f = msg.getUpdatedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f) + expression: jspb.Message.getFieldWithDefault(msg, 1, "") }; if (includeInstance) { @@ -1718,23 +1485,23 @@ proto.aggregator.CheckinResp.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.CheckinResp} + * @return {!proto.aggregator.EventCondition} */ -proto.aggregator.CheckinResp.deserializeBinary = function(bytes) { +proto.aggregator.EventCondition.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.CheckinResp; - return proto.aggregator.CheckinResp.deserializeBinaryFromReader(msg, reader); + var msg = new proto.aggregator.EventCondition; + return proto.aggregator.EventCondition.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.aggregator.CheckinResp} msg The message object to deserialize into. + * @param {!proto.aggregator.EventCondition} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.CheckinResp} + * @return {!proto.aggregator.EventCondition} */ -proto.aggregator.CheckinResp.deserializeBinaryFromReader = function(msg, reader) { +proto.aggregator.EventCondition.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -1742,9 +1509,8 @@ proto.aggregator.CheckinResp.deserializeBinaryFromReader = function(msg, reader) var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new google_protobuf_timestamp_pb.Timestamp; - reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader); - msg.setUpdatedAt(value); + var value = /** @type {string} */ (reader.readString()); + msg.setExpression(value); break; default: reader.skipField(); @@ -1759,9 +1525,9 @@ proto.aggregator.CheckinResp.deserializeBinaryFromReader = function(msg, reader) * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.aggregator.CheckinResp.prototype.serializeBinary = function() { +proto.aggregator.EventCondition.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.aggregator.CheckinResp.serializeBinaryToWriter(this, writer); + proto.aggregator.EventCondition.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -1769,60 +1535,69 @@ proto.aggregator.CheckinResp.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.CheckinResp} message + * @param {!proto.aggregator.EventCondition} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.CheckinResp.serializeBinaryToWriter = function(message, writer) { +proto.aggregator.EventCondition.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getUpdatedAt(); - if (f != null) { - writer.writeMessage( + f = message.getExpression(); + if (f.length > 0) { + writer.writeString( 1, - f, - google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter + f ); } }; /** - * optional google.protobuf.Timestamp updated_at = 1; - * @return {?proto.google.protobuf.Timestamp} + * optional string expression = 1; + * @return {string} */ -proto.aggregator.CheckinResp.prototype.getUpdatedAt = function() { - return /** @type{?proto.google.protobuf.Timestamp} */ ( - jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 1)); +proto.aggregator.EventCondition.prototype.getExpression = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * @param {?proto.google.protobuf.Timestamp|undefined} value - * @return {!proto.aggregator.CheckinResp} returns this -*/ -proto.aggregator.CheckinResp.prototype.setUpdatedAt = function(value) { - return jspb.Message.setWrapperField(this, 1, value); + * @param {string} value + * @return {!proto.aggregator.EventCondition} returns this + */ +proto.aggregator.EventCondition.prototype.setExpression = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); }; + /** - * Clears the message field making it undefined. - * @return {!proto.aggregator.CheckinResp} returns this + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.aggregator.CheckinResp.prototype.clearUpdatedAt = function() { - return this.setUpdatedAt(undefined); -}; - +proto.aggregator.TaskTrigger.oneofGroups_ = [[2,3,4,5,6]]; /** - * Returns whether this field is set. - * @return {boolean} + * @enum {number} */ -proto.aggregator.CheckinResp.prototype.hasUpdatedAt = function() { - return jspb.Message.getField(this, 1) != null; +proto.aggregator.TaskTrigger.TriggerTypeCase = { + TRIGGER_TYPE_NOT_SET: 0, + MANUAL: 2, + FIXED_TIME: 3, + CRON: 4, + BLOCK: 5, + EVENT: 6 }; - +/** + * @return {proto.aggregator.TaskTrigger.TriggerTypeCase} + */ +proto.aggregator.TaskTrigger.prototype.getTriggerTypeCase = function() { + return /** @type {proto.aggregator.TaskTrigger.TriggerTypeCase} */(jspb.Message.computeOneofCase(this, proto.aggregator.TaskTrigger.oneofGroups_[0])); +}; @@ -1839,8 +1614,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.aggregator.SyncMessagesReq.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.SyncMessagesReq.toObject(opt_includeInstance, this); +proto.aggregator.TaskTrigger.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.TaskTrigger.toObject(opt_includeInstance, this); }; @@ -1849,16 +1624,18 @@ proto.aggregator.SyncMessagesReq.prototype.toObject = function(opt_includeInstan * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.aggregator.SyncMessagesReq} msg The msg instance to transform. + * @param {!proto.aggregator.TaskTrigger} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.SyncMessagesReq.toObject = function(includeInstance, msg) { +proto.aggregator.TaskTrigger.toObject = function(includeInstance, msg) { var f, obj = { - id: jspb.Message.getFieldWithDefault(msg, 1, ""), - address: jspb.Message.getFieldWithDefault(msg, 2, ""), - signature: msg.getSignature_asB64(), - monotonicClock: jspb.Message.getFieldWithDefault(msg, 4, 0) + name: jspb.Message.getFieldWithDefault(msg, 1, ""), + manual: jspb.Message.getBooleanFieldWithDefault(msg, 2, false), + fixedTime: (f = msg.getFixedTime()) && proto.aggregator.FixedEpochCondition.toObject(includeInstance, f), + cron: (f = msg.getCron()) && proto.aggregator.CronCondition.toObject(includeInstance, f), + block: (f = msg.getBlock()) && proto.aggregator.BlockCondition.toObject(includeInstance, f), + event: (f = msg.getEvent()) && proto.aggregator.EventCondition.toObject(includeInstance, f) }; if (includeInstance) { @@ -1872,23 +1649,23 @@ proto.aggregator.SyncMessagesReq.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.SyncMessagesReq} + * @return {!proto.aggregator.TaskTrigger} */ -proto.aggregator.SyncMessagesReq.deserializeBinary = function(bytes) { +proto.aggregator.TaskTrigger.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.SyncMessagesReq; - return proto.aggregator.SyncMessagesReq.deserializeBinaryFromReader(msg, reader); + var msg = new proto.aggregator.TaskTrigger; + return proto.aggregator.TaskTrigger.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.aggregator.SyncMessagesReq} msg The message object to deserialize into. + * @param {!proto.aggregator.TaskTrigger} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.SyncMessagesReq} + * @return {!proto.aggregator.TaskTrigger} */ -proto.aggregator.SyncMessagesReq.deserializeBinaryFromReader = function(msg, reader) { +proto.aggregator.TaskTrigger.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -1897,19 +1674,31 @@ proto.aggregator.SyncMessagesReq.deserializeBinaryFromReader = function(msg, rea switch (field) { case 1: var value = /** @type {string} */ (reader.readString()); - msg.setId(value); + msg.setName(value); break; case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setAddress(value); + var value = /** @type {boolean} */ (reader.readBool()); + msg.setManual(value); break; case 3: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setSignature(value); + var value = new proto.aggregator.FixedEpochCondition; + reader.readMessage(value,proto.aggregator.FixedEpochCondition.deserializeBinaryFromReader); + msg.setFixedTime(value); break; case 4: - var value = /** @type {number} */ (reader.readInt64()); - msg.setMonotonicClock(value); + var value = new proto.aggregator.CronCondition; + reader.readMessage(value,proto.aggregator.CronCondition.deserializeBinaryFromReader); + msg.setCron(value); + break; + case 5: + var value = new proto.aggregator.BlockCondition; + reader.readMessage(value,proto.aggregator.BlockCondition.deserializeBinaryFromReader); + msg.setBlock(value); + break; + case 6: + var value = new proto.aggregator.EventCondition; + reader.readMessage(value,proto.aggregator.EventCondition.deserializeBinaryFromReader); + msg.setEvent(value); break; default: reader.skipField(); @@ -1924,9 +1713,9 @@ proto.aggregator.SyncMessagesReq.deserializeBinaryFromReader = function(msg, rea * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.aggregator.SyncMessagesReq.prototype.serializeBinary = function() { +proto.aggregator.TaskTrigger.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.aggregator.SyncMessagesReq.serializeBinaryToWriter(this, writer); + proto.aggregator.TaskTrigger.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -1934,136 +1723,260 @@ proto.aggregator.SyncMessagesReq.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.SyncMessagesReq} message + * @param {!proto.aggregator.TaskTrigger} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.SyncMessagesReq.serializeBinaryToWriter = function(message, writer) { +proto.aggregator.TaskTrigger.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getId(); + f = message.getName(); if (f.length > 0) { writer.writeString( 1, f ); } - f = message.getAddress(); - if (f.length > 0) { - writer.writeString( + f = /** @type {boolean} */ (jspb.Message.getField(message, 2)); + if (f != null) { + writer.writeBool( 2, f ); } - f = message.getSignature_asU8(); - if (f.length > 0) { - writer.writeBytes( + f = message.getFixedTime(); + if (f != null) { + writer.writeMessage( 3, - f + f, + proto.aggregator.FixedEpochCondition.serializeBinaryToWriter ); } - f = message.getMonotonicClock(); - if (f !== 0) { - writer.writeInt64( + f = message.getCron(); + if (f != null) { + writer.writeMessage( 4, - f + f, + proto.aggregator.CronCondition.serializeBinaryToWriter + ); + } + f = message.getBlock(); + if (f != null) { + writer.writeMessage( + 5, + f, + proto.aggregator.BlockCondition.serializeBinaryToWriter + ); + } + f = message.getEvent(); + if (f != null) { + writer.writeMessage( + 6, + f, + proto.aggregator.EventCondition.serializeBinaryToWriter ); } }; /** - * optional string id = 1; + * optional string name = 1; * @return {string} */ -proto.aggregator.SyncMessagesReq.prototype.getId = function() { +proto.aggregator.TaskTrigger.prototype.getName = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.aggregator.SyncMessagesReq} returns this + * @return {!proto.aggregator.TaskTrigger} returns this */ -proto.aggregator.SyncMessagesReq.prototype.setId = function(value) { +proto.aggregator.TaskTrigger.prototype.setName = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; /** - * optional string address = 2; - * @return {string} + * optional bool manual = 2; + * @return {boolean} */ -proto.aggregator.SyncMessagesReq.prototype.getAddress = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +proto.aggregator.TaskTrigger.prototype.getManual = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; /** - * @param {string} value - * @return {!proto.aggregator.SyncMessagesReq} returns this + * @param {boolean} value + * @return {!proto.aggregator.TaskTrigger} returns this */ -proto.aggregator.SyncMessagesReq.prototype.setAddress = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); +proto.aggregator.TaskTrigger.prototype.setManual = function(value) { + return jspb.Message.setOneofField(this, 2, proto.aggregator.TaskTrigger.oneofGroups_[0], value); }; /** - * optional bytes signature = 3; - * @return {!(string|Uint8Array)} + * Clears the field making it undefined. + * @return {!proto.aggregator.TaskTrigger} returns this */ -proto.aggregator.SyncMessagesReq.prototype.getSignature = function() { - return /** @type {!(string|Uint8Array)} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +proto.aggregator.TaskTrigger.prototype.clearManual = function() { + return jspb.Message.setOneofField(this, 2, proto.aggregator.TaskTrigger.oneofGroups_[0], undefined); }; /** - * optional bytes signature = 3; - * This is a type-conversion wrapper around `getSignature()` - * @return {string} + * Returns whether this field is set. + * @return {boolean} */ -proto.aggregator.SyncMessagesReq.prototype.getSignature_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getSignature())); +proto.aggregator.TaskTrigger.prototype.hasManual = function() { + return jspb.Message.getField(this, 2) != null; }; /** - * optional bytes signature = 3; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getSignature()` - * @return {!Uint8Array} + * optional FixedEpochCondition fixed_time = 3; + * @return {?proto.aggregator.FixedEpochCondition} */ -proto.aggregator.SyncMessagesReq.prototype.getSignature_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getSignature())); +proto.aggregator.TaskTrigger.prototype.getFixedTime = function() { + return /** @type{?proto.aggregator.FixedEpochCondition} */ ( + jspb.Message.getWrapperField(this, proto.aggregator.FixedEpochCondition, 3)); }; /** - * @param {!(string|Uint8Array)} value - * @return {!proto.aggregator.SyncMessagesReq} returns this - */ -proto.aggregator.SyncMessagesReq.prototype.setSignature = function(value) { - return jspb.Message.setProto3BytesField(this, 3, value); + * @param {?proto.aggregator.FixedEpochCondition|undefined} value + * @return {!proto.aggregator.TaskTrigger} returns this +*/ +proto.aggregator.TaskTrigger.prototype.setFixedTime = function(value) { + return jspb.Message.setOneofWrapperField(this, 3, proto.aggregator.TaskTrigger.oneofGroups_[0], value); }; /** - * optional int64 monotonic_clock = 4; - * @return {number} + * Clears the message field making it undefined. + * @return {!proto.aggregator.TaskTrigger} returns this */ -proto.aggregator.SyncMessagesReq.prototype.getMonotonicClock = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +proto.aggregator.TaskTrigger.prototype.clearFixedTime = function() { + return this.setFixedTime(undefined); }; /** - * @param {number} value - * @return {!proto.aggregator.SyncMessagesReq} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.aggregator.SyncMessagesReq.prototype.setMonotonicClock = function(value) { - return jspb.Message.setProto3IntField(this, 4, value); +proto.aggregator.TaskTrigger.prototype.hasFixedTime = function() { + return jspb.Message.getField(this, 3) != null; +}; + + +/** + * optional CronCondition cron = 4; + * @return {?proto.aggregator.CronCondition} + */ +proto.aggregator.TaskTrigger.prototype.getCron = function() { + return /** @type{?proto.aggregator.CronCondition} */ ( + jspb.Message.getWrapperField(this, proto.aggregator.CronCondition, 4)); +}; + + +/** + * @param {?proto.aggregator.CronCondition|undefined} value + * @return {!proto.aggregator.TaskTrigger} returns this +*/ +proto.aggregator.TaskTrigger.prototype.setCron = function(value) { + return jspb.Message.setOneofWrapperField(this, 4, proto.aggregator.TaskTrigger.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.aggregator.TaskTrigger} returns this + */ +proto.aggregator.TaskTrigger.prototype.clearCron = function() { + return this.setCron(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.aggregator.TaskTrigger.prototype.hasCron = function() { + return jspb.Message.getField(this, 4) != null; +}; + + +/** + * optional BlockCondition block = 5; + * @return {?proto.aggregator.BlockCondition} + */ +proto.aggregator.TaskTrigger.prototype.getBlock = function() { + return /** @type{?proto.aggregator.BlockCondition} */ ( + jspb.Message.getWrapperField(this, proto.aggregator.BlockCondition, 5)); +}; + + +/** + * @param {?proto.aggregator.BlockCondition|undefined} value + * @return {!proto.aggregator.TaskTrigger} returns this +*/ +proto.aggregator.TaskTrigger.prototype.setBlock = function(value) { + return jspb.Message.setOneofWrapperField(this, 5, proto.aggregator.TaskTrigger.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.aggregator.TaskTrigger} returns this + */ +proto.aggregator.TaskTrigger.prototype.clearBlock = function() { + return this.setBlock(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.aggregator.TaskTrigger.prototype.hasBlock = function() { + return jspb.Message.getField(this, 5) != null; +}; + + +/** + * optional EventCondition event = 6; + * @return {?proto.aggregator.EventCondition} + */ +proto.aggregator.TaskTrigger.prototype.getEvent = function() { + return /** @type{?proto.aggregator.EventCondition} */ ( + jspb.Message.getWrapperField(this, proto.aggregator.EventCondition, 6)); +}; + + +/** + * @param {?proto.aggregator.EventCondition|undefined} value + * @return {!proto.aggregator.TaskTrigger} returns this +*/ +proto.aggregator.TaskTrigger.prototype.setEvent = function(value) { + return jspb.Message.setOneofWrapperField(this, 6, proto.aggregator.TaskTrigger.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.aggregator.TaskTrigger} returns this + */ +proto.aggregator.TaskTrigger.prototype.clearEvent = function() { + return this.setEvent(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.aggregator.TaskTrigger.prototype.hasEvent = function() { + return jspb.Message.getField(this, 6) != null; }; @@ -2083,8 +1996,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.aggregator.SyncMessagesResp.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.SyncMessagesResp.toObject(opt_includeInstance, this); +proto.aggregator.ETHTransferNode.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.ETHTransferNode.toObject(opt_includeInstance, this); }; @@ -2093,15 +2006,14 @@ proto.aggregator.SyncMessagesResp.prototype.toObject = function(opt_includeInsta * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.aggregator.SyncMessagesResp} msg The msg instance to transform. + * @param {!proto.aggregator.ETHTransferNode} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.SyncMessagesResp.toObject = function(includeInstance, msg) { +proto.aggregator.ETHTransferNode.toObject = function(includeInstance, msg) { var f, obj = { - id: jspb.Message.getFieldWithDefault(msg, 1, ""), - op: jspb.Message.getFieldWithDefault(msg, 2, 0), - taskMetadata: (f = msg.getTaskMetadata()) && proto.aggregator.SyncMessagesResp.TaskMetadata.toObject(includeInstance, f) + destination: jspb.Message.getFieldWithDefault(msg, 1, ""), + amount: jspb.Message.getFieldWithDefault(msg, 2, "") }; if (includeInstance) { @@ -2115,23 +2027,23 @@ proto.aggregator.SyncMessagesResp.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.SyncMessagesResp} + * @return {!proto.aggregator.ETHTransferNode} */ -proto.aggregator.SyncMessagesResp.deserializeBinary = function(bytes) { +proto.aggregator.ETHTransferNode.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.SyncMessagesResp; - return proto.aggregator.SyncMessagesResp.deserializeBinaryFromReader(msg, reader); + var msg = new proto.aggregator.ETHTransferNode; + return proto.aggregator.ETHTransferNode.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.aggregator.SyncMessagesResp} msg The message object to deserialize into. + * @param {!proto.aggregator.ETHTransferNode} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.SyncMessagesResp} + * @return {!proto.aggregator.ETHTransferNode} */ -proto.aggregator.SyncMessagesResp.deserializeBinaryFromReader = function(msg, reader) { +proto.aggregator.ETHTransferNode.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -2140,16 +2052,11 @@ proto.aggregator.SyncMessagesResp.deserializeBinaryFromReader = function(msg, re switch (field) { case 1: var value = /** @type {string} */ (reader.readString()); - msg.setId(value); + msg.setDestination(value); break; case 2: - var value = /** @type {!proto.aggregator.MessageOp} */ (reader.readEnum()); - msg.setOp(value); - break; - case 3: - var value = new proto.aggregator.SyncMessagesResp.TaskMetadata; - reader.readMessage(value,proto.aggregator.SyncMessagesResp.TaskMetadata.deserializeBinaryFromReader); - msg.setTaskMetadata(value); + var value = /** @type {string} */ (reader.readString()); + msg.setAmount(value); break; default: reader.skipField(); @@ -2164,9 +2071,9 @@ proto.aggregator.SyncMessagesResp.deserializeBinaryFromReader = function(msg, re * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.aggregator.SyncMessagesResp.prototype.serializeBinary = function() { +proto.aggregator.ETHTransferNode.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.aggregator.SyncMessagesResp.serializeBinaryToWriter(this, writer); + proto.aggregator.ETHTransferNode.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -2174,34 +2081,62 @@ proto.aggregator.SyncMessagesResp.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.SyncMessagesResp} message + * @param {!proto.aggregator.ETHTransferNode} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.SyncMessagesResp.serializeBinaryToWriter = function(message, writer) { +proto.aggregator.ETHTransferNode.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getId(); + f = message.getDestination(); if (f.length > 0) { writer.writeString( 1, f ); } - f = message.getOp(); - if (f !== 0.0) { - writer.writeEnum( + f = message.getAmount(); + if (f.length > 0) { + writer.writeString( 2, f ); } - f = message.getTaskMetadata(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.aggregator.SyncMessagesResp.TaskMetadata.serializeBinaryToWriter - ); - } +}; + + +/** + * optional string destination = 1; + * @return {string} + */ +proto.aggregator.ETHTransferNode.prototype.getDestination = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.aggregator.ETHTransferNode} returns this + */ +proto.aggregator.ETHTransferNode.prototype.setDestination = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * optional string amount = 2; + * @return {string} + */ +proto.aggregator.ETHTransferNode.prototype.getAmount = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.aggregator.ETHTransferNode} returns this + */ +proto.aggregator.ETHTransferNode.prototype.setAmount = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); }; @@ -2221,8 +2156,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.aggregator.SyncMessagesResp.TaskMetadata.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.SyncMessagesResp.TaskMetadata.toObject(opt_includeInstance, this); +proto.aggregator.ContractWriteNode.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.ContractWriteNode.toObject(opt_includeInstance, this); }; @@ -2231,16 +2166,15 @@ proto.aggregator.SyncMessagesResp.TaskMetadata.prototype.toObject = function(opt * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.aggregator.SyncMessagesResp.TaskMetadata} msg The msg instance to transform. + * @param {!proto.aggregator.ContractWriteNode} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.SyncMessagesResp.TaskMetadata.toObject = function(includeInstance, msg) { +proto.aggregator.ContractWriteNode.toObject = function(includeInstance, msg) { var f, obj = { - taskId: jspb.Message.getFieldWithDefault(msg, 1, ""), - remain: jspb.Message.getFieldWithDefault(msg, 2, 0), - expiredAt: jspb.Message.getFieldWithDefault(msg, 3, 0), - trigger: (f = msg.getTrigger()) && proto.aggregator.TaskTrigger.toObject(includeInstance, f) + contractAddress: jspb.Message.getFieldWithDefault(msg, 1, ""), + callData: jspb.Message.getFieldWithDefault(msg, 2, ""), + contractAbi: jspb.Message.getFieldWithDefault(msg, 3, "") }; if (includeInstance) { @@ -2254,23 +2188,23 @@ proto.aggregator.SyncMessagesResp.TaskMetadata.toObject = function(includeInstan /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.SyncMessagesResp.TaskMetadata} + * @return {!proto.aggregator.ContractWriteNode} */ -proto.aggregator.SyncMessagesResp.TaskMetadata.deserializeBinary = function(bytes) { +proto.aggregator.ContractWriteNode.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.SyncMessagesResp.TaskMetadata; - return proto.aggregator.SyncMessagesResp.TaskMetadata.deserializeBinaryFromReader(msg, reader); + var msg = new proto.aggregator.ContractWriteNode; + return proto.aggregator.ContractWriteNode.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.aggregator.SyncMessagesResp.TaskMetadata} msg The message object to deserialize into. + * @param {!proto.aggregator.ContractWriteNode} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.SyncMessagesResp.TaskMetadata} + * @return {!proto.aggregator.ContractWriteNode} */ -proto.aggregator.SyncMessagesResp.TaskMetadata.deserializeBinaryFromReader = function(msg, reader) { +proto.aggregator.ContractWriteNode.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -2279,20 +2213,15 @@ proto.aggregator.SyncMessagesResp.TaskMetadata.deserializeBinaryFromReader = fun switch (field) { case 1: var value = /** @type {string} */ (reader.readString()); - msg.setTaskId(value); + msg.setContractAddress(value); break; case 2: - var value = /** @type {number} */ (reader.readInt64()); - msg.setRemain(value); + var value = /** @type {string} */ (reader.readString()); + msg.setCallData(value); break; case 3: - var value = /** @type {number} */ (reader.readInt64()); - msg.setExpiredAt(value); - break; - case 4: - var value = new proto.aggregator.TaskTrigger; - reader.readMessage(value,proto.aggregator.TaskTrigger.deserializeBinaryFromReader); - msg.setTrigger(value); + var value = /** @type {string} */ (reader.readString()); + msg.setContractAbi(value); break; default: reader.skipField(); @@ -2307,9 +2236,9 @@ proto.aggregator.SyncMessagesResp.TaskMetadata.deserializeBinaryFromReader = fun * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.aggregator.SyncMessagesResp.TaskMetadata.prototype.serializeBinary = function() { +proto.aggregator.ContractWriteNode.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.aggregator.SyncMessagesResp.TaskMetadata.serializeBinaryToWriter(this, writer); + proto.aggregator.ContractWriteNode.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -2317,205 +2246,87 @@ proto.aggregator.SyncMessagesResp.TaskMetadata.prototype.serializeBinary = funct /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.SyncMessagesResp.TaskMetadata} message + * @param {!proto.aggregator.ContractWriteNode} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.SyncMessagesResp.TaskMetadata.serializeBinaryToWriter = function(message, writer) { +proto.aggregator.ContractWriteNode.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getTaskId(); + f = message.getContractAddress(); if (f.length > 0) { writer.writeString( 1, f ); } - f = message.getRemain(); - if (f !== 0) { - writer.writeInt64( + f = message.getCallData(); + if (f.length > 0) { + writer.writeString( 2, f ); } - f = message.getExpiredAt(); - if (f !== 0) { - writer.writeInt64( + f = message.getContractAbi(); + if (f.length > 0) { + writer.writeString( 3, f ); } - f = message.getTrigger(); - if (f != null) { - writer.writeMessage( - 4, - f, - proto.aggregator.TaskTrigger.serializeBinaryToWriter - ); - } }; /** - * optional string task_id = 1; + * optional string contract_address = 1; * @return {string} */ -proto.aggregator.SyncMessagesResp.TaskMetadata.prototype.getTaskId = function() { +proto.aggregator.ContractWriteNode.prototype.getContractAddress = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.aggregator.SyncMessagesResp.TaskMetadata} returns this + * @return {!proto.aggregator.ContractWriteNode} returns this */ -proto.aggregator.SyncMessagesResp.TaskMetadata.prototype.setTaskId = function(value) { +proto.aggregator.ContractWriteNode.prototype.setContractAddress = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; /** - * optional int64 remain = 2; - * @return {number} + * optional string call_data = 2; + * @return {string} */ -proto.aggregator.SyncMessagesResp.TaskMetadata.prototype.getRemain = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +proto.aggregator.ContractWriteNode.prototype.getCallData = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * @param {number} value - * @return {!proto.aggregator.SyncMessagesResp.TaskMetadata} returns this + * @param {string} value + * @return {!proto.aggregator.ContractWriteNode} returns this */ -proto.aggregator.SyncMessagesResp.TaskMetadata.prototype.setRemain = function(value) { - return jspb.Message.setProto3IntField(this, 2, value); +proto.aggregator.ContractWriteNode.prototype.setCallData = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); }; /** - * optional int64 expired_at = 3; - * @return {number} - */ -proto.aggregator.SyncMessagesResp.TaskMetadata.prototype.getExpiredAt = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); -}; - - -/** - * @param {number} value - * @return {!proto.aggregator.SyncMessagesResp.TaskMetadata} returns this - */ -proto.aggregator.SyncMessagesResp.TaskMetadata.prototype.setExpiredAt = function(value) { - return jspb.Message.setProto3IntField(this, 3, value); -}; - - -/** - * optional TaskTrigger trigger = 4; - * @return {?proto.aggregator.TaskTrigger} - */ -proto.aggregator.SyncMessagesResp.TaskMetadata.prototype.getTrigger = function() { - return /** @type{?proto.aggregator.TaskTrigger} */ ( - jspb.Message.getWrapperField(this, proto.aggregator.TaskTrigger, 4)); -}; - - -/** - * @param {?proto.aggregator.TaskTrigger|undefined} value - * @return {!proto.aggregator.SyncMessagesResp.TaskMetadata} returns this -*/ -proto.aggregator.SyncMessagesResp.TaskMetadata.prototype.setTrigger = function(value) { - return jspb.Message.setWrapperField(this, 4, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.aggregator.SyncMessagesResp.TaskMetadata} returns this - */ -proto.aggregator.SyncMessagesResp.TaskMetadata.prototype.clearTrigger = function() { - return this.setTrigger(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.aggregator.SyncMessagesResp.TaskMetadata.prototype.hasTrigger = function() { - return jspb.Message.getField(this, 4) != null; -}; - - -/** - * optional string id = 1; + * optional string contract_abi = 3; * @return {string} */ -proto.aggregator.SyncMessagesResp.prototype.getId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.aggregator.ContractWriteNode.prototype.getContractAbi = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); }; /** * @param {string} value - * @return {!proto.aggregator.SyncMessagesResp} returns this - */ -proto.aggregator.SyncMessagesResp.prototype.setId = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); -}; - - -/** - * optional MessageOp op = 2; - * @return {!proto.aggregator.MessageOp} - */ -proto.aggregator.SyncMessagesResp.prototype.getOp = function() { - return /** @type {!proto.aggregator.MessageOp} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); -}; - - -/** - * @param {!proto.aggregator.MessageOp} value - * @return {!proto.aggregator.SyncMessagesResp} returns this - */ -proto.aggregator.SyncMessagesResp.prototype.setOp = function(value) { - return jspb.Message.setProto3EnumField(this, 2, value); -}; - - -/** - * optional TaskMetadata task_metadata = 3; - * @return {?proto.aggregator.SyncMessagesResp.TaskMetadata} - */ -proto.aggregator.SyncMessagesResp.prototype.getTaskMetadata = function() { - return /** @type{?proto.aggregator.SyncMessagesResp.TaskMetadata} */ ( - jspb.Message.getWrapperField(this, proto.aggregator.SyncMessagesResp.TaskMetadata, 3)); -}; - - -/** - * @param {?proto.aggregator.SyncMessagesResp.TaskMetadata|undefined} value - * @return {!proto.aggregator.SyncMessagesResp} returns this -*/ -proto.aggregator.SyncMessagesResp.prototype.setTaskMetadata = function(value) { - return jspb.Message.setWrapperField(this, 3, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.aggregator.SyncMessagesResp} returns this - */ -proto.aggregator.SyncMessagesResp.prototype.clearTaskMetadata = function() { - return this.setTaskMetadata(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} + * @return {!proto.aggregator.ContractWriteNode} returns this */ -proto.aggregator.SyncMessagesResp.prototype.hasTaskMetadata = function() { - return jspb.Message.getField(this, 3) != null; +proto.aggregator.ContractWriteNode.prototype.setContractAbi = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); }; @@ -2535,8 +2346,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.aggregator.AckMessageReq.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.AckMessageReq.toObject(opt_includeInstance, this); +proto.aggregator.ContractReadNode.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.ContractReadNode.toObject(opt_includeInstance, this); }; @@ -2545,13 +2356,15 @@ proto.aggregator.AckMessageReq.prototype.toObject = function(opt_includeInstance * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.aggregator.AckMessageReq} msg The msg instance to transform. + * @param {!proto.aggregator.ContractReadNode} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.AckMessageReq.toObject = function(includeInstance, msg) { +proto.aggregator.ContractReadNode.toObject = function(includeInstance, msg) { var f, obj = { - id: jspb.Message.getFieldWithDefault(msg, 1, "") + contractAddress: jspb.Message.getFieldWithDefault(msg, 1, ""), + callData: jspb.Message.getFieldWithDefault(msg, 2, ""), + contractAbi: jspb.Message.getFieldWithDefault(msg, 3, "") }; if (includeInstance) { @@ -2565,23 +2378,23 @@ proto.aggregator.AckMessageReq.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.AckMessageReq} + * @return {!proto.aggregator.ContractReadNode} */ -proto.aggregator.AckMessageReq.deserializeBinary = function(bytes) { +proto.aggregator.ContractReadNode.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.AckMessageReq; - return proto.aggregator.AckMessageReq.deserializeBinaryFromReader(msg, reader); + var msg = new proto.aggregator.ContractReadNode; + return proto.aggregator.ContractReadNode.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.aggregator.AckMessageReq} msg The message object to deserialize into. + * @param {!proto.aggregator.ContractReadNode} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.AckMessageReq} + * @return {!proto.aggregator.ContractReadNode} */ -proto.aggregator.AckMessageReq.deserializeBinaryFromReader = function(msg, reader) { +proto.aggregator.ContractReadNode.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -2590,7 +2403,15 @@ proto.aggregator.AckMessageReq.deserializeBinaryFromReader = function(msg, reade switch (field) { case 1: var value = /** @type {string} */ (reader.readString()); - msg.setId(value); + msg.setContractAddress(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setCallData(value); + break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.setContractAbi(value); break; default: reader.skipField(); @@ -2605,9 +2426,9 @@ proto.aggregator.AckMessageReq.deserializeBinaryFromReader = function(msg, reade * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.aggregator.AckMessageReq.prototype.serializeBinary = function() { +proto.aggregator.ContractReadNode.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.aggregator.AckMessageReq.serializeBinaryToWriter(this, writer); + proto.aggregator.ContractReadNode.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -2615,47 +2436,90 @@ proto.aggregator.AckMessageReq.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.AckMessageReq} message + * @param {!proto.aggregator.ContractReadNode} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.AckMessageReq.serializeBinaryToWriter = function(message, writer) { +proto.aggregator.ContractReadNode.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getId(); + f = message.getContractAddress(); if (f.length > 0) { writer.writeString( 1, f ); } + f = message.getCallData(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getContractAbi(); + if (f.length > 0) { + writer.writeString( + 3, + f + ); + } }; /** - * optional string id = 1; + * optional string contract_address = 1; * @return {string} */ -proto.aggregator.AckMessageReq.prototype.getId = function() { +proto.aggregator.ContractReadNode.prototype.getContractAddress = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.aggregator.AckMessageReq} returns this + * @return {!proto.aggregator.ContractReadNode} returns this */ -proto.aggregator.AckMessageReq.prototype.setId = function(value) { +proto.aggregator.ContractReadNode.prototype.setContractAddress = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; +/** + * optional string call_data = 2; + * @return {string} + */ +proto.aggregator.ContractReadNode.prototype.getCallData = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + /** - * List of repeated fields within this message type. - * @private {!Array} - * @const + * @param {string} value + * @return {!proto.aggregator.ContractReadNode} returns this */ -proto.aggregator.FixedEpochCondition.repeatedFields_ = [1]; +proto.aggregator.ContractReadNode.prototype.setCallData = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + +/** + * optional string contract_abi = 3; + * @return {string} + */ +proto.aggregator.ContractReadNode.prototype.getContractAbi = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * @param {string} value + * @return {!proto.aggregator.ContractReadNode} returns this + */ +proto.aggregator.ContractReadNode.prototype.setContractAbi = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); +}; + + @@ -2672,8 +2536,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.aggregator.FixedEpochCondition.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.FixedEpochCondition.toObject(opt_includeInstance, this); +proto.aggregator.GraphQLQueryNode.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.GraphQLQueryNode.toObject(opt_includeInstance, this); }; @@ -2682,13 +2546,15 @@ proto.aggregator.FixedEpochCondition.prototype.toObject = function(opt_includeIn * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.aggregator.FixedEpochCondition} msg The msg instance to transform. + * @param {!proto.aggregator.GraphQLQueryNode} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.FixedEpochCondition.toObject = function(includeInstance, msg) { +proto.aggregator.GraphQLQueryNode.toObject = function(includeInstance, msg) { var f, obj = { - epochsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f + url: jspb.Message.getFieldWithDefault(msg, 1, ""), + query: jspb.Message.getFieldWithDefault(msg, 2, ""), + variablesMap: (f = msg.getVariablesMap()) ? f.toObject(includeInstance, undefined) : [] }; if (includeInstance) { @@ -2702,23 +2568,23 @@ proto.aggregator.FixedEpochCondition.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.FixedEpochCondition} + * @return {!proto.aggregator.GraphQLQueryNode} */ -proto.aggregator.FixedEpochCondition.deserializeBinary = function(bytes) { +proto.aggregator.GraphQLQueryNode.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.FixedEpochCondition; - return proto.aggregator.FixedEpochCondition.deserializeBinaryFromReader(msg, reader); + var msg = new proto.aggregator.GraphQLQueryNode; + return proto.aggregator.GraphQLQueryNode.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.aggregator.FixedEpochCondition} msg The message object to deserialize into. + * @param {!proto.aggregator.GraphQLQueryNode} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.FixedEpochCondition} + * @return {!proto.aggregator.GraphQLQueryNode} */ -proto.aggregator.FixedEpochCondition.deserializeBinaryFromReader = function(msg, reader) { +proto.aggregator.GraphQLQueryNode.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -2726,10 +2592,18 @@ proto.aggregator.FixedEpochCondition.deserializeBinaryFromReader = function(msg, var field = reader.getFieldNumber(); switch (field) { case 1: - var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedInt64() : [reader.readInt64()]); - for (var i = 0; i < values.length; i++) { - msg.addEpochs(values[i]); - } + var value = /** @type {string} */ (reader.readString()); + msg.setUrl(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setQuery(value); + break; + case 3: + var value = msg.getVariablesMap(); + reader.readMessage(value, function(message, reader) { + jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, "", ""); + }); break; default: reader.skipField(); @@ -2744,9 +2618,9 @@ proto.aggregator.FixedEpochCondition.deserializeBinaryFromReader = function(msg, * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.aggregator.FixedEpochCondition.prototype.serializeBinary = function() { +proto.aggregator.GraphQLQueryNode.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.aggregator.FixedEpochCondition.serializeBinaryToWriter(this, writer); + proto.aggregator.GraphQLQueryNode.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -2754,66 +2628,91 @@ proto.aggregator.FixedEpochCondition.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.FixedEpochCondition} message + * @param {!proto.aggregator.GraphQLQueryNode} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.FixedEpochCondition.serializeBinaryToWriter = function(message, writer) { +proto.aggregator.GraphQLQueryNode.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getEpochsList(); + f = message.getUrl(); if (f.length > 0) { - writer.writePackedInt64( + writer.writeString( 1, f ); } + f = message.getQuery(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getVariablesMap(true); + if (f && f.getLength() > 0) { + f.serializeBinary(3, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString); + } }; /** - * repeated int64 epochs = 1; - * @return {!Array} + * optional string url = 1; + * @return {string} */ -proto.aggregator.FixedEpochCondition.prototype.getEpochsList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +proto.aggregator.GraphQLQueryNode.prototype.getUrl = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * @param {!Array} value - * @return {!proto.aggregator.FixedEpochCondition} returns this + * @param {string} value + * @return {!proto.aggregator.GraphQLQueryNode} returns this */ -proto.aggregator.FixedEpochCondition.prototype.setEpochsList = function(value) { - return jspb.Message.setField(this, 1, value || []); +proto.aggregator.GraphQLQueryNode.prototype.setUrl = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); }; /** - * @param {number} value - * @param {number=} opt_index - * @return {!proto.aggregator.FixedEpochCondition} returns this + * optional string query = 2; + * @return {string} */ -proto.aggregator.FixedEpochCondition.prototype.addEpochs = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +proto.aggregator.GraphQLQueryNode.prototype.getQuery = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.aggregator.FixedEpochCondition} returns this + * @param {string} value + * @return {!proto.aggregator.GraphQLQueryNode} returns this */ -proto.aggregator.FixedEpochCondition.prototype.clearEpochsList = function() { - return this.setEpochsList([]); +proto.aggregator.GraphQLQueryNode.prototype.setQuery = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); }; +/** + * map variables = 3; + * @param {boolean=} opt_noLazyCreate Do not create the map if + * empty, instead returning `undefined` + * @return {!jspb.Map} + */ +proto.aggregator.GraphQLQueryNode.prototype.getVariablesMap = function(opt_noLazyCreate) { + return /** @type {!jspb.Map} */ ( + jspb.Message.getMapField(this, 3, opt_noLazyCreate, + null)); +}; + /** - * List of repeated fields within this message type. - * @private {!Array} - * @const + * Clears values from the map. The map will be non-null. + * @return {!proto.aggregator.GraphQLQueryNode} returns this */ -proto.aggregator.CronCondition.repeatedFields_ = [1]; +proto.aggregator.GraphQLQueryNode.prototype.clearVariablesMap = function() { + this.getVariablesMap().clear(); + return this;}; + + @@ -2830,8 +2729,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.aggregator.CronCondition.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.CronCondition.toObject(opt_includeInstance, this); +proto.aggregator.RestAPINode.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.RestAPINode.toObject(opt_includeInstance, this); }; @@ -2840,13 +2739,16 @@ proto.aggregator.CronCondition.prototype.toObject = function(opt_includeInstance * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.aggregator.CronCondition} msg The msg instance to transform. + * @param {!proto.aggregator.RestAPINode} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.CronCondition.toObject = function(includeInstance, msg) { +proto.aggregator.RestAPINode.toObject = function(includeInstance, msg) { var f, obj = { - scheduleList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f + url: jspb.Message.getFieldWithDefault(msg, 1, ""), + headersMap: (f = msg.getHeadersMap()) ? f.toObject(includeInstance, undefined) : [], + body: jspb.Message.getFieldWithDefault(msg, 3, ""), + method: jspb.Message.getFieldWithDefault(msg, 4, "") }; if (includeInstance) { @@ -2860,23 +2762,23 @@ proto.aggregator.CronCondition.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.CronCondition} + * @return {!proto.aggregator.RestAPINode} */ -proto.aggregator.CronCondition.deserializeBinary = function(bytes) { +proto.aggregator.RestAPINode.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.CronCondition; - return proto.aggregator.CronCondition.deserializeBinaryFromReader(msg, reader); + var msg = new proto.aggregator.RestAPINode; + return proto.aggregator.RestAPINode.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.aggregator.CronCondition} msg The message object to deserialize into. + * @param {!proto.aggregator.RestAPINode} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.CronCondition} + * @return {!proto.aggregator.RestAPINode} */ -proto.aggregator.CronCondition.deserializeBinaryFromReader = function(msg, reader) { +proto.aggregator.RestAPINode.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -2885,7 +2787,21 @@ proto.aggregator.CronCondition.deserializeBinaryFromReader = function(msg, reade switch (field) { case 1: var value = /** @type {string} */ (reader.readString()); - msg.addSchedule(value); + msg.setUrl(value); + break; + case 2: + var value = msg.getHeadersMap(); + reader.readMessage(value, function(message, reader) { + jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, "", ""); + }); + break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.setBody(value); + break; + case 4: + var value = /** @type {string} */ (reader.readString()); + msg.setMethod(value); break; default: reader.skipField(); @@ -2900,9 +2816,9 @@ proto.aggregator.CronCondition.deserializeBinaryFromReader = function(msg, reade * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.aggregator.CronCondition.prototype.serializeBinary = function() { +proto.aggregator.RestAPINode.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.aggregator.CronCondition.serializeBinaryToWriter(this, writer); + proto.aggregator.RestAPINode.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -2910,56 +2826,113 @@ proto.aggregator.CronCondition.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.CronCondition} message + * @param {!proto.aggregator.RestAPINode} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.CronCondition.serializeBinaryToWriter = function(message, writer) { +proto.aggregator.RestAPINode.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getScheduleList(); + f = message.getUrl(); if (f.length > 0) { - writer.writeRepeatedString( + writer.writeString( 1, f ); } + f = message.getHeadersMap(true); + if (f && f.getLength() > 0) { + f.serializeBinary(2, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString); + } + f = message.getBody(); + if (f.length > 0) { + writer.writeString( + 3, + f + ); + } + f = message.getMethod(); + if (f.length > 0) { + writer.writeString( + 4, + f + ); + } }; /** - * repeated string schedule = 1; - * @return {!Array} + * optional string url = 1; + * @return {string} */ -proto.aggregator.CronCondition.prototype.getScheduleList = function() { - return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +proto.aggregator.RestAPINode.prototype.getUrl = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * @param {!Array} value - * @return {!proto.aggregator.CronCondition} returns this + * @param {string} value + * @return {!proto.aggregator.RestAPINode} returns this */ -proto.aggregator.CronCondition.prototype.setScheduleList = function(value) { - return jspb.Message.setField(this, 1, value || []); +proto.aggregator.RestAPINode.prototype.setUrl = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * map headers = 2; + * @param {boolean=} opt_noLazyCreate Do not create the map if + * empty, instead returning `undefined` + * @return {!jspb.Map} + */ +proto.aggregator.RestAPINode.prototype.getHeadersMap = function(opt_noLazyCreate) { + return /** @type {!jspb.Map} */ ( + jspb.Message.getMapField(this, 2, opt_noLazyCreate, + null)); +}; + + +/** + * Clears values from the map. The map will be non-null. + * @return {!proto.aggregator.RestAPINode} returns this + */ +proto.aggregator.RestAPINode.prototype.clearHeadersMap = function() { + this.getHeadersMap().clear(); + return this;}; + + +/** + * optional string body = 3; + * @return {string} + */ +proto.aggregator.RestAPINode.prototype.getBody = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); }; /** * @param {string} value - * @param {number=} opt_index - * @return {!proto.aggregator.CronCondition} returns this + * @return {!proto.aggregator.RestAPINode} returns this */ -proto.aggregator.CronCondition.prototype.addSchedule = function(value, opt_index) { - return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +proto.aggregator.RestAPINode.prototype.setBody = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.aggregator.CronCondition} returns this + * optional string method = 4; + * @return {string} */ -proto.aggregator.CronCondition.prototype.clearScheduleList = function() { - return this.setScheduleList([]); +proto.aggregator.RestAPINode.prototype.getMethod = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); +}; + + +/** + * @param {string} value + * @return {!proto.aggregator.RestAPINode} returns this + */ +proto.aggregator.RestAPINode.prototype.setMethod = function(value) { + return jspb.Message.setProto3StringField(this, 4, value); }; @@ -2979,8 +2952,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.aggregator.BlockCondition.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.BlockCondition.toObject(opt_includeInstance, this); +proto.aggregator.CustomCodeNode.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.CustomCodeNode.toObject(opt_includeInstance, this); }; @@ -2989,13 +2962,14 @@ proto.aggregator.BlockCondition.prototype.toObject = function(opt_includeInstanc * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.aggregator.BlockCondition} msg The msg instance to transform. + * @param {!proto.aggregator.CustomCodeNode} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.BlockCondition.toObject = function(includeInstance, msg) { +proto.aggregator.CustomCodeNode.toObject = function(includeInstance, msg) { var f, obj = { - interval: jspb.Message.getFieldWithDefault(msg, 1, 0) + lang: jspb.Message.getFieldWithDefault(msg, 1, 0), + source: jspb.Message.getFieldWithDefault(msg, 2, "") }; if (includeInstance) { @@ -3009,23 +2983,23 @@ proto.aggregator.BlockCondition.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.BlockCondition} + * @return {!proto.aggregator.CustomCodeNode} */ -proto.aggregator.BlockCondition.deserializeBinary = function(bytes) { +proto.aggregator.CustomCodeNode.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.BlockCondition; - return proto.aggregator.BlockCondition.deserializeBinaryFromReader(msg, reader); + var msg = new proto.aggregator.CustomCodeNode; + return proto.aggregator.CustomCodeNode.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.aggregator.BlockCondition} msg The message object to deserialize into. + * @param {!proto.aggregator.CustomCodeNode} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.BlockCondition} + * @return {!proto.aggregator.CustomCodeNode} */ -proto.aggregator.BlockCondition.deserializeBinaryFromReader = function(msg, reader) { +proto.aggregator.CustomCodeNode.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -3033,8 +3007,12 @@ proto.aggregator.BlockCondition.deserializeBinaryFromReader = function(msg, read var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {number} */ (reader.readInt64()); - msg.setInterval(value); + var value = /** @type {!proto.aggregator.CustomCodeLang} */ (reader.readEnum()); + msg.setLang(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setSource(value); break; default: reader.skipField(); @@ -3049,9 +3027,9 @@ proto.aggregator.BlockCondition.deserializeBinaryFromReader = function(msg, read * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.aggregator.BlockCondition.prototype.serializeBinary = function() { +proto.aggregator.CustomCodeNode.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.aggregator.BlockCondition.serializeBinaryToWriter(this, writer); + proto.aggregator.CustomCodeNode.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -3059,37 +3037,62 @@ proto.aggregator.BlockCondition.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.BlockCondition} message + * @param {!proto.aggregator.CustomCodeNode} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.BlockCondition.serializeBinaryToWriter = function(message, writer) { +proto.aggregator.CustomCodeNode.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getInterval(); - if (f !== 0) { - writer.writeInt64( + f = message.getLang(); + if (f !== 0.0) { + writer.writeEnum( 1, f ); } + f = message.getSource(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } }; /** - * optional int64 interval = 1; - * @return {number} + * optional CustomCodeLang lang = 1; + * @return {!proto.aggregator.CustomCodeLang} */ -proto.aggregator.BlockCondition.prototype.getInterval = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +proto.aggregator.CustomCodeNode.prototype.getLang = function() { + return /** @type {!proto.aggregator.CustomCodeLang} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * @param {number} value - * @return {!proto.aggregator.BlockCondition} returns this + * @param {!proto.aggregator.CustomCodeLang} value + * @return {!proto.aggregator.CustomCodeNode} returns this */ -proto.aggregator.BlockCondition.prototype.setInterval = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); +proto.aggregator.CustomCodeNode.prototype.setLang = function(value) { + return jspb.Message.setProto3EnumField(this, 1, value); +}; + + +/** + * optional string source = 2; + * @return {string} + */ +proto.aggregator.CustomCodeNode.prototype.getSource = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.aggregator.CustomCodeNode} returns this + */ +proto.aggregator.CustomCodeNode.prototype.setSource = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); }; @@ -3109,8 +3112,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.aggregator.EventCondition.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.EventCondition.toObject(opt_includeInstance, this); +proto.aggregator.Condition.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.Condition.toObject(opt_includeInstance, this); }; @@ -3119,13 +3122,15 @@ proto.aggregator.EventCondition.prototype.toObject = function(opt_includeInstanc * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.aggregator.EventCondition} msg The msg instance to transform. + * @param {!proto.aggregator.Condition} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.EventCondition.toObject = function(includeInstance, msg) { +proto.aggregator.Condition.toObject = function(includeInstance, msg) { var f, obj = { - expression: jspb.Message.getFieldWithDefault(msg, 1, "") + id: jspb.Message.getFieldWithDefault(msg, 1, ""), + type: jspb.Message.getFieldWithDefault(msg, 2, ""), + expression: jspb.Message.getFieldWithDefault(msg, 3, "") }; if (includeInstance) { @@ -3139,23 +3144,23 @@ proto.aggregator.EventCondition.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.EventCondition} + * @return {!proto.aggregator.Condition} */ -proto.aggregator.EventCondition.deserializeBinary = function(bytes) { +proto.aggregator.Condition.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.EventCondition; - return proto.aggregator.EventCondition.deserializeBinaryFromReader(msg, reader); + var msg = new proto.aggregator.Condition; + return proto.aggregator.Condition.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.aggregator.EventCondition} msg The message object to deserialize into. + * @param {!proto.aggregator.Condition} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.EventCondition} + * @return {!proto.aggregator.Condition} */ -proto.aggregator.EventCondition.deserializeBinaryFromReader = function(msg, reader) { +proto.aggregator.Condition.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -3163,6 +3168,14 @@ proto.aggregator.EventCondition.deserializeBinaryFromReader = function(msg, read var field = reader.getFieldNumber(); switch (field) { case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setId(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setType(value); + break; + case 3: var value = /** @type {string} */ (reader.readString()); msg.setExpression(value); break; @@ -3179,9 +3192,9 @@ proto.aggregator.EventCondition.deserializeBinaryFromReader = function(msg, read * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.aggregator.EventCondition.prototype.serializeBinary = function() { +proto.aggregator.Condition.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.aggregator.EventCondition.serializeBinaryToWriter(this, writer); + proto.aggregator.Condition.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -3189,72 +3202,100 @@ proto.aggregator.EventCondition.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.EventCondition} message + * @param {!proto.aggregator.Condition} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.EventCondition.serializeBinaryToWriter = function(message, writer) { +proto.aggregator.Condition.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getExpression(); + f = message.getId(); if (f.length > 0) { writer.writeString( 1, f ); } + f = message.getType(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getExpression(); + if (f.length > 0) { + writer.writeString( + 3, + f + ); + } }; /** - * optional string expression = 1; + * optional string id = 1; * @return {string} */ -proto.aggregator.EventCondition.prototype.getExpression = function() { +proto.aggregator.Condition.prototype.getId = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.aggregator.EventCondition} returns this + * @return {!proto.aggregator.Condition} returns this */ -proto.aggregator.EventCondition.prototype.setExpression = function(value) { +proto.aggregator.Condition.prototype.setId = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; +/** + * optional string type = 2; + * @return {string} + */ +proto.aggregator.Condition.prototype.getType = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + /** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const + * @param {string} value + * @return {!proto.aggregator.Condition} returns this */ -proto.aggregator.TaskTrigger.oneofGroups_ = [[2,3,4,5,6]]; +proto.aggregator.Condition.prototype.setType = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + /** - * @enum {number} + * optional string expression = 3; + * @return {string} */ -proto.aggregator.TaskTrigger.TriggerTypeCase = { - TRIGGER_TYPE_NOT_SET: 0, - MANUAL: 2, - FIXED_TIME: 3, - CRON: 4, - BLOCK: 5, - EVENT: 6 +proto.aggregator.Condition.prototype.getExpression = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); }; + /** - * @return {proto.aggregator.TaskTrigger.TriggerTypeCase} + * @param {string} value + * @return {!proto.aggregator.Condition} returns this */ -proto.aggregator.TaskTrigger.prototype.getTriggerTypeCase = function() { - return /** @type {proto.aggregator.TaskTrigger.TriggerTypeCase} */(jspb.Message.computeOneofCase(this, proto.aggregator.TaskTrigger.oneofGroups_[0])); +proto.aggregator.Condition.prototype.setExpression = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); }; +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.aggregator.BranchNode.repeatedFields_ = [1]; + + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -3268,8 +3309,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.aggregator.TaskTrigger.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.TaskTrigger.toObject(opt_includeInstance, this); +proto.aggregator.BranchNode.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.BranchNode.toObject(opt_includeInstance, this); }; @@ -3278,18 +3319,14 @@ proto.aggregator.TaskTrigger.prototype.toObject = function(opt_includeInstance) * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.aggregator.TaskTrigger} msg The msg instance to transform. + * @param {!proto.aggregator.BranchNode} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.TaskTrigger.toObject = function(includeInstance, msg) { +proto.aggregator.BranchNode.toObject = function(includeInstance, msg) { var f, obj = { - name: jspb.Message.getFieldWithDefault(msg, 1, ""), - manual: jspb.Message.getBooleanFieldWithDefault(msg, 2, false), - fixedTime: (f = msg.getFixedTime()) && proto.aggregator.FixedEpochCondition.toObject(includeInstance, f), - cron: (f = msg.getCron()) && proto.aggregator.CronCondition.toObject(includeInstance, f), - block: (f = msg.getBlock()) && proto.aggregator.BlockCondition.toObject(includeInstance, f), - event: (f = msg.getEvent()) && proto.aggregator.EventCondition.toObject(includeInstance, f) + conditionsList: jspb.Message.toObjectList(msg.getConditionsList(), + proto.aggregator.Condition.toObject, includeInstance) }; if (includeInstance) { @@ -3303,23 +3340,23 @@ proto.aggregator.TaskTrigger.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.TaskTrigger} + * @return {!proto.aggregator.BranchNode} */ -proto.aggregator.TaskTrigger.deserializeBinary = function(bytes) { +proto.aggregator.BranchNode.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.TaskTrigger; - return proto.aggregator.TaskTrigger.deserializeBinaryFromReader(msg, reader); + var msg = new proto.aggregator.BranchNode; + return proto.aggregator.BranchNode.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.aggregator.TaskTrigger} msg The message object to deserialize into. + * @param {!proto.aggregator.BranchNode} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.TaskTrigger} + * @return {!proto.aggregator.BranchNode} */ -proto.aggregator.TaskTrigger.deserializeBinaryFromReader = function(msg, reader) { +proto.aggregator.BranchNode.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -3327,32 +3364,9 @@ proto.aggregator.TaskTrigger.deserializeBinaryFromReader = function(msg, reader) var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {string} */ (reader.readString()); - msg.setName(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setManual(value); - break; - case 3: - var value = new proto.aggregator.FixedEpochCondition; - reader.readMessage(value,proto.aggregator.FixedEpochCondition.deserializeBinaryFromReader); - msg.setFixedTime(value); - break; - case 4: - var value = new proto.aggregator.CronCondition; - reader.readMessage(value,proto.aggregator.CronCondition.deserializeBinaryFromReader); - msg.setCron(value); - break; - case 5: - var value = new proto.aggregator.BlockCondition; - reader.readMessage(value,proto.aggregator.BlockCondition.deserializeBinaryFromReader); - msg.setBlock(value); - break; - case 6: - var value = new proto.aggregator.EventCondition; - reader.readMessage(value,proto.aggregator.EventCondition.deserializeBinaryFromReader); - msg.setEvent(value); + var value = new proto.aggregator.Condition; + reader.readMessage(value,proto.aggregator.Condition.deserializeBinaryFromReader); + msg.addConditions(value); break; default: reader.skipField(); @@ -3367,9 +3381,9 @@ proto.aggregator.TaskTrigger.deserializeBinaryFromReader = function(msg, reader) * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.aggregator.TaskTrigger.prototype.serializeBinary = function() { +proto.aggregator.BranchNode.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.aggregator.TaskTrigger.serializeBinaryToWriter(this, writer); + proto.aggregator.BranchNode.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -3377,260 +3391,58 @@ proto.aggregator.TaskTrigger.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.TaskTrigger} message + * @param {!proto.aggregator.BranchNode} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.TaskTrigger.serializeBinaryToWriter = function(message, writer) { +proto.aggregator.BranchNode.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getName(); + f = message.getConditionsList(); if (f.length > 0) { - writer.writeString( + writer.writeRepeatedMessage( 1, - f - ); - } - f = /** @type {boolean} */ (jspb.Message.getField(message, 2)); - if (f != null) { - writer.writeBool( - 2, - f - ); - } - f = message.getFixedTime(); - if (f != null) { - writer.writeMessage( - 3, - f, - proto.aggregator.FixedEpochCondition.serializeBinaryToWriter - ); - } - f = message.getCron(); - if (f != null) { - writer.writeMessage( - 4, - f, - proto.aggregator.CronCondition.serializeBinaryToWriter - ); - } - f = message.getBlock(); - if (f != null) { - writer.writeMessage( - 5, - f, - proto.aggregator.BlockCondition.serializeBinaryToWriter - ); - } - f = message.getEvent(); - if (f != null) { - writer.writeMessage( - 6, f, - proto.aggregator.EventCondition.serializeBinaryToWriter + proto.aggregator.Condition.serializeBinaryToWriter ); } }; /** - * optional string name = 1; - * @return {string} - */ -proto.aggregator.TaskTrigger.prototype.getName = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * @param {string} value - * @return {!proto.aggregator.TaskTrigger} returns this + * repeated Condition conditions = 1; + * @return {!Array} */ -proto.aggregator.TaskTrigger.prototype.setName = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); +proto.aggregator.BranchNode.prototype.getConditionsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.aggregator.Condition, 1)); }; /** - * optional bool manual = 2; - * @return {boolean} - */ -proto.aggregator.TaskTrigger.prototype.getManual = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); -}; - - -/** - * @param {boolean} value - * @return {!proto.aggregator.TaskTrigger} returns this - */ -proto.aggregator.TaskTrigger.prototype.setManual = function(value) { - return jspb.Message.setOneofField(this, 2, proto.aggregator.TaskTrigger.oneofGroups_[0], value); -}; - - -/** - * Clears the field making it undefined. - * @return {!proto.aggregator.TaskTrigger} returns this - */ -proto.aggregator.TaskTrigger.prototype.clearManual = function() { - return jspb.Message.setOneofField(this, 2, proto.aggregator.TaskTrigger.oneofGroups_[0], undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.aggregator.TaskTrigger.prototype.hasManual = function() { - return jspb.Message.getField(this, 2) != null; -}; - - -/** - * optional FixedEpochCondition fixed_time = 3; - * @return {?proto.aggregator.FixedEpochCondition} - */ -proto.aggregator.TaskTrigger.prototype.getFixedTime = function() { - return /** @type{?proto.aggregator.FixedEpochCondition} */ ( - jspb.Message.getWrapperField(this, proto.aggregator.FixedEpochCondition, 3)); -}; - - -/** - * @param {?proto.aggregator.FixedEpochCondition|undefined} value - * @return {!proto.aggregator.TaskTrigger} returns this -*/ -proto.aggregator.TaskTrigger.prototype.setFixedTime = function(value) { - return jspb.Message.setOneofWrapperField(this, 3, proto.aggregator.TaskTrigger.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.aggregator.TaskTrigger} returns this - */ -proto.aggregator.TaskTrigger.prototype.clearFixedTime = function() { - return this.setFixedTime(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.aggregator.TaskTrigger.prototype.hasFixedTime = function() { - return jspb.Message.getField(this, 3) != null; -}; - - -/** - * optional CronCondition cron = 4; - * @return {?proto.aggregator.CronCondition} - */ -proto.aggregator.TaskTrigger.prototype.getCron = function() { - return /** @type{?proto.aggregator.CronCondition} */ ( - jspb.Message.getWrapperField(this, proto.aggregator.CronCondition, 4)); -}; - - -/** - * @param {?proto.aggregator.CronCondition|undefined} value - * @return {!proto.aggregator.TaskTrigger} returns this -*/ -proto.aggregator.TaskTrigger.prototype.setCron = function(value) { - return jspb.Message.setOneofWrapperField(this, 4, proto.aggregator.TaskTrigger.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.aggregator.TaskTrigger} returns this - */ -proto.aggregator.TaskTrigger.prototype.clearCron = function() { - return this.setCron(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.aggregator.TaskTrigger.prototype.hasCron = function() { - return jspb.Message.getField(this, 4) != null; -}; - - -/** - * optional BlockCondition block = 5; - * @return {?proto.aggregator.BlockCondition} - */ -proto.aggregator.TaskTrigger.prototype.getBlock = function() { - return /** @type{?proto.aggregator.BlockCondition} */ ( - jspb.Message.getWrapperField(this, proto.aggregator.BlockCondition, 5)); -}; - - -/** - * @param {?proto.aggregator.BlockCondition|undefined} value - * @return {!proto.aggregator.TaskTrigger} returns this -*/ -proto.aggregator.TaskTrigger.prototype.setBlock = function(value) { - return jspb.Message.setOneofWrapperField(this, 5, proto.aggregator.TaskTrigger.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.aggregator.TaskTrigger} returns this - */ -proto.aggregator.TaskTrigger.prototype.clearBlock = function() { - return this.setBlock(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.aggregator.TaskTrigger.prototype.hasBlock = function() { - return jspb.Message.getField(this, 5) != null; -}; - - -/** - * optional EventCondition event = 6; - * @return {?proto.aggregator.EventCondition} - */ -proto.aggregator.TaskTrigger.prototype.getEvent = function() { - return /** @type{?proto.aggregator.EventCondition} */ ( - jspb.Message.getWrapperField(this, proto.aggregator.EventCondition, 6)); -}; - - -/** - * @param {?proto.aggregator.EventCondition|undefined} value - * @return {!proto.aggregator.TaskTrigger} returns this + * @param {!Array} value + * @return {!proto.aggregator.BranchNode} returns this */ -proto.aggregator.TaskTrigger.prototype.setEvent = function(value) { - return jspb.Message.setOneofWrapperField(this, 6, proto.aggregator.TaskTrigger.oneofGroups_[0], value); +proto.aggregator.BranchNode.prototype.setConditionsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.aggregator.TaskTrigger} returns this + * @param {!proto.aggregator.Condition=} opt_value + * @param {number=} opt_index + * @return {!proto.aggregator.Condition} */ -proto.aggregator.TaskTrigger.prototype.clearEvent = function() { - return this.setEvent(undefined); +proto.aggregator.BranchNode.prototype.addConditions = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.aggregator.Condition, opt_index); }; /** - * Returns whether this field is set. - * @return {boolean} + * Clears the list making it empty but non-null. + * @return {!proto.aggregator.BranchNode} returns this */ -proto.aggregator.TaskTrigger.prototype.hasEvent = function() { - return jspb.Message.getField(this, 6) != null; +proto.aggregator.BranchNode.prototype.clearConditionsList = function() { + return this.setConditionsList([]); }; @@ -3650,8 +3462,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.aggregator.ETHTransferNode.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.ETHTransferNode.toObject(opt_includeInstance, this); +proto.aggregator.FilterNode.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.FilterNode.toObject(opt_includeInstance, this); }; @@ -3660,14 +3472,13 @@ proto.aggregator.ETHTransferNode.prototype.toObject = function(opt_includeInstan * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.aggregator.ETHTransferNode} msg The msg instance to transform. + * @param {!proto.aggregator.FilterNode} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.ETHTransferNode.toObject = function(includeInstance, msg) { +proto.aggregator.FilterNode.toObject = function(includeInstance, msg) { var f, obj = { - destination: jspb.Message.getFieldWithDefault(msg, 1, ""), - amount: jspb.Message.getFieldWithDefault(msg, 2, "") + expression: jspb.Message.getFieldWithDefault(msg, 1, "") }; if (includeInstance) { @@ -3681,23 +3492,23 @@ proto.aggregator.ETHTransferNode.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.ETHTransferNode} + * @return {!proto.aggregator.FilterNode} */ -proto.aggregator.ETHTransferNode.deserializeBinary = function(bytes) { +proto.aggregator.FilterNode.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.ETHTransferNode; - return proto.aggregator.ETHTransferNode.deserializeBinaryFromReader(msg, reader); + var msg = new proto.aggregator.FilterNode; + return proto.aggregator.FilterNode.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.aggregator.ETHTransferNode} msg The message object to deserialize into. + * @param {!proto.aggregator.FilterNode} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.ETHTransferNode} + * @return {!proto.aggregator.FilterNode} */ -proto.aggregator.ETHTransferNode.deserializeBinaryFromReader = function(msg, reader) { +proto.aggregator.FilterNode.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -3706,11 +3517,7 @@ proto.aggregator.ETHTransferNode.deserializeBinaryFromReader = function(msg, rea switch (field) { case 1: var value = /** @type {string} */ (reader.readString()); - msg.setDestination(value); - break; - case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setAmount(value); + msg.setExpression(value); break; default: reader.skipField(); @@ -3725,9 +3532,9 @@ proto.aggregator.ETHTransferNode.deserializeBinaryFromReader = function(msg, rea * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.aggregator.ETHTransferNode.prototype.serializeBinary = function() { +proto.aggregator.FilterNode.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.aggregator.ETHTransferNode.serializeBinaryToWriter(this, writer); + proto.aggregator.FilterNode.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -3735,65 +3542,70 @@ proto.aggregator.ETHTransferNode.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.ETHTransferNode} message + * @param {!proto.aggregator.FilterNode} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.ETHTransferNode.serializeBinaryToWriter = function(message, writer) { +proto.aggregator.FilterNode.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getDestination(); + f = message.getExpression(); if (f.length > 0) { writer.writeString( 1, f ); } - f = message.getAmount(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } }; /** - * optional string destination = 1; + * optional string expression = 1; * @return {string} */ -proto.aggregator.ETHTransferNode.prototype.getDestination = function() { +proto.aggregator.FilterNode.prototype.getExpression = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.aggregator.ETHTransferNode} returns this + * @return {!proto.aggregator.FilterNode} returns this */ -proto.aggregator.ETHTransferNode.prototype.setDestination = function(value) { +proto.aggregator.FilterNode.prototype.setExpression = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; + /** - * optional string amount = 2; - * @return {string} + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const */ -proto.aggregator.ETHTransferNode.prototype.getAmount = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - +proto.aggregator.LoopNode.oneofGroups_ = [[10,11,12,13,14,15]]; /** - * @param {string} value - * @return {!proto.aggregator.ETHTransferNode} returns this + * @enum {number} */ -proto.aggregator.ETHTransferNode.prototype.setAmount = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); +proto.aggregator.LoopNode.RunnerCase = { + RUNNER_NOT_SET: 0, + ETH_TRANSFER: 10, + CONTRACT_WRITE: 11, + CONTRACT_READ: 12, + GRAPHQL_DATA_QUERY: 13, + REST_API: 14, + CUSTOM_CODE: 15 }; - +/** + * @return {proto.aggregator.LoopNode.RunnerCase} + */ +proto.aggregator.LoopNode.prototype.getRunnerCase = function() { + return /** @type {proto.aggregator.LoopNode.RunnerCase} */(jspb.Message.computeOneofCase(this, proto.aggregator.LoopNode.oneofGroups_[0])); +}; @@ -3810,8 +3622,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.aggregator.ContractWriteNode.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.ContractWriteNode.toObject(opt_includeInstance, this); +proto.aggregator.LoopNode.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.LoopNode.toObject(opt_includeInstance, this); }; @@ -3820,15 +3632,21 @@ proto.aggregator.ContractWriteNode.prototype.toObject = function(opt_includeInst * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.aggregator.ContractWriteNode} msg The msg instance to transform. + * @param {!proto.aggregator.LoopNode} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.ContractWriteNode.toObject = function(includeInstance, msg) { +proto.aggregator.LoopNode.toObject = function(includeInstance, msg) { var f, obj = { - contractAddress: jspb.Message.getFieldWithDefault(msg, 1, ""), - callData: jspb.Message.getFieldWithDefault(msg, 2, ""), - contractAbi: jspb.Message.getFieldWithDefault(msg, 3, "") + input: jspb.Message.getFieldWithDefault(msg, 1, ""), + iterVal: jspb.Message.getFieldWithDefault(msg, 2, ""), + iterKey: jspb.Message.getFieldWithDefault(msg, 3, ""), + ethTransfer: (f = msg.getEthTransfer()) && proto.aggregator.ETHTransferNode.toObject(includeInstance, f), + contractWrite: (f = msg.getContractWrite()) && proto.aggregator.ContractWriteNode.toObject(includeInstance, f), + contractRead: (f = msg.getContractRead()) && proto.aggregator.ContractReadNode.toObject(includeInstance, f), + graphqlDataQuery: (f = msg.getGraphqlDataQuery()) && proto.aggregator.GraphQLQueryNode.toObject(includeInstance, f), + restApi: (f = msg.getRestApi()) && proto.aggregator.RestAPINode.toObject(includeInstance, f), + customCode: (f = msg.getCustomCode()) && proto.aggregator.CustomCodeNode.toObject(includeInstance, f) }; if (includeInstance) { @@ -3842,23 +3660,23 @@ proto.aggregator.ContractWriteNode.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.ContractWriteNode} + * @return {!proto.aggregator.LoopNode} */ -proto.aggregator.ContractWriteNode.deserializeBinary = function(bytes) { +proto.aggregator.LoopNode.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.ContractWriteNode; - return proto.aggregator.ContractWriteNode.deserializeBinaryFromReader(msg, reader); + var msg = new proto.aggregator.LoopNode; + return proto.aggregator.LoopNode.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.aggregator.ContractWriteNode} msg The message object to deserialize into. + * @param {!proto.aggregator.LoopNode} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.ContractWriteNode} + * @return {!proto.aggregator.LoopNode} */ -proto.aggregator.ContractWriteNode.deserializeBinaryFromReader = function(msg, reader) { +proto.aggregator.LoopNode.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -3867,15 +3685,45 @@ proto.aggregator.ContractWriteNode.deserializeBinaryFromReader = function(msg, r switch (field) { case 1: var value = /** @type {string} */ (reader.readString()); - msg.setContractAddress(value); + msg.setInput(value); break; case 2: var value = /** @type {string} */ (reader.readString()); - msg.setCallData(value); + msg.setIterVal(value); break; case 3: var value = /** @type {string} */ (reader.readString()); - msg.setContractAbi(value); + msg.setIterKey(value); + break; + case 10: + var value = new proto.aggregator.ETHTransferNode; + reader.readMessage(value,proto.aggregator.ETHTransferNode.deserializeBinaryFromReader); + msg.setEthTransfer(value); + break; + case 11: + var value = new proto.aggregator.ContractWriteNode; + reader.readMessage(value,proto.aggregator.ContractWriteNode.deserializeBinaryFromReader); + msg.setContractWrite(value); + break; + case 12: + var value = new proto.aggregator.ContractReadNode; + reader.readMessage(value,proto.aggregator.ContractReadNode.deserializeBinaryFromReader); + msg.setContractRead(value); + break; + case 13: + var value = new proto.aggregator.GraphQLQueryNode; + reader.readMessage(value,proto.aggregator.GraphQLQueryNode.deserializeBinaryFromReader); + msg.setGraphqlDataQuery(value); + break; + case 14: + var value = new proto.aggregator.RestAPINode; + reader.readMessage(value,proto.aggregator.RestAPINode.deserializeBinaryFromReader); + msg.setRestApi(value); + break; + case 15: + var value = new proto.aggregator.CustomCodeNode; + reader.readMessage(value,proto.aggregator.CustomCodeNode.deserializeBinaryFromReader); + msg.setCustomCode(value); break; default: reader.skipField(); @@ -3890,9 +3738,9 @@ proto.aggregator.ContractWriteNode.deserializeBinaryFromReader = function(msg, r * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.aggregator.ContractWriteNode.prototype.serializeBinary = function() { +proto.aggregator.LoopNode.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.aggregator.ContractWriteNode.serializeBinaryToWriter(this, writer); + proto.aggregator.LoopNode.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -3900,277 +3748,357 @@ proto.aggregator.ContractWriteNode.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.ContractWriteNode} message + * @param {!proto.aggregator.LoopNode} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.ContractWriteNode.serializeBinaryToWriter = function(message, writer) { +proto.aggregator.LoopNode.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getContractAddress(); + f = message.getInput(); if (f.length > 0) { writer.writeString( 1, f ); } - f = message.getCallData(); + f = message.getIterVal(); if (f.length > 0) { writer.writeString( 2, f ); } - f = message.getContractAbi(); + f = message.getIterKey(); if (f.length > 0) { writer.writeString( 3, f ); } + f = message.getEthTransfer(); + if (f != null) { + writer.writeMessage( + 10, + f, + proto.aggregator.ETHTransferNode.serializeBinaryToWriter + ); + } + f = message.getContractWrite(); + if (f != null) { + writer.writeMessage( + 11, + f, + proto.aggregator.ContractWriteNode.serializeBinaryToWriter + ); + } + f = message.getContractRead(); + if (f != null) { + writer.writeMessage( + 12, + f, + proto.aggregator.ContractReadNode.serializeBinaryToWriter + ); + } + f = message.getGraphqlDataQuery(); + if (f != null) { + writer.writeMessage( + 13, + f, + proto.aggregator.GraphQLQueryNode.serializeBinaryToWriter + ); + } + f = message.getRestApi(); + if (f != null) { + writer.writeMessage( + 14, + f, + proto.aggregator.RestAPINode.serializeBinaryToWriter + ); + } + f = message.getCustomCode(); + if (f != null) { + writer.writeMessage( + 15, + f, + proto.aggregator.CustomCodeNode.serializeBinaryToWriter + ); + } }; /** - * optional string contract_address = 1; + * optional string input = 1; * @return {string} */ -proto.aggregator.ContractWriteNode.prototype.getContractAddress = function() { +proto.aggregator.LoopNode.prototype.getInput = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.aggregator.ContractWriteNode} returns this + * @return {!proto.aggregator.LoopNode} returns this */ -proto.aggregator.ContractWriteNode.prototype.setContractAddress = function(value) { +proto.aggregator.LoopNode.prototype.setInput = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; /** - * optional string call_data = 2; + * optional string iter_val = 2; * @return {string} */ -proto.aggregator.ContractWriteNode.prototype.getCallData = function() { +proto.aggregator.LoopNode.prototype.getIterVal = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** * @param {string} value - * @return {!proto.aggregator.ContractWriteNode} returns this + * @return {!proto.aggregator.LoopNode} returns this */ -proto.aggregator.ContractWriteNode.prototype.setCallData = function(value) { +proto.aggregator.LoopNode.prototype.setIterVal = function(value) { return jspb.Message.setProto3StringField(this, 2, value); }; /** - * optional string contract_abi = 3; + * optional string iter_key = 3; * @return {string} */ -proto.aggregator.ContractWriteNode.prototype.getContractAbi = function() { +proto.aggregator.LoopNode.prototype.getIterKey = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); }; /** * @param {string} value - * @return {!proto.aggregator.ContractWriteNode} returns this + * @return {!proto.aggregator.LoopNode} returns this */ -proto.aggregator.ContractWriteNode.prototype.setContractAbi = function(value) { +proto.aggregator.LoopNode.prototype.setIterKey = function(value) { return jspb.Message.setProto3StringField(this, 3, value); }; +/** + * optional ETHTransferNode eth_transfer = 10; + * @return {?proto.aggregator.ETHTransferNode} + */ +proto.aggregator.LoopNode.prototype.getEthTransfer = function() { + return /** @type{?proto.aggregator.ETHTransferNode} */ ( + jspb.Message.getWrapperField(this, proto.aggregator.ETHTransferNode, 10)); +}; + +/** + * @param {?proto.aggregator.ETHTransferNode|undefined} value + * @return {!proto.aggregator.LoopNode} returns this +*/ +proto.aggregator.LoopNode.prototype.setEthTransfer = function(value) { + return jspb.Message.setOneofWrapperField(this, 10, proto.aggregator.LoopNode.oneofGroups_[0], value); +}; -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * Clears the message field making it undefined. + * @return {!proto.aggregator.LoopNode} returns this */ -proto.aggregator.ContractReadNode.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.ContractReadNode.toObject(opt_includeInstance, this); +proto.aggregator.LoopNode.prototype.clearEthTransfer = function() { + return this.setEthTransfer(undefined); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.aggregator.ContractReadNode} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * Returns whether this field is set. + * @return {boolean} */ -proto.aggregator.ContractReadNode.toObject = function(includeInstance, msg) { - var f, obj = { - contractAddress: jspb.Message.getFieldWithDefault(msg, 1, ""), - callData: jspb.Message.getFieldWithDefault(msg, 2, ""), - contractAbi: jspb.Message.getFieldWithDefault(msg, 3, "") - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.aggregator.LoopNode.prototype.hasEthTransfer = function() { + return jspb.Message.getField(this, 10) != null; }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.ContractReadNode} + * optional ContractWriteNode contract_write = 11; + * @return {?proto.aggregator.ContractWriteNode} */ -proto.aggregator.ContractReadNode.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.ContractReadNode; - return proto.aggregator.ContractReadNode.deserializeBinaryFromReader(msg, reader); +proto.aggregator.LoopNode.prototype.getContractWrite = function() { + return /** @type{?proto.aggregator.ContractWriteNode} */ ( + jspb.Message.getWrapperField(this, proto.aggregator.ContractWriteNode, 11)); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.aggregator.ContractReadNode} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.ContractReadNode} + * @param {?proto.aggregator.ContractWriteNode|undefined} value + * @return {!proto.aggregator.LoopNode} returns this +*/ +proto.aggregator.LoopNode.prototype.setContractWrite = function(value) { + return jspb.Message.setOneofWrapperField(this, 11, proto.aggregator.LoopNode.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.aggregator.LoopNode} returns this */ -proto.aggregator.ContractReadNode.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {string} */ (reader.readString()); - msg.setContractAddress(value); - break; - case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setCallData(value); - break; - case 3: - var value = /** @type {string} */ (reader.readString()); - msg.setContractAbi(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.aggregator.LoopNode.prototype.clearContractWrite = function() { + return this.setContractWrite(undefined); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Returns whether this field is set. + * @return {boolean} */ -proto.aggregator.ContractReadNode.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.aggregator.ContractReadNode.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.aggregator.LoopNode.prototype.hasContractWrite = function() { + return jspb.Message.getField(this, 11) != null; }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.ContractReadNode} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional ContractReadNode contract_read = 12; + * @return {?proto.aggregator.ContractReadNode} */ -proto.aggregator.ContractReadNode.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getContractAddress(); - if (f.length > 0) { - writer.writeString( - 1, - f - ); - } - f = message.getCallData(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } - f = message.getContractAbi(); - if (f.length > 0) { - writer.writeString( - 3, - f - ); - } +proto.aggregator.LoopNode.prototype.getContractRead = function() { + return /** @type{?proto.aggregator.ContractReadNode} */ ( + jspb.Message.getWrapperField(this, proto.aggregator.ContractReadNode, 12)); }; /** - * optional string contract_address = 1; - * @return {string} + * @param {?proto.aggregator.ContractReadNode|undefined} value + * @return {!proto.aggregator.LoopNode} returns this +*/ +proto.aggregator.LoopNode.prototype.setContractRead = function(value) { + return jspb.Message.setOneofWrapperField(this, 12, proto.aggregator.LoopNode.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.aggregator.LoopNode} returns this */ -proto.aggregator.ContractReadNode.prototype.getContractAddress = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.aggregator.LoopNode.prototype.clearContractRead = function() { + return this.setContractRead(undefined); }; /** - * @param {string} value - * @return {!proto.aggregator.ContractReadNode} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.aggregator.ContractReadNode.prototype.setContractAddress = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); +proto.aggregator.LoopNode.prototype.hasContractRead = function() { + return jspb.Message.getField(this, 12) != null; }; /** - * optional string call_data = 2; - * @return {string} + * optional GraphQLQueryNode graphql_data_query = 13; + * @return {?proto.aggregator.GraphQLQueryNode} */ -proto.aggregator.ContractReadNode.prototype.getCallData = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +proto.aggregator.LoopNode.prototype.getGraphqlDataQuery = function() { + return /** @type{?proto.aggregator.GraphQLQueryNode} */ ( + jspb.Message.getWrapperField(this, proto.aggregator.GraphQLQueryNode, 13)); }; /** - * @param {string} value - * @return {!proto.aggregator.ContractReadNode} returns this + * @param {?proto.aggregator.GraphQLQueryNode|undefined} value + * @return {!proto.aggregator.LoopNode} returns this +*/ +proto.aggregator.LoopNode.prototype.setGraphqlDataQuery = function(value) { + return jspb.Message.setOneofWrapperField(this, 13, proto.aggregator.LoopNode.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.aggregator.LoopNode} returns this */ -proto.aggregator.ContractReadNode.prototype.setCallData = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); +proto.aggregator.LoopNode.prototype.clearGraphqlDataQuery = function() { + return this.setGraphqlDataQuery(undefined); }; /** - * optional string contract_abi = 3; - * @return {string} + * Returns whether this field is set. + * @return {boolean} */ -proto.aggregator.ContractReadNode.prototype.getContractAbi = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +proto.aggregator.LoopNode.prototype.hasGraphqlDataQuery = function() { + return jspb.Message.getField(this, 13) != null; }; /** - * @param {string} value - * @return {!proto.aggregator.ContractReadNode} returns this + * optional RestAPINode rest_api = 14; + * @return {?proto.aggregator.RestAPINode} */ -proto.aggregator.ContractReadNode.prototype.setContractAbi = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); +proto.aggregator.LoopNode.prototype.getRestApi = function() { + return /** @type{?proto.aggregator.RestAPINode} */ ( + jspb.Message.getWrapperField(this, proto.aggregator.RestAPINode, 14)); +}; + + +/** + * @param {?proto.aggregator.RestAPINode|undefined} value + * @return {!proto.aggregator.LoopNode} returns this +*/ +proto.aggregator.LoopNode.prototype.setRestApi = function(value) { + return jspb.Message.setOneofWrapperField(this, 14, proto.aggregator.LoopNode.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.aggregator.LoopNode} returns this + */ +proto.aggregator.LoopNode.prototype.clearRestApi = function() { + return this.setRestApi(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.aggregator.LoopNode.prototype.hasRestApi = function() { + return jspb.Message.getField(this, 14) != null; +}; + + +/** + * optional CustomCodeNode custom_code = 15; + * @return {?proto.aggregator.CustomCodeNode} + */ +proto.aggregator.LoopNode.prototype.getCustomCode = function() { + return /** @type{?proto.aggregator.CustomCodeNode} */ ( + jspb.Message.getWrapperField(this, proto.aggregator.CustomCodeNode, 15)); +}; + + +/** + * @param {?proto.aggregator.CustomCodeNode|undefined} value + * @return {!proto.aggregator.LoopNode} returns this +*/ +proto.aggregator.LoopNode.prototype.setCustomCode = function(value) { + return jspb.Message.setOneofWrapperField(this, 15, proto.aggregator.LoopNode.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.aggregator.LoopNode} returns this + */ +proto.aggregator.LoopNode.prototype.clearCustomCode = function() { + return this.setCustomCode(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.aggregator.LoopNode.prototype.hasCustomCode = function() { + return jspb.Message.getField(this, 15) != null; }; @@ -4190,8 +4118,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.aggregator.GraphQLQueryNode.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.GraphQLQueryNode.toObject(opt_includeInstance, this); +proto.aggregator.TaskEdge.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.TaskEdge.toObject(opt_includeInstance, this); }; @@ -4200,15 +4128,15 @@ proto.aggregator.GraphQLQueryNode.prototype.toObject = function(opt_includeInsta * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.aggregator.GraphQLQueryNode} msg The msg instance to transform. + * @param {!proto.aggregator.TaskEdge} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.GraphQLQueryNode.toObject = function(includeInstance, msg) { +proto.aggregator.TaskEdge.toObject = function(includeInstance, msg) { var f, obj = { - url: jspb.Message.getFieldWithDefault(msg, 1, ""), - query: jspb.Message.getFieldWithDefault(msg, 2, ""), - variablesMap: (f = msg.getVariablesMap()) ? f.toObject(includeInstance, undefined) : [] + id: jspb.Message.getFieldWithDefault(msg, 1, ""), + source: jspb.Message.getFieldWithDefault(msg, 2, ""), + target: jspb.Message.getFieldWithDefault(msg, 3, "") }; if (includeInstance) { @@ -4222,23 +4150,23 @@ proto.aggregator.GraphQLQueryNode.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.GraphQLQueryNode} + * @return {!proto.aggregator.TaskEdge} */ -proto.aggregator.GraphQLQueryNode.deserializeBinary = function(bytes) { +proto.aggregator.TaskEdge.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.GraphQLQueryNode; - return proto.aggregator.GraphQLQueryNode.deserializeBinaryFromReader(msg, reader); + var msg = new proto.aggregator.TaskEdge; + return proto.aggregator.TaskEdge.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.aggregator.GraphQLQueryNode} msg The message object to deserialize into. + * @param {!proto.aggregator.TaskEdge} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.GraphQLQueryNode} + * @return {!proto.aggregator.TaskEdge} */ -proto.aggregator.GraphQLQueryNode.deserializeBinaryFromReader = function(msg, reader) { +proto.aggregator.TaskEdge.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -4247,17 +4175,15 @@ proto.aggregator.GraphQLQueryNode.deserializeBinaryFromReader = function(msg, re switch (field) { case 1: var value = /** @type {string} */ (reader.readString()); - msg.setUrl(value); + msg.setId(value); break; case 2: var value = /** @type {string} */ (reader.readString()); - msg.setQuery(value); + msg.setSource(value); break; case 3: - var value = msg.getVariablesMap(); - reader.readMessage(value, function(message, reader) { - jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, "", ""); - }); + var value = /** @type {string} */ (reader.readString()); + msg.setTarget(value); break; default: reader.skipField(); @@ -4272,9 +4198,9 @@ proto.aggregator.GraphQLQueryNode.deserializeBinaryFromReader = function(msg, re * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.aggregator.GraphQLQueryNode.prototype.serializeBinary = function() { +proto.aggregator.TaskEdge.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.aggregator.GraphQLQueryNode.serializeBinaryToWriter(this, writer); + proto.aggregator.TaskEdge.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -4282,91 +4208,123 @@ proto.aggregator.GraphQLQueryNode.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.GraphQLQueryNode} message + * @param {!proto.aggregator.TaskEdge} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.GraphQLQueryNode.serializeBinaryToWriter = function(message, writer) { +proto.aggregator.TaskEdge.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getUrl(); + f = message.getId(); if (f.length > 0) { writer.writeString( 1, f ); } - f = message.getQuery(); + f = message.getSource(); if (f.length > 0) { writer.writeString( 2, f ); } - f = message.getVariablesMap(true); - if (f && f.getLength() > 0) { - f.serializeBinary(3, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString); - } + f = message.getTarget(); + if (f.length > 0) { + writer.writeString( + 3, + f + ); + } }; /** - * optional string url = 1; + * optional string id = 1; * @return {string} */ -proto.aggregator.GraphQLQueryNode.prototype.getUrl = function() { +proto.aggregator.TaskEdge.prototype.getId = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.aggregator.GraphQLQueryNode} returns this + * @return {!proto.aggregator.TaskEdge} returns this */ -proto.aggregator.GraphQLQueryNode.prototype.setUrl = function(value) { +proto.aggregator.TaskEdge.prototype.setId = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; /** - * optional string query = 2; + * optional string source = 2; * @return {string} */ -proto.aggregator.GraphQLQueryNode.prototype.getQuery = function() { +proto.aggregator.TaskEdge.prototype.getSource = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** * @param {string} value - * @return {!proto.aggregator.GraphQLQueryNode} returns this + * @return {!proto.aggregator.TaskEdge} returns this */ -proto.aggregator.GraphQLQueryNode.prototype.setQuery = function(value) { +proto.aggregator.TaskEdge.prototype.setSource = function(value) { return jspb.Message.setProto3StringField(this, 2, value); }; /** - * map variables = 3; - * @param {boolean=} opt_noLazyCreate Do not create the map if - * empty, instead returning `undefined` - * @return {!jspb.Map} + * optional string target = 3; + * @return {string} */ -proto.aggregator.GraphQLQueryNode.prototype.getVariablesMap = function(opt_noLazyCreate) { - return /** @type {!jspb.Map} */ ( - jspb.Message.getMapField(this, 3, opt_noLazyCreate, - null)); +proto.aggregator.TaskEdge.prototype.getTarget = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); }; /** - * Clears values from the map. The map will be non-null. - * @return {!proto.aggregator.GraphQLQueryNode} returns this + * @param {string} value + * @return {!proto.aggregator.TaskEdge} returns this */ -proto.aggregator.GraphQLQueryNode.prototype.clearVariablesMap = function() { - this.getVariablesMap().clear(); - return this;}; +proto.aggregator.TaskEdge.prototype.setTarget = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); +}; + + + +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.aggregator.TaskNode.oneofGroups_ = [[10,11,12,13,14,15,16,17,18]]; +/** + * @enum {number} + */ +proto.aggregator.TaskNode.TaskTypeCase = { + TASK_TYPE_NOT_SET: 0, + ETH_TRANSFER: 10, + CONTRACT_WRITE: 11, + CONTRACT_READ: 12, + GRAPHQL_DATA_QUERY: 13, + REST_API: 14, + BRANCH: 15, + FILTER: 16, + LOOP: 17, + CUSTOM_CODE: 18 +}; +/** + * @return {proto.aggregator.TaskNode.TaskTypeCase} + */ +proto.aggregator.TaskNode.prototype.getTaskTypeCase = function() { + return /** @type {proto.aggregator.TaskNode.TaskTypeCase} */(jspb.Message.computeOneofCase(this, proto.aggregator.TaskNode.oneofGroups_[0])); +}; @@ -4383,8 +4341,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.aggregator.RestAPINode.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.RestAPINode.toObject(opt_includeInstance, this); +proto.aggregator.TaskNode.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.TaskNode.toObject(opt_includeInstance, this); }; @@ -4393,16 +4351,23 @@ proto.aggregator.RestAPINode.prototype.toObject = function(opt_includeInstance) * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.aggregator.RestAPINode} msg The msg instance to transform. + * @param {!proto.aggregator.TaskNode} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.RestAPINode.toObject = function(includeInstance, msg) { +proto.aggregator.TaskNode.toObject = function(includeInstance, msg) { var f, obj = { - url: jspb.Message.getFieldWithDefault(msg, 1, ""), - headersMap: (f = msg.getHeadersMap()) ? f.toObject(includeInstance, undefined) : [], - body: jspb.Message.getFieldWithDefault(msg, 3, ""), - method: jspb.Message.getFieldWithDefault(msg, 4, "") + id: jspb.Message.getFieldWithDefault(msg, 2, ""), + name: jspb.Message.getFieldWithDefault(msg, 3, ""), + ethTransfer: (f = msg.getEthTransfer()) && proto.aggregator.ETHTransferNode.toObject(includeInstance, f), + contractWrite: (f = msg.getContractWrite()) && proto.aggregator.ContractWriteNode.toObject(includeInstance, f), + contractRead: (f = msg.getContractRead()) && proto.aggregator.ContractReadNode.toObject(includeInstance, f), + graphqlDataQuery: (f = msg.getGraphqlDataQuery()) && proto.aggregator.GraphQLQueryNode.toObject(includeInstance, f), + restApi: (f = msg.getRestApi()) && proto.aggregator.RestAPINode.toObject(includeInstance, f), + branch: (f = msg.getBranch()) && proto.aggregator.BranchNode.toObject(includeInstance, f), + filter: (f = msg.getFilter()) && proto.aggregator.FilterNode.toObject(includeInstance, f), + loop: (f = msg.getLoop()) && proto.aggregator.LoopNode.toObject(includeInstance, f), + customCode: (f = msg.getCustomCode()) && proto.aggregator.CustomCodeNode.toObject(includeInstance, f) }; if (includeInstance) { @@ -4416,46 +4381,81 @@ proto.aggregator.RestAPINode.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.RestAPINode} + * @return {!proto.aggregator.TaskNode} */ -proto.aggregator.RestAPINode.deserializeBinary = function(bytes) { +proto.aggregator.TaskNode.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.RestAPINode; - return proto.aggregator.RestAPINode.deserializeBinaryFromReader(msg, reader); + var msg = new proto.aggregator.TaskNode; + return proto.aggregator.TaskNode.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.aggregator.RestAPINode} msg The message object to deserialize into. + * @param {!proto.aggregator.TaskNode} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.RestAPINode} + * @return {!proto.aggregator.TaskNode} */ -proto.aggregator.RestAPINode.deserializeBinaryFromReader = function(msg, reader) { +proto.aggregator.TaskNode.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; } var field = reader.getFieldNumber(); switch (field) { - case 1: - var value = /** @type {string} */ (reader.readString()); - msg.setUrl(value); - break; case 2: - var value = msg.getHeadersMap(); - reader.readMessage(value, function(message, reader) { - jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, "", ""); - }); + var value = /** @type {string} */ (reader.readString()); + msg.setId(value); break; case 3: var value = /** @type {string} */ (reader.readString()); - msg.setBody(value); + msg.setName(value); break; - case 4: - var value = /** @type {string} */ (reader.readString()); - msg.setMethod(value); + case 10: + var value = new proto.aggregator.ETHTransferNode; + reader.readMessage(value,proto.aggregator.ETHTransferNode.deserializeBinaryFromReader); + msg.setEthTransfer(value); + break; + case 11: + var value = new proto.aggregator.ContractWriteNode; + reader.readMessage(value,proto.aggregator.ContractWriteNode.deserializeBinaryFromReader); + msg.setContractWrite(value); + break; + case 12: + var value = new proto.aggregator.ContractReadNode; + reader.readMessage(value,proto.aggregator.ContractReadNode.deserializeBinaryFromReader); + msg.setContractRead(value); + break; + case 13: + var value = new proto.aggregator.GraphQLQueryNode; + reader.readMessage(value,proto.aggregator.GraphQLQueryNode.deserializeBinaryFromReader); + msg.setGraphqlDataQuery(value); + break; + case 14: + var value = new proto.aggregator.RestAPINode; + reader.readMessage(value,proto.aggregator.RestAPINode.deserializeBinaryFromReader); + msg.setRestApi(value); + break; + case 15: + var value = new proto.aggregator.BranchNode; + reader.readMessage(value,proto.aggregator.BranchNode.deserializeBinaryFromReader); + msg.setBranch(value); + break; + case 16: + var value = new proto.aggregator.FilterNode; + reader.readMessage(value,proto.aggregator.FilterNode.deserializeBinaryFromReader); + msg.setFilter(value); + break; + case 17: + var value = new proto.aggregator.LoopNode; + reader.readMessage(value,proto.aggregator.LoopNode.deserializeBinaryFromReader); + msg.setLoop(value); + break; + case 18: + var value = new proto.aggregator.CustomCodeNode; + reader.readMessage(value,proto.aggregator.CustomCodeNode.deserializeBinaryFromReader); + msg.setCustomCode(value); break; default: reader.skipField(); @@ -4470,9 +4470,9 @@ proto.aggregator.RestAPINode.deserializeBinaryFromReader = function(msg, reader) * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.aggregator.RestAPINode.prototype.serializeBinary = function() { +proto.aggregator.TaskNode.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.aggregator.RestAPINode.serializeBinaryToWriter(this, writer); + proto.aggregator.TaskNode.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -4480,627 +4480,478 @@ proto.aggregator.RestAPINode.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.RestAPINode} message + * @param {!proto.aggregator.TaskNode} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.RestAPINode.serializeBinaryToWriter = function(message, writer) { +proto.aggregator.TaskNode.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getUrl(); + f = message.getId(); if (f.length > 0) { writer.writeString( - 1, + 2, f ); } - f = message.getHeadersMap(true); - if (f && f.getLength() > 0) { - f.serializeBinary(2, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString); - } - f = message.getBody(); + f = message.getName(); if (f.length > 0) { writer.writeString( 3, f ); } - f = message.getMethod(); - if (f.length > 0) { - writer.writeString( - 4, - f + f = message.getEthTransfer(); + if (f != null) { + writer.writeMessage( + 10, + f, + proto.aggregator.ETHTransferNode.serializeBinaryToWriter + ); + } + f = message.getContractWrite(); + if (f != null) { + writer.writeMessage( + 11, + f, + proto.aggregator.ContractWriteNode.serializeBinaryToWriter + ); + } + f = message.getContractRead(); + if (f != null) { + writer.writeMessage( + 12, + f, + proto.aggregator.ContractReadNode.serializeBinaryToWriter + ); + } + f = message.getGraphqlDataQuery(); + if (f != null) { + writer.writeMessage( + 13, + f, + proto.aggregator.GraphQLQueryNode.serializeBinaryToWriter + ); + } + f = message.getRestApi(); + if (f != null) { + writer.writeMessage( + 14, + f, + proto.aggregator.RestAPINode.serializeBinaryToWriter + ); + } + f = message.getBranch(); + if (f != null) { + writer.writeMessage( + 15, + f, + proto.aggregator.BranchNode.serializeBinaryToWriter + ); + } + f = message.getFilter(); + if (f != null) { + writer.writeMessage( + 16, + f, + proto.aggregator.FilterNode.serializeBinaryToWriter + ); + } + f = message.getLoop(); + if (f != null) { + writer.writeMessage( + 17, + f, + proto.aggregator.LoopNode.serializeBinaryToWriter + ); + } + f = message.getCustomCode(); + if (f != null) { + writer.writeMessage( + 18, + f, + proto.aggregator.CustomCodeNode.serializeBinaryToWriter ); } }; /** - * optional string url = 1; - * @return {string} - */ -proto.aggregator.RestAPINode.prototype.getUrl = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * @param {string} value - * @return {!proto.aggregator.RestAPINode} returns this - */ -proto.aggregator.RestAPINode.prototype.setUrl = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); -}; - - -/** - * map headers = 2; - * @param {boolean=} opt_noLazyCreate Do not create the map if - * empty, instead returning `undefined` - * @return {!jspb.Map} - */ -proto.aggregator.RestAPINode.prototype.getHeadersMap = function(opt_noLazyCreate) { - return /** @type {!jspb.Map} */ ( - jspb.Message.getMapField(this, 2, opt_noLazyCreate, - null)); -}; - - -/** - * Clears values from the map. The map will be non-null. - * @return {!proto.aggregator.RestAPINode} returns this - */ -proto.aggregator.RestAPINode.prototype.clearHeadersMap = function() { - this.getHeadersMap().clear(); - return this;}; - - -/** - * optional string body = 3; - * @return {string} - */ -proto.aggregator.RestAPINode.prototype.getBody = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); -}; - - -/** - * @param {string} value - * @return {!proto.aggregator.RestAPINode} returns this - */ -proto.aggregator.RestAPINode.prototype.setBody = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); -}; - - -/** - * optional string method = 4; + * optional string id = 2; * @return {string} */ -proto.aggregator.RestAPINode.prototype.getMethod = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); +proto.aggregator.TaskNode.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** * @param {string} value - * @return {!proto.aggregator.RestAPINode} returns this + * @return {!proto.aggregator.TaskNode} returns this */ -proto.aggregator.RestAPINode.prototype.setMethod = function(value) { - return jspb.Message.setProto3StringField(this, 4, value); +proto.aggregator.TaskNode.prototype.setId = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); }; +/** + * optional string name = 3; + * @return {string} + */ +proto.aggregator.TaskNode.prototype.getName = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * @param {string} value + * @return {!proto.aggregator.TaskNode} returns this */ -proto.aggregator.CustomCodeNode.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.CustomCodeNode.toObject(opt_includeInstance, this); +proto.aggregator.TaskNode.prototype.setName = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.aggregator.CustomCodeNode} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional ETHTransferNode eth_transfer = 10; + * @return {?proto.aggregator.ETHTransferNode} */ -proto.aggregator.CustomCodeNode.toObject = function(includeInstance, msg) { - var f, obj = { - lang: jspb.Message.getFieldWithDefault(msg, 1, 0), - source: jspb.Message.getFieldWithDefault(msg, 2, "") - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.aggregator.TaskNode.prototype.getEthTransfer = function() { + return /** @type{?proto.aggregator.ETHTransferNode} */ ( + jspb.Message.getWrapperField(this, proto.aggregator.ETHTransferNode, 10)); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.CustomCodeNode} - */ -proto.aggregator.CustomCodeNode.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.CustomCodeNode; - return proto.aggregator.CustomCodeNode.deserializeBinaryFromReader(msg, reader); + * @param {?proto.aggregator.ETHTransferNode|undefined} value + * @return {!proto.aggregator.TaskNode} returns this +*/ +proto.aggregator.TaskNode.prototype.setEthTransfer = function(value) { + return jspb.Message.setOneofWrapperField(this, 10, proto.aggregator.TaskNode.oneofGroups_[0], value); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.aggregator.CustomCodeNode} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.CustomCodeNode} + * Clears the message field making it undefined. + * @return {!proto.aggregator.TaskNode} returns this */ -proto.aggregator.CustomCodeNode.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {!proto.aggregator.CustomCodeLang} */ (reader.readEnum()); - msg.setLang(value); - break; - case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setSource(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.aggregator.TaskNode.prototype.clearEthTransfer = function() { + return this.setEthTransfer(undefined); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Returns whether this field is set. + * @return {boolean} */ -proto.aggregator.CustomCodeNode.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.aggregator.CustomCodeNode.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.aggregator.TaskNode.prototype.hasEthTransfer = function() { + return jspb.Message.getField(this, 10) != null; }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.CustomCodeNode} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional ContractWriteNode contract_write = 11; + * @return {?proto.aggregator.ContractWriteNode} */ -proto.aggregator.CustomCodeNode.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getLang(); - if (f !== 0.0) { - writer.writeEnum( - 1, - f - ); - } - f = message.getSource(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } +proto.aggregator.TaskNode.prototype.getContractWrite = function() { + return /** @type{?proto.aggregator.ContractWriteNode} */ ( + jspb.Message.getWrapperField(this, proto.aggregator.ContractWriteNode, 11)); }; /** - * optional CustomCodeLang lang = 1; - * @return {!proto.aggregator.CustomCodeLang} - */ -proto.aggregator.CustomCodeNode.prototype.getLang = function() { - return /** @type {!proto.aggregator.CustomCodeLang} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); + * @param {?proto.aggregator.ContractWriteNode|undefined} value + * @return {!proto.aggregator.TaskNode} returns this +*/ +proto.aggregator.TaskNode.prototype.setContractWrite = function(value) { + return jspb.Message.setOneofWrapperField(this, 11, proto.aggregator.TaskNode.oneofGroups_[0], value); }; /** - * @param {!proto.aggregator.CustomCodeLang} value - * @return {!proto.aggregator.CustomCodeNode} returns this + * Clears the message field making it undefined. + * @return {!proto.aggregator.TaskNode} returns this */ -proto.aggregator.CustomCodeNode.prototype.setLang = function(value) { - return jspb.Message.setProto3EnumField(this, 1, value); +proto.aggregator.TaskNode.prototype.clearContractWrite = function() { + return this.setContractWrite(undefined); }; /** - * optional string source = 2; - * @return {string} + * Returns whether this field is set. + * @return {boolean} */ -proto.aggregator.CustomCodeNode.prototype.getSource = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +proto.aggregator.TaskNode.prototype.hasContractWrite = function() { + return jspb.Message.getField(this, 11) != null; }; /** - * @param {string} value - * @return {!proto.aggregator.CustomCodeNode} returns this + * optional ContractReadNode contract_read = 12; + * @return {?proto.aggregator.ContractReadNode} */ -proto.aggregator.CustomCodeNode.prototype.setSource = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); +proto.aggregator.TaskNode.prototype.getContractRead = function() { + return /** @type{?proto.aggregator.ContractReadNode} */ ( + jspb.Message.getWrapperField(this, proto.aggregator.ContractReadNode, 12)); }; +/** + * @param {?proto.aggregator.ContractReadNode|undefined} value + * @return {!proto.aggregator.TaskNode} returns this +*/ +proto.aggregator.TaskNode.prototype.setContractRead = function(value) { + return jspb.Message.setOneofWrapperField(this, 12, proto.aggregator.TaskNode.oneofGroups_[0], value); +}; - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * Clears the message field making it undefined. + * @return {!proto.aggregator.TaskNode} returns this */ -proto.aggregator.Condition.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.Condition.toObject(opt_includeInstance, this); +proto.aggregator.TaskNode.prototype.clearContractRead = function() { + return this.setContractRead(undefined); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.aggregator.Condition} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * Returns whether this field is set. + * @return {boolean} */ -proto.aggregator.Condition.toObject = function(includeInstance, msg) { - var f, obj = { - id: jspb.Message.getFieldWithDefault(msg, 1, ""), - type: jspb.Message.getFieldWithDefault(msg, 2, ""), - expression: jspb.Message.getFieldWithDefault(msg, 3, "") - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.aggregator.TaskNode.prototype.hasContractRead = function() { + return jspb.Message.getField(this, 12) != null; }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.Condition} + * optional GraphQLQueryNode graphql_data_query = 13; + * @return {?proto.aggregator.GraphQLQueryNode} */ -proto.aggregator.Condition.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.Condition; - return proto.aggregator.Condition.deserializeBinaryFromReader(msg, reader); +proto.aggregator.TaskNode.prototype.getGraphqlDataQuery = function() { + return /** @type{?proto.aggregator.GraphQLQueryNode} */ ( + jspb.Message.getWrapperField(this, proto.aggregator.GraphQLQueryNode, 13)); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.aggregator.Condition} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.Condition} - */ -proto.aggregator.Condition.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {string} */ (reader.readString()); - msg.setId(value); - break; - case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setType(value); - break; - case 3: - var value = /** @type {string} */ (reader.readString()); - msg.setExpression(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; + * @param {?proto.aggregator.GraphQLQueryNode|undefined} value + * @return {!proto.aggregator.TaskNode} returns this +*/ +proto.aggregator.TaskNode.prototype.setGraphqlDataQuery = function(value) { + return jspb.Message.setOneofWrapperField(this, 13, proto.aggregator.TaskNode.oneofGroups_[0], value); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * Clears the message field making it undefined. + * @return {!proto.aggregator.TaskNode} returns this */ -proto.aggregator.Condition.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.aggregator.Condition.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.aggregator.TaskNode.prototype.clearGraphqlDataQuery = function() { + return this.setGraphqlDataQuery(undefined); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.Condition} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * Returns whether this field is set. + * @return {boolean} */ -proto.aggregator.Condition.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getId(); - if (f.length > 0) { - writer.writeString( - 1, - f - ); - } - f = message.getType(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } - f = message.getExpression(); - if (f.length > 0) { - writer.writeString( - 3, - f - ); - } +proto.aggregator.TaskNode.prototype.hasGraphqlDataQuery = function() { + return jspb.Message.getField(this, 13) != null; }; /** - * optional string id = 1; - * @return {string} + * optional RestAPINode rest_api = 14; + * @return {?proto.aggregator.RestAPINode} */ -proto.aggregator.Condition.prototype.getId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.aggregator.TaskNode.prototype.getRestApi = function() { + return /** @type{?proto.aggregator.RestAPINode} */ ( + jspb.Message.getWrapperField(this, proto.aggregator.RestAPINode, 14)); }; /** - * @param {string} value - * @return {!proto.aggregator.Condition} returns this - */ -proto.aggregator.Condition.prototype.setId = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); + * @param {?proto.aggregator.RestAPINode|undefined} value + * @return {!proto.aggregator.TaskNode} returns this +*/ +proto.aggregator.TaskNode.prototype.setRestApi = function(value) { + return jspb.Message.setOneofWrapperField(this, 14, proto.aggregator.TaskNode.oneofGroups_[0], value); }; /** - * optional string type = 2; - * @return {string} + * Clears the message field making it undefined. + * @return {!proto.aggregator.TaskNode} returns this */ -proto.aggregator.Condition.prototype.getType = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +proto.aggregator.TaskNode.prototype.clearRestApi = function() { + return this.setRestApi(undefined); }; /** - * @param {string} value - * @return {!proto.aggregator.Condition} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.aggregator.Condition.prototype.setType = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); +proto.aggregator.TaskNode.prototype.hasRestApi = function() { + return jspb.Message.getField(this, 14) != null; }; /** - * optional string expression = 3; - * @return {string} + * optional BranchNode branch = 15; + * @return {?proto.aggregator.BranchNode} */ -proto.aggregator.Condition.prototype.getExpression = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +proto.aggregator.TaskNode.prototype.getBranch = function() { + return /** @type{?proto.aggregator.BranchNode} */ ( + jspb.Message.getWrapperField(this, proto.aggregator.BranchNode, 15)); }; /** - * @param {string} value - * @return {!proto.aggregator.Condition} returns this - */ -proto.aggregator.Condition.prototype.setExpression = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); + * @param {?proto.aggregator.BranchNode|undefined} value + * @return {!proto.aggregator.TaskNode} returns this +*/ +proto.aggregator.TaskNode.prototype.setBranch = function(value) { + return jspb.Message.setOneofWrapperField(this, 15, proto.aggregator.TaskNode.oneofGroups_[0], value); }; - /** - * List of repeated fields within this message type. - * @private {!Array} - * @const + * Clears the message field making it undefined. + * @return {!proto.aggregator.TaskNode} returns this */ -proto.aggregator.BranchNode.repeatedFields_ = [1]; - +proto.aggregator.TaskNode.prototype.clearBranch = function() { + return this.setBranch(undefined); +}; -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * Returns whether this field is set. + * @return {boolean} */ -proto.aggregator.BranchNode.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.BranchNode.toObject(opt_includeInstance, this); +proto.aggregator.TaskNode.prototype.hasBranch = function() { + return jspb.Message.getField(this, 15) != null; }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.aggregator.BranchNode} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional FilterNode filter = 16; + * @return {?proto.aggregator.FilterNode} */ -proto.aggregator.BranchNode.toObject = function(includeInstance, msg) { - var f, obj = { - conditionsList: jspb.Message.toObjectList(msg.getConditionsList(), - proto.aggregator.Condition.toObject, includeInstance) - }; +proto.aggregator.TaskNode.prototype.getFilter = function() { + return /** @type{?proto.aggregator.FilterNode} */ ( + jspb.Message.getWrapperField(this, proto.aggregator.FilterNode, 16)); +}; - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; + +/** + * @param {?proto.aggregator.FilterNode|undefined} value + * @return {!proto.aggregator.TaskNode} returns this +*/ +proto.aggregator.TaskNode.prototype.setFilter = function(value) { + return jspb.Message.setOneofWrapperField(this, 16, proto.aggregator.TaskNode.oneofGroups_[0], value); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.BranchNode} + * Clears the message field making it undefined. + * @return {!proto.aggregator.TaskNode} returns this */ -proto.aggregator.BranchNode.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.BranchNode; - return proto.aggregator.BranchNode.deserializeBinaryFromReader(msg, reader); +proto.aggregator.TaskNode.prototype.clearFilter = function() { + return this.setFilter(undefined); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.aggregator.BranchNode} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.BranchNode} + * Returns whether this field is set. + * @return {boolean} */ -proto.aggregator.BranchNode.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.aggregator.Condition; - reader.readMessage(value,proto.aggregator.Condition.deserializeBinaryFromReader); - msg.addConditions(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.aggregator.TaskNode.prototype.hasFilter = function() { + return jspb.Message.getField(this, 16) != null; }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * optional LoopNode loop = 17; + * @return {?proto.aggregator.LoopNode} */ -proto.aggregator.BranchNode.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.aggregator.BranchNode.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.aggregator.TaskNode.prototype.getLoop = function() { + return /** @type{?proto.aggregator.LoopNode} */ ( + jspb.Message.getWrapperField(this, proto.aggregator.LoopNode, 17)); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.BranchNode} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {?proto.aggregator.LoopNode|undefined} value + * @return {!proto.aggregator.TaskNode} returns this +*/ +proto.aggregator.TaskNode.prototype.setLoop = function(value) { + return jspb.Message.setOneofWrapperField(this, 17, proto.aggregator.TaskNode.oneofGroups_[0], value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.aggregator.TaskNode} returns this */ -proto.aggregator.BranchNode.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getConditionsList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 1, - f, - proto.aggregator.Condition.serializeBinaryToWriter - ); - } +proto.aggregator.TaskNode.prototype.clearLoop = function() { + return this.setLoop(undefined); }; /** - * repeated Condition conditions = 1; - * @return {!Array} + * Returns whether this field is set. + * @return {boolean} */ -proto.aggregator.BranchNode.prototype.getConditionsList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.aggregator.Condition, 1)); +proto.aggregator.TaskNode.prototype.hasLoop = function() { + return jspb.Message.getField(this, 17) != null; }; /** - * @param {!Array} value - * @return {!proto.aggregator.BranchNode} returns this + * optional CustomCodeNode custom_code = 18; + * @return {?proto.aggregator.CustomCodeNode} + */ +proto.aggregator.TaskNode.prototype.getCustomCode = function() { + return /** @type{?proto.aggregator.CustomCodeNode} */ ( + jspb.Message.getWrapperField(this, proto.aggregator.CustomCodeNode, 18)); +}; + + +/** + * @param {?proto.aggregator.CustomCodeNode|undefined} value + * @return {!proto.aggregator.TaskNode} returns this */ -proto.aggregator.BranchNode.prototype.setConditionsList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); +proto.aggregator.TaskNode.prototype.setCustomCode = function(value) { + return jspb.Message.setOneofWrapperField(this, 18, proto.aggregator.TaskNode.oneofGroups_[0], value); }; /** - * @param {!proto.aggregator.Condition=} opt_value - * @param {number=} opt_index - * @return {!proto.aggregator.Condition} + * Clears the message field making it undefined. + * @return {!proto.aggregator.TaskNode} returns this */ -proto.aggregator.BranchNode.prototype.addConditions = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.aggregator.Condition, opt_index); +proto.aggregator.TaskNode.prototype.clearCustomCode = function() { + return this.setCustomCode(undefined); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.aggregator.BranchNode} returns this + * Returns whether this field is set. + * @return {boolean} */ -proto.aggregator.BranchNode.prototype.clearConditionsList = function() { - return this.setConditionsList([]); +proto.aggregator.TaskNode.prototype.hasCustomCode = function() { + return jspb.Message.getField(this, 18) != null; }; +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.aggregator.Execution.repeatedFields_ = [8]; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -5116,8 +4967,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.aggregator.FilterNode.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.FilterNode.toObject(opt_includeInstance, this); +proto.aggregator.Execution.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.Execution.toObject(opt_includeInstance, this); }; @@ -5126,13 +4977,21 @@ proto.aggregator.FilterNode.prototype.toObject = function(opt_includeInstance) { * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.aggregator.FilterNode} msg The msg instance to transform. + * @param {!proto.aggregator.Execution} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.FilterNode.toObject = function(includeInstance, msg) { +proto.aggregator.Execution.toObject = function(includeInstance, msg) { var f, obj = { - expression: jspb.Message.getFieldWithDefault(msg, 1, "") + id: jspb.Message.getFieldWithDefault(msg, 1, ""), + startAt: jspb.Message.getFieldWithDefault(msg, 2, 0), + endAt: jspb.Message.getFieldWithDefault(msg, 3, 0), + success: jspb.Message.getBooleanFieldWithDefault(msg, 4, false), + error: jspb.Message.getFieldWithDefault(msg, 5, ""), + triggerMark: (f = msg.getTriggerMark()) && proto.aggregator.TriggerMark.toObject(includeInstance, f), + result: jspb.Message.getFieldWithDefault(msg, 7, ""), + stepsList: jspb.Message.toObjectList(msg.getStepsList(), + proto.aggregator.Execution.Step.toObject, includeInstance) }; if (includeInstance) { @@ -5146,23 +5005,23 @@ proto.aggregator.FilterNode.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.FilterNode} + * @return {!proto.aggregator.Execution} */ -proto.aggregator.FilterNode.deserializeBinary = function(bytes) { +proto.aggregator.Execution.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.FilterNode; - return proto.aggregator.FilterNode.deserializeBinaryFromReader(msg, reader); + var msg = new proto.aggregator.Execution; + return proto.aggregator.Execution.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.aggregator.FilterNode} msg The message object to deserialize into. + * @param {!proto.aggregator.Execution} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.FilterNode} + * @return {!proto.aggregator.Execution} */ -proto.aggregator.FilterNode.deserializeBinaryFromReader = function(msg, reader) { +proto.aggregator.Execution.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -5171,7 +5030,37 @@ proto.aggregator.FilterNode.deserializeBinaryFromReader = function(msg, reader) switch (field) { case 1: var value = /** @type {string} */ (reader.readString()); - msg.setExpression(value); + msg.setId(value); + break; + case 2: + var value = /** @type {number} */ (reader.readInt64()); + msg.setStartAt(value); + break; + case 3: + var value = /** @type {number} */ (reader.readInt64()); + msg.setEndAt(value); + break; + case 4: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setSuccess(value); + break; + case 5: + var value = /** @type {string} */ (reader.readString()); + msg.setError(value); + break; + case 6: + var value = new proto.aggregator.TriggerMark; + reader.readMessage(value,proto.aggregator.TriggerMark.deserializeBinaryFromReader); + msg.setTriggerMark(value); + break; + case 7: + var value = /** @type {string} */ (reader.readString()); + msg.setResult(value); + break; + case 8: + var value = new proto.aggregator.Execution.Step; + reader.readMessage(value,proto.aggregator.Execution.Step.deserializeBinaryFromReader); + msg.addSteps(value); break; default: reader.skipField(); @@ -5186,9 +5075,9 @@ proto.aggregator.FilterNode.deserializeBinaryFromReader = function(msg, reader) * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.aggregator.FilterNode.prototype.serializeBinary = function() { +proto.aggregator.Execution.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.aggregator.FilterNode.serializeBinaryToWriter(this, writer); + proto.aggregator.Execution.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -5196,74 +5085,77 @@ proto.aggregator.FilterNode.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.FilterNode} message + * @param {!proto.aggregator.Execution} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.FilterNode.serializeBinaryToWriter = function(message, writer) { +proto.aggregator.Execution.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getExpression(); + f = message.getId(); if (f.length > 0) { writer.writeString( 1, f ); } + f = message.getStartAt(); + if (f !== 0) { + writer.writeInt64( + 2, + f + ); + } + f = message.getEndAt(); + if (f !== 0) { + writer.writeInt64( + 3, + f + ); + } + f = message.getSuccess(); + if (f) { + writer.writeBool( + 4, + f + ); + } + f = message.getError(); + if (f.length > 0) { + writer.writeString( + 5, + f + ); + } + f = message.getTriggerMark(); + if (f != null) { + writer.writeMessage( + 6, + f, + proto.aggregator.TriggerMark.serializeBinaryToWriter + ); + } + f = message.getResult(); + if (f.length > 0) { + writer.writeString( + 7, + f + ); + } + f = message.getStepsList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 8, + f, + proto.aggregator.Execution.Step.serializeBinaryToWriter + ); + } }; -/** - * optional string expression = 1; - * @return {string} - */ -proto.aggregator.FilterNode.prototype.getExpression = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * @param {string} value - * @return {!proto.aggregator.FilterNode} returns this - */ -proto.aggregator.FilterNode.prototype.setExpression = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); -}; - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.aggregator.LoopNode.oneofGroups_ = [[10,11,12,13,14,15]]; -/** - * @enum {number} - */ -proto.aggregator.LoopNode.RunnerCase = { - RUNNER_NOT_SET: 0, - ETH_TRANSFER: 10, - CONTRACT_WRITE: 11, - CONTRACT_READ: 12, - GRAPHQL_DATA_QUERY: 13, - REST_API: 14, - CUSTOM_CODE: 15 -}; - -/** - * @return {proto.aggregator.LoopNode.RunnerCase} - */ -proto.aggregator.LoopNode.prototype.getRunnerCase = function() { - return /** @type {proto.aggregator.LoopNode.RunnerCase} */(jspb.Message.computeOneofCase(this, proto.aggregator.LoopNode.oneofGroups_[0])); -}; - - - -if (jspb.Message.GENERATE_TO_OBJECT) { +if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. * Field names that are reserved in JavaScript and will be renamed to pb_name. @@ -5276,1513 +5168,491 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.aggregator.LoopNode.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.LoopNode.toObject(opt_includeInstance, this); -}; - - -/** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.aggregator.LoopNode} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.aggregator.LoopNode.toObject = function(includeInstance, msg) { - var f, obj = { - input: jspb.Message.getFieldWithDefault(msg, 1, ""), - iterVal: jspb.Message.getFieldWithDefault(msg, 2, ""), - iterKey: jspb.Message.getFieldWithDefault(msg, 3, ""), - ethTransfer: (f = msg.getEthTransfer()) && proto.aggregator.ETHTransferNode.toObject(includeInstance, f), - contractWrite: (f = msg.getContractWrite()) && proto.aggregator.ContractWriteNode.toObject(includeInstance, f), - contractRead: (f = msg.getContractRead()) && proto.aggregator.ContractReadNode.toObject(includeInstance, f), - graphqlDataQuery: (f = msg.getGraphqlDataQuery()) && proto.aggregator.GraphQLQueryNode.toObject(includeInstance, f), - restApi: (f = msg.getRestApi()) && proto.aggregator.RestAPINode.toObject(includeInstance, f), - customCode: (f = msg.getCustomCode()) && proto.aggregator.CustomCodeNode.toObject(includeInstance, f) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; -}; -} - - -/** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.LoopNode} - */ -proto.aggregator.LoopNode.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.LoopNode; - return proto.aggregator.LoopNode.deserializeBinaryFromReader(msg, reader); -}; - - -/** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.aggregator.LoopNode} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.LoopNode} - */ -proto.aggregator.LoopNode.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {string} */ (reader.readString()); - msg.setInput(value); - break; - case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setIterVal(value); - break; - case 3: - var value = /** @type {string} */ (reader.readString()); - msg.setIterKey(value); - break; - case 10: - var value = new proto.aggregator.ETHTransferNode; - reader.readMessage(value,proto.aggregator.ETHTransferNode.deserializeBinaryFromReader); - msg.setEthTransfer(value); - break; - case 11: - var value = new proto.aggregator.ContractWriteNode; - reader.readMessage(value,proto.aggregator.ContractWriteNode.deserializeBinaryFromReader); - msg.setContractWrite(value); - break; - case 12: - var value = new proto.aggregator.ContractReadNode; - reader.readMessage(value,proto.aggregator.ContractReadNode.deserializeBinaryFromReader); - msg.setContractRead(value); - break; - case 13: - var value = new proto.aggregator.GraphQLQueryNode; - reader.readMessage(value,proto.aggregator.GraphQLQueryNode.deserializeBinaryFromReader); - msg.setGraphqlDataQuery(value); - break; - case 14: - var value = new proto.aggregator.RestAPINode; - reader.readMessage(value,proto.aggregator.RestAPINode.deserializeBinaryFromReader); - msg.setRestApi(value); - break; - case 15: - var value = new proto.aggregator.CustomCodeNode; - reader.readMessage(value,proto.aggregator.CustomCodeNode.deserializeBinaryFromReader); - msg.setCustomCode(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.aggregator.LoopNode.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.aggregator.LoopNode.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.LoopNode} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.aggregator.LoopNode.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getInput(); - if (f.length > 0) { - writer.writeString( - 1, - f - ); - } - f = message.getIterVal(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } - f = message.getIterKey(); - if (f.length > 0) { - writer.writeString( - 3, - f - ); - } - f = message.getEthTransfer(); - if (f != null) { - writer.writeMessage( - 10, - f, - proto.aggregator.ETHTransferNode.serializeBinaryToWriter - ); - } - f = message.getContractWrite(); - if (f != null) { - writer.writeMessage( - 11, - f, - proto.aggregator.ContractWriteNode.serializeBinaryToWriter - ); - } - f = message.getContractRead(); - if (f != null) { - writer.writeMessage( - 12, - f, - proto.aggregator.ContractReadNode.serializeBinaryToWriter - ); - } - f = message.getGraphqlDataQuery(); - if (f != null) { - writer.writeMessage( - 13, - f, - proto.aggregator.GraphQLQueryNode.serializeBinaryToWriter - ); - } - f = message.getRestApi(); - if (f != null) { - writer.writeMessage( - 14, - f, - proto.aggregator.RestAPINode.serializeBinaryToWriter - ); - } - f = message.getCustomCode(); - if (f != null) { - writer.writeMessage( - 15, - f, - proto.aggregator.CustomCodeNode.serializeBinaryToWriter - ); - } -}; - - -/** - * optional string input = 1; - * @return {string} - */ -proto.aggregator.LoopNode.prototype.getInput = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * @param {string} value - * @return {!proto.aggregator.LoopNode} returns this - */ -proto.aggregator.LoopNode.prototype.setInput = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); -}; - - -/** - * optional string iter_val = 2; - * @return {string} - */ -proto.aggregator.LoopNode.prototype.getIterVal = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - - -/** - * @param {string} value - * @return {!proto.aggregator.LoopNode} returns this - */ -proto.aggregator.LoopNode.prototype.setIterVal = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); -}; - - -/** - * optional string iter_key = 3; - * @return {string} - */ -proto.aggregator.LoopNode.prototype.getIterKey = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); -}; - - -/** - * @param {string} value - * @return {!proto.aggregator.LoopNode} returns this - */ -proto.aggregator.LoopNode.prototype.setIterKey = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); -}; - - -/** - * optional ETHTransferNode eth_transfer = 10; - * @return {?proto.aggregator.ETHTransferNode} - */ -proto.aggregator.LoopNode.prototype.getEthTransfer = function() { - return /** @type{?proto.aggregator.ETHTransferNode} */ ( - jspb.Message.getWrapperField(this, proto.aggregator.ETHTransferNode, 10)); -}; - - -/** - * @param {?proto.aggregator.ETHTransferNode|undefined} value - * @return {!proto.aggregator.LoopNode} returns this -*/ -proto.aggregator.LoopNode.prototype.setEthTransfer = function(value) { - return jspb.Message.setOneofWrapperField(this, 10, proto.aggregator.LoopNode.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.aggregator.LoopNode} returns this - */ -proto.aggregator.LoopNode.prototype.clearEthTransfer = function() { - return this.setEthTransfer(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.aggregator.LoopNode.prototype.hasEthTransfer = function() { - return jspb.Message.getField(this, 10) != null; -}; - - -/** - * optional ContractWriteNode contract_write = 11; - * @return {?proto.aggregator.ContractWriteNode} - */ -proto.aggregator.LoopNode.prototype.getContractWrite = function() { - return /** @type{?proto.aggregator.ContractWriteNode} */ ( - jspb.Message.getWrapperField(this, proto.aggregator.ContractWriteNode, 11)); -}; - - -/** - * @param {?proto.aggregator.ContractWriteNode|undefined} value - * @return {!proto.aggregator.LoopNode} returns this -*/ -proto.aggregator.LoopNode.prototype.setContractWrite = function(value) { - return jspb.Message.setOneofWrapperField(this, 11, proto.aggregator.LoopNode.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.aggregator.LoopNode} returns this - */ -proto.aggregator.LoopNode.prototype.clearContractWrite = function() { - return this.setContractWrite(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.aggregator.LoopNode.prototype.hasContractWrite = function() { - return jspb.Message.getField(this, 11) != null; -}; - - -/** - * optional ContractReadNode contract_read = 12; - * @return {?proto.aggregator.ContractReadNode} - */ -proto.aggregator.LoopNode.prototype.getContractRead = function() { - return /** @type{?proto.aggregator.ContractReadNode} */ ( - jspb.Message.getWrapperField(this, proto.aggregator.ContractReadNode, 12)); -}; - - -/** - * @param {?proto.aggregator.ContractReadNode|undefined} value - * @return {!proto.aggregator.LoopNode} returns this -*/ -proto.aggregator.LoopNode.prototype.setContractRead = function(value) { - return jspb.Message.setOneofWrapperField(this, 12, proto.aggregator.LoopNode.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.aggregator.LoopNode} returns this - */ -proto.aggregator.LoopNode.prototype.clearContractRead = function() { - return this.setContractRead(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.aggregator.LoopNode.prototype.hasContractRead = function() { - return jspb.Message.getField(this, 12) != null; -}; - - -/** - * optional GraphQLQueryNode graphql_data_query = 13; - * @return {?proto.aggregator.GraphQLQueryNode} - */ -proto.aggregator.LoopNode.prototype.getGraphqlDataQuery = function() { - return /** @type{?proto.aggregator.GraphQLQueryNode} */ ( - jspb.Message.getWrapperField(this, proto.aggregator.GraphQLQueryNode, 13)); -}; - - -/** - * @param {?proto.aggregator.GraphQLQueryNode|undefined} value - * @return {!proto.aggregator.LoopNode} returns this -*/ -proto.aggregator.LoopNode.prototype.setGraphqlDataQuery = function(value) { - return jspb.Message.setOneofWrapperField(this, 13, proto.aggregator.LoopNode.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.aggregator.LoopNode} returns this - */ -proto.aggregator.LoopNode.prototype.clearGraphqlDataQuery = function() { - return this.setGraphqlDataQuery(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.aggregator.LoopNode.prototype.hasGraphqlDataQuery = function() { - return jspb.Message.getField(this, 13) != null; -}; - - -/** - * optional RestAPINode rest_api = 14; - * @return {?proto.aggregator.RestAPINode} - */ -proto.aggregator.LoopNode.prototype.getRestApi = function() { - return /** @type{?proto.aggregator.RestAPINode} */ ( - jspb.Message.getWrapperField(this, proto.aggregator.RestAPINode, 14)); -}; - - -/** - * @param {?proto.aggregator.RestAPINode|undefined} value - * @return {!proto.aggregator.LoopNode} returns this -*/ -proto.aggregator.LoopNode.prototype.setRestApi = function(value) { - return jspb.Message.setOneofWrapperField(this, 14, proto.aggregator.LoopNode.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.aggregator.LoopNode} returns this - */ -proto.aggregator.LoopNode.prototype.clearRestApi = function() { - return this.setRestApi(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.aggregator.LoopNode.prototype.hasRestApi = function() { - return jspb.Message.getField(this, 14) != null; -}; - - -/** - * optional CustomCodeNode custom_code = 15; - * @return {?proto.aggregator.CustomCodeNode} - */ -proto.aggregator.LoopNode.prototype.getCustomCode = function() { - return /** @type{?proto.aggregator.CustomCodeNode} */ ( - jspb.Message.getWrapperField(this, proto.aggregator.CustomCodeNode, 15)); -}; - - -/** - * @param {?proto.aggregator.CustomCodeNode|undefined} value - * @return {!proto.aggregator.LoopNode} returns this -*/ -proto.aggregator.LoopNode.prototype.setCustomCode = function(value) { - return jspb.Message.setOneofWrapperField(this, 15, proto.aggregator.LoopNode.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.aggregator.LoopNode} returns this - */ -proto.aggregator.LoopNode.prototype.clearCustomCode = function() { - return this.setCustomCode(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.aggregator.LoopNode.prototype.hasCustomCode = function() { - return jspb.Message.getField(this, 15) != null; -}; - - - - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.aggregator.TaskEdge.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.TaskEdge.toObject(opt_includeInstance, this); -}; - - -/** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.aggregator.TaskEdge} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.aggregator.TaskEdge.toObject = function(includeInstance, msg) { - var f, obj = { - id: jspb.Message.getFieldWithDefault(msg, 1, ""), - source: jspb.Message.getFieldWithDefault(msg, 2, ""), - target: jspb.Message.getFieldWithDefault(msg, 3, "") - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; -}; -} - - -/** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.TaskEdge} - */ -proto.aggregator.TaskEdge.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.TaskEdge; - return proto.aggregator.TaskEdge.deserializeBinaryFromReader(msg, reader); -}; - - -/** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.aggregator.TaskEdge} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.TaskEdge} - */ -proto.aggregator.TaskEdge.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {string} */ (reader.readString()); - msg.setId(value); - break; - case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setSource(value); - break; - case 3: - var value = /** @type {string} */ (reader.readString()); - msg.setTarget(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.aggregator.TaskEdge.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.aggregator.TaskEdge.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.TaskEdge} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.aggregator.TaskEdge.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getId(); - if (f.length > 0) { - writer.writeString( - 1, - f - ); - } - f = message.getSource(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } - f = message.getTarget(); - if (f.length > 0) { - writer.writeString( - 3, - f - ); - } -}; - - -/** - * optional string id = 1; - * @return {string} - */ -proto.aggregator.TaskEdge.prototype.getId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * @param {string} value - * @return {!proto.aggregator.TaskEdge} returns this - */ -proto.aggregator.TaskEdge.prototype.setId = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); -}; - - -/** - * optional string source = 2; - * @return {string} - */ -proto.aggregator.TaskEdge.prototype.getSource = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - - -/** - * @param {string} value - * @return {!proto.aggregator.TaskEdge} returns this - */ -proto.aggregator.TaskEdge.prototype.setSource = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); -}; - - -/** - * optional string target = 3; - * @return {string} - */ -proto.aggregator.TaskEdge.prototype.getTarget = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); -}; - - -/** - * @param {string} value - * @return {!proto.aggregator.TaskEdge} returns this - */ -proto.aggregator.TaskEdge.prototype.setTarget = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); -}; - - - -/** - * Oneof group definitions for this message. Each group defines the field - * numbers belonging to that group. When of these fields' value is set, all - * other fields in the group are cleared. During deserialization, if multiple - * fields are encountered for a group, only the last value seen will be kept. - * @private {!Array>} - * @const - */ -proto.aggregator.TaskNode.oneofGroups_ = [[10,11,12,13,14,15,16,17,18]]; - -/** - * @enum {number} - */ -proto.aggregator.TaskNode.TaskTypeCase = { - TASK_TYPE_NOT_SET: 0, - ETH_TRANSFER: 10, - CONTRACT_WRITE: 11, - CONTRACT_READ: 12, - GRAPHQL_DATA_QUERY: 13, - REST_API: 14, - BRANCH: 15, - FILTER: 16, - LOOP: 17, - CUSTOM_CODE: 18 -}; - -/** - * @return {proto.aggregator.TaskNode.TaskTypeCase} - */ -proto.aggregator.TaskNode.prototype.getTaskTypeCase = function() { - return /** @type {proto.aggregator.TaskNode.TaskTypeCase} */(jspb.Message.computeOneofCase(this, proto.aggregator.TaskNode.oneofGroups_[0])); -}; - - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.aggregator.TaskNode.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.TaskNode.toObject(opt_includeInstance, this); -}; - - -/** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.aggregator.TaskNode} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.aggregator.TaskNode.toObject = function(includeInstance, msg) { - var f, obj = { - id: jspb.Message.getFieldWithDefault(msg, 2, ""), - name: jspb.Message.getFieldWithDefault(msg, 3, ""), - ethTransfer: (f = msg.getEthTransfer()) && proto.aggregator.ETHTransferNode.toObject(includeInstance, f), - contractWrite: (f = msg.getContractWrite()) && proto.aggregator.ContractWriteNode.toObject(includeInstance, f), - contractRead: (f = msg.getContractRead()) && proto.aggregator.ContractReadNode.toObject(includeInstance, f), - graphqlDataQuery: (f = msg.getGraphqlDataQuery()) && proto.aggregator.GraphQLQueryNode.toObject(includeInstance, f), - restApi: (f = msg.getRestApi()) && proto.aggregator.RestAPINode.toObject(includeInstance, f), - branch: (f = msg.getBranch()) && proto.aggregator.BranchNode.toObject(includeInstance, f), - filter: (f = msg.getFilter()) && proto.aggregator.FilterNode.toObject(includeInstance, f), - loop: (f = msg.getLoop()) && proto.aggregator.LoopNode.toObject(includeInstance, f), - customCode: (f = msg.getCustomCode()) && proto.aggregator.CustomCodeNode.toObject(includeInstance, f) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; -}; -} - - -/** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.TaskNode} - */ -proto.aggregator.TaskNode.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.TaskNode; - return proto.aggregator.TaskNode.deserializeBinaryFromReader(msg, reader); -}; - - -/** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.aggregator.TaskNode} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.TaskNode} - */ -proto.aggregator.TaskNode.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setId(value); - break; - case 3: - var value = /** @type {string} */ (reader.readString()); - msg.setName(value); - break; - case 10: - var value = new proto.aggregator.ETHTransferNode; - reader.readMessage(value,proto.aggregator.ETHTransferNode.deserializeBinaryFromReader); - msg.setEthTransfer(value); - break; - case 11: - var value = new proto.aggregator.ContractWriteNode; - reader.readMessage(value,proto.aggregator.ContractWriteNode.deserializeBinaryFromReader); - msg.setContractWrite(value); - break; - case 12: - var value = new proto.aggregator.ContractReadNode; - reader.readMessage(value,proto.aggregator.ContractReadNode.deserializeBinaryFromReader); - msg.setContractRead(value); - break; - case 13: - var value = new proto.aggregator.GraphQLQueryNode; - reader.readMessage(value,proto.aggregator.GraphQLQueryNode.deserializeBinaryFromReader); - msg.setGraphqlDataQuery(value); - break; - case 14: - var value = new proto.aggregator.RestAPINode; - reader.readMessage(value,proto.aggregator.RestAPINode.deserializeBinaryFromReader); - msg.setRestApi(value); - break; - case 15: - var value = new proto.aggregator.BranchNode; - reader.readMessage(value,proto.aggregator.BranchNode.deserializeBinaryFromReader); - msg.setBranch(value); - break; - case 16: - var value = new proto.aggregator.FilterNode; - reader.readMessage(value,proto.aggregator.FilterNode.deserializeBinaryFromReader); - msg.setFilter(value); - break; - case 17: - var value = new proto.aggregator.LoopNode; - reader.readMessage(value,proto.aggregator.LoopNode.deserializeBinaryFromReader); - msg.setLoop(value); - break; - case 18: - var value = new proto.aggregator.CustomCodeNode; - reader.readMessage(value,proto.aggregator.CustomCodeNode.deserializeBinaryFromReader); - msg.setCustomCode(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.aggregator.TaskNode.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.aggregator.TaskNode.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.TaskNode} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.aggregator.TaskNode.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getId(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } - f = message.getName(); - if (f.length > 0) { - writer.writeString( - 3, - f - ); - } - f = message.getEthTransfer(); - if (f != null) { - writer.writeMessage( - 10, - f, - proto.aggregator.ETHTransferNode.serializeBinaryToWriter - ); - } - f = message.getContractWrite(); - if (f != null) { - writer.writeMessage( - 11, - f, - proto.aggregator.ContractWriteNode.serializeBinaryToWriter - ); - } - f = message.getContractRead(); - if (f != null) { - writer.writeMessage( - 12, - f, - proto.aggregator.ContractReadNode.serializeBinaryToWriter - ); - } - f = message.getGraphqlDataQuery(); - if (f != null) { - writer.writeMessage( - 13, - f, - proto.aggregator.GraphQLQueryNode.serializeBinaryToWriter - ); - } - f = message.getRestApi(); - if (f != null) { - writer.writeMessage( - 14, - f, - proto.aggregator.RestAPINode.serializeBinaryToWriter - ); - } - f = message.getBranch(); - if (f != null) { - writer.writeMessage( - 15, - f, - proto.aggregator.BranchNode.serializeBinaryToWriter - ); - } - f = message.getFilter(); - if (f != null) { - writer.writeMessage( - 16, - f, - proto.aggregator.FilterNode.serializeBinaryToWriter - ); - } - f = message.getLoop(); - if (f != null) { - writer.writeMessage( - 17, - f, - proto.aggregator.LoopNode.serializeBinaryToWriter - ); - } - f = message.getCustomCode(); - if (f != null) { - writer.writeMessage( - 18, - f, - proto.aggregator.CustomCodeNode.serializeBinaryToWriter - ); - } -}; - - -/** - * optional string id = 2; - * @return {string} - */ -proto.aggregator.TaskNode.prototype.getId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - - -/** - * @param {string} value - * @return {!proto.aggregator.TaskNode} returns this - */ -proto.aggregator.TaskNode.prototype.setId = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); -}; - - -/** - * optional string name = 3; - * @return {string} - */ -proto.aggregator.TaskNode.prototype.getName = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); -}; - - -/** - * @param {string} value - * @return {!proto.aggregator.TaskNode} returns this - */ -proto.aggregator.TaskNode.prototype.setName = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); -}; - - -/** - * optional ETHTransferNode eth_transfer = 10; - * @return {?proto.aggregator.ETHTransferNode} - */ -proto.aggregator.TaskNode.prototype.getEthTransfer = function() { - return /** @type{?proto.aggregator.ETHTransferNode} */ ( - jspb.Message.getWrapperField(this, proto.aggregator.ETHTransferNode, 10)); -}; - - -/** - * @param {?proto.aggregator.ETHTransferNode|undefined} value - * @return {!proto.aggregator.TaskNode} returns this -*/ -proto.aggregator.TaskNode.prototype.setEthTransfer = function(value) { - return jspb.Message.setOneofWrapperField(this, 10, proto.aggregator.TaskNode.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.aggregator.TaskNode} returns this - */ -proto.aggregator.TaskNode.prototype.clearEthTransfer = function() { - return this.setEthTransfer(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.aggregator.TaskNode.prototype.hasEthTransfer = function() { - return jspb.Message.getField(this, 10) != null; -}; - - -/** - * optional ContractWriteNode contract_write = 11; - * @return {?proto.aggregator.ContractWriteNode} - */ -proto.aggregator.TaskNode.prototype.getContractWrite = function() { - return /** @type{?proto.aggregator.ContractWriteNode} */ ( - jspb.Message.getWrapperField(this, proto.aggregator.ContractWriteNode, 11)); -}; - - -/** - * @param {?proto.aggregator.ContractWriteNode|undefined} value - * @return {!proto.aggregator.TaskNode} returns this -*/ -proto.aggregator.TaskNode.prototype.setContractWrite = function(value) { - return jspb.Message.setOneofWrapperField(this, 11, proto.aggregator.TaskNode.oneofGroups_[0], value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.aggregator.TaskNode} returns this - */ -proto.aggregator.TaskNode.prototype.clearContractWrite = function() { - return this.setContractWrite(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.aggregator.TaskNode.prototype.hasContractWrite = function() { - return jspb.Message.getField(this, 11) != null; -}; - - -/** - * optional ContractReadNode contract_read = 12; - * @return {?proto.aggregator.ContractReadNode} - */ -proto.aggregator.TaskNode.prototype.getContractRead = function() { - return /** @type{?proto.aggregator.ContractReadNode} */ ( - jspb.Message.getWrapperField(this, proto.aggregator.ContractReadNode, 12)); -}; - - -/** - * @param {?proto.aggregator.ContractReadNode|undefined} value - * @return {!proto.aggregator.TaskNode} returns this -*/ -proto.aggregator.TaskNode.prototype.setContractRead = function(value) { - return jspb.Message.setOneofWrapperField(this, 12, proto.aggregator.TaskNode.oneofGroups_[0], value); +proto.aggregator.Execution.Step.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.Execution.Step.toObject(opt_includeInstance, this); }; /** - * Clears the message field making it undefined. - * @return {!proto.aggregator.TaskNode} returns this + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.aggregator.Execution.Step} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.TaskNode.prototype.clearContractRead = function() { - return this.setContractRead(undefined); +proto.aggregator.Execution.Step.toObject = function(includeInstance, msg) { + var f, obj = { + nodeId: jspb.Message.getFieldWithDefault(msg, 1, ""), + success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false), + outputData: jspb.Message.getFieldWithDefault(msg, 3, ""), + log: jspb.Message.getFieldWithDefault(msg, 4, ""), + error: jspb.Message.getFieldWithDefault(msg, 5, ""), + startAt: jspb.Message.getFieldWithDefault(msg, 6, 0), + endAt: jspb.Message.getFieldWithDefault(msg, 7, 0) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * Returns whether this field is set. - * @return {boolean} + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.aggregator.Execution.Step} */ -proto.aggregator.TaskNode.prototype.hasContractRead = function() { - return jspb.Message.getField(this, 12) != null; +proto.aggregator.Execution.Step.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.aggregator.Execution.Step; + return proto.aggregator.Execution.Step.deserializeBinaryFromReader(msg, reader); }; /** - * optional GraphQLQueryNode graphql_data_query = 13; - * @return {?proto.aggregator.GraphQLQueryNode} + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.aggregator.Execution.Step} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.aggregator.Execution.Step} */ -proto.aggregator.TaskNode.prototype.getGraphqlDataQuery = function() { - return /** @type{?proto.aggregator.GraphQLQueryNode} */ ( - jspb.Message.getWrapperField(this, proto.aggregator.GraphQLQueryNode, 13)); +proto.aggregator.Execution.Step.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setNodeId(value); + break; + case 2: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setSuccess(value); + break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.setOutputData(value); + break; + case 4: + var value = /** @type {string} */ (reader.readString()); + msg.setLog(value); + break; + case 5: + var value = /** @type {string} */ (reader.readString()); + msg.setError(value); + break; + case 6: + var value = /** @type {number} */ (reader.readInt64()); + msg.setStartAt(value); + break; + case 7: + var value = /** @type {number} */ (reader.readInt64()); + msg.setEndAt(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * @param {?proto.aggregator.GraphQLQueryNode|undefined} value - * @return {!proto.aggregator.TaskNode} returns this -*/ -proto.aggregator.TaskNode.prototype.setGraphqlDataQuery = function(value) { - return jspb.Message.setOneofWrapperField(this, 13, proto.aggregator.TaskNode.oneofGroups_[0], value); + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.aggregator.Execution.Step.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.aggregator.Execution.Step.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * Clears the message field making it undefined. - * @return {!proto.aggregator.TaskNode} returns this + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.aggregator.Execution.Step} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.TaskNode.prototype.clearGraphqlDataQuery = function() { - return this.setGraphqlDataQuery(undefined); +proto.aggregator.Execution.Step.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getNodeId(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getSuccess(); + if (f) { + writer.writeBool( + 2, + f + ); + } + f = message.getOutputData(); + if (f.length > 0) { + writer.writeString( + 3, + f + ); + } + f = message.getLog(); + if (f.length > 0) { + writer.writeString( + 4, + f + ); + } + f = message.getError(); + if (f.length > 0) { + writer.writeString( + 5, + f + ); + } + f = message.getStartAt(); + if (f !== 0) { + writer.writeInt64( + 6, + f + ); + } + f = message.getEndAt(); + if (f !== 0) { + writer.writeInt64( + 7, + f + ); + } }; /** - * Returns whether this field is set. - * @return {boolean} + * optional string node_id = 1; + * @return {string} */ -proto.aggregator.TaskNode.prototype.hasGraphqlDataQuery = function() { - return jspb.Message.getField(this, 13) != null; +proto.aggregator.Execution.Step.prototype.getNodeId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * optional RestAPINode rest_api = 14; - * @return {?proto.aggregator.RestAPINode} + * @param {string} value + * @return {!proto.aggregator.Execution.Step} returns this */ -proto.aggregator.TaskNode.prototype.getRestApi = function() { - return /** @type{?proto.aggregator.RestAPINode} */ ( - jspb.Message.getWrapperField(this, proto.aggregator.RestAPINode, 14)); +proto.aggregator.Execution.Step.prototype.setNodeId = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); }; /** - * @param {?proto.aggregator.RestAPINode|undefined} value - * @return {!proto.aggregator.TaskNode} returns this -*/ -proto.aggregator.TaskNode.prototype.setRestApi = function(value) { - return jspb.Message.setOneofWrapperField(this, 14, proto.aggregator.TaskNode.oneofGroups_[0], value); + * optional bool success = 2; + * @return {boolean} + */ +proto.aggregator.Execution.Step.prototype.getSuccess = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; /** - * Clears the message field making it undefined. - * @return {!proto.aggregator.TaskNode} returns this + * @param {boolean} value + * @return {!proto.aggregator.Execution.Step} returns this */ -proto.aggregator.TaskNode.prototype.clearRestApi = function() { - return this.setRestApi(undefined); +proto.aggregator.Execution.Step.prototype.setSuccess = function(value) { + return jspb.Message.setProto3BooleanField(this, 2, value); }; /** - * Returns whether this field is set. - * @return {boolean} + * optional string output_data = 3; + * @return {string} */ -proto.aggregator.TaskNode.prototype.hasRestApi = function() { - return jspb.Message.getField(this, 14) != null; +proto.aggregator.Execution.Step.prototype.getOutputData = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); }; /** - * optional BranchNode branch = 15; - * @return {?proto.aggregator.BranchNode} + * @param {string} value + * @return {!proto.aggregator.Execution.Step} returns this */ -proto.aggregator.TaskNode.prototype.getBranch = function() { - return /** @type{?proto.aggregator.BranchNode} */ ( - jspb.Message.getWrapperField(this, proto.aggregator.BranchNode, 15)); +proto.aggregator.Execution.Step.prototype.setOutputData = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); }; /** - * @param {?proto.aggregator.BranchNode|undefined} value - * @return {!proto.aggregator.TaskNode} returns this -*/ -proto.aggregator.TaskNode.prototype.setBranch = function(value) { - return jspb.Message.setOneofWrapperField(this, 15, proto.aggregator.TaskNode.oneofGroups_[0], value); + * optional string log = 4; + * @return {string} + */ +proto.aggregator.Execution.Step.prototype.getLog = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); }; /** - * Clears the message field making it undefined. - * @return {!proto.aggregator.TaskNode} returns this + * @param {string} value + * @return {!proto.aggregator.Execution.Step} returns this */ -proto.aggregator.TaskNode.prototype.clearBranch = function() { - return this.setBranch(undefined); +proto.aggregator.Execution.Step.prototype.setLog = function(value) { + return jspb.Message.setProto3StringField(this, 4, value); }; /** - * Returns whether this field is set. - * @return {boolean} + * optional string error = 5; + * @return {string} */ -proto.aggregator.TaskNode.prototype.hasBranch = function() { - return jspb.Message.getField(this, 15) != null; +proto.aggregator.Execution.Step.prototype.getError = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); }; /** - * optional FilterNode filter = 16; - * @return {?proto.aggregator.FilterNode} + * @param {string} value + * @return {!proto.aggregator.Execution.Step} returns this */ -proto.aggregator.TaskNode.prototype.getFilter = function() { - return /** @type{?proto.aggregator.FilterNode} */ ( - jspb.Message.getWrapperField(this, proto.aggregator.FilterNode, 16)); +proto.aggregator.Execution.Step.prototype.setError = function(value) { + return jspb.Message.setProto3StringField(this, 5, value); }; /** - * @param {?proto.aggregator.FilterNode|undefined} value - * @return {!proto.aggregator.TaskNode} returns this -*/ -proto.aggregator.TaskNode.prototype.setFilter = function(value) { - return jspb.Message.setOneofWrapperField(this, 16, proto.aggregator.TaskNode.oneofGroups_[0], value); + * optional int64 start_at = 6; + * @return {number} + */ +proto.aggregator.Execution.Step.prototype.getStartAt = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0)); }; /** - * Clears the message field making it undefined. - * @return {!proto.aggregator.TaskNode} returns this + * @param {number} value + * @return {!proto.aggregator.Execution.Step} returns this */ -proto.aggregator.TaskNode.prototype.clearFilter = function() { - return this.setFilter(undefined); +proto.aggregator.Execution.Step.prototype.setStartAt = function(value) { + return jspb.Message.setProto3IntField(this, 6, value); }; /** - * Returns whether this field is set. - * @return {boolean} + * optional int64 end_at = 7; + * @return {number} */ -proto.aggregator.TaskNode.prototype.hasFilter = function() { - return jspb.Message.getField(this, 16) != null; +proto.aggregator.Execution.Step.prototype.getEndAt = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0)); }; /** - * optional LoopNode loop = 17; - * @return {?proto.aggregator.LoopNode} + * @param {number} value + * @return {!proto.aggregator.Execution.Step} returns this */ -proto.aggregator.TaskNode.prototype.getLoop = function() { - return /** @type{?proto.aggregator.LoopNode} */ ( - jspb.Message.getWrapperField(this, proto.aggregator.LoopNode, 17)); +proto.aggregator.Execution.Step.prototype.setEndAt = function(value) { + return jspb.Message.setProto3IntField(this, 7, value); }; /** - * @param {?proto.aggregator.LoopNode|undefined} value - * @return {!proto.aggregator.TaskNode} returns this -*/ -proto.aggregator.TaskNode.prototype.setLoop = function(value) { - return jspb.Message.setOneofWrapperField(this, 17, proto.aggregator.TaskNode.oneofGroups_[0], value); + * optional string id = 1; + * @return {string} + */ +proto.aggregator.Execution.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * Clears the message field making it undefined. - * @return {!proto.aggregator.TaskNode} returns this + * @param {string} value + * @return {!proto.aggregator.Execution} returns this */ -proto.aggregator.TaskNode.prototype.clearLoop = function() { - return this.setLoop(undefined); +proto.aggregator.Execution.prototype.setId = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); }; /** - * Returns whether this field is set. - * @return {boolean} + * optional int64 start_at = 2; + * @return {number} */ -proto.aggregator.TaskNode.prototype.hasLoop = function() { - return jspb.Message.getField(this, 17) != null; +proto.aggregator.Execution.prototype.getStartAt = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); }; /** - * optional CustomCodeNode custom_code = 18; - * @return {?proto.aggregator.CustomCodeNode} + * @param {number} value + * @return {!proto.aggregator.Execution} returns this */ -proto.aggregator.TaskNode.prototype.getCustomCode = function() { - return /** @type{?proto.aggregator.CustomCodeNode} */ ( - jspb.Message.getWrapperField(this, proto.aggregator.CustomCodeNode, 18)); +proto.aggregator.Execution.prototype.setStartAt = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); }; /** - * @param {?proto.aggregator.CustomCodeNode|undefined} value - * @return {!proto.aggregator.TaskNode} returns this -*/ -proto.aggregator.TaskNode.prototype.setCustomCode = function(value) { - return jspb.Message.setOneofWrapperField(this, 18, proto.aggregator.TaskNode.oneofGroups_[0], value); + * optional int64 end_at = 3; + * @return {number} + */ +proto.aggregator.Execution.prototype.getEndAt = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); }; /** - * Clears the message field making it undefined. - * @return {!proto.aggregator.TaskNode} returns this + * @param {number} value + * @return {!proto.aggregator.Execution} returns this */ -proto.aggregator.TaskNode.prototype.clearCustomCode = function() { - return this.setCustomCode(undefined); +proto.aggregator.Execution.prototype.setEndAt = function(value) { + return jspb.Message.setProto3IntField(this, 3, value); }; /** - * Returns whether this field is set. + * optional bool success = 4; * @return {boolean} */ -proto.aggregator.TaskNode.prototype.hasCustomCode = function() { - return jspb.Message.getField(this, 18) != null; +proto.aggregator.Execution.prototype.getSuccess = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false)); }; - /** - * List of repeated fields within this message type. - * @private {!Array} - * @const + * @param {boolean} value + * @return {!proto.aggregator.Execution} returns this */ -proto.aggregator.Execution.repeatedFields_ = [6]; +proto.aggregator.Execution.prototype.setSuccess = function(value) { + return jspb.Message.setProto3BooleanField(this, 4, value); +}; +/** + * optional string error = 5; + * @return {string} + */ +proto.aggregator.Execution.prototype.getError = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); +}; + -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * @param {string} value + * @return {!proto.aggregator.Execution} returns this */ -proto.aggregator.Execution.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.Execution.toObject(opt_includeInstance, this); +proto.aggregator.Execution.prototype.setError = function(value) { + return jspb.Message.setProto3StringField(this, 5, value); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.aggregator.Execution} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional TriggerMark trigger_mark = 6; + * @return {?proto.aggregator.TriggerMark} */ -proto.aggregator.Execution.toObject = function(includeInstance, msg) { - var f, obj = { - epoch: jspb.Message.getFieldWithDefault(msg, 1, 0), - success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false), - error: jspb.Message.getFieldWithDefault(msg, 3, ""), - triggerMark: (f = msg.getTriggerMark()) && proto.aggregator.TriggerMark.toObject(includeInstance, f), - result: jspb.Message.getFieldWithDefault(msg, 5, ""), - stepsList: jspb.Message.toObjectList(msg.getStepsList(), - proto.aggregator.Execution.Step.toObject, includeInstance) - }; +proto.aggregator.Execution.prototype.getTriggerMark = function() { + return /** @type{?proto.aggregator.TriggerMark} */ ( + jspb.Message.getWrapperField(this, proto.aggregator.TriggerMark, 6)); +}; - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; + +/** + * @param {?proto.aggregator.TriggerMark|undefined} value + * @return {!proto.aggregator.Execution} returns this +*/ +proto.aggregator.Execution.prototype.setTriggerMark = function(value) { + return jspb.Message.setWrapperField(this, 6, value); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.Execution} + * Clears the message field making it undefined. + * @return {!proto.aggregator.Execution} returns this */ -proto.aggregator.Execution.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.Execution; - return proto.aggregator.Execution.deserializeBinaryFromReader(msg, reader); +proto.aggregator.Execution.prototype.clearTriggerMark = function() { + return this.setTriggerMark(undefined); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.aggregator.Execution} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.Execution} + * Returns whether this field is set. + * @return {boolean} */ -proto.aggregator.Execution.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {number} */ (reader.readInt64()); - msg.setEpoch(value); - break; - case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setSuccess(value); - break; - case 3: - var value = /** @type {string} */ (reader.readString()); - msg.setError(value); - break; - case 4: - var value = new proto.aggregator.TriggerMark; - reader.readMessage(value,proto.aggregator.TriggerMark.deserializeBinaryFromReader); - msg.setTriggerMark(value); - break; - case 5: - var value = /** @type {string} */ (reader.readString()); - msg.setResult(value); - break; - case 6: - var value = new proto.aggregator.Execution.Step; - reader.readMessage(value,proto.aggregator.Execution.Step.deserializeBinaryFromReader); - msg.addSteps(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.aggregator.Execution.prototype.hasTriggerMark = function() { + return jspb.Message.getField(this, 6) != null; }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * optional string result = 7; + * @return {string} */ -proto.aggregator.Execution.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.aggregator.Execution.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.aggregator.Execution.prototype.getResult = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, "")); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.Execution} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.aggregator.Execution.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getEpoch(); - if (f !== 0) { - writer.writeInt64( - 1, - f - ); - } - f = message.getSuccess(); - if (f) { - writer.writeBool( - 2, - f - ); - } - f = message.getError(); - if (f.length > 0) { - writer.writeString( - 3, - f - ); - } - f = message.getTriggerMark(); - if (f != null) { - writer.writeMessage( - 4, - f, - proto.aggregator.TriggerMark.serializeBinaryToWriter - ); - } - f = message.getResult(); - if (f.length > 0) { - writer.writeString( - 5, - f - ); - } - f = message.getStepsList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 6, - f, - proto.aggregator.Execution.Step.serializeBinaryToWriter - ); - } + * @param {string} value + * @return {!proto.aggregator.Execution} returns this + */ +proto.aggregator.Execution.prototype.setResult = function(value) { + return jspb.Message.setProto3StringField(this, 7, value); +}; + + +/** + * repeated Step steps = 8; + * @return {!Array} + */ +proto.aggregator.Execution.prototype.getStepsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.aggregator.Execution.Step, 8)); +}; + + +/** + * @param {!Array} value + * @return {!proto.aggregator.Execution} returns this +*/ +proto.aggregator.Execution.prototype.setStepsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 8, value); +}; + + +/** + * @param {!proto.aggregator.Execution.Step=} opt_value + * @param {number=} opt_index + * @return {!proto.aggregator.Execution.Step} + */ +proto.aggregator.Execution.prototype.addSteps = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 8, opt_value, proto.aggregator.Execution.Step, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.aggregator.Execution} returns this + */ +proto.aggregator.Execution.prototype.clearStepsList = function() { + return this.setStepsList([]); }; +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.aggregator.Task.repeatedFields_ = [13,14]; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -6798,8 +5668,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.aggregator.Execution.Step.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.Execution.Step.toObject(opt_includeInstance, this); +proto.aggregator.Task.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.Task.toObject(opt_includeInstance, this); }; @@ -6808,17 +5678,28 @@ proto.aggregator.Execution.Step.prototype.toObject = function(opt_includeInstanc * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.aggregator.Execution.Step} msg The msg instance to transform. + * @param {!proto.aggregator.Task} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.Execution.Step.toObject = function(includeInstance, msg) { +proto.aggregator.Task.toObject = function(includeInstance, msg) { var f, obj = { - nodeId: jspb.Message.getFieldWithDefault(msg, 1, ""), - success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false), - result: jspb.Message.getFieldWithDefault(msg, 3, ""), - log: jspb.Message.getFieldWithDefault(msg, 4, ""), - error: jspb.Message.getFieldWithDefault(msg, 5, "") + id: jspb.Message.getFieldWithDefault(msg, 1, ""), + owner: jspb.Message.getFieldWithDefault(msg, 2, ""), + smartWalletAddress: jspb.Message.getFieldWithDefault(msg, 3, ""), + startAt: jspb.Message.getFieldWithDefault(msg, 4, 0), + expiredAt: jspb.Message.getFieldWithDefault(msg, 5, 0), + memo: jspb.Message.getFieldWithDefault(msg, 6, ""), + completedAt: jspb.Message.getFieldWithDefault(msg, 7, 0), + maxExecution: jspb.Message.getFieldWithDefault(msg, 8, 0), + totalExecution: jspb.Message.getFieldWithDefault(msg, 9, 0), + lastRanAt: jspb.Message.getFieldWithDefault(msg, 10, 0), + status: jspb.Message.getFieldWithDefault(msg, 11, 0), + trigger: (f = msg.getTrigger()) && proto.aggregator.TaskTrigger.toObject(includeInstance, f), + nodesList: jspb.Message.toObjectList(msg.getNodesList(), + proto.aggregator.TaskNode.toObject, includeInstance), + edgesList: jspb.Message.toObjectList(msg.getEdgesList(), + proto.aggregator.TaskEdge.toObject, includeInstance) }; if (includeInstance) { @@ -6832,23 +5713,23 @@ proto.aggregator.Execution.Step.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.Execution.Step} + * @return {!proto.aggregator.Task} */ -proto.aggregator.Execution.Step.deserializeBinary = function(bytes) { +proto.aggregator.Task.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.Execution.Step; - return proto.aggregator.Execution.Step.deserializeBinaryFromReader(msg, reader); + var msg = new proto.aggregator.Task; + return proto.aggregator.Task.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.aggregator.Execution.Step} msg The message object to deserialize into. + * @param {!proto.aggregator.Task} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.Execution.Step} + * @return {!proto.aggregator.Task} */ -proto.aggregator.Execution.Step.deserializeBinaryFromReader = function(msg, reader) { +proto.aggregator.Task.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -6857,23 +5738,62 @@ proto.aggregator.Execution.Step.deserializeBinaryFromReader = function(msg, read switch (field) { case 1: var value = /** @type {string} */ (reader.readString()); - msg.setNodeId(value); + msg.setId(value); break; case 2: - var value = /** @type {boolean} */ (reader.readBool()); - msg.setSuccess(value); + var value = /** @type {string} */ (reader.readString()); + msg.setOwner(value); break; case 3: var value = /** @type {string} */ (reader.readString()); - msg.setResult(value); + msg.setSmartWalletAddress(value); break; case 4: - var value = /** @type {string} */ (reader.readString()); - msg.setLog(value); + var value = /** @type {number} */ (reader.readInt64()); + msg.setStartAt(value); break; case 5: + var value = /** @type {number} */ (reader.readInt64()); + msg.setExpiredAt(value); + break; + case 6: var value = /** @type {string} */ (reader.readString()); - msg.setError(value); + msg.setMemo(value); + break; + case 7: + var value = /** @type {number} */ (reader.readInt64()); + msg.setCompletedAt(value); + break; + case 8: + var value = /** @type {number} */ (reader.readInt64()); + msg.setMaxExecution(value); + break; + case 9: + var value = /** @type {number} */ (reader.readInt64()); + msg.setTotalExecution(value); + break; + case 10: + var value = /** @type {number} */ (reader.readInt64()); + msg.setLastRanAt(value); + break; + case 11: + var value = /** @type {!proto.aggregator.TaskStatus} */ (reader.readEnum()); + msg.setStatus(value); + break; + case 12: + var value = new proto.aggregator.TaskTrigger; + reader.readMessage(value,proto.aggregator.TaskTrigger.deserializeBinaryFromReader); + msg.setTrigger(value); + break; + case 13: + var value = new proto.aggregator.TaskNode; + reader.readMessage(value,proto.aggregator.TaskNode.deserializeBinaryFromReader); + msg.addNodes(value); + break; + case 14: + var value = new proto.aggregator.TaskEdge; + reader.readMessage(value,proto.aggregator.TaskEdge.deserializeBinaryFromReader); + msg.addEdges(value); break; default: reader.skipField(); @@ -6888,9 +5808,9 @@ proto.aggregator.Execution.Step.deserializeBinaryFromReader = function(msg, read * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.aggregator.Execution.Step.prototype.serializeBinary = function() { +proto.aggregator.Task.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.aggregator.Execution.Step.serializeBinaryToWriter(this, writer); + proto.aggregator.Task.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -6898,219 +5818,339 @@ proto.aggregator.Execution.Step.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.Execution.Step} message + * @param {!proto.aggregator.Task} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.Execution.Step.serializeBinaryToWriter = function(message, writer) { +proto.aggregator.Task.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getNodeId(); + f = message.getId(); if (f.length > 0) { writer.writeString( 1, f ); } - f = message.getSuccess(); - if (f) { - writer.writeBool( + f = message.getOwner(); + if (f.length > 0) { + writer.writeString( 2, f ); } - f = message.getResult(); + f = message.getSmartWalletAddress(); if (f.length > 0) { writer.writeString( 3, f ); } - f = message.getLog(); - if (f.length > 0) { - writer.writeString( + f = message.getStartAt(); + if (f !== 0) { + writer.writeInt64( 4, f ); } - f = message.getError(); + f = message.getExpiredAt(); + if (f !== 0) { + writer.writeInt64( + 5, + f + ); + } + f = message.getMemo(); if (f.length > 0) { writer.writeString( - 5, + 6, + f + ); + } + f = message.getCompletedAt(); + if (f !== 0) { + writer.writeInt64( + 7, + f + ); + } + f = message.getMaxExecution(); + if (f !== 0) { + writer.writeInt64( + 8, + f + ); + } + f = message.getTotalExecution(); + if (f !== 0) { + writer.writeInt64( + 9, + f + ); + } + f = message.getLastRanAt(); + if (f !== 0) { + writer.writeInt64( + 10, + f + ); + } + f = message.getStatus(); + if (f !== 0.0) { + writer.writeEnum( + 11, f ); } + f = message.getTrigger(); + if (f != null) { + writer.writeMessage( + 12, + f, + proto.aggregator.TaskTrigger.serializeBinaryToWriter + ); + } + f = message.getNodesList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 13, + f, + proto.aggregator.TaskNode.serializeBinaryToWriter + ); + } + f = message.getEdgesList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 14, + f, + proto.aggregator.TaskEdge.serializeBinaryToWriter + ); + } +}; + + +/** + * optional string id = 1; + * @return {string} + */ +proto.aggregator.Task.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.aggregator.Task} returns this + */ +proto.aggregator.Task.prototype.setId = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * optional string owner = 2; + * @return {string} + */ +proto.aggregator.Task.prototype.getOwner = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.aggregator.Task} returns this + */ +proto.aggregator.Task.prototype.setOwner = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); }; /** - * optional string node_id = 1; + * optional string smart_wallet_address = 3; * @return {string} */ -proto.aggregator.Execution.Step.prototype.getNodeId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.aggregator.Task.prototype.getSmartWalletAddress = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); }; /** * @param {string} value - * @return {!proto.aggregator.Execution.Step} returns this + * @return {!proto.aggregator.Task} returns this */ -proto.aggregator.Execution.Step.prototype.setNodeId = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); +proto.aggregator.Task.prototype.setSmartWalletAddress = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); }; /** - * optional bool success = 2; - * @return {boolean} + * optional int64 start_at = 4; + * @return {number} */ -proto.aggregator.Execution.Step.prototype.getSuccess = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.aggregator.Task.prototype.getStartAt = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); }; /** - * @param {boolean} value - * @return {!proto.aggregator.Execution.Step} returns this + * @param {number} value + * @return {!proto.aggregator.Task} returns this */ -proto.aggregator.Execution.Step.prototype.setSuccess = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.aggregator.Task.prototype.setStartAt = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); }; /** - * optional string result = 3; - * @return {string} + * optional int64 expired_at = 5; + * @return {number} */ -proto.aggregator.Execution.Step.prototype.getResult = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +proto.aggregator.Task.prototype.getExpiredAt = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); }; /** - * @param {string} value - * @return {!proto.aggregator.Execution.Step} returns this + * @param {number} value + * @return {!proto.aggregator.Task} returns this */ -proto.aggregator.Execution.Step.prototype.setResult = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); +proto.aggregator.Task.prototype.setExpiredAt = function(value) { + return jspb.Message.setProto3IntField(this, 5, value); }; /** - * optional string log = 4; + * optional string memo = 6; * @return {string} */ -proto.aggregator.Execution.Step.prototype.getLog = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); +proto.aggregator.Task.prototype.getMemo = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, "")); }; /** * @param {string} value - * @return {!proto.aggregator.Execution.Step} returns this + * @return {!proto.aggregator.Task} returns this */ -proto.aggregator.Execution.Step.prototype.setLog = function(value) { - return jspb.Message.setProto3StringField(this, 4, value); +proto.aggregator.Task.prototype.setMemo = function(value) { + return jspb.Message.setProto3StringField(this, 6, value); }; /** - * optional string error = 5; - * @return {string} + * optional int64 completed_at = 7; + * @return {number} */ -proto.aggregator.Execution.Step.prototype.getError = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); +proto.aggregator.Task.prototype.getCompletedAt = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0)); }; /** - * @param {string} value - * @return {!proto.aggregator.Execution.Step} returns this + * @param {number} value + * @return {!proto.aggregator.Task} returns this */ -proto.aggregator.Execution.Step.prototype.setError = function(value) { - return jspb.Message.setProto3StringField(this, 5, value); +proto.aggregator.Task.prototype.setCompletedAt = function(value) { + return jspb.Message.setProto3IntField(this, 7, value); }; /** - * optional int64 epoch = 1; + * optional int64 max_execution = 8; * @return {number} */ -proto.aggregator.Execution.prototype.getEpoch = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +proto.aggregator.Task.prototype.getMaxExecution = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0)); }; /** * @param {number} value - * @return {!proto.aggregator.Execution} returns this + * @return {!proto.aggregator.Task} returns this */ -proto.aggregator.Execution.prototype.setEpoch = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); +proto.aggregator.Task.prototype.setMaxExecution = function(value) { + return jspb.Message.setProto3IntField(this, 8, value); }; /** - * optional bool success = 2; - * @return {boolean} + * optional int64 total_execution = 9; + * @return {number} */ -proto.aggregator.Execution.prototype.getSuccess = function() { - return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); +proto.aggregator.Task.prototype.getTotalExecution = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0)); }; /** - * @param {boolean} value - * @return {!proto.aggregator.Execution} returns this + * @param {number} value + * @return {!proto.aggregator.Task} returns this */ -proto.aggregator.Execution.prototype.setSuccess = function(value) { - return jspb.Message.setProto3BooleanField(this, 2, value); +proto.aggregator.Task.prototype.setTotalExecution = function(value) { + return jspb.Message.setProto3IntField(this, 9, value); }; /** - * optional string error = 3; - * @return {string} + * optional int64 last_ran_at = 10; + * @return {number} */ -proto.aggregator.Execution.prototype.getError = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +proto.aggregator.Task.prototype.getLastRanAt = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0)); }; /** - * @param {string} value - * @return {!proto.aggregator.Execution} returns this + * @param {number} value + * @return {!proto.aggregator.Task} returns this */ -proto.aggregator.Execution.prototype.setError = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); +proto.aggregator.Task.prototype.setLastRanAt = function(value) { + return jspb.Message.setProto3IntField(this, 10, value); }; /** - * optional TriggerMark trigger_mark = 4; - * @return {?proto.aggregator.TriggerMark} + * optional TaskStatus status = 11; + * @return {!proto.aggregator.TaskStatus} */ -proto.aggregator.Execution.prototype.getTriggerMark = function() { - return /** @type{?proto.aggregator.TriggerMark} */ ( - jspb.Message.getWrapperField(this, proto.aggregator.TriggerMark, 4)); +proto.aggregator.Task.prototype.getStatus = function() { + return /** @type {!proto.aggregator.TaskStatus} */ (jspb.Message.getFieldWithDefault(this, 11, 0)); }; /** - * @param {?proto.aggregator.TriggerMark|undefined} value - * @return {!proto.aggregator.Execution} returns this + * @param {!proto.aggregator.TaskStatus} value + * @return {!proto.aggregator.Task} returns this + */ +proto.aggregator.Task.prototype.setStatus = function(value) { + return jspb.Message.setProto3EnumField(this, 11, value); +}; + + +/** + * optional TaskTrigger trigger = 12; + * @return {?proto.aggregator.TaskTrigger} + */ +proto.aggregator.Task.prototype.getTrigger = function() { + return /** @type{?proto.aggregator.TaskTrigger} */ ( + jspb.Message.getWrapperField(this, proto.aggregator.TaskTrigger, 12)); +}; + + +/** + * @param {?proto.aggregator.TaskTrigger|undefined} value + * @return {!proto.aggregator.Task} returns this */ -proto.aggregator.Execution.prototype.setTriggerMark = function(value) { - return jspb.Message.setWrapperField(this, 4, value); +proto.aggregator.Task.prototype.setTrigger = function(value) { + return jspb.Message.setWrapperField(this, 12, value); }; /** * Clears the message field making it undefined. - * @return {!proto.aggregator.Execution} returns this + * @return {!proto.aggregator.Task} returns this */ -proto.aggregator.Execution.prototype.clearTriggerMark = function() { - return this.setTriggerMark(undefined); +proto.aggregator.Task.prototype.clearTrigger = function() { + return this.setTrigger(undefined); }; @@ -7118,64 +6158,84 @@ proto.aggregator.Execution.prototype.clearTriggerMark = function() { * Returns whether this field is set. * @return {boolean} */ -proto.aggregator.Execution.prototype.hasTriggerMark = function() { - return jspb.Message.getField(this, 4) != null; +proto.aggregator.Task.prototype.hasTrigger = function() { + return jspb.Message.getField(this, 12) != null; }; /** - * optional string result = 5; - * @return {string} + * repeated TaskNode nodes = 13; + * @return {!Array} */ -proto.aggregator.Execution.prototype.getResult = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); +proto.aggregator.Task.prototype.getNodesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.aggregator.TaskNode, 13)); }; /** - * @param {string} value - * @return {!proto.aggregator.Execution} returns this + * @param {!Array} value + * @return {!proto.aggregator.Task} returns this +*/ +proto.aggregator.Task.prototype.setNodesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 13, value); +}; + + +/** + * @param {!proto.aggregator.TaskNode=} opt_value + * @param {number=} opt_index + * @return {!proto.aggregator.TaskNode} */ -proto.aggregator.Execution.prototype.setResult = function(value) { - return jspb.Message.setProto3StringField(this, 5, value); +proto.aggregator.Task.prototype.addNodes = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 13, opt_value, proto.aggregator.TaskNode, opt_index); }; /** - * repeated Step steps = 6; - * @return {!Array} + * Clears the list making it empty but non-null. + * @return {!proto.aggregator.Task} returns this */ -proto.aggregator.Execution.prototype.getStepsList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.aggregator.Execution.Step, 6)); +proto.aggregator.Task.prototype.clearNodesList = function() { + return this.setNodesList([]); }; /** - * @param {!Array} value - * @return {!proto.aggregator.Execution} returns this + * repeated TaskEdge edges = 14; + * @return {!Array} + */ +proto.aggregator.Task.prototype.getEdgesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.aggregator.TaskEdge, 14)); +}; + + +/** + * @param {!Array} value + * @return {!proto.aggregator.Task} returns this */ -proto.aggregator.Execution.prototype.setStepsList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 6, value); +proto.aggregator.Task.prototype.setEdgesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 14, value); }; /** - * @param {!proto.aggregator.Execution.Step=} opt_value + * @param {!proto.aggregator.TaskEdge=} opt_value * @param {number=} opt_index - * @return {!proto.aggregator.Execution.Step} + * @return {!proto.aggregator.TaskEdge} */ -proto.aggregator.Execution.prototype.addSteps = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 6, opt_value, proto.aggregator.Execution.Step, opt_index); +proto.aggregator.Task.prototype.addEdges = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 14, opt_value, proto.aggregator.TaskEdge, opt_index); }; /** * Clears the list making it empty but non-null. - * @return {!proto.aggregator.Execution} returns this + * @return {!proto.aggregator.Task} returns this */ -proto.aggregator.Execution.prototype.clearStepsList = function() { - return this.setStepsList([]); +proto.aggregator.Task.prototype.clearEdgesList = function() { + return this.setEdgesList([]); }; @@ -7185,7 +6245,7 @@ proto.aggregator.Execution.prototype.clearStepsList = function() { * @private {!Array} * @const */ -proto.aggregator.Task.repeatedFields_ = [11,12,13]; +proto.aggregator.CreateTaskReq.repeatedFields_ = [7,8]; @@ -7202,8 +6262,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.aggregator.Task.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.Task.toObject(opt_includeInstance, this); +proto.aggregator.CreateTaskReq.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.CreateTaskReq.toObject(opt_includeInstance, this); }; @@ -7212,28 +6272,22 @@ proto.aggregator.Task.prototype.toObject = function(opt_includeInstance) { * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.aggregator.Task} msg The msg instance to transform. + * @param {!proto.aggregator.CreateTaskReq} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.Task.toObject = function(includeInstance, msg) { +proto.aggregator.CreateTaskReq.toObject = function(includeInstance, msg) { var f, obj = { - id: jspb.Message.getFieldWithDefault(msg, 1, ""), - owner: jspb.Message.getFieldWithDefault(msg, 2, ""), - smartWalletAddress: jspb.Message.getFieldWithDefault(msg, 3, ""), - startAt: jspb.Message.getFieldWithDefault(msg, 4, 0), - expiredAt: jspb.Message.getFieldWithDefault(msg, 5, 0), - memo: jspb.Message.getFieldWithDefault(msg, 6, ""), - completedAt: jspb.Message.getFieldWithDefault(msg, 7, 0), - maxExecution: jspb.Message.getFieldWithDefault(msg, 8, 0), - status: jspb.Message.getFieldWithDefault(msg, 9, 0), trigger: (f = msg.getTrigger()) && proto.aggregator.TaskTrigger.toObject(includeInstance, f), + startAt: jspb.Message.getFieldWithDefault(msg, 2, 0), + expiredAt: jspb.Message.getFieldWithDefault(msg, 3, 0), + maxExecution: jspb.Message.getFieldWithDefault(msg, 4, 0), + smartWalletAddress: jspb.Message.getFieldWithDefault(msg, 5, ""), + memo: jspb.Message.getFieldWithDefault(msg, 6, ""), nodesList: jspb.Message.toObjectList(msg.getNodesList(), proto.aggregator.TaskNode.toObject, includeInstance), edgesList: jspb.Message.toObjectList(msg.getEdgesList(), - proto.aggregator.TaskEdge.toObject, includeInstance), - executionsList: jspb.Message.toObjectList(msg.getExecutionsList(), - proto.aggregator.Execution.toObject, includeInstance) + proto.aggregator.TaskEdge.toObject, includeInstance) }; if (includeInstance) { @@ -7247,23 +6301,23 @@ proto.aggregator.Task.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.Task} + * @return {!proto.aggregator.CreateTaskReq} */ -proto.aggregator.Task.deserializeBinary = function(bytes) { +proto.aggregator.CreateTaskReq.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.Task; - return proto.aggregator.Task.deserializeBinaryFromReader(msg, reader); + var msg = new proto.aggregator.CreateTaskReq; + return proto.aggregator.CreateTaskReq.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.aggregator.Task} msg The message object to deserialize into. + * @param {!proto.aggregator.CreateTaskReq} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.Task} + * @return {!proto.aggregator.CreateTaskReq} */ -proto.aggregator.Task.deserializeBinaryFromReader = function(msg, reader) { +proto.aggregator.CreateTaskReq.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -7271,61 +6325,40 @@ proto.aggregator.Task.deserializeBinaryFromReader = function(msg, reader) { var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {string} */ (reader.readString()); - msg.setId(value); + var value = new proto.aggregator.TaskTrigger; + reader.readMessage(value,proto.aggregator.TaskTrigger.deserializeBinaryFromReader); + msg.setTrigger(value); break; case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setOwner(value); - break; - case 3: - var value = /** @type {string} */ (reader.readString()); - msg.setSmartWalletAddress(value); - break; - case 4: var value = /** @type {number} */ (reader.readInt64()); msg.setStartAt(value); break; - case 5: - var value = /** @type {number} */ (reader.readInt64()); - msg.setExpiredAt(value); - break; - case 6: - var value = /** @type {string} */ (reader.readString()); - msg.setMemo(value); - break; - case 7: + case 3: var value = /** @type {number} */ (reader.readInt64()); - msg.setCompletedAt(value); + msg.setExpiredAt(value); break; - case 8: + case 4: var value = /** @type {number} */ (reader.readInt64()); msg.setMaxExecution(value); break; - case 9: - var value = /** @type {!proto.aggregator.TaskStatus} */ (reader.readEnum()); - msg.setStatus(value); + case 5: + var value = /** @type {string} */ (reader.readString()); + msg.setSmartWalletAddress(value); break; - case 10: - var value = new proto.aggregator.TaskTrigger; - reader.readMessage(value,proto.aggregator.TaskTrigger.deserializeBinaryFromReader); - msg.setTrigger(value); + case 6: + var value = /** @type {string} */ (reader.readString()); + msg.setMemo(value); break; - case 11: + case 7: var value = new proto.aggregator.TaskNode; reader.readMessage(value,proto.aggregator.TaskNode.deserializeBinaryFromReader); msg.addNodes(value); break; - case 12: + case 8: var value = new proto.aggregator.TaskEdge; reader.readMessage(value,proto.aggregator.TaskEdge.deserializeBinaryFromReader); msg.addEdges(value); break; - case 13: - var value = new proto.aggregator.Execution; - reader.readMessage(value,proto.aggregator.Execution.deserializeBinaryFromReader); - msg.addExecutions(value); - break; default: reader.skipField(); break; @@ -7339,9 +6372,9 @@ proto.aggregator.Task.deserializeBinaryFromReader = function(msg, reader) { * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.aggregator.Task.prototype.serializeBinary = function() { +proto.aggregator.CreateTaskReq.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.aggregator.Task.serializeBinaryToWriter(this, writer); + proto.aggregator.CreateTaskReq.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -7349,43 +6382,44 @@ proto.aggregator.Task.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.Task} message + * @param {!proto.aggregator.CreateTaskReq} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.Task.serializeBinaryToWriter = function(message, writer) { +proto.aggregator.CreateTaskReq.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getId(); - if (f.length > 0) { - writer.writeString( + f = message.getTrigger(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.aggregator.TaskTrigger.serializeBinaryToWriter ); } - f = message.getOwner(); - if (f.length > 0) { - writer.writeString( + f = message.getStartAt(); + if (f !== 0) { + writer.writeInt64( 2, f ); } - f = message.getSmartWalletAddress(); - if (f.length > 0) { - writer.writeString( + f = message.getExpiredAt(); + if (f !== 0) { + writer.writeInt64( 3, f ); } - f = message.getStartAt(); + f = message.getMaxExecution(); if (f !== 0) { writer.writeInt64( 4, f ); } - f = message.getExpiredAt(); - if (f !== 0) { - writer.writeInt64( + f = message.getSmartWalletAddress(); + if (f.length > 0) { + writer.writeString( 5, f ); @@ -7397,39 +6431,10 @@ proto.aggregator.Task.serializeBinaryToWriter = function(message, writer) { f ); } - f = message.getCompletedAt(); - if (f !== 0) { - writer.writeInt64( - 7, - f - ); - } - f = message.getMaxExecution(); - if (f !== 0) { - writer.writeInt64( - 8, - f - ); - } - f = message.getStatus(); - if (f !== 0.0) { - writer.writeEnum( - 9, - f - ); - } - f = message.getTrigger(); - if (f != null) { - writer.writeMessage( - 10, - f, - proto.aggregator.TaskTrigger.serializeBinaryToWriter - ); - } f = message.getNodesList(); if (f.length > 0) { writer.writeRepeatedMessage( - 11, + 7, f, proto.aggregator.TaskNode.serializeBinaryToWriter ); @@ -7437,109 +6442,120 @@ proto.aggregator.Task.serializeBinaryToWriter = function(message, writer) { f = message.getEdgesList(); if (f.length > 0) { writer.writeRepeatedMessage( - 12, + 8, f, proto.aggregator.TaskEdge.serializeBinaryToWriter ); } - f = message.getExecutionsList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 13, - f, - proto.aggregator.Execution.serializeBinaryToWriter - ); - } }; /** - * optional string id = 1; - * @return {string} + * optional TaskTrigger trigger = 1; + * @return {?proto.aggregator.TaskTrigger} */ -proto.aggregator.Task.prototype.getId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.aggregator.CreateTaskReq.prototype.getTrigger = function() { + return /** @type{?proto.aggregator.TaskTrigger} */ ( + jspb.Message.getWrapperField(this, proto.aggregator.TaskTrigger, 1)); }; /** - * @param {string} value - * @return {!proto.aggregator.Task} returns this + * @param {?proto.aggregator.TaskTrigger|undefined} value + * @return {!proto.aggregator.CreateTaskReq} returns this +*/ +proto.aggregator.CreateTaskReq.prototype.setTrigger = function(value) { + return jspb.Message.setWrapperField(this, 1, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.aggregator.CreateTaskReq} returns this */ -proto.aggregator.Task.prototype.setId = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); +proto.aggregator.CreateTaskReq.prototype.clearTrigger = function() { + return this.setTrigger(undefined); }; /** - * optional string owner = 2; - * @return {string} + * Returns whether this field is set. + * @return {boolean} */ -proto.aggregator.Task.prototype.getOwner = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +proto.aggregator.CreateTaskReq.prototype.hasTrigger = function() { + return jspb.Message.getField(this, 1) != null; }; /** - * @param {string} value - * @return {!proto.aggregator.Task} returns this + * optional int64 start_at = 2; + * @return {number} */ -proto.aggregator.Task.prototype.setOwner = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); +proto.aggregator.CreateTaskReq.prototype.getStartAt = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); }; /** - * optional string smart_wallet_address = 3; - * @return {string} + * @param {number} value + * @return {!proto.aggregator.CreateTaskReq} returns this */ -proto.aggregator.Task.prototype.getSmartWalletAddress = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +proto.aggregator.CreateTaskReq.prototype.setStartAt = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); }; /** - * @param {string} value - * @return {!proto.aggregator.Task} returns this + * optional int64 expired_at = 3; + * @return {number} */ -proto.aggregator.Task.prototype.setSmartWalletAddress = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); +proto.aggregator.CreateTaskReq.prototype.getExpiredAt = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); }; /** - * optional int64 start_at = 4; + * @param {number} value + * @return {!proto.aggregator.CreateTaskReq} returns this + */ +proto.aggregator.CreateTaskReq.prototype.setExpiredAt = function(value) { + return jspb.Message.setProto3IntField(this, 3, value); +}; + + +/** + * optional int64 max_execution = 4; * @return {number} */ -proto.aggregator.Task.prototype.getStartAt = function() { +proto.aggregator.CreateTaskReq.prototype.getMaxExecution = function() { return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); }; /** * @param {number} value - * @return {!proto.aggregator.Task} returns this + * @return {!proto.aggregator.CreateTaskReq} returns this */ -proto.aggregator.Task.prototype.setStartAt = function(value) { +proto.aggregator.CreateTaskReq.prototype.setMaxExecution = function(value) { return jspb.Message.setProto3IntField(this, 4, value); }; /** - * optional int64 expired_at = 5; - * @return {number} + * optional string smart_wallet_address = 5; + * @return {string} */ -proto.aggregator.Task.prototype.getExpiredAt = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); +proto.aggregator.CreateTaskReq.prototype.getSmartWalletAddress = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); }; /** - * @param {number} value - * @return {!proto.aggregator.Task} returns this + * @param {string} value + * @return {!proto.aggregator.CreateTaskReq} returns this */ -proto.aggregator.Task.prototype.setExpiredAt = function(value) { - return jspb.Message.setProto3IntField(this, 5, value); +proto.aggregator.CreateTaskReq.prototype.setSmartWalletAddress = function(value) { + return jspb.Message.setProto3StringField(this, 5, value); }; @@ -7547,233 +6563,357 @@ proto.aggregator.Task.prototype.setExpiredAt = function(value) { * optional string memo = 6; * @return {string} */ -proto.aggregator.Task.prototype.getMemo = function() { +proto.aggregator.CreateTaskReq.prototype.getMemo = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, "")); }; /** * @param {string} value - * @return {!proto.aggregator.Task} returns this + * @return {!proto.aggregator.CreateTaskReq} returns this */ -proto.aggregator.Task.prototype.setMemo = function(value) { +proto.aggregator.CreateTaskReq.prototype.setMemo = function(value) { return jspb.Message.setProto3StringField(this, 6, value); }; /** - * optional int64 completed_at = 7; - * @return {number} + * repeated TaskNode nodes = 7; + * @return {!Array} */ -proto.aggregator.Task.prototype.getCompletedAt = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0)); +proto.aggregator.CreateTaskReq.prototype.getNodesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.aggregator.TaskNode, 7)); }; /** - * @param {number} value - * @return {!proto.aggregator.Task} returns this + * @param {!Array} value + * @return {!proto.aggregator.CreateTaskReq} returns this +*/ +proto.aggregator.CreateTaskReq.prototype.setNodesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 7, value); +}; + + +/** + * @param {!proto.aggregator.TaskNode=} opt_value + * @param {number=} opt_index + * @return {!proto.aggregator.TaskNode} */ -proto.aggregator.Task.prototype.setCompletedAt = function(value) { - return jspb.Message.setProto3IntField(this, 7, value); +proto.aggregator.CreateTaskReq.prototype.addNodes = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 7, opt_value, proto.aggregator.TaskNode, opt_index); }; /** - * optional int64 max_execution = 8; - * @return {number} + * Clears the list making it empty but non-null. + * @return {!proto.aggregator.CreateTaskReq} returns this */ -proto.aggregator.Task.prototype.getMaxExecution = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0)); +proto.aggregator.CreateTaskReq.prototype.clearNodesList = function() { + return this.setNodesList([]); }; /** - * @param {number} value - * @return {!proto.aggregator.Task} returns this + * repeated TaskEdge edges = 8; + * @return {!Array} */ -proto.aggregator.Task.prototype.setMaxExecution = function(value) { - return jspb.Message.setProto3IntField(this, 8, value); +proto.aggregator.CreateTaskReq.prototype.getEdgesList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.aggregator.TaskEdge, 8)); +}; + + +/** + * @param {!Array} value + * @return {!proto.aggregator.CreateTaskReq} returns this +*/ +proto.aggregator.CreateTaskReq.prototype.setEdgesList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 8, value); }; /** - * optional TaskStatus status = 9; - * @return {!proto.aggregator.TaskStatus} + * @param {!proto.aggregator.TaskEdge=} opt_value + * @param {number=} opt_index + * @return {!proto.aggregator.TaskEdge} */ -proto.aggregator.Task.prototype.getStatus = function() { - return /** @type {!proto.aggregator.TaskStatus} */ (jspb.Message.getFieldWithDefault(this, 9, 0)); +proto.aggregator.CreateTaskReq.prototype.addEdges = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 8, opt_value, proto.aggregator.TaskEdge, opt_index); }; /** - * @param {!proto.aggregator.TaskStatus} value - * @return {!proto.aggregator.Task} returns this + * Clears the list making it empty but non-null. + * @return {!proto.aggregator.CreateTaskReq} returns this */ -proto.aggregator.Task.prototype.setStatus = function(value) { - return jspb.Message.setProto3EnumField(this, 9, value); +proto.aggregator.CreateTaskReq.prototype.clearEdgesList = function() { + return this.setEdgesList([]); }; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * optional TaskTrigger trigger = 10; - * @return {?proto.aggregator.TaskTrigger} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.aggregator.Task.prototype.getTrigger = function() { - return /** @type{?proto.aggregator.TaskTrigger} */ ( - jspb.Message.getWrapperField(this, proto.aggregator.TaskTrigger, 10)); +proto.aggregator.CreateTaskResp.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.CreateTaskResp.toObject(opt_includeInstance, this); }; /** - * @param {?proto.aggregator.TaskTrigger|undefined} value - * @return {!proto.aggregator.Task} returns this -*/ -proto.aggregator.Task.prototype.setTrigger = function(value) { - return jspb.Message.setWrapperField(this, 10, value); + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.aggregator.CreateTaskResp} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.aggregator.CreateTaskResp.toObject = function(includeInstance, msg) { + var f, obj = { + id: jspb.Message.getFieldWithDefault(msg, 1, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * Clears the message field making it undefined. - * @return {!proto.aggregator.Task} returns this + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.aggregator.CreateTaskResp} */ -proto.aggregator.Task.prototype.clearTrigger = function() { - return this.setTrigger(undefined); +proto.aggregator.CreateTaskResp.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.aggregator.CreateTaskResp; + return proto.aggregator.CreateTaskResp.deserializeBinaryFromReader(msg, reader); }; /** - * Returns whether this field is set. - * @return {boolean} + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.aggregator.CreateTaskResp} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.aggregator.CreateTaskResp} */ -proto.aggregator.Task.prototype.hasTrigger = function() { - return jspb.Message.getField(this, 10) != null; +proto.aggregator.CreateTaskResp.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setId(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * repeated TaskNode nodes = 11; - * @return {!Array} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.aggregator.Task.prototype.getNodesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.aggregator.TaskNode, 11)); +proto.aggregator.CreateTaskResp.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.aggregator.CreateTaskResp.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {!Array} value - * @return {!proto.aggregator.Task} returns this -*/ -proto.aggregator.Task.prototype.setNodesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 11, value); + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.aggregator.CreateTaskResp} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.aggregator.CreateTaskResp.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getId(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } }; /** - * @param {!proto.aggregator.TaskNode=} opt_value - * @param {number=} opt_index - * @return {!proto.aggregator.TaskNode} + * optional string id = 1; + * @return {string} */ -proto.aggregator.Task.prototype.addNodes = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 11, opt_value, proto.aggregator.TaskNode, opt_index); +proto.aggregator.CreateTaskResp.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.aggregator.Task} returns this + * @param {string} value + * @return {!proto.aggregator.CreateTaskResp} returns this */ -proto.aggregator.Task.prototype.clearNodesList = function() { - return this.setNodesList([]); +proto.aggregator.CreateTaskResp.prototype.setId = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); }; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * repeated TaskEdge edges = 12; - * @return {!Array} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.aggregator.Task.prototype.getEdgesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.aggregator.TaskEdge, 12)); +proto.aggregator.NonceRequest.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.NonceRequest.toObject(opt_includeInstance, this); }; /** - * @param {!Array} value - * @return {!proto.aggregator.Task} returns this -*/ -proto.aggregator.Task.prototype.setEdgesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 12, value); + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.aggregator.NonceRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.aggregator.NonceRequest.toObject = function(includeInstance, msg) { + var f, obj = { + owner: jspb.Message.getFieldWithDefault(msg, 1, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * @param {!proto.aggregator.TaskEdge=} opt_value - * @param {number=} opt_index - * @return {!proto.aggregator.TaskEdge} + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.aggregator.NonceRequest} */ -proto.aggregator.Task.prototype.addEdges = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 12, opt_value, proto.aggregator.TaskEdge, opt_index); +proto.aggregator.NonceRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.aggregator.NonceRequest; + return proto.aggregator.NonceRequest.deserializeBinaryFromReader(msg, reader); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.aggregator.Task} returns this + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.aggregator.NonceRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.aggregator.NonceRequest} */ -proto.aggregator.Task.prototype.clearEdgesList = function() { - return this.setEdgesList([]); +proto.aggregator.NonceRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setOwner(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * repeated Execution executions = 13; - * @return {!Array} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.aggregator.Task.prototype.getExecutionsList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.aggregator.Execution, 13)); +proto.aggregator.NonceRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.aggregator.NonceRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * @param {!Array} value - * @return {!proto.aggregator.Task} returns this -*/ -proto.aggregator.Task.prototype.setExecutionsList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 13, value); + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.aggregator.NonceRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.aggregator.NonceRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getOwner(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } }; /** - * @param {!proto.aggregator.Execution=} opt_value - * @param {number=} opt_index - * @return {!proto.aggregator.Execution} + * optional string owner = 1; + * @return {string} */ -proto.aggregator.Task.prototype.addExecutions = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 13, opt_value, proto.aggregator.Execution, opt_index); +proto.aggregator.NonceRequest.prototype.getOwner = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.aggregator.Task} returns this + * @param {string} value + * @return {!proto.aggregator.NonceRequest} returns this */ -proto.aggregator.Task.prototype.clearExecutionsList = function() { - return this.setExecutionsList([]); +proto.aggregator.NonceRequest.prototype.setOwner = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); }; -/** - * List of repeated fields within this message type. - * @private {!Array} - * @const - */ -proto.aggregator.CreateTaskReq.repeatedFields_ = [7,8]; - if (jspb.Message.GENERATE_TO_OBJECT) { @@ -7789,8 +6929,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.aggregator.CreateTaskReq.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.CreateTaskReq.toObject(opt_includeInstance, this); +proto.aggregator.NonceResp.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.NonceResp.toObject(opt_includeInstance, this); }; @@ -7799,22 +6939,13 @@ proto.aggregator.CreateTaskReq.prototype.toObject = function(opt_includeInstance * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.aggregator.CreateTaskReq} msg The msg instance to transform. + * @param {!proto.aggregator.NonceResp} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.CreateTaskReq.toObject = function(includeInstance, msg) { +proto.aggregator.NonceResp.toObject = function(includeInstance, msg) { var f, obj = { - trigger: (f = msg.getTrigger()) && proto.aggregator.TaskTrigger.toObject(includeInstance, f), - startAt: jspb.Message.getFieldWithDefault(msg, 2, 0), - expiredAt: jspb.Message.getFieldWithDefault(msg, 3, 0), - maxExecution: jspb.Message.getFieldWithDefault(msg, 4, 0), - smartWalletAddress: jspb.Message.getFieldWithDefault(msg, 5, ""), - memo: jspb.Message.getFieldWithDefault(msg, 6, ""), - nodesList: jspb.Message.toObjectList(msg.getNodesList(), - proto.aggregator.TaskNode.toObject, includeInstance), - edgesList: jspb.Message.toObjectList(msg.getEdgesList(), - proto.aggregator.TaskEdge.toObject, includeInstance) + nonce: jspb.Message.getFieldWithDefault(msg, 1, "") }; if (includeInstance) { @@ -7828,23 +6959,23 @@ proto.aggregator.CreateTaskReq.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.CreateTaskReq} + * @return {!proto.aggregator.NonceResp} */ -proto.aggregator.CreateTaskReq.deserializeBinary = function(bytes) { +proto.aggregator.NonceResp.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.CreateTaskReq; - return proto.aggregator.CreateTaskReq.deserializeBinaryFromReader(msg, reader); + var msg = new proto.aggregator.NonceResp; + return proto.aggregator.NonceResp.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.aggregator.CreateTaskReq} msg The message object to deserialize into. + * @param {!proto.aggregator.NonceResp} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.CreateTaskReq} + * @return {!proto.aggregator.NonceResp} */ -proto.aggregator.CreateTaskReq.deserializeBinaryFromReader = function(msg, reader) { +proto.aggregator.NonceResp.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -7852,39 +6983,8 @@ proto.aggregator.CreateTaskReq.deserializeBinaryFromReader = function(msg, reade var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.aggregator.TaskTrigger; - reader.readMessage(value,proto.aggregator.TaskTrigger.deserializeBinaryFromReader); - msg.setTrigger(value); - break; - case 2: - var value = /** @type {number} */ (reader.readInt64()); - msg.setStartAt(value); - break; - case 3: - var value = /** @type {number} */ (reader.readInt64()); - msg.setExpiredAt(value); - break; - case 4: - var value = /** @type {number} */ (reader.readInt64()); - msg.setMaxExecution(value); - break; - case 5: var value = /** @type {string} */ (reader.readString()); - msg.setSmartWalletAddress(value); - break; - case 6: - var value = /** @type {string} */ (reader.readString()); - msg.setMemo(value); - break; - case 7: - var value = new proto.aggregator.TaskNode; - reader.readMessage(value,proto.aggregator.TaskNode.deserializeBinaryFromReader); - msg.addNodes(value); - break; - case 8: - var value = new proto.aggregator.TaskEdge; - reader.readMessage(value,proto.aggregator.TaskEdge.deserializeBinaryFromReader); - msg.addEdges(value); + msg.setNonce(value); break; default: reader.skipField(); @@ -7899,9 +6999,9 @@ proto.aggregator.CreateTaskReq.deserializeBinaryFromReader = function(msg, reade * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.aggregator.CreateTaskReq.prototype.serializeBinary = function() { +proto.aggregator.NonceResp.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.aggregator.CreateTaskReq.serializeBinaryToWriter(this, writer); + proto.aggregator.NonceResp.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -7909,274 +7009,197 @@ proto.aggregator.CreateTaskReq.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.CreateTaskReq} message + * @param {!proto.aggregator.NonceResp} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.CreateTaskReq.serializeBinaryToWriter = function(message, writer) { +proto.aggregator.NonceResp.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getTrigger(); - if (f != null) { - writer.writeMessage( - 1, - f, - proto.aggregator.TaskTrigger.serializeBinaryToWriter - ); - } - f = message.getStartAt(); - if (f !== 0) { - writer.writeInt64( - 2, - f - ); - } - f = message.getExpiredAt(); - if (f !== 0) { - writer.writeInt64( - 3, - f - ); - } - f = message.getMaxExecution(); - if (f !== 0) { - writer.writeInt64( - 4, - f - ); - } - f = message.getSmartWalletAddress(); - if (f.length > 0) { - writer.writeString( - 5, - f - ); - } - f = message.getMemo(); + f = message.getNonce(); if (f.length > 0) { writer.writeString( - 6, + 1, f ); } - f = message.getNodesList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 7, - f, - proto.aggregator.TaskNode.serializeBinaryToWriter - ); - } - f = message.getEdgesList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 8, - f, - proto.aggregator.TaskEdge.serializeBinaryToWriter - ); - } -}; - - -/** - * optional TaskTrigger trigger = 1; - * @return {?proto.aggregator.TaskTrigger} - */ -proto.aggregator.CreateTaskReq.prototype.getTrigger = function() { - return /** @type{?proto.aggregator.TaskTrigger} */ ( - jspb.Message.getWrapperField(this, proto.aggregator.TaskTrigger, 1)); -}; - - -/** - * @param {?proto.aggregator.TaskTrigger|undefined} value - * @return {!proto.aggregator.CreateTaskReq} returns this -*/ -proto.aggregator.CreateTaskReq.prototype.setTrigger = function(value) { - return jspb.Message.setWrapperField(this, 1, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.aggregator.CreateTaskReq} returns this - */ -proto.aggregator.CreateTaskReq.prototype.clearTrigger = function() { - return this.setTrigger(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.aggregator.CreateTaskReq.prototype.hasTrigger = function() { - return jspb.Message.getField(this, 1) != null; -}; - - -/** - * optional int64 start_at = 2; - * @return {number} - */ -proto.aggregator.CreateTaskReq.prototype.getStartAt = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); -}; - - -/** - * @param {number} value - * @return {!proto.aggregator.CreateTaskReq} returns this - */ -proto.aggregator.CreateTaskReq.prototype.setStartAt = function(value) { - return jspb.Message.setProto3IntField(this, 2, value); }; /** - * optional int64 expired_at = 3; - * @return {number} + * optional string nonce = 1; + * @return {string} */ -proto.aggregator.CreateTaskReq.prototype.getExpiredAt = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); +proto.aggregator.NonceResp.prototype.getNonce = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * @param {number} value - * @return {!proto.aggregator.CreateTaskReq} returns this + * @param {string} value + * @return {!proto.aggregator.NonceResp} returns this */ -proto.aggregator.CreateTaskReq.prototype.setExpiredAt = function(value) { - return jspb.Message.setProto3IntField(this, 3, value); +proto.aggregator.NonceResp.prototype.setNonce = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); }; -/** - * optional int64 max_execution = 4; - * @return {number} - */ -proto.aggregator.CreateTaskReq.prototype.getMaxExecution = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); -}; - -/** - * @param {number} value - * @return {!proto.aggregator.CreateTaskReq} returns this - */ -proto.aggregator.CreateTaskReq.prototype.setMaxExecution = function(value) { - return jspb.Message.setProto3IntField(this, 4, value); -}; +if (jspb.Message.GENERATE_TO_OBJECT) { /** - * optional string smart_wallet_address = 5; - * @return {string} + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} */ -proto.aggregator.CreateTaskReq.prototype.getSmartWalletAddress = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "")); +proto.aggregator.ListWalletReq.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.ListWalletReq.toObject(opt_includeInstance, this); }; /** - * @param {string} value - * @return {!proto.aggregator.CreateTaskReq} returns this + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.aggregator.ListWalletReq} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.CreateTaskReq.prototype.setSmartWalletAddress = function(value) { - return jspb.Message.setProto3StringField(this, 5, value); -}; - +proto.aggregator.ListWalletReq.toObject = function(includeInstance, msg) { + var f, obj = { + factory: jspb.Message.getFieldWithDefault(msg, 1, ""), + salt: jspb.Message.getFieldWithDefault(msg, 2, "") + }; -/** - * optional string memo = 6; - * @return {string} - */ -proto.aggregator.CreateTaskReq.prototype.getMemo = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, "")); + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; }; +} /** - * @param {string} value - * @return {!proto.aggregator.CreateTaskReq} returns this + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.aggregator.ListWalletReq} */ -proto.aggregator.CreateTaskReq.prototype.setMemo = function(value) { - return jspb.Message.setProto3StringField(this, 6, value); +proto.aggregator.ListWalletReq.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.aggregator.ListWalletReq; + return proto.aggregator.ListWalletReq.deserializeBinaryFromReader(msg, reader); }; /** - * repeated TaskNode nodes = 7; - * @return {!Array} + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.aggregator.ListWalletReq} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.aggregator.ListWalletReq} */ -proto.aggregator.CreateTaskReq.prototype.getNodesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.aggregator.TaskNode, 7)); -}; - - -/** - * @param {!Array} value - * @return {!proto.aggregator.CreateTaskReq} returns this -*/ -proto.aggregator.CreateTaskReq.prototype.setNodesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 7, value); +proto.aggregator.ListWalletReq.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setFactory(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setSalt(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; }; /** - * @param {!proto.aggregator.TaskNode=} opt_value - * @param {number=} opt_index - * @return {!proto.aggregator.TaskNode} + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} */ -proto.aggregator.CreateTaskReq.prototype.addNodes = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 7, opt_value, proto.aggregator.TaskNode, opt_index); +proto.aggregator.ListWalletReq.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.aggregator.ListWalletReq.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.aggregator.CreateTaskReq} returns this + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.aggregator.ListWalletReq} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.CreateTaskReq.prototype.clearNodesList = function() { - return this.setNodesList([]); +proto.aggregator.ListWalletReq.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getFactory(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getSalt(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } }; /** - * repeated TaskEdge edges = 8; - * @return {!Array} + * optional string factory = 1; + * @return {string} */ -proto.aggregator.CreateTaskReq.prototype.getEdgesList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.aggregator.TaskEdge, 8)); +proto.aggregator.ListWalletReq.prototype.getFactory = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * @param {!Array} value - * @return {!proto.aggregator.CreateTaskReq} returns this -*/ -proto.aggregator.CreateTaskReq.prototype.setEdgesList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 8, value); + * @param {string} value + * @return {!proto.aggregator.ListWalletReq} returns this + */ +proto.aggregator.ListWalletReq.prototype.setFactory = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); }; /** - * @param {!proto.aggregator.TaskEdge=} opt_value - * @param {number=} opt_index - * @return {!proto.aggregator.TaskEdge} + * optional string salt = 2; + * @return {string} */ -proto.aggregator.CreateTaskReq.prototype.addEdges = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 8, opt_value, proto.aggregator.TaskEdge, opt_index); +proto.aggregator.ListWalletReq.prototype.getSalt = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.aggregator.CreateTaskReq} returns this + * @param {string} value + * @return {!proto.aggregator.ListWalletReq} returns this */ -proto.aggregator.CreateTaskReq.prototype.clearEdgesList = function() { - return this.setEdgesList([]); +proto.aggregator.ListWalletReq.prototype.setSalt = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); }; @@ -8196,8 +7219,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.aggregator.CreateTaskResp.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.CreateTaskResp.toObject(opt_includeInstance, this); +proto.aggregator.SmartWallet.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.SmartWallet.toObject(opt_includeInstance, this); }; @@ -8206,13 +7229,15 @@ proto.aggregator.CreateTaskResp.prototype.toObject = function(opt_includeInstanc * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.aggregator.CreateTaskResp} msg The msg instance to transform. + * @param {!proto.aggregator.SmartWallet} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.CreateTaskResp.toObject = function(includeInstance, msg) { +proto.aggregator.SmartWallet.toObject = function(includeInstance, msg) { var f, obj = { - id: jspb.Message.getFieldWithDefault(msg, 1, "") + address: jspb.Message.getFieldWithDefault(msg, 1, ""), + salt: jspb.Message.getFieldWithDefault(msg, 2, ""), + factory: jspb.Message.getFieldWithDefault(msg, 3, "") }; if (includeInstance) { @@ -8226,23 +7251,23 @@ proto.aggregator.CreateTaskResp.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.CreateTaskResp} + * @return {!proto.aggregator.SmartWallet} */ -proto.aggregator.CreateTaskResp.deserializeBinary = function(bytes) { +proto.aggregator.SmartWallet.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.CreateTaskResp; - return proto.aggregator.CreateTaskResp.deserializeBinaryFromReader(msg, reader); + var msg = new proto.aggregator.SmartWallet; + return proto.aggregator.SmartWallet.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.aggregator.CreateTaskResp} msg The message object to deserialize into. + * @param {!proto.aggregator.SmartWallet} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.CreateTaskResp} + * @return {!proto.aggregator.SmartWallet} */ -proto.aggregator.CreateTaskResp.deserializeBinaryFromReader = function(msg, reader) { +proto.aggregator.SmartWallet.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -8251,7 +7276,15 @@ proto.aggregator.CreateTaskResp.deserializeBinaryFromReader = function(msg, read switch (field) { case 1: var value = /** @type {string} */ (reader.readString()); - msg.setId(value); + msg.setAddress(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setSalt(value); + break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.setFactory(value); break; default: reader.skipField(); @@ -8266,9 +7299,9 @@ proto.aggregator.CreateTaskResp.deserializeBinaryFromReader = function(msg, read * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.aggregator.CreateTaskResp.prototype.serializeBinary = function() { +proto.aggregator.SmartWallet.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.aggregator.CreateTaskResp.serializeBinaryToWriter(this, writer); + proto.aggregator.SmartWallet.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -8276,40 +7309,97 @@ proto.aggregator.CreateTaskResp.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.CreateTaskResp} message + * @param {!proto.aggregator.SmartWallet} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.CreateTaskResp.serializeBinaryToWriter = function(message, writer) { +proto.aggregator.SmartWallet.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getId(); + f = message.getAddress(); if (f.length > 0) { writer.writeString( 1, f ); } + f = message.getSalt(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getFactory(); + if (f.length > 0) { + writer.writeString( + 3, + f + ); + } }; /** - * optional string id = 1; + * optional string address = 1; * @return {string} */ -proto.aggregator.CreateTaskResp.prototype.getId = function() { +proto.aggregator.SmartWallet.prototype.getAddress = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.aggregator.CreateTaskResp} returns this + * @return {!proto.aggregator.SmartWallet} returns this */ -proto.aggregator.CreateTaskResp.prototype.setId = function(value) { +proto.aggregator.SmartWallet.prototype.setAddress = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; +/** + * optional string salt = 2; + * @return {string} + */ +proto.aggregator.SmartWallet.prototype.getSalt = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.aggregator.SmartWallet} returns this + */ +proto.aggregator.SmartWallet.prototype.setSalt = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + +/** + * optional string factory = 3; + * @return {string} + */ +proto.aggregator.SmartWallet.prototype.getFactory = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * @param {string} value + * @return {!proto.aggregator.SmartWallet} returns this + */ +proto.aggregator.SmartWallet.prototype.setFactory = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); +}; + + + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.aggregator.ListWalletResp.repeatedFields_ = [1]; @@ -8326,8 +7416,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.aggregator.NonceRequest.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.NonceRequest.toObject(opt_includeInstance, this); +proto.aggregator.ListWalletResp.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.ListWalletResp.toObject(opt_includeInstance, this); }; @@ -8336,13 +7426,14 @@ proto.aggregator.NonceRequest.prototype.toObject = function(opt_includeInstance) * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.aggregator.NonceRequest} msg The msg instance to transform. + * @param {!proto.aggregator.ListWalletResp} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.NonceRequest.toObject = function(includeInstance, msg) { +proto.aggregator.ListWalletResp.toObject = function(includeInstance, msg) { var f, obj = { - owner: jspb.Message.getFieldWithDefault(msg, 1, "") + walletsList: jspb.Message.toObjectList(msg.getWalletsList(), + proto.aggregator.SmartWallet.toObject, includeInstance) }; if (includeInstance) { @@ -8356,23 +7447,23 @@ proto.aggregator.NonceRequest.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.NonceRequest} + * @return {!proto.aggregator.ListWalletResp} */ -proto.aggregator.NonceRequest.deserializeBinary = function(bytes) { +proto.aggregator.ListWalletResp.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.NonceRequest; - return proto.aggregator.NonceRequest.deserializeBinaryFromReader(msg, reader); + var msg = new proto.aggregator.ListWalletResp; + return proto.aggregator.ListWalletResp.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.aggregator.NonceRequest} msg The message object to deserialize into. + * @param {!proto.aggregator.ListWalletResp} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.NonceRequest} + * @return {!proto.aggregator.ListWalletResp} */ -proto.aggregator.NonceRequest.deserializeBinaryFromReader = function(msg, reader) { +proto.aggregator.ListWalletResp.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -8380,8 +7471,9 @@ proto.aggregator.NonceRequest.deserializeBinaryFromReader = function(msg, reader var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {string} */ (reader.readString()); - msg.setOwner(value); + var value = new proto.aggregator.SmartWallet; + reader.readMessage(value,proto.aggregator.SmartWallet.deserializeBinaryFromReader); + msg.addWallets(value); break; default: reader.skipField(); @@ -8396,9 +7488,9 @@ proto.aggregator.NonceRequest.deserializeBinaryFromReader = function(msg, reader * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.aggregator.NonceRequest.prototype.serializeBinary = function() { +proto.aggregator.ListWalletResp.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.aggregator.NonceRequest.serializeBinaryToWriter(this, writer); + proto.aggregator.ListWalletResp.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -8406,37 +7498,58 @@ proto.aggregator.NonceRequest.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.NonceRequest} message + * @param {!proto.aggregator.ListWalletResp} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.NonceRequest.serializeBinaryToWriter = function(message, writer) { +proto.aggregator.ListWalletResp.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getOwner(); + f = message.getWalletsList(); if (f.length > 0) { - writer.writeString( + writer.writeRepeatedMessage( 1, - f + f, + proto.aggregator.SmartWallet.serializeBinaryToWriter ); } }; /** - * optional string owner = 1; - * @return {string} + * repeated SmartWallet wallets = 1; + * @return {!Array} */ -proto.aggregator.NonceRequest.prototype.getOwner = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.aggregator.ListWalletResp.prototype.getWalletsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.aggregator.SmartWallet, 1)); }; /** - * @param {string} value - * @return {!proto.aggregator.NonceRequest} returns this + * @param {!Array} value + * @return {!proto.aggregator.ListWalletResp} returns this +*/ +proto.aggregator.ListWalletResp.prototype.setWalletsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.aggregator.SmartWallet=} opt_value + * @param {number=} opt_index + * @return {!proto.aggregator.SmartWallet} */ -proto.aggregator.NonceRequest.prototype.setOwner = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); +proto.aggregator.ListWalletResp.prototype.addWallets = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.aggregator.SmartWallet, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.aggregator.ListWalletResp} returns this + */ +proto.aggregator.ListWalletResp.prototype.clearWalletsList = function() { + return this.setWalletsList([]); }; @@ -8456,8 +7569,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.aggregator.NonceResp.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.NonceResp.toObject(opt_includeInstance, this); +proto.aggregator.ListTasksReq.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.ListTasksReq.toObject(opt_includeInstance, this); }; @@ -8466,13 +7579,15 @@ proto.aggregator.NonceResp.prototype.toObject = function(opt_includeInstance) { * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.aggregator.NonceResp} msg The msg instance to transform. + * @param {!proto.aggregator.ListTasksReq} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.NonceResp.toObject = function(includeInstance, msg) { +proto.aggregator.ListTasksReq.toObject = function(includeInstance, msg) { var f, obj = { - nonce: jspb.Message.getFieldWithDefault(msg, 1, "") + smartWalletAddress: jspb.Message.getFieldWithDefault(msg, 1, ""), + cursor: jspb.Message.getFieldWithDefault(msg, 2, ""), + itemPerPage: jspb.Message.getFieldWithDefault(msg, 3, 0) }; if (includeInstance) { @@ -8486,23 +7601,23 @@ proto.aggregator.NonceResp.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.NonceResp} + * @return {!proto.aggregator.ListTasksReq} */ -proto.aggregator.NonceResp.deserializeBinary = function(bytes) { +proto.aggregator.ListTasksReq.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.NonceResp; - return proto.aggregator.NonceResp.deserializeBinaryFromReader(msg, reader); + var msg = new proto.aggregator.ListTasksReq; + return proto.aggregator.ListTasksReq.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.aggregator.NonceResp} msg The message object to deserialize into. + * @param {!proto.aggregator.ListTasksReq} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.NonceResp} + * @return {!proto.aggregator.ListTasksReq} */ -proto.aggregator.NonceResp.deserializeBinaryFromReader = function(msg, reader) { +proto.aggregator.ListTasksReq.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -8511,7 +7626,15 @@ proto.aggregator.NonceResp.deserializeBinaryFromReader = function(msg, reader) { switch (field) { case 1: var value = /** @type {string} */ (reader.readString()); - msg.setNonce(value); + msg.setSmartWalletAddress(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setCursor(value); + break; + case 3: + var value = /** @type {number} */ (reader.readInt64()); + msg.setItemPerPage(value); break; default: reader.skipField(); @@ -8526,9 +7649,9 @@ proto.aggregator.NonceResp.deserializeBinaryFromReader = function(msg, reader) { * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.aggregator.NonceResp.prototype.serializeBinary = function() { +proto.aggregator.ListTasksReq.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.aggregator.NonceResp.serializeBinaryToWriter(this, writer); + proto.aggregator.ListTasksReq.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -8536,40 +7659,97 @@ proto.aggregator.NonceResp.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.NonceResp} message + * @param {!proto.aggregator.ListTasksReq} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.NonceResp.serializeBinaryToWriter = function(message, writer) { +proto.aggregator.ListTasksReq.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getNonce(); + f = message.getSmartWalletAddress(); if (f.length > 0) { writer.writeString( 1, f ); } + f = message.getCursor(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getItemPerPage(); + if (f !== 0) { + writer.writeInt64( + 3, + f + ); + } }; /** - * optional string nonce = 1; + * optional string smart_wallet_address = 1; * @return {string} */ -proto.aggregator.NonceResp.prototype.getNonce = function() { +proto.aggregator.ListTasksReq.prototype.getSmartWalletAddress = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.aggregator.NonceResp} returns this + * @return {!proto.aggregator.ListTasksReq} returns this */ -proto.aggregator.NonceResp.prototype.setNonce = function(value) { +proto.aggregator.ListTasksReq.prototype.setSmartWalletAddress = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; +/** + * optional string cursor = 2; + * @return {string} + */ +proto.aggregator.ListTasksReq.prototype.getCursor = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.aggregator.ListTasksReq} returns this + */ +proto.aggregator.ListTasksReq.prototype.setCursor = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + +/** + * optional int64 item_per_page = 3; + * @return {number} + */ +proto.aggregator.ListTasksReq.prototype.getItemPerPage = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.aggregator.ListTasksReq} returns this + */ +proto.aggregator.ListTasksReq.prototype.setItemPerPage = function(value) { + return jspb.Message.setProto3IntField(this, 3, value); +}; + + + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.aggregator.ListTasksResp.repeatedFields_ = [1]; @@ -8586,8 +7766,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.aggregator.ListWalletReq.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.ListWalletReq.toObject(opt_includeInstance, this); +proto.aggregator.ListTasksResp.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.ListTasksResp.toObject(opt_includeInstance, this); }; @@ -8596,14 +7776,15 @@ proto.aggregator.ListWalletReq.prototype.toObject = function(opt_includeInstance * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.aggregator.ListWalletReq} msg The msg instance to transform. + * @param {!proto.aggregator.ListTasksResp} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.ListWalletReq.toObject = function(includeInstance, msg) { +proto.aggregator.ListTasksResp.toObject = function(includeInstance, msg) { var f, obj = { - factory: jspb.Message.getFieldWithDefault(msg, 1, ""), - salt: jspb.Message.getFieldWithDefault(msg, 2, "") + tasksList: jspb.Message.toObjectList(msg.getTasksList(), + proto.aggregator.ListTasksResp.Item.toObject, includeInstance), + cursor: jspb.Message.getFieldWithDefault(msg, 2, "") }; if (includeInstance) { @@ -8617,23 +7798,23 @@ proto.aggregator.ListWalletReq.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.ListWalletReq} + * @return {!proto.aggregator.ListTasksResp} */ -proto.aggregator.ListWalletReq.deserializeBinary = function(bytes) { +proto.aggregator.ListTasksResp.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.ListWalletReq; - return proto.aggregator.ListWalletReq.deserializeBinaryFromReader(msg, reader); + var msg = new proto.aggregator.ListTasksResp; + return proto.aggregator.ListTasksResp.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.aggregator.ListWalletReq} msg The message object to deserialize into. + * @param {!proto.aggregator.ListTasksResp} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.ListWalletReq} + * @return {!proto.aggregator.ListTasksResp} */ -proto.aggregator.ListWalletReq.deserializeBinaryFromReader = function(msg, reader) { +proto.aggregator.ListTasksResp.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -8641,12 +7822,13 @@ proto.aggregator.ListWalletReq.deserializeBinaryFromReader = function(msg, reade var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {string} */ (reader.readString()); - msg.setFactory(value); + var value = new proto.aggregator.ListTasksResp.Item; + reader.readMessage(value,proto.aggregator.ListTasksResp.Item.deserializeBinaryFromReader); + msg.addTasks(value); break; case 2: var value = /** @type {string} */ (reader.readString()); - msg.setSalt(value); + msg.setCursor(value); break; default: reader.skipField(); @@ -8661,9 +7843,9 @@ proto.aggregator.ListWalletReq.deserializeBinaryFromReader = function(msg, reade * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.aggregator.ListWalletReq.prototype.serializeBinary = function() { +proto.aggregator.ListTasksResp.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.aggregator.ListWalletReq.serializeBinaryToWriter(this, writer); + proto.aggregator.ListTasksResp.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -8671,62 +7853,27 @@ proto.aggregator.ListWalletReq.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.ListWalletReq} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.aggregator.ListWalletReq.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getFactory(); - if (f.length > 0) { - writer.writeString( - 1, - f - ); - } - f = message.getSalt(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } -}; - - -/** - * optional string factory = 1; - * @return {string} - */ -proto.aggregator.ListWalletReq.prototype.getFactory = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * @param {string} value - * @return {!proto.aggregator.ListWalletReq} returns this - */ -proto.aggregator.ListWalletReq.prototype.setFactory = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); -}; - - -/** - * optional string salt = 2; - * @return {string} - */ -proto.aggregator.ListWalletReq.prototype.getSalt = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - - -/** - * @param {string} value - * @return {!proto.aggregator.ListWalletReq} returns this + * @param {!proto.aggregator.ListTasksResp} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.ListWalletReq.prototype.setSalt = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); +proto.aggregator.ListTasksResp.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getTasksList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 1, + f, + proto.aggregator.ListTasksResp.Item.serializeBinaryToWriter + ); + } + f = message.getCursor(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } }; @@ -8746,8 +7893,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.aggregator.SmartWallet.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.SmartWallet.toObject(opt_includeInstance, this); +proto.aggregator.ListTasksResp.Item.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.ListTasksResp.Item.toObject(opt_includeInstance, this); }; @@ -8756,15 +7903,24 @@ proto.aggregator.SmartWallet.prototype.toObject = function(opt_includeInstance) * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.aggregator.SmartWallet} msg The msg instance to transform. + * @param {!proto.aggregator.ListTasksResp.Item} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.SmartWallet.toObject = function(includeInstance, msg) { +proto.aggregator.ListTasksResp.Item.toObject = function(includeInstance, msg) { var f, obj = { - address: jspb.Message.getFieldWithDefault(msg, 1, ""), - salt: jspb.Message.getFieldWithDefault(msg, 2, ""), - factory: jspb.Message.getFieldWithDefault(msg, 3, "") + id: jspb.Message.getFieldWithDefault(msg, 1, ""), + owner: jspb.Message.getFieldWithDefault(msg, 2, ""), + smartWalletAddress: jspb.Message.getFieldWithDefault(msg, 3, ""), + startAt: jspb.Message.getFieldWithDefault(msg, 4, 0), + expiredAt: jspb.Message.getFieldWithDefault(msg, 5, 0), + memo: jspb.Message.getFieldWithDefault(msg, 6, ""), + completedAt: jspb.Message.getFieldWithDefault(msg, 7, 0), + maxExecution: jspb.Message.getFieldWithDefault(msg, 8, 0), + totalExecution: jspb.Message.getFieldWithDefault(msg, 9, 0), + lastRanAt: jspb.Message.getFieldWithDefault(msg, 10, 0), + status: jspb.Message.getFieldWithDefault(msg, 11, 0), + trigger: (f = msg.getTrigger()) && proto.aggregator.TaskTrigger.toObject(includeInstance, f) }; if (includeInstance) { @@ -8778,23 +7934,23 @@ proto.aggregator.SmartWallet.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.SmartWallet} + * @return {!proto.aggregator.ListTasksResp.Item} */ -proto.aggregator.SmartWallet.deserializeBinary = function(bytes) { +proto.aggregator.ListTasksResp.Item.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.SmartWallet; - return proto.aggregator.SmartWallet.deserializeBinaryFromReader(msg, reader); + var msg = new proto.aggregator.ListTasksResp.Item; + return proto.aggregator.ListTasksResp.Item.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.aggregator.SmartWallet} msg The message object to deserialize into. + * @param {!proto.aggregator.ListTasksResp.Item} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.SmartWallet} + * @return {!proto.aggregator.ListTasksResp.Item} */ -proto.aggregator.SmartWallet.deserializeBinaryFromReader = function(msg, reader) { +proto.aggregator.ListTasksResp.Item.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -8803,15 +7959,52 @@ proto.aggregator.SmartWallet.deserializeBinaryFromReader = function(msg, reader) switch (field) { case 1: var value = /** @type {string} */ (reader.readString()); - msg.setAddress(value); + msg.setId(value); break; case 2: var value = /** @type {string} */ (reader.readString()); - msg.setSalt(value); + msg.setOwner(value); break; case 3: var value = /** @type {string} */ (reader.readString()); - msg.setFactory(value); + msg.setSmartWalletAddress(value); + break; + case 4: + var value = /** @type {number} */ (reader.readInt64()); + msg.setStartAt(value); + break; + case 5: + var value = /** @type {number} */ (reader.readInt64()); + msg.setExpiredAt(value); + break; + case 6: + var value = /** @type {string} */ (reader.readString()); + msg.setMemo(value); + break; + case 7: + var value = /** @type {number} */ (reader.readInt64()); + msg.setCompletedAt(value); + break; + case 8: + var value = /** @type {number} */ (reader.readInt64()); + msg.setMaxExecution(value); + break; + case 9: + var value = /** @type {number} */ (reader.readInt64()); + msg.setTotalExecution(value); + break; + case 10: + var value = /** @type {number} */ (reader.readInt64()); + msg.setLastRanAt(value); + break; + case 11: + var value = /** @type {!proto.aggregator.TaskStatus} */ (reader.readEnum()); + msg.setStatus(value); + break; + case 12: + var value = new proto.aggregator.TaskTrigger; + reader.readMessage(value,proto.aggregator.TaskTrigger.deserializeBinaryFromReader); + msg.setTrigger(value); break; default: reader.skipField(); @@ -8826,9 +8019,9 @@ proto.aggregator.SmartWallet.deserializeBinaryFromReader = function(msg, reader) * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.aggregator.SmartWallet.prototype.serializeBinary = function() { +proto.aggregator.ListTasksResp.Item.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.aggregator.SmartWallet.serializeBinaryToWriter(this, writer); + proto.aggregator.ListTasksResp.Item.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -8836,514 +8029,347 @@ proto.aggregator.SmartWallet.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.SmartWallet} message + * @param {!proto.aggregator.ListTasksResp.Item} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.SmartWallet.serializeBinaryToWriter = function(message, writer) { +proto.aggregator.ListTasksResp.Item.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getAddress(); + f = message.getId(); if (f.length > 0) { writer.writeString( 1, f ); } - f = message.getSalt(); + f = message.getOwner(); if (f.length > 0) { writer.writeString( 2, f ); } - f = message.getFactory(); + f = message.getSmartWalletAddress(); if (f.length > 0) { writer.writeString( 3, f ); } -}; - - -/** - * optional string address = 1; - * @return {string} - */ -proto.aggregator.SmartWallet.prototype.getAddress = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * @param {string} value - * @return {!proto.aggregator.SmartWallet} returns this - */ -proto.aggregator.SmartWallet.prototype.setAddress = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); -}; - - -/** - * optional string salt = 2; - * @return {string} - */ -proto.aggregator.SmartWallet.prototype.getSalt = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - - -/** - * @param {string} value - * @return {!proto.aggregator.SmartWallet} returns this - */ -proto.aggregator.SmartWallet.prototype.setSalt = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); -}; - - -/** - * optional string factory = 3; - * @return {string} - */ -proto.aggregator.SmartWallet.prototype.getFactory = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); -}; - - -/** - * @param {string} value - * @return {!proto.aggregator.SmartWallet} returns this - */ -proto.aggregator.SmartWallet.prototype.setFactory = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); -}; - - - -/** - * List of repeated fields within this message type. - * @private {!Array} - * @const - */ -proto.aggregator.ListWalletResp.repeatedFields_ = [1]; - - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.aggregator.ListWalletResp.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.ListWalletResp.toObject(opt_includeInstance, this); -}; - - -/** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.aggregator.ListWalletResp} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.aggregator.ListWalletResp.toObject = function(includeInstance, msg) { - var f, obj = { - walletsList: jspb.Message.toObjectList(msg.getWalletsList(), - proto.aggregator.SmartWallet.toObject, includeInstance) - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; + f = message.getStartAt(); + if (f !== 0) { + writer.writeInt64( + 4, + f + ); + } + f = message.getExpiredAt(); + if (f !== 0) { + writer.writeInt64( + 5, + f + ); + } + f = message.getMemo(); + if (f.length > 0) { + writer.writeString( + 6, + f + ); + } + f = message.getCompletedAt(); + if (f !== 0) { + writer.writeInt64( + 7, + f + ); + } + f = message.getMaxExecution(); + if (f !== 0) { + writer.writeInt64( + 8, + f + ); + } + f = message.getTotalExecution(); + if (f !== 0) { + writer.writeInt64( + 9, + f + ); + } + f = message.getLastRanAt(); + if (f !== 0) { + writer.writeInt64( + 10, + f + ); + } + f = message.getStatus(); + if (f !== 0.0) { + writer.writeEnum( + 11, + f + ); + } + f = message.getTrigger(); + if (f != null) { + writer.writeMessage( + 12, + f, + proto.aggregator.TaskTrigger.serializeBinaryToWriter + ); } - return obj; }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.ListWalletResp} + * optional string id = 1; + * @return {string} */ -proto.aggregator.ListWalletResp.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.ListWalletResp; - return proto.aggregator.ListWalletResp.deserializeBinaryFromReader(msg, reader); +proto.aggregator.ListTasksResp.Item.prototype.getId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.aggregator.ListWalletResp} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.ListWalletResp} + * @param {string} value + * @return {!proto.aggregator.ListTasksResp.Item} returns this */ -proto.aggregator.ListWalletResp.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.aggregator.SmartWallet; - reader.readMessage(value,proto.aggregator.SmartWallet.deserializeBinaryFromReader); - msg.addWallets(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.aggregator.ListTasksResp.Item.prototype.setId = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * optional string owner = 2; + * @return {string} */ -proto.aggregator.ListWalletResp.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.aggregator.ListWalletResp.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.aggregator.ListTasksResp.Item.prototype.getOwner = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.ListWalletResp} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {string} value + * @return {!proto.aggregator.ListTasksResp.Item} returns this */ -proto.aggregator.ListWalletResp.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getWalletsList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 1, - f, - proto.aggregator.SmartWallet.serializeBinaryToWriter - ); - } +proto.aggregator.ListTasksResp.Item.prototype.setOwner = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); }; /** - * repeated SmartWallet wallets = 1; - * @return {!Array} + * optional string smart_wallet_address = 3; + * @return {string} */ -proto.aggregator.ListWalletResp.prototype.getWalletsList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.aggregator.SmartWallet, 1)); +proto.aggregator.ListTasksResp.Item.prototype.getSmartWalletAddress = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); }; /** - * @param {!Array} value - * @return {!proto.aggregator.ListWalletResp} returns this -*/ -proto.aggregator.ListWalletResp.prototype.setWalletsList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 1, value); + * @param {string} value + * @return {!proto.aggregator.ListTasksResp.Item} returns this + */ +proto.aggregator.ListTasksResp.Item.prototype.setSmartWalletAddress = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); }; /** - * @param {!proto.aggregator.SmartWallet=} opt_value - * @param {number=} opt_index - * @return {!proto.aggregator.SmartWallet} + * optional int64 start_at = 4; + * @return {number} */ -proto.aggregator.ListWalletResp.prototype.addWallets = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.aggregator.SmartWallet, opt_index); +proto.aggregator.ListTasksResp.Item.prototype.getStartAt = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); }; /** - * Clears the list making it empty but non-null. - * @return {!proto.aggregator.ListWalletResp} returns this + * @param {number} value + * @return {!proto.aggregator.ListTasksResp.Item} returns this */ -proto.aggregator.ListWalletResp.prototype.clearWalletsList = function() { - return this.setWalletsList([]); +proto.aggregator.ListTasksResp.Item.prototype.setStartAt = function(value) { + return jspb.Message.setProto3IntField(this, 4, value); }; +/** + * optional int64 expired_at = 5; + * @return {number} + */ +proto.aggregator.ListTasksResp.Item.prototype.getExpiredAt = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); +}; - -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * @param {number} value + * @return {!proto.aggregator.ListTasksResp.Item} returns this */ -proto.aggregator.ListTasksReq.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.ListTasksReq.toObject(opt_includeInstance, this); +proto.aggregator.ListTasksResp.Item.prototype.setExpiredAt = function(value) { + return jspb.Message.setProto3IntField(this, 5, value); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.aggregator.ListTasksReq} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional string memo = 6; + * @return {string} */ -proto.aggregator.ListTasksReq.toObject = function(includeInstance, msg) { - var f, obj = { - smartWalletAddress: jspb.Message.getFieldWithDefault(msg, 1, "") - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; +proto.aggregator.ListTasksResp.Item.prototype.getMemo = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, "")); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.ListTasksReq} + * @param {string} value + * @return {!proto.aggregator.ListTasksResp.Item} returns this */ -proto.aggregator.ListTasksReq.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.ListTasksReq; - return proto.aggregator.ListTasksReq.deserializeBinaryFromReader(msg, reader); +proto.aggregator.ListTasksResp.Item.prototype.setMemo = function(value) { + return jspb.Message.setProto3StringField(this, 6, value); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.aggregator.ListTasksReq} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.ListTasksReq} + * optional int64 completed_at = 7; + * @return {number} */ -proto.aggregator.ListTasksReq.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {string} */ (reader.readString()); - msg.setSmartWalletAddress(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.aggregator.ListTasksResp.Item.prototype.getCompletedAt = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0)); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * @param {number} value + * @return {!proto.aggregator.ListTasksResp.Item} returns this */ -proto.aggregator.ListTasksReq.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.aggregator.ListTasksReq.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.aggregator.ListTasksResp.Item.prototype.setCompletedAt = function(value) { + return jspb.Message.setProto3IntField(this, 7, value); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.ListTasksReq} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * optional int64 max_execution = 8; + * @return {number} */ -proto.aggregator.ListTasksReq.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getSmartWalletAddress(); - if (f.length > 0) { - writer.writeString( - 1, - f - ); - } +proto.aggregator.ListTasksResp.Item.prototype.getMaxExecution = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0)); }; /** - * optional string smart_wallet_address = 1; - * @return {string} + * @param {number} value + * @return {!proto.aggregator.ListTasksResp.Item} returns this */ -proto.aggregator.ListTasksReq.prototype.getSmartWalletAddress = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.aggregator.ListTasksResp.Item.prototype.setMaxExecution = function(value) { + return jspb.Message.setProto3IntField(this, 8, value); }; /** - * @param {string} value - * @return {!proto.aggregator.ListTasksReq} returns this + * optional int64 total_execution = 9; + * @return {number} */ -proto.aggregator.ListTasksReq.prototype.setSmartWalletAddress = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); +proto.aggregator.ListTasksResp.Item.prototype.getTotalExecution = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0)); }; - /** - * List of repeated fields within this message type. - * @private {!Array} - * @const + * @param {number} value + * @return {!proto.aggregator.ListTasksResp.Item} returns this */ -proto.aggregator.ListTasksResp.repeatedFields_ = [1]; - +proto.aggregator.ListTasksResp.Item.prototype.setTotalExecution = function(value) { + return jspb.Message.setProto3IntField(this, 9, value); +}; -if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} + * optional int64 last_ran_at = 10; + * @return {number} */ -proto.aggregator.ListTasksResp.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.ListTasksResp.toObject(opt_includeInstance, this); +proto.aggregator.ListTasksResp.Item.prototype.getLastRanAt = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0)); }; /** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.aggregator.ListTasksResp} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages + * @param {number} value + * @return {!proto.aggregator.ListTasksResp.Item} returns this */ -proto.aggregator.ListTasksResp.toObject = function(includeInstance, msg) { - var f, obj = { - tasksList: jspb.Message.toObjectList(msg.getTasksList(), - proto.aggregator.Task.toObject, includeInstance) - }; +proto.aggregator.ListTasksResp.Item.prototype.setLastRanAt = function(value) { + return jspb.Message.setProto3IntField(this, 10, value); +}; - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; + +/** + * optional TaskStatus status = 11; + * @return {!proto.aggregator.TaskStatus} + */ +proto.aggregator.ListTasksResp.Item.prototype.getStatus = function() { + return /** @type {!proto.aggregator.TaskStatus} */ (jspb.Message.getFieldWithDefault(this, 11, 0)); }; -} /** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.ListTasksResp} + * @param {!proto.aggregator.TaskStatus} value + * @return {!proto.aggregator.ListTasksResp.Item} returns this */ -proto.aggregator.ListTasksResp.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.ListTasksResp; - return proto.aggregator.ListTasksResp.deserializeBinaryFromReader(msg, reader); +proto.aggregator.ListTasksResp.Item.prototype.setStatus = function(value) { + return jspb.Message.setProto3EnumField(this, 11, value); }; /** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.aggregator.ListTasksResp} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.ListTasksResp} + * optional TaskTrigger trigger = 12; + * @return {?proto.aggregator.TaskTrigger} */ -proto.aggregator.ListTasksResp.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = new proto.aggregator.Task; - reader.readMessage(value,proto.aggregator.Task.deserializeBinaryFromReader); - msg.addTasks(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; +proto.aggregator.ListTasksResp.Item.prototype.getTrigger = function() { + return /** @type{?proto.aggregator.TaskTrigger} */ ( + jspb.Message.getWrapperField(this, proto.aggregator.TaskTrigger, 12)); }; /** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} + * @param {?proto.aggregator.TaskTrigger|undefined} value + * @return {!proto.aggregator.ListTasksResp.Item} returns this +*/ +proto.aggregator.ListTasksResp.Item.prototype.setTrigger = function(value) { + return jspb.Message.setWrapperField(this, 12, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.aggregator.ListTasksResp.Item} returns this */ -proto.aggregator.ListTasksResp.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.aggregator.ListTasksResp.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); +proto.aggregator.ListTasksResp.Item.prototype.clearTrigger = function() { + return this.setTrigger(undefined); }; /** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.ListTasksResp} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages + * Returns whether this field is set. + * @return {boolean} */ -proto.aggregator.ListTasksResp.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getTasksList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 1, - f, - proto.aggregator.Task.serializeBinaryToWriter - ); - } +proto.aggregator.ListTasksResp.Item.prototype.hasTrigger = function() { + return jspb.Message.getField(this, 12) != null; }; /** - * repeated Task tasks = 1; - * @return {!Array} + * repeated Item tasks = 1; + * @return {!Array} */ proto.aggregator.ListTasksResp.prototype.getTasksList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.aggregator.Task, 1)); + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.aggregator.ListTasksResp.Item, 1)); }; /** - * @param {!Array} value + * @param {!Array} value * @return {!proto.aggregator.ListTasksResp} returns this */ proto.aggregator.ListTasksResp.prototype.setTasksList = function(value) { @@ -9352,12 +8378,12 @@ proto.aggregator.ListTasksResp.prototype.setTasksList = function(value) { /** - * @param {!proto.aggregator.Task=} opt_value + * @param {!proto.aggregator.ListTasksResp.Item=} opt_value * @param {number=} opt_index - * @return {!proto.aggregator.Task} + * @return {!proto.aggregator.ListTasksResp.Item} */ proto.aggregator.ListTasksResp.prototype.addTasks = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.aggregator.Task, opt_index); + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.aggregator.ListTasksResp.Item, opt_index); }; @@ -9370,6 +8396,24 @@ proto.aggregator.ListTasksResp.prototype.clearTasksList = function() { }; +/** + * optional string cursor = 2; + * @return {string} + */ +proto.aggregator.ListTasksResp.prototype.getCursor = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.aggregator.ListTasksResp} returns this + */ +proto.aggregator.ListTasksResp.prototype.setCursor = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + @@ -9386,8 +8430,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.aggregator.GetKeyReq.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.GetKeyReq.toObject(opt_includeInstance, this); +proto.aggregator.ListExecutionsReq.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.ListExecutionsReq.toObject(opt_includeInstance, this); }; @@ -9396,15 +8440,15 @@ proto.aggregator.GetKeyReq.prototype.toObject = function(opt_includeInstance) { * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.aggregator.GetKeyReq} msg The msg instance to transform. + * @param {!proto.aggregator.ListExecutionsReq} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.GetKeyReq.toObject = function(includeInstance, msg) { +proto.aggregator.ListExecutionsReq.toObject = function(includeInstance, msg) { var f, obj = { - owner: jspb.Message.getFieldWithDefault(msg, 1, ""), - expiredAt: jspb.Message.getFieldWithDefault(msg, 2, 0), - signature: jspb.Message.getFieldWithDefault(msg, 3, "") + id: jspb.Message.getFieldWithDefault(msg, 1, ""), + cursor: jspb.Message.getFieldWithDefault(msg, 2, ""), + itemPerPage: jspb.Message.getFieldWithDefault(msg, 3, 0) }; if (includeInstance) { @@ -9418,23 +8462,23 @@ proto.aggregator.GetKeyReq.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.GetKeyReq} + * @return {!proto.aggregator.ListExecutionsReq} */ -proto.aggregator.GetKeyReq.deserializeBinary = function(bytes) { +proto.aggregator.ListExecutionsReq.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.GetKeyReq; - return proto.aggregator.GetKeyReq.deserializeBinaryFromReader(msg, reader); + var msg = new proto.aggregator.ListExecutionsReq; + return proto.aggregator.ListExecutionsReq.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.aggregator.GetKeyReq} msg The message object to deserialize into. + * @param {!proto.aggregator.ListExecutionsReq} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.GetKeyReq} + * @return {!proto.aggregator.ListExecutionsReq} */ -proto.aggregator.GetKeyReq.deserializeBinaryFromReader = function(msg, reader) { +proto.aggregator.ListExecutionsReq.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -9443,15 +8487,15 @@ proto.aggregator.GetKeyReq.deserializeBinaryFromReader = function(msg, reader) { switch (field) { case 1: var value = /** @type {string} */ (reader.readString()); - msg.setOwner(value); + msg.setId(value); break; case 2: - var value = /** @type {number} */ (reader.readInt64()); - msg.setExpiredAt(value); + var value = /** @type {string} */ (reader.readString()); + msg.setCursor(value); break; case 3: - var value = /** @type {string} */ (reader.readString()); - msg.setSignature(value); + var value = /** @type {number} */ (reader.readInt64()); + msg.setItemPerPage(value); break; default: reader.skipField(); @@ -9466,9 +8510,9 @@ proto.aggregator.GetKeyReq.deserializeBinaryFromReader = function(msg, reader) { * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.aggregator.GetKeyReq.prototype.serializeBinary = function() { +proto.aggregator.ListExecutionsReq.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.aggregator.GetKeyReq.serializeBinaryToWriter(this, writer); + proto.aggregator.ListExecutionsReq.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -9476,29 +8520,29 @@ proto.aggregator.GetKeyReq.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.GetKeyReq} message + * @param {!proto.aggregator.ListExecutionsReq} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.GetKeyReq.serializeBinaryToWriter = function(message, writer) { +proto.aggregator.ListExecutionsReq.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getOwner(); + f = message.getId(); if (f.length > 0) { writer.writeString( 1, f ); } - f = message.getExpiredAt(); - if (f !== 0) { - writer.writeInt64( + f = message.getCursor(); + if (f.length > 0) { + writer.writeString( 2, f ); } - f = message.getSignature(); - if (f.length > 0) { - writer.writeString( + f = message.getItemPerPage(); + if (f !== 0) { + writer.writeInt64( 3, f ); @@ -9507,60 +8551,67 @@ proto.aggregator.GetKeyReq.serializeBinaryToWriter = function(message, writer) { /** - * optional string owner = 1; + * optional string id = 1; * @return {string} */ -proto.aggregator.GetKeyReq.prototype.getOwner = function() { +proto.aggregator.ListExecutionsReq.prototype.getId = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.aggregator.GetKeyReq} returns this + * @return {!proto.aggregator.ListExecutionsReq} returns this */ -proto.aggregator.GetKeyReq.prototype.setOwner = function(value) { +proto.aggregator.ListExecutionsReq.prototype.setId = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; /** - * optional int64 expired_at = 2; - * @return {number} + * optional string cursor = 2; + * @return {string} */ -proto.aggregator.GetKeyReq.prototype.getExpiredAt = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +proto.aggregator.ListExecutionsReq.prototype.getCursor = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** - * @param {number} value - * @return {!proto.aggregator.GetKeyReq} returns this + * @param {string} value + * @return {!proto.aggregator.ListExecutionsReq} returns this */ -proto.aggregator.GetKeyReq.prototype.setExpiredAt = function(value) { - return jspb.Message.setProto3IntField(this, 2, value); +proto.aggregator.ListExecutionsReq.prototype.setCursor = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); }; /** - * optional string signature = 3; - * @return {string} + * optional int64 item_per_page = 3; + * @return {number} */ -proto.aggregator.GetKeyReq.prototype.getSignature = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +proto.aggregator.ListExecutionsReq.prototype.getItemPerPage = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); }; /** - * @param {string} value - * @return {!proto.aggregator.GetKeyReq} returns this + * @param {number} value + * @return {!proto.aggregator.ListExecutionsReq} returns this */ -proto.aggregator.GetKeyReq.prototype.setSignature = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); +proto.aggregator.ListExecutionsReq.prototype.setItemPerPage = function(value) { + return jspb.Message.setProto3IntField(this, 3, value); }; +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.aggregator.ListExecutionsResp.repeatedFields_ = [1]; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -9576,8 +8627,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.aggregator.KeyResp.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.KeyResp.toObject(opt_includeInstance, this); +proto.aggregator.ListExecutionsResp.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.ListExecutionsResp.toObject(opt_includeInstance, this); }; @@ -9586,13 +8637,15 @@ proto.aggregator.KeyResp.prototype.toObject = function(opt_includeInstance) { * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.aggregator.KeyResp} msg The msg instance to transform. + * @param {!proto.aggregator.ListExecutionsResp} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.KeyResp.toObject = function(includeInstance, msg) { +proto.aggregator.ListExecutionsResp.toObject = function(includeInstance, msg) { var f, obj = { - key: jspb.Message.getFieldWithDefault(msg, 1, "") + executionsList: jspb.Message.toObjectList(msg.getExecutionsList(), + proto.aggregator.Execution.toObject, includeInstance), + cursor: jspb.Message.getFieldWithDefault(msg, 2, "") }; if (includeInstance) { @@ -9606,23 +8659,23 @@ proto.aggregator.KeyResp.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.KeyResp} + * @return {!proto.aggregator.ListExecutionsResp} */ -proto.aggregator.KeyResp.deserializeBinary = function(bytes) { +proto.aggregator.ListExecutionsResp.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.KeyResp; - return proto.aggregator.KeyResp.deserializeBinaryFromReader(msg, reader); + var msg = new proto.aggregator.ListExecutionsResp; + return proto.aggregator.ListExecutionsResp.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.aggregator.KeyResp} msg The message object to deserialize into. + * @param {!proto.aggregator.ListExecutionsResp} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.KeyResp} + * @return {!proto.aggregator.ListExecutionsResp} */ -proto.aggregator.KeyResp.deserializeBinaryFromReader = function(msg, reader) { +proto.aggregator.ListExecutionsResp.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -9630,8 +8683,13 @@ proto.aggregator.KeyResp.deserializeBinaryFromReader = function(msg, reader) { var field = reader.getFieldNumber(); switch (field) { case 1: + var value = new proto.aggregator.Execution; + reader.readMessage(value,proto.aggregator.Execution.deserializeBinaryFromReader); + msg.addExecutions(value); + break; + case 2: var value = /** @type {string} */ (reader.readString()); - msg.setKey(value); + msg.setCursor(value); break; default: reader.skipField(); @@ -9646,9 +8704,9 @@ proto.aggregator.KeyResp.deserializeBinaryFromReader = function(msg, reader) { * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.aggregator.KeyResp.prototype.serializeBinary = function() { +proto.aggregator.ListExecutionsResp.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.aggregator.KeyResp.serializeBinaryToWriter(this, writer); + proto.aggregator.ListExecutionsResp.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -9656,16 +8714,24 @@ proto.aggregator.KeyResp.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.KeyResp} message + * @param {!proto.aggregator.ListExecutionsResp} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.KeyResp.serializeBinaryToWriter = function(message, writer) { +proto.aggregator.ListExecutionsResp.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getKey(); + f = message.getExecutionsList(); if (f.length > 0) { - writer.writeString( + writer.writeRepeatedMessage( 1, + f, + proto.aggregator.Execution.serializeBinaryToWriter + ); + } + f = message.getCursor(); + if (f.length > 0) { + writer.writeString( + 2, f ); } @@ -9673,20 +8739,58 @@ proto.aggregator.KeyResp.serializeBinaryToWriter = function(message, writer) { /** - * optional string key = 1; + * repeated Execution executions = 1; + * @return {!Array} + */ +proto.aggregator.ListExecutionsResp.prototype.getExecutionsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.aggregator.Execution, 1)); +}; + + +/** + * @param {!Array} value + * @return {!proto.aggregator.ListExecutionsResp} returns this +*/ +proto.aggregator.ListExecutionsResp.prototype.setExecutionsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.aggregator.Execution=} opt_value + * @param {number=} opt_index + * @return {!proto.aggregator.Execution} + */ +proto.aggregator.ListExecutionsResp.prototype.addExecutions = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.aggregator.Execution, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.aggregator.ListExecutionsResp} returns this + */ +proto.aggregator.ListExecutionsResp.prototype.clearExecutionsList = function() { + return this.setExecutionsList([]); +}; + + +/** + * optional string cursor = 2; * @return {string} */ -proto.aggregator.KeyResp.prototype.getKey = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +proto.aggregator.ListExecutionsResp.prototype.getCursor = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** * @param {string} value - * @return {!proto.aggregator.KeyResp} returns this + * @return {!proto.aggregator.ListExecutionsResp} returns this */ -proto.aggregator.KeyResp.prototype.setKey = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); +proto.aggregator.ListExecutionsResp.prototype.setCursor = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); }; @@ -9706,8 +8810,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.aggregator.TriggerMark.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.TriggerMark.toObject(opt_includeInstance, this); +proto.aggregator.GetKeyReq.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.GetKeyReq.toObject(opt_includeInstance, this); }; @@ -9716,15 +8820,15 @@ proto.aggregator.TriggerMark.prototype.toObject = function(opt_includeInstance) * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.aggregator.TriggerMark} msg The msg instance to transform. + * @param {!proto.aggregator.GetKeyReq} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.TriggerMark.toObject = function(includeInstance, msg) { +proto.aggregator.GetKeyReq.toObject = function(includeInstance, msg) { var f, obj = { - blockNumber: jspb.Message.getFieldWithDefault(msg, 1, 0), - logIndex: jspb.Message.getFieldWithDefault(msg, 2, 0), - txHash: jspb.Message.getFieldWithDefault(msg, 3, "") + owner: jspb.Message.getFieldWithDefault(msg, 1, ""), + expiredAt: jspb.Message.getFieldWithDefault(msg, 2, 0), + signature: jspb.Message.getFieldWithDefault(msg, 3, "") }; if (includeInstance) { @@ -9738,23 +8842,23 @@ proto.aggregator.TriggerMark.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.TriggerMark} + * @return {!proto.aggregator.GetKeyReq} */ -proto.aggregator.TriggerMark.deserializeBinary = function(bytes) { +proto.aggregator.GetKeyReq.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.TriggerMark; - return proto.aggregator.TriggerMark.deserializeBinaryFromReader(msg, reader); + var msg = new proto.aggregator.GetKeyReq; + return proto.aggregator.GetKeyReq.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.aggregator.TriggerMark} msg The message object to deserialize into. + * @param {!proto.aggregator.GetKeyReq} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.TriggerMark} + * @return {!proto.aggregator.GetKeyReq} */ -proto.aggregator.TriggerMark.deserializeBinaryFromReader = function(msg, reader) { +proto.aggregator.GetKeyReq.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -9762,16 +8866,16 @@ proto.aggregator.TriggerMark.deserializeBinaryFromReader = function(msg, reader) var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {number} */ (reader.readUint64()); - msg.setBlockNumber(value); + var value = /** @type {string} */ (reader.readString()); + msg.setOwner(value); break; case 2: - var value = /** @type {number} */ (reader.readUint64()); - msg.setLogIndex(value); + var value = /** @type {number} */ (reader.readInt64()); + msg.setExpiredAt(value); break; case 3: var value = /** @type {string} */ (reader.readString()); - msg.setTxHash(value); + msg.setSignature(value); break; default: reader.skipField(); @@ -9786,9 +8890,9 @@ proto.aggregator.TriggerMark.deserializeBinaryFromReader = function(msg, reader) * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.aggregator.TriggerMark.prototype.serializeBinary = function() { +proto.aggregator.GetKeyReq.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.aggregator.TriggerMark.serializeBinaryToWriter(this, writer); + proto.aggregator.GetKeyReq.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -9796,27 +8900,27 @@ proto.aggregator.TriggerMark.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.TriggerMark} message + * @param {!proto.aggregator.GetKeyReq} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.TriggerMark.serializeBinaryToWriter = function(message, writer) { +proto.aggregator.GetKeyReq.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getBlockNumber(); - if (f !== 0) { - writer.writeUint64( + f = message.getOwner(); + if (f.length > 0) { + writer.writeString( 1, f ); } - f = message.getLogIndex(); + f = message.getExpiredAt(); if (f !== 0) { - writer.writeUint64( + writer.writeInt64( 2, f ); } - f = message.getTxHash(); + f = message.getSignature(); if (f.length > 0) { writer.writeString( 3, @@ -9827,55 +8931,55 @@ proto.aggregator.TriggerMark.serializeBinaryToWriter = function(message, writer) /** - * optional uint64 block_number = 1; - * @return {number} + * optional string owner = 1; + * @return {string} */ -proto.aggregator.TriggerMark.prototype.getBlockNumber = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +proto.aggregator.GetKeyReq.prototype.getOwner = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** - * @param {number} value - * @return {!proto.aggregator.TriggerMark} returns this + * @param {string} value + * @return {!proto.aggregator.GetKeyReq} returns this */ -proto.aggregator.TriggerMark.prototype.setBlockNumber = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); +proto.aggregator.GetKeyReq.prototype.setOwner = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); }; /** - * optional uint64 log_index = 2; + * optional int64 expired_at = 2; * @return {number} */ -proto.aggregator.TriggerMark.prototype.getLogIndex = function() { +proto.aggregator.GetKeyReq.prototype.getExpiredAt = function() { return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); }; /** * @param {number} value - * @return {!proto.aggregator.TriggerMark} returns this + * @return {!proto.aggregator.GetKeyReq} returns this */ -proto.aggregator.TriggerMark.prototype.setLogIndex = function(value) { +proto.aggregator.GetKeyReq.prototype.setExpiredAt = function(value) { return jspb.Message.setProto3IntField(this, 2, value); }; /** - * optional string tx_hash = 3; + * optional string signature = 3; * @return {string} */ -proto.aggregator.TriggerMark.prototype.getTxHash = function() { +proto.aggregator.GetKeyReq.prototype.getSignature = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); }; /** * @param {string} value - * @return {!proto.aggregator.TriggerMark} returns this + * @return {!proto.aggregator.GetKeyReq} returns this */ -proto.aggregator.TriggerMark.prototype.setTxHash = function(value) { +proto.aggregator.GetKeyReq.prototype.setSignature = function(value) { return jspb.Message.setProto3StringField(this, 3, value); }; @@ -9896,8 +9000,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.aggregator.NotifyTriggersReq.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.NotifyTriggersReq.toObject(opt_includeInstance, this); +proto.aggregator.KeyResp.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.KeyResp.toObject(opt_includeInstance, this); }; @@ -9906,16 +9010,13 @@ proto.aggregator.NotifyTriggersReq.prototype.toObject = function(opt_includeInst * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.aggregator.NotifyTriggersReq} msg The msg instance to transform. + * @param {!proto.aggregator.KeyResp} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.NotifyTriggersReq.toObject = function(includeInstance, msg) { +proto.aggregator.KeyResp.toObject = function(includeInstance, msg) { var f, obj = { - address: jspb.Message.getFieldWithDefault(msg, 1, ""), - signature: jspb.Message.getFieldWithDefault(msg, 2, ""), - taskId: jspb.Message.getFieldWithDefault(msg, 3, ""), - triggerMarker: (f = msg.getTriggerMarker()) && proto.aggregator.TriggerMark.toObject(includeInstance, f) + key: jspb.Message.getFieldWithDefault(msg, 1, "") }; if (includeInstance) { @@ -9929,23 +9030,23 @@ proto.aggregator.NotifyTriggersReq.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.NotifyTriggersReq} + * @return {!proto.aggregator.KeyResp} */ -proto.aggregator.NotifyTriggersReq.deserializeBinary = function(bytes) { +proto.aggregator.KeyResp.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.NotifyTriggersReq; - return proto.aggregator.NotifyTriggersReq.deserializeBinaryFromReader(msg, reader); + var msg = new proto.aggregator.KeyResp; + return proto.aggregator.KeyResp.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.aggregator.NotifyTriggersReq} msg The message object to deserialize into. + * @param {!proto.aggregator.KeyResp} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.NotifyTriggersReq} + * @return {!proto.aggregator.KeyResp} */ -proto.aggregator.NotifyTriggersReq.deserializeBinaryFromReader = function(msg, reader) { +proto.aggregator.KeyResp.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -9954,20 +9055,7 @@ proto.aggregator.NotifyTriggersReq.deserializeBinaryFromReader = function(msg, r switch (field) { case 1: var value = /** @type {string} */ (reader.readString()); - msg.setAddress(value); - break; - case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setSignature(value); - break; - case 3: - var value = /** @type {string} */ (reader.readString()); - msg.setTaskId(value); - break; - case 4: - var value = new proto.aggregator.TriggerMark; - reader.readMessage(value,proto.aggregator.TriggerMark.deserializeBinaryFromReader); - msg.setTriggerMarker(value); + msg.setKey(value); break; default: reader.skipField(); @@ -9982,9 +9070,9 @@ proto.aggregator.NotifyTriggersReq.deserializeBinaryFromReader = function(msg, r * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.aggregator.NotifyTriggersReq.prototype.serializeBinary = function() { +proto.aggregator.KeyResp.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.aggregator.NotifyTriggersReq.serializeBinaryToWriter(this, writer); + proto.aggregator.KeyResp.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -9992,135 +9080,40 @@ proto.aggregator.NotifyTriggersReq.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.NotifyTriggersReq} message + * @param {!proto.aggregator.KeyResp} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.NotifyTriggersReq.serializeBinaryToWriter = function(message, writer) { +proto.aggregator.KeyResp.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getAddress(); + f = message.getKey(); if (f.length > 0) { writer.writeString( 1, f ); } - f = message.getSignature(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } - f = message.getTaskId(); - if (f.length > 0) { - writer.writeString( - 3, - f - ); - } - f = message.getTriggerMarker(); - if (f != null) { - writer.writeMessage( - 4, - f, - proto.aggregator.TriggerMark.serializeBinaryToWriter - ); - } }; /** - * optional string address = 1; + * optional string key = 1; * @return {string} */ -proto.aggregator.NotifyTriggersReq.prototype.getAddress = function() { +proto.aggregator.KeyResp.prototype.getKey = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.aggregator.NotifyTriggersReq} returns this + * @return {!proto.aggregator.KeyResp} returns this */ -proto.aggregator.NotifyTriggersReq.prototype.setAddress = function(value) { +proto.aggregator.KeyResp.prototype.setKey = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; -/** - * optional string signature = 2; - * @return {string} - */ -proto.aggregator.NotifyTriggersReq.prototype.getSignature = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - - -/** - * @param {string} value - * @return {!proto.aggregator.NotifyTriggersReq} returns this - */ -proto.aggregator.NotifyTriggersReq.prototype.setSignature = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); -}; - - -/** - * optional string task_id = 3; - * @return {string} - */ -proto.aggregator.NotifyTriggersReq.prototype.getTaskId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); -}; - - -/** - * @param {string} value - * @return {!proto.aggregator.NotifyTriggersReq} returns this - */ -proto.aggregator.NotifyTriggersReq.prototype.setTaskId = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); -}; - - -/** - * optional TriggerMark trigger_marker = 4; - * @return {?proto.aggregator.TriggerMark} - */ -proto.aggregator.NotifyTriggersReq.prototype.getTriggerMarker = function() { - return /** @type{?proto.aggregator.TriggerMark} */ ( - jspb.Message.getWrapperField(this, proto.aggregator.TriggerMark, 4)); -}; - - -/** - * @param {?proto.aggregator.TriggerMark|undefined} value - * @return {!proto.aggregator.NotifyTriggersReq} returns this -*/ -proto.aggregator.NotifyTriggersReq.prototype.setTriggerMarker = function(value) { - return jspb.Message.setWrapperField(this, 4, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.aggregator.NotifyTriggersReq} returns this - */ -proto.aggregator.NotifyTriggersReq.prototype.clearTriggerMarker = function() { - return this.setTriggerMarker(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.aggregator.NotifyTriggersReq.prototype.hasTriggerMarker = function() { - return jspb.Message.getField(this, 4) != null; -}; - - @@ -10137,8 +9130,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.aggregator.NotifyTriggersResp.prototype.toObject = function(opt_includeInstance) { - return proto.aggregator.NotifyTriggersResp.toObject(opt_includeInstance, this); +proto.aggregator.TriggerMark.prototype.toObject = function(opt_includeInstance) { + return proto.aggregator.TriggerMark.toObject(opt_includeInstance, this); }; @@ -10147,13 +9140,15 @@ proto.aggregator.NotifyTriggersResp.prototype.toObject = function(opt_includeIns * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.aggregator.NotifyTriggersResp} msg The msg instance to transform. + * @param {!proto.aggregator.TriggerMark} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.NotifyTriggersResp.toObject = function(includeInstance, msg) { +proto.aggregator.TriggerMark.toObject = function(includeInstance, msg) { var f, obj = { - updatedAt: (f = msg.getUpdatedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f) + blockNumber: jspb.Message.getFieldWithDefault(msg, 1, 0), + logIndex: jspb.Message.getFieldWithDefault(msg, 2, 0), + txHash: jspb.Message.getFieldWithDefault(msg, 3, "") }; if (includeInstance) { @@ -10167,23 +9162,23 @@ proto.aggregator.NotifyTriggersResp.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.aggregator.NotifyTriggersResp} + * @return {!proto.aggregator.TriggerMark} */ -proto.aggregator.NotifyTriggersResp.deserializeBinary = function(bytes) { +proto.aggregator.TriggerMark.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.aggregator.NotifyTriggersResp; - return proto.aggregator.NotifyTriggersResp.deserializeBinaryFromReader(msg, reader); + var msg = new proto.aggregator.TriggerMark; + return proto.aggregator.TriggerMark.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.aggregator.NotifyTriggersResp} msg The message object to deserialize into. + * @param {!proto.aggregator.TriggerMark} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.aggregator.NotifyTriggersResp} + * @return {!proto.aggregator.TriggerMark} */ -proto.aggregator.NotifyTriggersResp.deserializeBinaryFromReader = function(msg, reader) { +proto.aggregator.TriggerMark.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -10191,9 +9186,16 @@ proto.aggregator.NotifyTriggersResp.deserializeBinaryFromReader = function(msg, var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new google_protobuf_timestamp_pb.Timestamp; - reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader); - msg.setUpdatedAt(value); + var value = /** @type {number} */ (reader.readUint64()); + msg.setBlockNumber(value); + break; + case 2: + var value = /** @type {number} */ (reader.readUint64()); + msg.setLogIndex(value); + break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.setTxHash(value); break; default: reader.skipField(); @@ -10208,9 +9210,9 @@ proto.aggregator.NotifyTriggersResp.deserializeBinaryFromReader = function(msg, * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.aggregator.NotifyTriggersResp.prototype.serializeBinary = function() { +proto.aggregator.TriggerMark.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.aggregator.NotifyTriggersResp.serializeBinaryToWriter(this, writer); + proto.aggregator.TriggerMark.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -10218,57 +9220,87 @@ proto.aggregator.NotifyTriggersResp.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.aggregator.NotifyTriggersResp} message + * @param {!proto.aggregator.TriggerMark} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.aggregator.NotifyTriggersResp.serializeBinaryToWriter = function(message, writer) { +proto.aggregator.TriggerMark.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getUpdatedAt(); - if (f != null) { - writer.writeMessage( + f = message.getBlockNumber(); + if (f !== 0) { + writer.writeUint64( 1, - f, - google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter + f + ); + } + f = message.getLogIndex(); + if (f !== 0) { + writer.writeUint64( + 2, + f + ); + } + f = message.getTxHash(); + if (f.length > 0) { + writer.writeString( + 3, + f ); } }; /** - * optional google.protobuf.Timestamp updated_at = 1; - * @return {?proto.google.protobuf.Timestamp} + * optional uint64 block_number = 1; + * @return {number} */ -proto.aggregator.NotifyTriggersResp.prototype.getUpdatedAt = function() { - return /** @type{?proto.google.protobuf.Timestamp} */ ( - jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 1)); +proto.aggregator.TriggerMark.prototype.getBlockNumber = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * @param {?proto.google.protobuf.Timestamp|undefined} value - * @return {!proto.aggregator.NotifyTriggersResp} returns this -*/ -proto.aggregator.NotifyTriggersResp.prototype.setUpdatedAt = function(value) { - return jspb.Message.setWrapperField(this, 1, value); + * @param {number} value + * @return {!proto.aggregator.TriggerMark} returns this + */ +proto.aggregator.TriggerMark.prototype.setBlockNumber = function(value) { + return jspb.Message.setProto3IntField(this, 1, value); }; /** - * Clears the message field making it undefined. - * @return {!proto.aggregator.NotifyTriggersResp} returns this + * optional uint64 log_index = 2; + * @return {number} */ -proto.aggregator.NotifyTriggersResp.prototype.clearUpdatedAt = function() { - return this.setUpdatedAt(undefined); +proto.aggregator.TriggerMark.prototype.getLogIndex = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); }; /** - * Returns whether this field is set. - * @return {boolean} + * @param {number} value + * @return {!proto.aggregator.TriggerMark} returns this */ -proto.aggregator.NotifyTriggersResp.prototype.hasUpdatedAt = function() { - return jspb.Message.getField(this, 1) != null; +proto.aggregator.TriggerMark.prototype.setLogIndex = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); +}; + + +/** + * optional string tx_hash = 3; + * @return {string} + */ +proto.aggregator.TriggerMark.prototype.getTxHash = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * @param {string} value + * @return {!proto.aggregator.TriggerMark} returns this + */ +proto.aggregator.TriggerMark.prototype.setTxHash = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); }; @@ -10622,17 +9654,6 @@ proto.aggregator.CreateWalletResp.prototype.setFactoryAddress = function(value) }; -/** - * @enum {number} - */ -proto.aggregator.MessageOp = { - UNSET: 0, - MONITORTASKTRIGGER: 1, - CANCELTASK: 2, - DELETETASK: 3, - COMPLETEDTASK: 4 -}; - /** * @enum {number} */ diff --git a/go.mod b/go.mod index 8dfcd2a..f543f2b 100644 --- a/go.mod +++ b/go.mod @@ -16,7 +16,7 @@ require ( github.com/golang-jwt/jwt/v5 v5.2.1 github.com/k0kubun/pp/v3 v3.4.1 github.com/labstack/echo/v4 v4.12.0 - github.com/oklog/ulid/v2 v2.1.0 + github.com/oklog/ulid/v2 v2.1.1-0.20240413180941-96c4edf226ef github.com/prometheus/client_golang v1.20.5 github.com/spf13/cobra v1.8.0 github.com/stackup-wallet/stackup-bundler v0.6.47 diff --git a/go.sum b/go.sum index 55469ef..af22225 100644 --- a/go.sum +++ b/go.sum @@ -226,6 +226,8 @@ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/oklog/ulid/v2 v2.1.0 h1:+9lhoxAP56we25tyYETBBY1YLA2SaoLvUFgrP2miPJU= github.com/oklog/ulid/v2 v2.1.0/go.mod h1:rcEKHmBBKfef9DhnvX7y1HZBYxjXb0cP5ExxNsTT1QQ= +github.com/oklog/ulid/v2 v2.1.1-0.20240413180941-96c4edf226ef h1:fTvJQVcavp+1X0mLkH3mfIi8tkjpgpPc3s8NYfT60aQ= +github.com/oklog/ulid/v2 v2.1.1-0.20240413180941-96c4edf226ef/go.mod h1:rcEKHmBBKfef9DhnvX7y1HZBYxjXb0cP5ExxNsTT1QQ= 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/pborman/getopt v0.0.0-20170112200414-7148bc3a4c30/go.mod h1:85jBQOZwpVEaDAr341tbn15RS4fCAsIst0qp7i8ex1o= diff --git a/model/task.go b/model/task.go index db57fe6..d1e188d 100644 --- a/model/task.go +++ b/model/task.go @@ -1,6 +1,8 @@ package model import ( + "strings" + "google.golang.org/protobuf/encoding/protojson" "fmt" @@ -64,8 +66,8 @@ func NewTaskFromProtobuf(user *User, body *avsproto.CreateTaskReq) (*Task, error StartAt: body.StartAt, // initial state for task - Status: avsproto.TaskStatus_Active, - Executions: []*avsproto.Execution{}, + Status: avsproto.TaskStatus_Active, + //Executions: []*avsproto.Execution{}, }, } @@ -122,21 +124,9 @@ func (t *Task) SetCanceled() { t.CompletedAt = time.Now().Unix() } -func (t *Task) AppendExecution(epoch int64, triggerMark *avsproto.TriggerMark, steps []*avsproto.Execution_Step, runError error) { - exc := &avsproto.Execution{ - Epoch: epoch, - Success: true, - Error: "", - Steps: steps, - TriggerMark: triggerMark, - } - - if runError != nil { - exc.Success = false - exc.Error = runError.Error() - } - - t.Executions = append(t.Executions, exc) +// Check whether the task own by the given address +func (t *Task) OwnedBy(address common.Address) bool { + return strings.EqualFold(t.Owner, address.Hex()) } // Given a task key generated from Key(), extract the ID part @@ -145,3 +135,7 @@ func TaskKeyToId(key []byte) []byte { // the first 43 bytes is owner address return key[86:] } + +func UlidFromTaskId(taskID string) ulid.ULID { + return ulid.MustParse(taskID) +} diff --git a/protobuf/avs.pb.go b/protobuf/avs.pb.go index c99dc5d..6fa5394 100644 --- a/protobuf/avs.pb.go +++ b/protobuf/avs.pb.go @@ -9,7 +9,6 @@ package avsproto import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - timestamppb "google.golang.org/protobuf/types/known/timestamppb" wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" reflect "reflect" sync "sync" @@ -22,61 +21,6 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -type MessageOp int32 - -const ( - MessageOp_Unset MessageOp = 0 - MessageOp_MonitorTaskTrigger MessageOp = 1 - MessageOp_CancelTask MessageOp = 2 - MessageOp_DeleteTask MessageOp = 3 - MessageOp_CompletedTask MessageOp = 4 -) - -// Enum value maps for MessageOp. -var ( - MessageOp_name = map[int32]string{ - 0: "Unset", - 1: "MonitorTaskTrigger", - 2: "CancelTask", - 3: "DeleteTask", - 4: "CompletedTask", - } - MessageOp_value = map[string]int32{ - "Unset": 0, - "MonitorTaskTrigger": 1, - "CancelTask": 2, - "DeleteTask": 3, - "CompletedTask": 4, - } -) - -func (x MessageOp) Enum() *MessageOp { - p := new(MessageOp) - *p = x - return p -} - -func (x MessageOp) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (MessageOp) Descriptor() protoreflect.EnumDescriptor { - return file_protobuf_avs_proto_enumTypes[0].Descriptor() -} - -func (MessageOp) Type() protoreflect.EnumType { - return &file_protobuf_avs_proto_enumTypes[0] -} - -func (x MessageOp) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use MessageOp.Descriptor instead. -func (MessageOp) EnumDescriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{0} -} - // gRPC internal error code use up to 17, we extend and start from 1000 to avoid any conflict // Guide: https://grpc.io/docs/guides/error/ // Go: https://github.com/grpc/grpc-go/blob/master/codes/codes.go#L199 @@ -133,11 +77,11 @@ func (x Error) String() string { } func (Error) Descriptor() protoreflect.EnumDescriptor { - return file_protobuf_avs_proto_enumTypes[1].Descriptor() + return file_protobuf_avs_proto_enumTypes[0].Descriptor() } func (Error) Type() protoreflect.EnumType { - return &file_protobuf_avs_proto_enumTypes[1] + return &file_protobuf_avs_proto_enumTypes[0] } func (x Error) Number() protoreflect.EnumNumber { @@ -146,7 +90,7 @@ func (x Error) Number() protoreflect.EnumNumber { // Deprecated: Use Error.Descriptor instead. func (Error) EnumDescriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{1} + return file_protobuf_avs_proto_rawDescGZIP(), []int{0} } // TaskStatus represents status of the task. The transition is as follow @@ -189,11 +133,11 @@ func (x TaskStatus) String() string { } func (TaskStatus) Descriptor() protoreflect.EnumDescriptor { - return file_protobuf_avs_proto_enumTypes[2].Descriptor() + return file_protobuf_avs_proto_enumTypes[1].Descriptor() } func (TaskStatus) Type() protoreflect.EnumType { - return &file_protobuf_avs_proto_enumTypes[2] + return &file_protobuf_avs_proto_enumTypes[1] } func (x TaskStatus) Number() protoreflect.EnumNumber { @@ -202,7 +146,7 @@ func (x TaskStatus) Number() protoreflect.EnumNumber { // Deprecated: Use TaskStatus.Descriptor instead. func (TaskStatus) EnumDescriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{2} + return file_protobuf_avs_proto_rawDescGZIP(), []int{1} } type CustomCodeLang int32 @@ -232,11 +176,11 @@ func (x CustomCodeLang) String() string { } func (CustomCodeLang) Descriptor() protoreflect.EnumDescriptor { - return file_protobuf_avs_proto_enumTypes[3].Descriptor() + return file_protobuf_avs_proto_enumTypes[2].Descriptor() } func (CustomCodeLang) Type() protoreflect.EnumType { - return &file_protobuf_avs_proto_enumTypes[3] + return &file_protobuf_avs_proto_enumTypes[2] } func (x CustomCodeLang) Number() protoreflect.EnumNumber { @@ -245,7 +189,7 @@ func (x CustomCodeLang) Number() protoreflect.EnumNumber { // Deprecated: Use CustomCodeLang.Descriptor instead. func (CustomCodeLang) EnumDescriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{3} + return file_protobuf_avs_proto_rawDescGZIP(), []int{2} } type IdReq struct { @@ -295,330 +239,6 @@ func (x *IdReq) GetId() string { return "" } -type Checkin struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` - Signature string `protobuf:"bytes,3,opt,name=signature,proto3" json:"signature,omitempty"` - Status *Checkin_Status `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` - Version string `protobuf:"bytes,5,opt,name=version,proto3" json:"version,omitempty"` - MetricsPort int32 `protobuf:"varint,6,opt,name=metricsPort,proto3" json:"metricsPort,omitempty"` - RemoteIP string `protobuf:"bytes,7,opt,name=remoteIP,proto3" json:"remoteIP,omitempty"` -} - -func (x *Checkin) Reset() { - *x = Checkin{} - if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Checkin) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Checkin) ProtoMessage() {} - -func (x *Checkin) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Checkin.ProtoReflect.Descriptor instead. -func (*Checkin) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{1} -} - -func (x *Checkin) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *Checkin) GetAddress() string { - if x != nil { - return x.Address - } - return "" -} - -func (x *Checkin) GetSignature() string { - if x != nil { - return x.Signature - } - return "" -} - -func (x *Checkin) GetStatus() *Checkin_Status { - if x != nil { - return x.Status - } - return nil -} - -func (x *Checkin) GetVersion() string { - if x != nil { - return x.Version - } - return "" -} - -func (x *Checkin) GetMetricsPort() int32 { - if x != nil { - return x.MetricsPort - } - return 0 -} - -func (x *Checkin) GetRemoteIP() string { - if x != nil { - return x.RemoteIP - } - return "" -} - -type CheckinResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` -} - -func (x *CheckinResp) Reset() { - *x = CheckinResp{} - if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CheckinResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CheckinResp) ProtoMessage() {} - -func (x *CheckinResp) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CheckinResp.ProtoReflect.Descriptor instead. -func (*CheckinResp) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{2} -} - -func (x *CheckinResp) GetUpdatedAt() *timestamppb.Timestamp { - if x != nil { - return x.UpdatedAt - } - return nil -} - -type SyncMessagesReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` - Signature []byte `protobuf:"bytes,3,opt,name=signature,proto3" json:"signature,omitempty"` - MonotonicClock int64 `protobuf:"varint,4,opt,name=monotonic_clock,json=monotonicClock,proto3" json:"monotonic_clock,omitempty"` -} - -func (x *SyncMessagesReq) Reset() { - *x = SyncMessagesReq{} - if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SyncMessagesReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SyncMessagesReq) ProtoMessage() {} - -func (x *SyncMessagesReq) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SyncMessagesReq.ProtoReflect.Descriptor instead. -func (*SyncMessagesReq) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{3} -} - -func (x *SyncMessagesReq) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *SyncMessagesReq) GetAddress() string { - if x != nil { - return x.Address - } - return "" -} - -func (x *SyncMessagesReq) GetSignature() []byte { - if x != nil { - return x.Signature - } - return nil -} - -func (x *SyncMessagesReq) GetMonotonicClock() int64 { - if x != nil { - return x.MonotonicClock - } - return 0 -} - -type SyncMessagesResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // message id is used to support dedup - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Op MessageOp `protobuf:"varint,2,opt,name=op,proto3,enum=aggregator.MessageOp" json:"op,omitempty"` - TaskMetadata *SyncMessagesResp_TaskMetadata `protobuf:"bytes,3,opt,name=task_metadata,json=taskMetadata,proto3" json:"task_metadata,omitempty"` -} - -func (x *SyncMessagesResp) Reset() { - *x = SyncMessagesResp{} - if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SyncMessagesResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SyncMessagesResp) ProtoMessage() {} - -func (x *SyncMessagesResp) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SyncMessagesResp.ProtoReflect.Descriptor instead. -func (*SyncMessagesResp) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{4} -} - -func (x *SyncMessagesResp) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *SyncMessagesResp) GetOp() MessageOp { - if x != nil { - return x.Op - } - return MessageOp_Unset -} - -func (x *SyncMessagesResp) GetTaskMetadata() *SyncMessagesResp_TaskMetadata { - if x != nil { - return x.TaskMetadata - } - return nil -} - -type AckMessageReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` -} - -func (x *AckMessageReq) Reset() { - *x = AckMessageReq{} - if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AckMessageReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AckMessageReq) ProtoMessage() {} - -func (x *AckMessageReq) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AckMessageReq.ProtoReflect.Descriptor instead. -func (*AckMessageReq) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{5} -} - -func (x *AckMessageReq) GetId() string { - if x != nil { - return x.Id - } - return "" -} - type FixedEpochCondition struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -630,7 +250,7 @@ type FixedEpochCondition struct { func (x *FixedEpochCondition) Reset() { *x = FixedEpochCondition{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[6] + mi := &file_protobuf_avs_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -643,7 +263,7 @@ func (x *FixedEpochCondition) String() string { func (*FixedEpochCondition) ProtoMessage() {} func (x *FixedEpochCondition) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[6] + mi := &file_protobuf_avs_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -656,7 +276,7 @@ func (x *FixedEpochCondition) ProtoReflect() protoreflect.Message { // Deprecated: Use FixedEpochCondition.ProtoReflect.Descriptor instead. func (*FixedEpochCondition) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{6} + return file_protobuf_avs_proto_rawDescGZIP(), []int{1} } func (x *FixedEpochCondition) GetEpochs() []int64 { @@ -678,7 +298,7 @@ type CronCondition struct { func (x *CronCondition) Reset() { *x = CronCondition{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[7] + mi := &file_protobuf_avs_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -691,7 +311,7 @@ func (x *CronCondition) String() string { func (*CronCondition) ProtoMessage() {} func (x *CronCondition) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[7] + mi := &file_protobuf_avs_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -704,7 +324,7 @@ func (x *CronCondition) ProtoReflect() protoreflect.Message { // Deprecated: Use CronCondition.ProtoReflect.Descriptor instead. func (*CronCondition) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{7} + return file_protobuf_avs_proto_rawDescGZIP(), []int{2} } func (x *CronCondition) GetSchedule() []string { @@ -725,7 +345,7 @@ type BlockCondition struct { func (x *BlockCondition) Reset() { *x = BlockCondition{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[8] + mi := &file_protobuf_avs_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -738,7 +358,7 @@ func (x *BlockCondition) String() string { func (*BlockCondition) ProtoMessage() {} func (x *BlockCondition) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[8] + mi := &file_protobuf_avs_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -751,7 +371,7 @@ func (x *BlockCondition) ProtoReflect() protoreflect.Message { // Deprecated: Use BlockCondition.ProtoReflect.Descriptor instead. func (*BlockCondition) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{8} + return file_protobuf_avs_proto_rawDescGZIP(), []int{3} } func (x *BlockCondition) GetInterval() int64 { @@ -784,7 +404,7 @@ type EventCondition struct { func (x *EventCondition) Reset() { *x = EventCondition{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[9] + mi := &file_protobuf_avs_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -797,7 +417,7 @@ func (x *EventCondition) String() string { func (*EventCondition) ProtoMessage() {} func (x *EventCondition) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[9] + mi := &file_protobuf_avs_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -810,7 +430,7 @@ func (x *EventCondition) ProtoReflect() protoreflect.Message { // Deprecated: Use EventCondition.ProtoReflect.Descriptor instead. func (*EventCondition) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{9} + return file_protobuf_avs_proto_rawDescGZIP(), []int{4} } func (x *EventCondition) GetExpression() string { @@ -839,7 +459,7 @@ type TaskTrigger struct { func (x *TaskTrigger) Reset() { *x = TaskTrigger{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[10] + mi := &file_protobuf_avs_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -852,7 +472,7 @@ func (x *TaskTrigger) String() string { func (*TaskTrigger) ProtoMessage() {} func (x *TaskTrigger) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[10] + mi := &file_protobuf_avs_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -865,7 +485,7 @@ func (x *TaskTrigger) ProtoReflect() protoreflect.Message { // Deprecated: Use TaskTrigger.ProtoReflect.Descriptor instead. func (*TaskTrigger) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{10} + return file_protobuf_avs_proto_rawDescGZIP(), []int{5} } func (x *TaskTrigger) GetName() string { @@ -967,7 +587,7 @@ type ETHTransferNode struct { func (x *ETHTransferNode) Reset() { *x = ETHTransferNode{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[11] + mi := &file_protobuf_avs_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -980,7 +600,7 @@ func (x *ETHTransferNode) String() string { func (*ETHTransferNode) ProtoMessage() {} func (x *ETHTransferNode) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[11] + mi := &file_protobuf_avs_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -993,7 +613,7 @@ func (x *ETHTransferNode) ProtoReflect() protoreflect.Message { // Deprecated: Use ETHTransferNode.ProtoReflect.Descriptor instead. func (*ETHTransferNode) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{11} + return file_protobuf_avs_proto_rawDescGZIP(), []int{6} } func (x *ETHTransferNode) GetDestination() string { @@ -1024,7 +644,7 @@ type ContractWriteNode struct { func (x *ContractWriteNode) Reset() { *x = ContractWriteNode{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[12] + mi := &file_protobuf_avs_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1037,7 +657,7 @@ func (x *ContractWriteNode) String() string { func (*ContractWriteNode) ProtoMessage() {} func (x *ContractWriteNode) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[12] + mi := &file_protobuf_avs_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1050,7 +670,7 @@ func (x *ContractWriteNode) ProtoReflect() protoreflect.Message { // Deprecated: Use ContractWriteNode.ProtoReflect.Descriptor instead. func (*ContractWriteNode) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{12} + return file_protobuf_avs_proto_rawDescGZIP(), []int{7} } func (x *ContractWriteNode) GetContractAddress() string { @@ -1088,7 +708,7 @@ type ContractReadNode struct { func (x *ContractReadNode) Reset() { *x = ContractReadNode{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[13] + mi := &file_protobuf_avs_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1101,7 +721,7 @@ func (x *ContractReadNode) String() string { func (*ContractReadNode) ProtoMessage() {} func (x *ContractReadNode) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[13] + mi := &file_protobuf_avs_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1114,7 +734,7 @@ func (x *ContractReadNode) ProtoReflect() protoreflect.Message { // Deprecated: Use ContractReadNode.ProtoReflect.Descriptor instead. func (*ContractReadNode) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{13} + return file_protobuf_avs_proto_rawDescGZIP(), []int{8} } func (x *ContractReadNode) GetContractAddress() string { @@ -1151,7 +771,7 @@ type GraphQLQueryNode struct { func (x *GraphQLQueryNode) Reset() { *x = GraphQLQueryNode{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[14] + mi := &file_protobuf_avs_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1164,7 +784,7 @@ func (x *GraphQLQueryNode) String() string { func (*GraphQLQueryNode) ProtoMessage() {} func (x *GraphQLQueryNode) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[14] + mi := &file_protobuf_avs_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1177,7 +797,7 @@ func (x *GraphQLQueryNode) ProtoReflect() protoreflect.Message { // Deprecated: Use GraphQLQueryNode.ProtoReflect.Descriptor instead. func (*GraphQLQueryNode) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{14} + return file_protobuf_avs_proto_rawDescGZIP(), []int{9} } func (x *GraphQLQueryNode) GetUrl() string { @@ -1215,7 +835,7 @@ type RestAPINode struct { func (x *RestAPINode) Reset() { *x = RestAPINode{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[15] + mi := &file_protobuf_avs_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1228,7 +848,7 @@ func (x *RestAPINode) String() string { func (*RestAPINode) ProtoMessage() {} func (x *RestAPINode) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[15] + mi := &file_protobuf_avs_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1241,7 +861,7 @@ func (x *RestAPINode) ProtoReflect() protoreflect.Message { // Deprecated: Use RestAPINode.ProtoReflect.Descriptor instead. func (*RestAPINode) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{15} + return file_protobuf_avs_proto_rawDescGZIP(), []int{10} } func (x *RestAPINode) GetUrl() string { @@ -1284,7 +904,7 @@ type CustomCodeNode struct { func (x *CustomCodeNode) Reset() { *x = CustomCodeNode{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[16] + mi := &file_protobuf_avs_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1297,7 +917,7 @@ func (x *CustomCodeNode) String() string { func (*CustomCodeNode) ProtoMessage() {} func (x *CustomCodeNode) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[16] + mi := &file_protobuf_avs_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1310,7 +930,7 @@ func (x *CustomCodeNode) ProtoReflect() protoreflect.Message { // Deprecated: Use CustomCodeNode.ProtoReflect.Descriptor instead. func (*CustomCodeNode) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{16} + return file_protobuf_avs_proto_rawDescGZIP(), []int{11} } func (x *CustomCodeNode) GetLang() CustomCodeLang { @@ -1340,7 +960,7 @@ type Condition struct { func (x *Condition) Reset() { *x = Condition{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[17] + mi := &file_protobuf_avs_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1353,7 +973,7 @@ func (x *Condition) String() string { func (*Condition) ProtoMessage() {} func (x *Condition) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[17] + mi := &file_protobuf_avs_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1366,7 +986,7 @@ func (x *Condition) ProtoReflect() protoreflect.Message { // Deprecated: Use Condition.ProtoReflect.Descriptor instead. func (*Condition) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{17} + return file_protobuf_avs_proto_rawDescGZIP(), []int{12} } func (x *Condition) GetId() string { @@ -1401,7 +1021,7 @@ type BranchNode struct { func (x *BranchNode) Reset() { *x = BranchNode{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[18] + mi := &file_protobuf_avs_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1414,7 +1034,7 @@ func (x *BranchNode) String() string { func (*BranchNode) ProtoMessage() {} func (x *BranchNode) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[18] + mi := &file_protobuf_avs_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1427,7 +1047,7 @@ func (x *BranchNode) ProtoReflect() protoreflect.Message { // Deprecated: Use BranchNode.ProtoReflect.Descriptor instead. func (*BranchNode) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{18} + return file_protobuf_avs_proto_rawDescGZIP(), []int{13} } func (x *BranchNode) GetConditions() []*Condition { @@ -1449,7 +1069,7 @@ type FilterNode struct { func (x *FilterNode) Reset() { *x = FilterNode{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[19] + mi := &file_protobuf_avs_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1462,7 +1082,7 @@ func (x *FilterNode) String() string { func (*FilterNode) ProtoMessage() {} func (x *FilterNode) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[19] + mi := &file_protobuf_avs_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1475,7 +1095,7 @@ func (x *FilterNode) ProtoReflect() protoreflect.Message { // Deprecated: Use FilterNode.ProtoReflect.Descriptor instead. func (*FilterNode) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{19} + return file_protobuf_avs_proto_rawDescGZIP(), []int{14} } func (x *FilterNode) GetExpression() string { @@ -1512,7 +1132,7 @@ type LoopNode struct { func (x *LoopNode) Reset() { *x = LoopNode{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[20] + mi := &file_protobuf_avs_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1525,7 +1145,7 @@ func (x *LoopNode) String() string { func (*LoopNode) ProtoMessage() {} func (x *LoopNode) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[20] + mi := &file_protobuf_avs_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1538,7 +1158,7 @@ func (x *LoopNode) ProtoReflect() protoreflect.Message { // Deprecated: Use LoopNode.ProtoReflect.Descriptor instead. func (*LoopNode) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{20} + return file_protobuf_avs_proto_rawDescGZIP(), []int{15} } func (x *LoopNode) GetInput() string { @@ -1671,7 +1291,7 @@ type TaskEdge struct { func (x *TaskEdge) Reset() { *x = TaskEdge{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[21] + mi := &file_protobuf_avs_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1684,7 +1304,7 @@ func (x *TaskEdge) String() string { func (*TaskEdge) ProtoMessage() {} func (x *TaskEdge) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[21] + mi := &file_protobuf_avs_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1697,7 +1317,7 @@ func (x *TaskEdge) ProtoReflect() protoreflect.Message { // Deprecated: Use TaskEdge.ProtoReflect.Descriptor instead. func (*TaskEdge) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{21} + return file_protobuf_avs_proto_rawDescGZIP(), []int{16} } func (x *TaskEdge) GetId() string { @@ -1747,7 +1367,7 @@ type TaskNode struct { func (x *TaskNode) Reset() { *x = TaskNode{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[22] + mi := &file_protobuf_avs_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1760,7 +1380,7 @@ func (x *TaskNode) String() string { func (*TaskNode) ProtoMessage() {} func (x *TaskNode) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[22] + mi := &file_protobuf_avs_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1773,7 +1393,7 @@ func (x *TaskNode) ProtoReflect() protoreflect.Message { // Deprecated: Use TaskNode.ProtoReflect.Descriptor instead. func (*TaskNode) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{22} + return file_protobuf_avs_proto_rawDescGZIP(), []int{17} } func (x *TaskNode) GetId() string { @@ -1930,19 +1550,21 @@ type Execution struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Epoch int64 `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty"` - Success bool `protobuf:"varint,2,opt,name=success,proto3" json:"success,omitempty"` - Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` - TriggerMark *TriggerMark `protobuf:"bytes,4,opt,name=trigger_mark,json=triggerMark,proto3" json:"trigger_mark,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + StartAt int64 `protobuf:"varint,2,opt,name=start_at,json=startAt,proto3" json:"start_at,omitempty"` + EndAt int64 `protobuf:"varint,3,opt,name=end_at,json=endAt,proto3" json:"end_at,omitempty"` + Success bool `protobuf:"varint,4,opt,name=success,proto3" json:"success,omitempty"` + Error string `protobuf:"bytes,5,opt,name=error,proto3" json:"error,omitempty"` + TriggerMark *TriggerMark `protobuf:"bytes,6,opt,name=trigger_mark,json=triggerMark,proto3" json:"trigger_mark,omitempty"` // final return data of the whole execution of the task - Result string `protobuf:"bytes,5,opt,name=result,proto3" json:"result,omitempty"` - Steps []*Execution_Step `protobuf:"bytes,6,rep,name=steps,proto3" json:"steps,omitempty"` + Result string `protobuf:"bytes,7,opt,name=result,proto3" json:"result,omitempty"` + Steps []*Execution_Step `protobuf:"bytes,8,rep,name=steps,proto3" json:"steps,omitempty"` } func (x *Execution) Reset() { *x = Execution{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[23] + mi := &file_protobuf_avs_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1955,7 +1577,7 @@ func (x *Execution) String() string { func (*Execution) ProtoMessage() {} func (x *Execution) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[23] + mi := &file_protobuf_avs_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1968,12 +1590,26 @@ func (x *Execution) ProtoReflect() protoreflect.Message { // Deprecated: Use Execution.ProtoReflect.Descriptor instead. func (*Execution) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{23} + return file_protobuf_avs_proto_rawDescGZIP(), []int{18} +} + +func (x *Execution) GetId() string { + if x != nil { + return x.Id + } + return "" } -func (x *Execution) GetEpoch() int64 { +func (x *Execution) GetStartAt() int64 { if x != nil { - return x.Epoch + return x.StartAt + } + return 0 +} + +func (x *Execution) GetEndAt() int64 { + if x != nil { + return x.EndAt } return 0 } @@ -2029,18 +1665,20 @@ type Task struct { Memo string `protobuf:"bytes,6,opt,name=memo,proto3" json:"memo,omitempty"` CompletedAt int64 `protobuf:"varint,7,opt,name=completed_at,json=completedAt,proto3" json:"completed_at,omitempty"` // limit on how many time this task can run. Set to 0 will make it run unlimited until cancelling or reaching its expired time - MaxExecution int64 `protobuf:"varint,8,opt,name=max_execution,json=maxExecution,proto3" json:"max_execution,omitempty"` - Status TaskStatus `protobuf:"varint,9,opt,name=status,proto3,enum=aggregator.TaskStatus" json:"status,omitempty"` - Trigger *TaskTrigger `protobuf:"bytes,10,opt,name=trigger,proto3" json:"trigger,omitempty"` - Nodes []*TaskNode `protobuf:"bytes,11,rep,name=nodes,proto3" json:"nodes,omitempty"` - Edges []*TaskEdge `protobuf:"bytes,12,rep,name=edges,proto3" json:"edges,omitempty"` - Executions []*Execution `protobuf:"bytes,13,rep,name=executions,proto3" json:"executions,omitempty"` + MaxExecution int64 `protobuf:"varint,8,opt,name=max_execution,json=maxExecution,proto3" json:"max_execution,omitempty"` + // return how many time this task has run + TotalExecution int64 `protobuf:"varint,9,opt,name=total_execution,json=totalExecution,proto3" json:"total_execution,omitempty"` + LastRanAt int64 `protobuf:"varint,10,opt,name=last_ran_at,json=lastRanAt,proto3" json:"last_ran_at,omitempty"` + Status TaskStatus `protobuf:"varint,11,opt,name=status,proto3,enum=aggregator.TaskStatus" json:"status,omitempty"` + Trigger *TaskTrigger `protobuf:"bytes,12,opt,name=trigger,proto3" json:"trigger,omitempty"` + Nodes []*TaskNode `protobuf:"bytes,13,rep,name=nodes,proto3" json:"nodes,omitempty"` + Edges []*TaskEdge `protobuf:"bytes,14,rep,name=edges,proto3" json:"edges,omitempty"` } func (x *Task) Reset() { *x = Task{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[24] + mi := &file_protobuf_avs_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2053,7 +1691,7 @@ func (x *Task) String() string { func (*Task) ProtoMessage() {} func (x *Task) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[24] + mi := &file_protobuf_avs_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2066,7 +1704,7 @@ func (x *Task) ProtoReflect() protoreflect.Message { // Deprecated: Use Task.ProtoReflect.Descriptor instead. func (*Task) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{24} + return file_protobuf_avs_proto_rawDescGZIP(), []int{19} } func (x *Task) GetId() string { @@ -2125,6 +1763,20 @@ func (x *Task) GetMaxExecution() int64 { return 0 } +func (x *Task) GetTotalExecution() int64 { + if x != nil { + return x.TotalExecution + } + return 0 +} + +func (x *Task) GetLastRanAt() int64 { + if x != nil { + return x.LastRanAt + } + return 0 +} + func (x *Task) GetStatus() TaskStatus { if x != nil { return x.Status @@ -2153,13 +1805,6 @@ func (x *Task) GetEdges() []*TaskEdge { return nil } -func (x *Task) GetExecutions() []*Execution { - if x != nil { - return x.Executions - } - return nil -} - type CreateTaskReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2180,7 +1825,7 @@ type CreateTaskReq struct { func (x *CreateTaskReq) Reset() { *x = CreateTaskReq{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[25] + mi := &file_protobuf_avs_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2193,7 +1838,7 @@ func (x *CreateTaskReq) String() string { func (*CreateTaskReq) ProtoMessage() {} func (x *CreateTaskReq) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[25] + mi := &file_protobuf_avs_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2206,7 +1851,7 @@ func (x *CreateTaskReq) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateTaskReq.ProtoReflect.Descriptor instead. func (*CreateTaskReq) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{25} + return file_protobuf_avs_proto_rawDescGZIP(), []int{20} } func (x *CreateTaskReq) GetTrigger() *TaskTrigger { @@ -2276,7 +1921,7 @@ type CreateTaskResp struct { func (x *CreateTaskResp) Reset() { *x = CreateTaskResp{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[26] + mi := &file_protobuf_avs_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2289,7 +1934,7 @@ func (x *CreateTaskResp) String() string { func (*CreateTaskResp) ProtoMessage() {} func (x *CreateTaskResp) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[26] + mi := &file_protobuf_avs_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2302,7 +1947,7 @@ func (x *CreateTaskResp) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateTaskResp.ProtoReflect.Descriptor instead. func (*CreateTaskResp) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{26} + return file_protobuf_avs_proto_rawDescGZIP(), []int{21} } func (x *CreateTaskResp) GetId() string { @@ -2323,7 +1968,7 @@ type NonceRequest struct { func (x *NonceRequest) Reset() { *x = NonceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[27] + mi := &file_protobuf_avs_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2336,7 +1981,7 @@ func (x *NonceRequest) String() string { func (*NonceRequest) ProtoMessage() {} func (x *NonceRequest) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[27] + mi := &file_protobuf_avs_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2349,7 +1994,7 @@ func (x *NonceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use NonceRequest.ProtoReflect.Descriptor instead. func (*NonceRequest) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{27} + return file_protobuf_avs_proto_rawDescGZIP(), []int{22} } func (x *NonceRequest) GetOwner() string { @@ -2370,7 +2015,7 @@ type NonceResp struct { func (x *NonceResp) Reset() { *x = NonceResp{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[28] + mi := &file_protobuf_avs_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2383,7 +2028,7 @@ func (x *NonceResp) String() string { func (*NonceResp) ProtoMessage() {} func (x *NonceResp) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[28] + mi := &file_protobuf_avs_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2396,7 +2041,7 @@ func (x *NonceResp) ProtoReflect() protoreflect.Message { // Deprecated: Use NonceResp.ProtoReflect.Descriptor instead. func (*NonceResp) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{28} + return file_protobuf_avs_proto_rawDescGZIP(), []int{23} } func (x *NonceResp) GetNonce() string { @@ -2420,7 +2065,7 @@ type ListWalletReq struct { func (x *ListWalletReq) Reset() { *x = ListWalletReq{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[29] + mi := &file_protobuf_avs_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2433,7 +2078,7 @@ func (x *ListWalletReq) String() string { func (*ListWalletReq) ProtoMessage() {} func (x *ListWalletReq) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[29] + mi := &file_protobuf_avs_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2446,7 +2091,7 @@ func (x *ListWalletReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ListWalletReq.ProtoReflect.Descriptor instead. func (*ListWalletReq) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{29} + return file_protobuf_avs_proto_rawDescGZIP(), []int{24} } func (x *ListWalletReq) GetFactory() string { @@ -2476,7 +2121,7 @@ type SmartWallet struct { func (x *SmartWallet) Reset() { *x = SmartWallet{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[30] + mi := &file_protobuf_avs_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2489,7 +2134,7 @@ func (x *SmartWallet) String() string { func (*SmartWallet) ProtoMessage() {} func (x *SmartWallet) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[30] + mi := &file_protobuf_avs_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2502,7 +2147,7 @@ func (x *SmartWallet) ProtoReflect() protoreflect.Message { // Deprecated: Use SmartWallet.ProtoReflect.Descriptor instead. func (*SmartWallet) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{30} + return file_protobuf_avs_proto_rawDescGZIP(), []int{25} } func (x *SmartWallet) GetAddress() string { @@ -2537,7 +2182,7 @@ type ListWalletResp struct { func (x *ListWalletResp) Reset() { *x = ListWalletResp{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[31] + mi := &file_protobuf_avs_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2550,7 +2195,7 @@ func (x *ListWalletResp) String() string { func (*ListWalletResp) ProtoMessage() {} func (x *ListWalletResp) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[31] + mi := &file_protobuf_avs_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2563,7 +2208,7 @@ func (x *ListWalletResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ListWalletResp.ProtoReflect.Descriptor instead. func (*ListWalletResp) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{31} + return file_protobuf_avs_proto_rawDescGZIP(), []int{26} } func (x *ListWalletResp) GetWallets() []*SmartWallet { @@ -2580,12 +2225,14 @@ type ListTasksReq struct { // Filter out by the smart_wallet_address SmartWalletAddress string `protobuf:"bytes,1,opt,name=smart_wallet_address,json=smartWalletAddress,proto3" json:"smart_wallet_address,omitempty"` + Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"` + ItemPerPage int64 `protobuf:"varint,3,opt,name=item_per_page,json=itemPerPage,proto3" json:"item_per_page,omitempty"` } func (x *ListTasksReq) Reset() { *x = ListTasksReq{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[32] + mi := &file_protobuf_avs_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2598,7 +2245,7 @@ func (x *ListTasksReq) String() string { func (*ListTasksReq) ProtoMessage() {} func (x *ListTasksReq) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[32] + mi := &file_protobuf_avs_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2611,7 +2258,7 @@ func (x *ListTasksReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ListTasksReq.ProtoReflect.Descriptor instead. func (*ListTasksReq) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{32} + return file_protobuf_avs_proto_rawDescGZIP(), []int{27} } func (x *ListTasksReq) GetSmartWalletAddress() string { @@ -2621,18 +2268,33 @@ func (x *ListTasksReq) GetSmartWalletAddress() string { return "" } +func (x *ListTasksReq) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +func (x *ListTasksReq) GetItemPerPage() int64 { + if x != nil { + return x.ItemPerPage + } + return 0 +} + type ListTasksResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Tasks []*Task `protobuf:"bytes,1,rep,name=tasks,proto3" json:"tasks,omitempty"` + Tasks []*ListTasksResp_Item `protobuf:"bytes,1,rep,name=tasks,proto3" json:"tasks,omitempty"` + Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"` } func (x *ListTasksResp) Reset() { *x = ListTasksResp{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[33] + mi := &file_protobuf_avs_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2645,7 +2307,7 @@ func (x *ListTasksResp) String() string { func (*ListTasksResp) ProtoMessage() {} func (x *ListTasksResp) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[33] + mi := &file_protobuf_avs_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2658,43 +2320,50 @@ func (x *ListTasksResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ListTasksResp.ProtoReflect.Descriptor instead. func (*ListTasksResp) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{33} + return file_protobuf_avs_proto_rawDescGZIP(), []int{28} } -func (x *ListTasksResp) GetTasks() []*Task { +func (x *ListTasksResp) GetTasks() []*ListTasksResp_Item { if x != nil { return x.Tasks } return nil } -type GetKeyReq struct { +func (x *ListTasksResp) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +type ListExecutionsReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"` - ExpiredAt int64 `protobuf:"varint,2,opt,name=expired_at,json=expiredAt,proto3" json:"expired_at,omitempty"` - Signature string `protobuf:"bytes,3,opt,name=signature,proto3" json:"signature,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"` + ItemPerPage int64 `protobuf:"varint,3,opt,name=item_per_page,json=itemPerPage,proto3" json:"item_per_page,omitempty"` } -func (x *GetKeyReq) Reset() { - *x = GetKeyReq{} +func (x *ListExecutionsReq) Reset() { + *x = ListExecutionsReq{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[34] + mi := &file_protobuf_avs_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetKeyReq) String() string { +func (x *ListExecutionsReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetKeyReq) ProtoMessage() {} +func (*ListExecutionsReq) ProtoMessage() {} -func (x *GetKeyReq) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[34] +func (x *ListExecutionsReq) ProtoReflect() protoreflect.Message { + mi := &file_protobuf_avs_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2705,57 +2374,58 @@ func (x *GetKeyReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetKeyReq.ProtoReflect.Descriptor instead. -func (*GetKeyReq) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{34} +// Deprecated: Use ListExecutionsReq.ProtoReflect.Descriptor instead. +func (*ListExecutionsReq) Descriptor() ([]byte, []int) { + return file_protobuf_avs_proto_rawDescGZIP(), []int{29} } -func (x *GetKeyReq) GetOwner() string { +func (x *ListExecutionsReq) GetId() string { if x != nil { - return x.Owner + return x.Id } return "" } -func (x *GetKeyReq) GetExpiredAt() int64 { +func (x *ListExecutionsReq) GetCursor() string { if x != nil { - return x.ExpiredAt + return x.Cursor } - return 0 + return "" } -func (x *GetKeyReq) GetSignature() string { +func (x *ListExecutionsReq) GetItemPerPage() int64 { if x != nil { - return x.Signature + return x.ItemPerPage } - return "" + return 0 } -type KeyResp struct { +type ListExecutionsResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Executions []*Execution `protobuf:"bytes,1,rep,name=executions,proto3" json:"executions,omitempty"` + Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"` } -func (x *KeyResp) Reset() { - *x = KeyResp{} +func (x *ListExecutionsResp) Reset() { + *x = ListExecutionsResp{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[35] + mi := &file_protobuf_avs_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *KeyResp) String() string { +func (x *ListExecutionsResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*KeyResp) ProtoMessage() {} +func (*ListExecutionsResp) ProtoMessage() {} -func (x *KeyResp) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[35] +func (x *ListExecutionsResp) ProtoReflect() protoreflect.Message { + mi := &file_protobuf_avs_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2766,45 +2436,52 @@ func (x *KeyResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use KeyResp.ProtoReflect.Descriptor instead. -func (*KeyResp) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{35} +// Deprecated: Use ListExecutionsResp.ProtoReflect.Descriptor instead. +func (*ListExecutionsResp) Descriptor() ([]byte, []int) { + return file_protobuf_avs_proto_rawDescGZIP(), []int{30} } -func (x *KeyResp) GetKey() string { +func (x *ListExecutionsResp) GetExecutions() []*Execution { if x != nil { - return x.Key + return x.Executions + } + return nil +} + +func (x *ListExecutionsResp) GetCursor() string { + if x != nil { + return x.Cursor } return "" } -type TriggerMark struct { +type GetKeyReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - BlockNumber uint64 `protobuf:"varint,1,opt,name=block_number,json=blockNumber,proto3" json:"block_number,omitempty"` - LogIndex uint64 `protobuf:"varint,2,opt,name=log_index,json=logIndex,proto3" json:"log_index,omitempty"` - TxHash string `protobuf:"bytes,3,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` + Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"` + ExpiredAt int64 `protobuf:"varint,2,opt,name=expired_at,json=expiredAt,proto3" json:"expired_at,omitempty"` + Signature string `protobuf:"bytes,3,opt,name=signature,proto3" json:"signature,omitempty"` } -func (x *TriggerMark) Reset() { - *x = TriggerMark{} +func (x *GetKeyReq) Reset() { + *x = GetKeyReq{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[36] + mi := &file_protobuf_avs_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TriggerMark) String() string { +func (x *GetKeyReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TriggerMark) ProtoMessage() {} +func (*GetKeyReq) ProtoMessage() {} -func (x *TriggerMark) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[36] +func (x *GetKeyReq) ProtoReflect() protoreflect.Message { + mi := &file_protobuf_avs_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2815,60 +2492,57 @@ func (x *TriggerMark) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TriggerMark.ProtoReflect.Descriptor instead. -func (*TriggerMark) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{36} +// Deprecated: Use GetKeyReq.ProtoReflect.Descriptor instead. +func (*GetKeyReq) Descriptor() ([]byte, []int) { + return file_protobuf_avs_proto_rawDescGZIP(), []int{31} } -func (x *TriggerMark) GetBlockNumber() uint64 { +func (x *GetKeyReq) GetOwner() string { if x != nil { - return x.BlockNumber + return x.Owner } - return 0 + return "" } -func (x *TriggerMark) GetLogIndex() uint64 { +func (x *GetKeyReq) GetExpiredAt() int64 { if x != nil { - return x.LogIndex + return x.ExpiredAt } return 0 } -func (x *TriggerMark) GetTxHash() string { +func (x *GetKeyReq) GetSignature() string { if x != nil { - return x.TxHash + return x.Signature } return "" } -type NotifyTriggersReq struct { +type KeyResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` - TaskId string `protobuf:"bytes,3,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` - TriggerMarker *TriggerMark `protobuf:"bytes,4,opt,name=trigger_marker,json=triggerMarker,proto3" json:"trigger_marker,omitempty"` + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` } -func (x *NotifyTriggersReq) Reset() { - *x = NotifyTriggersReq{} +func (x *KeyResp) Reset() { + *x = KeyResp{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[37] + mi := &file_protobuf_avs_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *NotifyTriggersReq) String() string { +func (x *KeyResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*NotifyTriggersReq) ProtoMessage() {} +func (*KeyResp) ProtoMessage() {} -func (x *NotifyTriggersReq) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[37] +func (x *KeyResp) ProtoReflect() protoreflect.Message { + mi := &file_protobuf_avs_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2879,64 +2553,45 @@ func (x *NotifyTriggersReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use NotifyTriggersReq.ProtoReflect.Descriptor instead. -func (*NotifyTriggersReq) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{37} -} - -func (x *NotifyTriggersReq) GetAddress() string { - if x != nil { - return x.Address - } - return "" -} - -func (x *NotifyTriggersReq) GetSignature() string { - if x != nil { - return x.Signature - } - return "" +// Deprecated: Use KeyResp.ProtoReflect.Descriptor instead. +func (*KeyResp) Descriptor() ([]byte, []int) { + return file_protobuf_avs_proto_rawDescGZIP(), []int{32} } -func (x *NotifyTriggersReq) GetTaskId() string { +func (x *KeyResp) GetKey() string { if x != nil { - return x.TaskId + return x.Key } return "" } -func (x *NotifyTriggersReq) GetTriggerMarker() *TriggerMark { - if x != nil { - return x.TriggerMarker - } - return nil -} - -type NotifyTriggersResp struct { +type TriggerMark struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + BlockNumber uint64 `protobuf:"varint,1,opt,name=block_number,json=blockNumber,proto3" json:"block_number,omitempty"` + LogIndex uint64 `protobuf:"varint,2,opt,name=log_index,json=logIndex,proto3" json:"log_index,omitempty"` + TxHash string `protobuf:"bytes,3,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` } -func (x *NotifyTriggersResp) Reset() { - *x = NotifyTriggersResp{} +func (x *TriggerMark) Reset() { + *x = TriggerMark{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[38] + mi := &file_protobuf_avs_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *NotifyTriggersResp) String() string { +func (x *TriggerMark) String() string { return protoimpl.X.MessageStringOf(x) } -func (*NotifyTriggersResp) ProtoMessage() {} +func (*TriggerMark) ProtoMessage() {} -func (x *NotifyTriggersResp) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[38] +func (x *TriggerMark) ProtoReflect() protoreflect.Message { + mi := &file_protobuf_avs_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2947,16 +2602,30 @@ func (x *NotifyTriggersResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use NotifyTriggersResp.ProtoReflect.Descriptor instead. -func (*NotifyTriggersResp) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{38} +// Deprecated: Use TriggerMark.ProtoReflect.Descriptor instead. +func (*TriggerMark) Descriptor() ([]byte, []int) { + return file_protobuf_avs_proto_rawDescGZIP(), []int{33} } -func (x *NotifyTriggersResp) GetUpdatedAt() *timestamppb.Timestamp { +func (x *TriggerMark) GetBlockNumber() uint64 { if x != nil { - return x.UpdatedAt + return x.BlockNumber } - return nil + return 0 +} + +func (x *TriggerMark) GetLogIndex() uint64 { + if x != nil { + return x.LogIndex + } + return 0 +} + +func (x *TriggerMark) GetTxHash() string { + if x != nil { + return x.TxHash + } + return "" } type CreateWalletReq struct { @@ -2972,7 +2641,7 @@ type CreateWalletReq struct { func (x *CreateWalletReq) Reset() { *x = CreateWalletReq{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[39] + mi := &file_protobuf_avs_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2985,7 +2654,7 @@ func (x *CreateWalletReq) String() string { func (*CreateWalletReq) ProtoMessage() {} func (x *CreateWalletReq) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[39] + mi := &file_protobuf_avs_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2998,7 +2667,7 @@ func (x *CreateWalletReq) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateWalletReq.ProtoReflect.Descriptor instead. func (*CreateWalletReq) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{39} + return file_protobuf_avs_proto_rawDescGZIP(), []int{34} } func (x *CreateWalletReq) GetSalt() string { @@ -3028,7 +2697,7 @@ type CreateWalletResp struct { func (x *CreateWalletResp) Reset() { *x = CreateWalletResp{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[40] + mi := &file_protobuf_avs_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3041,7 +2710,7 @@ func (x *CreateWalletResp) String() string { func (*CreateWalletResp) ProtoMessage() {} func (x *CreateWalletResp) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[40] + mi := &file_protobuf_avs_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3054,7 +2723,7 @@ func (x *CreateWalletResp) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateWalletResp.ProtoReflect.Descriptor instead. func (*CreateWalletResp) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{40} + return file_protobuf_avs_proto_rawDescGZIP(), []int{35} } func (x *CreateWalletResp) GetAddress() string { @@ -3078,98 +2747,143 @@ func (x *CreateWalletResp) GetFactoryAddress() string { return "" } -type Checkin_Status struct { +type Execution_Step struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uptime int64 `protobuf:"varint,1,opt,name=uptime,proto3" json:"uptime,omitempty"` - QueueDepth int64 `protobuf:"varint,2,opt,name=queueDepth,proto3" json:"queueDepth,omitempty"` - LastHeartbeat *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_heartbeat,json=lastHeartbeat,proto3" json:"last_heartbeat,omitempty"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + Success bool `protobuf:"varint,2,opt,name=success,proto3" json:"success,omitempty"` + // serialize data of the result. This is the value that we bind to step variable in subsequent step + OutputData string `protobuf:"bytes,3,opt,name=output_data,json=outputData,proto3" json:"output_data,omitempty"` + Log string `protobuf:"bytes,4,opt,name=log,proto3" json:"log,omitempty"` + Error string `protobuf:"bytes,5,opt,name=error,proto3" json:"error,omitempty"` + StartAt int64 `protobuf:"varint,6,opt,name=start_at,json=startAt,proto3" json:"start_at,omitempty"` + EndAt int64 `protobuf:"varint,7,opt,name=end_at,json=endAt,proto3" json:"end_at,omitempty"` } -func (x *Checkin_Status) Reset() { - *x = Checkin_Status{} +func (x *Execution_Step) Reset() { + *x = Execution_Step{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[41] + mi := &file_protobuf_avs_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Checkin_Status) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Checkin_Status) ProtoMessage() {} - -func (x *Checkin_Status) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[41] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *Execution_Step) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Execution_Step) ProtoMessage() {} + +func (x *Execution_Step) ProtoReflect() protoreflect.Message { + mi := &file_protobuf_avs_proto_msgTypes[38] + 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 Execution_Step.ProtoReflect.Descriptor instead. +func (*Execution_Step) Descriptor() ([]byte, []int) { + return file_protobuf_avs_proto_rawDescGZIP(), []int{18, 0} +} + +func (x *Execution_Step) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +func (x *Execution_Step) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *Execution_Step) GetOutputData() string { + if x != nil { + return x.OutputData } - return mi.MessageOf(x) + return "" } -// Deprecated: Use Checkin_Status.ProtoReflect.Descriptor instead. -func (*Checkin_Status) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{1, 0} +func (x *Execution_Step) GetLog() string { + if x != nil { + return x.Log + } + return "" } -func (x *Checkin_Status) GetUptime() int64 { +func (x *Execution_Step) GetError() string { if x != nil { - return x.Uptime + return x.Error } - return 0 + return "" } -func (x *Checkin_Status) GetQueueDepth() int64 { +func (x *Execution_Step) GetStartAt() int64 { if x != nil { - return x.QueueDepth + return x.StartAt } return 0 } -func (x *Checkin_Status) GetLastHeartbeat() *timestamppb.Timestamp { +func (x *Execution_Step) GetEndAt() int64 { if x != nil { - return x.LastHeartbeat + return x.EndAt } - return nil + return 0 } -type SyncMessagesResp_TaskMetadata struct { +type ListTasksResp_Item struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` - // how many time this task can run - Remain int64 `protobuf:"varint,2,opt,name=remain,proto3" json:"remain,omitempty"` - ExpiredAt int64 `protobuf:"varint,3,opt,name=expired_at,json=expiredAt,proto3" json:"expired_at,omitempty"` - Trigger *TaskTrigger `protobuf:"bytes,4,opt,name=trigger,proto3" json:"trigger,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Owner string `protobuf:"bytes,2,opt,name=owner,proto3" json:"owner,omitempty"` + SmartWalletAddress string `protobuf:"bytes,3,opt,name=smart_wallet_address,json=smartWalletAddress,proto3" json:"smart_wallet_address,omitempty"` + // task won't be check before this + StartAt int64 `protobuf:"varint,4,opt,name=start_at,json=startAt,proto3" json:"start_at,omitempty"` + // task won't be run/check after this + ExpiredAt int64 `protobuf:"varint,5,opt,name=expired_at,json=expiredAt,proto3" json:"expired_at,omitempty"` + // arbitrary data about this task. has a limit of 255 character + Memo string `protobuf:"bytes,6,opt,name=memo,proto3" json:"memo,omitempty"` + CompletedAt int64 `protobuf:"varint,7,opt,name=completed_at,json=completedAt,proto3" json:"completed_at,omitempty"` + // limit on how many time this task can run. Set to 0 will make it run unlimited until cancelling or reaching its expired time + MaxExecution int64 `protobuf:"varint,8,opt,name=max_execution,json=maxExecution,proto3" json:"max_execution,omitempty"` + // return how many time this task has run + TotalExecution int64 `protobuf:"varint,9,opt,name=total_execution,json=totalExecution,proto3" json:"total_execution,omitempty"` + LastRanAt int64 `protobuf:"varint,10,opt,name=last_ran_at,json=lastRanAt,proto3" json:"last_ran_at,omitempty"` + Status TaskStatus `protobuf:"varint,11,opt,name=status,proto3,enum=aggregator.TaskStatus" json:"status,omitempty"` + Trigger *TaskTrigger `protobuf:"bytes,12,opt,name=trigger,proto3" json:"trigger,omitempty"` } -func (x *SyncMessagesResp_TaskMetadata) Reset() { - *x = SyncMessagesResp_TaskMetadata{} +func (x *ListTasksResp_Item) Reset() { + *x = ListTasksResp_Item{} if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[42] + mi := &file_protobuf_avs_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SyncMessagesResp_TaskMetadata) String() string { +func (x *ListTasksResp_Item) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SyncMessagesResp_TaskMetadata) ProtoMessage() {} +func (*ListTasksResp_Item) ProtoMessage() {} -func (x *SyncMessagesResp_TaskMetadata) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[42] +func (x *ListTasksResp_Item) ProtoReflect() protoreflect.Message { + mi := &file_protobuf_avs_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3180,117 +2894,93 @@ func (x *SyncMessagesResp_TaskMetadata) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SyncMessagesResp_TaskMetadata.ProtoReflect.Descriptor instead. -func (*SyncMessagesResp_TaskMetadata) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{4, 0} +// Deprecated: Use ListTasksResp_Item.ProtoReflect.Descriptor instead. +func (*ListTasksResp_Item) Descriptor() ([]byte, []int) { + return file_protobuf_avs_proto_rawDescGZIP(), []int{28, 0} } -func (x *SyncMessagesResp_TaskMetadata) GetTaskId() string { +func (x *ListTasksResp_Item) GetId() string { if x != nil { - return x.TaskId + return x.Id } return "" } -func (x *SyncMessagesResp_TaskMetadata) GetRemain() int64 { +func (x *ListTasksResp_Item) GetOwner() string { if x != nil { - return x.Remain + return x.Owner } - return 0 + return "" } -func (x *SyncMessagesResp_TaskMetadata) GetExpiredAt() int64 { +func (x *ListTasksResp_Item) GetSmartWalletAddress() string { if x != nil { - return x.ExpiredAt + return x.SmartWalletAddress } - return 0 + return "" } -func (x *SyncMessagesResp_TaskMetadata) GetTrigger() *TaskTrigger { +func (x *ListTasksResp_Item) GetStartAt() int64 { if x != nil { - return x.Trigger + return x.StartAt } - return nil -} - -type Execution_Step struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` - Success bool `protobuf:"varint,2,opt,name=success,proto3" json:"success,omitempty"` - // serialize data of the result. This is the value that we bind to step variable in subsequent step - OutputData string `protobuf:"bytes,3,opt,name=output_data,json=outputData,proto3" json:"output_data,omitempty"` - Log string `protobuf:"bytes,4,opt,name=log,proto3" json:"log,omitempty"` - Error string `protobuf:"bytes,5,opt,name=error,proto3" json:"error,omitempty"` + return 0 } -func (x *Execution_Step) Reset() { - *x = Execution_Step{} - if protoimpl.UnsafeEnabled { - mi := &file_protobuf_avs_proto_msgTypes[45] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ListTasksResp_Item) GetExpiredAt() int64 { + if x != nil { + return x.ExpiredAt } + return 0 } -func (x *Execution_Step) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Execution_Step) ProtoMessage() {} - -func (x *Execution_Step) ProtoReflect() protoreflect.Message { - mi := &file_protobuf_avs_proto_msgTypes[45] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *ListTasksResp_Item) GetMemo() string { + if x != nil { + return x.Memo } - return mi.MessageOf(x) + return "" } -// Deprecated: Use Execution_Step.ProtoReflect.Descriptor instead. -func (*Execution_Step) Descriptor() ([]byte, []int) { - return file_protobuf_avs_proto_rawDescGZIP(), []int{23, 0} +func (x *ListTasksResp_Item) GetCompletedAt() int64 { + if x != nil { + return x.CompletedAt + } + return 0 } -func (x *Execution_Step) GetNodeId() string { +func (x *ListTasksResp_Item) GetMaxExecution() int64 { if x != nil { - return x.NodeId + return x.MaxExecution } - return "" + return 0 } -func (x *Execution_Step) GetSuccess() bool { +func (x *ListTasksResp_Item) GetTotalExecution() int64 { if x != nil { - return x.Success + return x.TotalExecution } - return false + return 0 } -func (x *Execution_Step) GetOutputData() string { +func (x *ListTasksResp_Item) GetLastRanAt() int64 { if x != nil { - return x.OutputData + return x.LastRanAt } - return "" + return 0 } -func (x *Execution_Step) GetLog() string { +func (x *ListTasksResp_Item) GetStatus() TaskStatus { if x != nil { - return x.Log + return x.Status } - return "" + return TaskStatus_Active } -func (x *Execution_Step) GetError() string { +func (x *ListTasksResp_Item) GetTrigger() *TaskTrigger { if x != nil { - return x.Error + return x.Trigger } - return "" + return nil } var File_protobuf_avs_proto protoreflect.FileDescriptor @@ -3298,202 +2988,110 @@ var File_protobuf_avs_proto protoreflect.FileDescriptor var file_protobuf_avs_proto_rawDesc = []byte{ 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x76, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, - 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0x17, 0x0a, 0x05, 0x49, 0x64, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0xe3, 0x02, 0x0a, 0x07, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x32, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x69, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, - 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1a, - 0x0a, 0x08, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x49, 0x50, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x49, 0x50, 0x1a, 0x83, 0x01, 0x0a, 0x06, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, - 0x0a, 0x71, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x70, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0a, 0x71, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x70, 0x74, 0x68, 0x12, 0x41, 0x0a, - 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, - 0x22, 0x48, 0x0a, 0x0b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x82, 0x01, 0x0a, 0x0f, 0x53, - 0x79, 0x6e, 0x63, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, - 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x6f, 0x6e, 0x6f, 0x74, 0x6f, - 0x6e, 0x69, 0x63, 0x5f, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0e, 0x6d, 0x6f, 0x6e, 0x6f, 0x74, 0x6f, 0x6e, 0x69, 0x63, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x22, - 0xad, 0x02, 0x0a, 0x10, 0x53, 0x79, 0x6e, 0x63, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x15, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x4e, 0x0a, 0x0d, 0x74, - 0x61, 0x73, 0x6b, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, - 0x53, 0x79, 0x6e, 0x63, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x74, - 0x61, 0x73, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x91, 0x01, 0x0a, 0x0c, - 0x54, 0x61, 0x73, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, - 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, - 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1d, 0x0a, - 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x74, 0x12, 0x31, 0x0a, 0x07, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x54, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, - 0x1f, 0x0a, 0x0d, 0x41, 0x63, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x22, 0x2d, 0x0a, 0x13, 0x46, 0x69, 0x78, 0x65, 0x64, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x43, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x70, 0x6f, 0x63, 0x68, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x06, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x73, 0x22, - 0x2b, 0x0a, 0x0d, 0x43, 0x72, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x22, 0x2c, 0x0a, 0x0e, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, - 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0x30, 0x0a, 0x0e, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, - 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa6, 0x02, 0x0a, - 0x0b, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x18, 0x0a, 0x06, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x48, 0x00, 0x52, 0x06, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x12, 0x40, 0x0a, 0x0a, 0x66, 0x69, - 0x78, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, - 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x46, 0x69, 0x78, 0x65, - 0x64, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, - 0x00, 0x52, 0x09, 0x66, 0x69, 0x78, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x04, - 0x63, 0x72, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x43, 0x72, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x63, 0x72, 0x6f, 0x6e, 0x12, 0x32, 0x0a, - 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, - 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x12, 0x32, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x05, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x4b, 0x0a, 0x0f, 0x45, 0x54, 0x48, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x22, 0x7e, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, 0x72, - 0x69, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, - 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x61, 0x62, 0x69, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, - 0x62, 0x69, 0x22, 0x7d, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, - 0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, - 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x61, 0x62, 0x69, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x62, - 0x69, 0x22, 0xc3, 0x01, 0x0a, 0x10, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x49, - 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2b, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x47, - 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x2e, - 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, - 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x1a, 0x3c, 0x0a, 0x0e, 0x56, 0x61, 0x72, - 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc7, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x74, - 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x3e, 0x0a, 0x07, 0x68, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x41, 0x50, 0x49, 0x4e, - 0x6f, 0x64, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, - 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x16, 0x0a, - 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x1a, 0x3a, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0x58, 0x0a, 0x0e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x4e, - 0x6f, 0x64, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x1a, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x43, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x04, 0x6c, - 0x61, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4f, 0x0a, 0x09, 0x43, - 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, - 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x43, 0x0a, 0x0a, - 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, - 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x22, 0x2c, 0x0a, 0x0a, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, - 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, - 0xf2, 0x03, 0x0a, 0x08, 0x4c, 0x6f, 0x6f, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6e, 0x70, - 0x75, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x12, 0x19, 0x0a, - 0x08, 0x69, 0x74, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x69, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x40, 0x0a, 0x0c, 0x65, 0x74, 0x68, 0x5f, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, - 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x45, 0x54, 0x48, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x65, - 0x74, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x46, 0x0a, 0x0e, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4e, 0x6f, 0x64, - 0x65, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, 0x72, 0x69, - 0x74, 0x65, 0x12, 0x43, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x72, - 0x65, 0x61, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, - 0x65, 0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x52, 0x65, 0x61, 0x64, 0x12, 0x4c, 0x0a, 0x12, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x71, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, - 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x6f, 0x64, - 0x65, 0x48, 0x00, 0x52, 0x10, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x44, 0x61, 0x74, 0x61, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x34, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x70, - 0x69, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, - 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x73, 0x74, 0x41, 0x70, 0x69, 0x12, 0x3d, 0x0a, 0x0b, 0x63, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x43, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0a, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x75, - 0x6e, 0x6e, 0x65, 0x72, 0x22, 0x4a, 0x0a, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x64, 0x67, 0x65, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x22, 0xdd, 0x04, 0x0a, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x40, 0x0a, 0x0c, 0x65, 0x74, 0x68, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0x17, 0x0a, 0x05, 0x49, 0x64, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x2d, 0x0a, 0x13, 0x46, 0x69, 0x78, + 0x65, 0x64, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x16, 0x0a, 0x06, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, + 0x52, 0x06, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x73, 0x22, 0x2b, 0x0a, 0x0d, 0x43, 0x72, 0x6f, 0x6e, + 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x73, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x22, 0x2c, 0x0a, 0x0e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x6f, + 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x22, 0x30, 0x0a, 0x0e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa6, 0x02, 0x0a, 0x0b, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x72, + 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x06, 0x6d, 0x61, 0x6e, + 0x75, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x6d, 0x61, 0x6e, + 0x75, 0x61, 0x6c, 0x12, 0x40, 0x0a, 0x0a, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x46, 0x69, 0x78, 0x65, 0x64, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x43, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x09, 0x66, 0x69, 0x78, 0x65, + 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x04, 0x63, 0x72, 0x6f, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, + 0x2e, 0x43, 0x72, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, + 0x52, 0x04, 0x63, 0x72, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x6f, 0x72, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x48, 0x00, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x32, 0x0a, 0x05, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x0e, + 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x4b, + 0x0a, 0x0f, 0x45, 0x54, 0x48, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4e, 0x6f, 0x64, + 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x7e, 0x0a, 0x11, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, + 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, + 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x63, 0x61, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x5f, 0x61, 0x62, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x62, 0x69, 0x22, 0x7d, 0x0a, 0x10, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x12, + 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x61, + 0x6c, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, + 0x61, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x5f, 0x61, 0x62, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x62, 0x69, 0x22, 0xc3, 0x01, 0x0a, 0x10, 0x47, + 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x12, + 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, + 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x49, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x61, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, + 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, + 0x65, 0x73, 0x1a, 0x3c, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0xc7, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x74, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, + 0x72, 0x6c, 0x12, 0x3e, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, + 0x2e, 0x52, 0x65, 0x73, 0x74, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x48, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x1a, 0x3a, + 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x58, 0x0a, 0x0e, 0x43, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x2e, 0x0a, 0x04, + 0x6c, 0x61, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x61, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, + 0x64, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x22, 0x4f, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x43, 0x0a, 0x0a, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x4e, + 0x6f, 0x64, 0x65, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, + 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x2c, 0x0a, 0x0a, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xf2, 0x03, 0x0a, 0x08, 0x4c, 0x6f, 0x6f, + 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x69, + 0x74, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, + 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x72, 0x5f, 0x6b, + 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x74, 0x65, 0x72, 0x4b, 0x65, + 0x79, 0x12, 0x40, 0x0a, 0x0c, 0x65, 0x74, 0x68, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x45, 0x54, 0x48, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x65, 0x74, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, @@ -3514,246 +3112,296 @@ var file_protobuf_avs_proto_rawDesc = []byte{ 0x0a, 0x08, 0x72, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x70, 0x69, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x73, - 0x74, 0x41, 0x70, 0x69, 0x12, 0x30, 0x0a, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, - 0x72, 0x2e, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x06, - 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x30, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x6f, 0x72, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, - 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x04, 0x6c, 0x6f, 0x6f, 0x70, - 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x6f, 0x72, 0x2e, 0x4c, 0x6f, 0x6f, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x04, - 0x6c, 0x6f, 0x6f, 0x70, 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, - 0x6f, 0x64, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x67, 0x67, 0x72, + 0x74, 0x41, 0x70, 0x69, 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, + 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, - 0x6f, 0x64, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x22, 0xdc, 0x02, 0x0a, 0x09, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, - 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x65, - 0x70, 0x6f, 0x63, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x14, - 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x12, 0x3a, 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, - 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4d, - 0x61, 0x72, 0x6b, 0x52, 0x0b, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4d, 0x61, 0x72, 0x6b, - 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x74, 0x65, 0x70, - 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, - 0x74, 0x65, 0x70, 0x52, 0x05, 0x73, 0x74, 0x65, 0x70, 0x73, 0x1a, 0x82, 0x01, 0x0a, 0x04, 0x53, - 0x74, 0x65, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, - 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, - 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x67, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6c, 0x6f, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, - 0xe6, 0x03, 0x0a, 0x04, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, - 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x30, - 0x0a, 0x14, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x6d, - 0x61, 0x72, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, - 0x6d, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x12, 0x21, - 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, - 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x45, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x6f, 0x64, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x22, 0x4a, 0x0a, + 0x08, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0xdd, 0x04, 0x0a, 0x08, 0x54, 0x61, + 0x73, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0c, 0x65, 0x74, + 0x68, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x45, 0x54, + 0x48, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, + 0x0b, 0x65, 0x74, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x46, 0x0a, 0x0e, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, + 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4e, + 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, + 0x72, 0x69, 0x74, 0x65, 0x12, 0x43, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x5f, 0x72, 0x65, 0x61, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x67, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x52, 0x65, 0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x61, 0x64, 0x12, 0x4c, 0x0a, 0x12, 0x67, 0x72, 0x61, + 0x70, 0x68, 0x71, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x6f, 0x72, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4e, + 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x10, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x44, 0x61, + 0x74, 0x61, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x34, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x74, 0x5f, + 0x61, 0x70, 0x69, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x41, 0x50, 0x49, 0x4e, 0x6f, + 0x64, 0x65, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x73, 0x74, 0x41, 0x70, 0x69, 0x12, 0x30, 0x0a, + 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x42, 0x72, 0x61, 0x6e, 0x63, + 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, + 0x30, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x46, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x12, 0x2a, 0x0a, 0x04, 0x6c, 0x6f, 0x6f, 0x70, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x4c, 0x6f, 0x6f, + 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x6f, 0x6f, 0x70, 0x12, 0x3d, 0x0a, + 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x12, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, + 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x0b, 0x0a, 0x09, + 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xba, 0x03, 0x0a, 0x09, 0x45, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x41, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x65, 0x6e, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x05, 0x65, 0x6e, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x3a, 0x0a, 0x0c, 0x74, 0x72, 0x69, + 0x67, 0x67, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x54, 0x72, 0x69, + 0x67, 0x67, 0x65, 0x72, 0x4d, 0x61, 0x72, 0x6b, 0x52, 0x0b, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x72, 0x4d, 0x61, 0x72, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x30, 0x0a, + 0x05, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, + 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x52, 0x05, 0x73, 0x74, 0x65, 0x70, 0x73, 0x1a, + 0xb4, 0x01, 0x0a, 0x04, 0x53, 0x74, 0x65, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, + 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, + 0x6c, 0x6f, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6c, 0x6f, 0x67, 0x12, 0x14, + 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x61, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x41, 0x74, 0x12, + 0x15, 0x0a, 0x06, 0x65, 0x6e, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x05, 0x65, 0x6e, 0x64, 0x41, 0x74, 0x22, 0xf8, 0x03, 0x0a, 0x04, 0x54, 0x61, 0x73, 0x6b, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x5f, 0x77, + 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, + 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0c, 0x6d, 0x61, 0x78, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, + 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, + 0x61, 0x6e, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6c, 0x61, 0x73, + 0x74, 0x52, 0x61, 0x6e, 0x41, 0x74, 0x12, 0x2e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x05, 0x6e, 0x6f, 0x64, - 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, + 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, - 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x64, 0x67, 0x65, 0x73, 0x18, 0x0c, + 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x64, 0x67, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x52, 0x05, 0x65, 0x64, 0x67, 0x65, - 0x73, 0x12, 0x35, 0x0a, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x6f, 0x72, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xbf, 0x02, 0x0a, 0x0d, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x31, 0x0a, 0x07, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x67, - 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x52, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x19, 0x0a, - 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, - 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x78, - 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x65, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, - 0x6d, 0x61, 0x78, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x14, - 0x73, 0x6d, 0x61, 0x72, 0x74, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x6d, 0x61, 0x72, - 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, - 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, - 0x6d, 0x6f, 0x12, 0x2a, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x54, - 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x2a, - 0x0a, 0x05, 0x65, 0x64, 0x67, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x45, - 0x64, 0x67, 0x65, 0x52, 0x05, 0x65, 0x64, 0x67, 0x65, 0x73, 0x22, 0x20, 0x0a, 0x0e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x24, 0x0a, 0x0c, - 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, - 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, - 0x65, 0x72, 0x22, 0x21, 0x0a, 0x09, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x22, 0x3d, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x6c, - 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, - 0x12, 0x12, 0x0a, 0x04, 0x73, 0x61, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x73, 0x61, 0x6c, 0x74, 0x22, 0x55, 0x0a, 0x0b, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x57, 0x61, 0x6c, - 0x6c, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, - 0x04, 0x73, 0x61, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x61, 0x6c, - 0x74, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x43, 0x0a, 0x0e, 0x4c, - 0x69, 0x73, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, - 0x07, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x6d, 0x61, 0x72, - 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x07, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x73, - 0x22, 0x40, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, - 0x12, 0x30, 0x0a, 0x14, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, - 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, - 0x73, 0x6d, 0x61, 0x72, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x22, 0x37, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x26, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, - 0x54, 0x61, 0x73, 0x6b, 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x22, 0x5e, 0x0a, 0x09, 0x47, - 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1d, - 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, - 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x1b, 0x0a, 0x07, 0x4b, - 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x66, 0x0a, 0x0b, 0x54, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x4d, 0x61, 0x72, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, - 0x67, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6c, - 0x6f, 0x67, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, - 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, - 0x22, 0xa4, 0x01, 0x0a, 0x11, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x17, - 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x0e, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x54, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x4d, 0x61, 0x72, 0x6b, 0x52, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x22, 0x4f, 0x0a, 0x12, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x79, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x39, 0x0a, - 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x4e, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x73, - 0x61, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x61, 0x6c, 0x74, 0x12, - 0x27, 0x0a, 0x0f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, - 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x69, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x22, 0xbf, 0x02, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, + 0x52, 0x65, 0x71, 0x12, 0x31, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, + 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x07, 0x74, + 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, + 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x41, + 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x5f, 0x77, + 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x12, 0x2a, 0x0a, 0x05, 0x6e, + 0x6f, 0x64, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x64, 0x67, 0x65, 0x73, + 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x6f, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x52, 0x05, 0x65, 0x64, + 0x67, 0x65, 0x73, 0x22, 0x20, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, + 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x24, 0x0a, 0x0c, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x21, 0x0a, 0x09, 0x4e, + 0x6f, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x22, 0x3d, + 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, + 0x18, 0x0a, 0x07, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x61, 0x6c, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x61, 0x6c, 0x74, 0x22, 0x55, 0x0a, + 0x0b, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x61, 0x6c, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x61, 0x6c, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x61, - 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x2a, 0x61, 0x0a, 0x09, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, - 0x12, 0x09, 0x0a, 0x05, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x4d, - 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x61, 0x73, - 0x6b, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, - 0x6b, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, - 0x54, 0x61, 0x73, 0x6b, 0x10, 0x04, 0x2a, 0xc8, 0x01, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, - 0x00, 0x12, 0x11, 0x0a, 0x0c, 0x52, 0x70, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x10, 0xe8, 0x07, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x55, - 0x6e, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x10, 0xd0, 0x0f, 0x12, 0x16, 0x0a, - 0x11, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x10, 0xd1, 0x0f, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x57, 0x61, - 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x70, 0x63, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xf0, 0x2e, 0x12, - 0x1d, 0x0a, 0x18, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x4e, 0x6f, - 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xf1, 0x2e, 0x12, 0x16, - 0x0a, 0x11, 0x54, 0x61, 0x73, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x72, 0x72, 0x75, 0x70, - 0x74, 0x65, 0x64, 0x10, 0xd8, 0x36, 0x12, 0x19, 0x0a, 0x14, 0x54, 0x61, 0x73, 0x6b, 0x44, 0x61, - 0x74, 0x61, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xd9, - 0x36, 0x2a, 0x50, 0x0a, 0x0a, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x0a, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x61, - 0x69, 0x6c, 0x65, 0x64, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, - 0x65, 0x64, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6e, - 0x67, 0x10, 0x04, 0x2a, 0x20, 0x0a, 0x0e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x64, - 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x61, 0x76, 0x61, 0x53, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x10, 0x00, 0x32, 0xd3, 0x04, 0x0a, 0x0a, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x6f, 0x72, 0x12, 0x36, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x15, - 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x4b, - 0x65, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x6f, 0x72, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x08, - 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x18, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, - 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0c, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x67, - 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, - 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x61, 0x6c, 0x6c, - 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, - 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x73, 0x12, 0x19, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, - 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, - 0x12, 0x45, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x19, - 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x61, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, - 0x6b, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x54, - 0x61, 0x73, 0x6b, 0x73, 0x12, 0x18, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, - 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x19, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x61, 0x6c, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x61, + 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x61, 0x63, + 0x74, 0x6f, 0x72, 0x79, 0x22, 0x43, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x6c, 0x6c, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x07, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, + 0x52, 0x07, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x73, 0x22, 0x7c, 0x0a, 0x0c, 0x4c, 0x69, 0x73, + 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x6d, 0x61, + 0x72, 0x74, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x57, 0x61, + 0x6c, 0x6c, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, + 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, + 0x73, 0x6f, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x69, 0x74, 0x65, 0x6d, + 0x50, 0x65, 0x72, 0x50, 0x61, 0x67, 0x65, 0x22, 0x80, 0x04, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, + 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x34, 0x0a, 0x05, 0x74, 0x61, 0x73, + 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x12, + 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x1a, 0xa0, 0x03, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x5f, + 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, + 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, + 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, + 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x78, + 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, + 0x0a, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x5f, + 0x72, 0x61, 0x6e, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6c, 0x61, + 0x73, 0x74, 0x52, 0x61, 0x6e, 0x41, 0x74, 0x12, 0x2e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, + 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x72, 0x52, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, 0x5f, 0x0a, 0x11, 0x4c, 0x69, + 0x73, 0x74, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x5f, + 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, + 0x69, 0x74, 0x65, 0x6d, 0x50, 0x65, 0x72, 0x50, 0x61, 0x67, 0x65, 0x22, 0x63, 0x0a, 0x12, 0x4c, + 0x69, 0x73, 0x74, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x35, 0x0a, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x6f, 0x72, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, + 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, + 0x22, 0x5e, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, + 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, + 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x22, 0x1b, 0x0a, 0x07, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x66, 0x0a, + 0x0b, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4d, 0x61, 0x72, 0x6b, 0x12, 0x21, 0x0a, 0x0c, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, + 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x17, 0x0a, 0x07, + 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, + 0x78, 0x48, 0x61, 0x73, 0x68, 0x22, 0x4e, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, + 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x61, 0x6c, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x61, 0x6c, 0x74, 0x12, 0x27, 0x0a, 0x0f, + 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x69, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, + 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x61, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x73, 0x61, 0x6c, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x61, 0x63, 0x74, 0x6f, + 0x72, 0x79, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x2a, 0xc8, 0x01, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x6e, + 0x6b, 0x6e, 0x6f, 0x77, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0c, 0x52, + 0x70, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xe8, 0x07, 0x12, 0x17, + 0x0a, 0x12, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x55, 0x6e, 0x61, 0x76, 0x61, 0x69, 0x6c, + 0x61, 0x62, 0x6c, 0x65, 0x10, 0xd0, 0x0f, 0x12, 0x16, 0x0a, 0x11, 0x53, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xd1, 0x0f, 0x12, + 0x18, 0x0a, 0x13, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x70, + 0x63, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xf0, 0x2e, 0x12, 0x1d, 0x0a, 0x18, 0x53, 0x6d, 0x61, + 0x72, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xf1, 0x2e, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x61, 0x73, 0x6b, + 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x72, 0x72, 0x75, 0x70, 0x74, 0x65, 0x64, 0x10, 0xd8, 0x36, + 0x12, 0x19, 0x0a, 0x14, 0x54, 0x61, 0x73, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x69, 0x73, 0x73, + 0x69, 0x6e, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xd9, 0x36, 0x2a, 0x50, 0x0a, 0x0a, 0x54, + 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x65, 0x64, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x02, + 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0d, + 0x0a, 0x09, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x04, 0x2a, 0x20, 0x0a, + 0x0e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x12, + 0x0e, 0x0a, 0x0a, 0x4a, 0x61, 0x76, 0x61, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x10, 0x00, 0x32, + 0xa6, 0x05, 0x0a, 0x0a, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x36, + 0x0a, 0x06, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x15, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x1a, + 0x13, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x4b, 0x65, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x6e, + 0x63, 0x65, 0x12, 0x18, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, + 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, + 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, + 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x6f, 0x72, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, + 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x22, 0x00, 0x12, 0x46, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, + 0x73, 0x12, 0x19, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x61, + 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, + 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0a, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x19, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, + 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x22, + 0x00, 0x12, 0x42, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x18, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x30, 0x0a, 0x07, 0x47, - 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x11, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x6f, 0x72, 0x2e, 0x49, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x61, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x22, 0x00, 0x12, 0x3d, 0x0a, - 0x0a, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x11, 0x2e, 0x61, 0x67, - 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x49, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x0a, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x11, 0x2e, 0x61, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x49, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x00, 0x32, 0xa0, 0x02, 0x0a, 0x04, - 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x13, 0x2e, 0x61, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x69, - 0x6e, 0x1a, 0x17, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c, - 0x53, 0x79, 0x6e, 0x63, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1b, 0x2e, 0x61, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x61, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x30, 0x01, 0x12, 0x3e, 0x0a, 0x03, 0x41, - 0x63, 0x6b, 0x12, 0x19, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, - 0x41, 0x63, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0e, 0x4e, - 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x12, 0x1d, 0x2e, - 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x79, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x61, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, - 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x42, 0x0c, - 0x5a, 0x0a, 0x2e, 0x2f, 0x61, 0x76, 0x73, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x30, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, + 0x12, 0x11, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x49, 0x64, + 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, + 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x45, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x2e, 0x61, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x0a, 0x43, 0x61, + 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x11, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x49, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, + 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x0a, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x11, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x49, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, + 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x00, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, 0x61, 0x76, + 0x73, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3768,137 +3416,117 @@ func file_protobuf_avs_proto_rawDescGZIP() []byte { return file_protobuf_avs_proto_rawDescData } -var file_protobuf_avs_proto_enumTypes = make([]protoimpl.EnumInfo, 4) -var file_protobuf_avs_proto_msgTypes = make([]protoimpl.MessageInfo, 46) +var file_protobuf_avs_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_protobuf_avs_proto_msgTypes = make([]protoimpl.MessageInfo, 40) var file_protobuf_avs_proto_goTypes = []interface{}{ - (MessageOp)(0), // 0: aggregator.MessageOp - (Error)(0), // 1: aggregator.Error - (TaskStatus)(0), // 2: aggregator.TaskStatus - (CustomCodeLang)(0), // 3: aggregator.CustomCodeLang - (*IdReq)(nil), // 4: aggregator.IdReq - (*Checkin)(nil), // 5: aggregator.Checkin - (*CheckinResp)(nil), // 6: aggregator.CheckinResp - (*SyncMessagesReq)(nil), // 7: aggregator.SyncMessagesReq - (*SyncMessagesResp)(nil), // 8: aggregator.SyncMessagesResp - (*AckMessageReq)(nil), // 9: aggregator.AckMessageReq - (*FixedEpochCondition)(nil), // 10: aggregator.FixedEpochCondition - (*CronCondition)(nil), // 11: aggregator.CronCondition - (*BlockCondition)(nil), // 12: aggregator.BlockCondition - (*EventCondition)(nil), // 13: aggregator.EventCondition - (*TaskTrigger)(nil), // 14: aggregator.TaskTrigger - (*ETHTransferNode)(nil), // 15: aggregator.ETHTransferNode - (*ContractWriteNode)(nil), // 16: aggregator.ContractWriteNode - (*ContractReadNode)(nil), // 17: aggregator.ContractReadNode - (*GraphQLQueryNode)(nil), // 18: aggregator.GraphQLQueryNode - (*RestAPINode)(nil), // 19: aggregator.RestAPINode - (*CustomCodeNode)(nil), // 20: aggregator.CustomCodeNode - (*Condition)(nil), // 21: aggregator.Condition - (*BranchNode)(nil), // 22: aggregator.BranchNode - (*FilterNode)(nil), // 23: aggregator.FilterNode - (*LoopNode)(nil), // 24: aggregator.LoopNode - (*TaskEdge)(nil), // 25: aggregator.TaskEdge - (*TaskNode)(nil), // 26: aggregator.TaskNode - (*Execution)(nil), // 27: aggregator.Execution - (*Task)(nil), // 28: aggregator.Task - (*CreateTaskReq)(nil), // 29: aggregator.CreateTaskReq - (*CreateTaskResp)(nil), // 30: aggregator.CreateTaskResp - (*NonceRequest)(nil), // 31: aggregator.NonceRequest - (*NonceResp)(nil), // 32: aggregator.NonceResp - (*ListWalletReq)(nil), // 33: aggregator.ListWalletReq - (*SmartWallet)(nil), // 34: aggregator.SmartWallet - (*ListWalletResp)(nil), // 35: aggregator.ListWalletResp - (*ListTasksReq)(nil), // 36: aggregator.ListTasksReq - (*ListTasksResp)(nil), // 37: aggregator.ListTasksResp - (*GetKeyReq)(nil), // 38: aggregator.GetKeyReq - (*KeyResp)(nil), // 39: aggregator.KeyResp - (*TriggerMark)(nil), // 40: aggregator.TriggerMark - (*NotifyTriggersReq)(nil), // 41: aggregator.NotifyTriggersReq - (*NotifyTriggersResp)(nil), // 42: aggregator.NotifyTriggersResp - (*CreateWalletReq)(nil), // 43: aggregator.CreateWalletReq - (*CreateWalletResp)(nil), // 44: aggregator.CreateWalletResp - (*Checkin_Status)(nil), // 45: aggregator.Checkin.Status - (*SyncMessagesResp_TaskMetadata)(nil), // 46: aggregator.SyncMessagesResp.TaskMetadata - nil, // 47: aggregator.GraphQLQueryNode.VariablesEntry - nil, // 48: aggregator.RestAPINode.HeadersEntry - (*Execution_Step)(nil), // 49: aggregator.Execution.Step - (*timestamppb.Timestamp)(nil), // 50: google.protobuf.Timestamp - (*wrapperspb.BoolValue)(nil), // 51: google.protobuf.BoolValue + (Error)(0), // 0: aggregator.Error + (TaskStatus)(0), // 1: aggregator.TaskStatus + (CustomCodeLang)(0), // 2: aggregator.CustomCodeLang + (*IdReq)(nil), // 3: aggregator.IdReq + (*FixedEpochCondition)(nil), // 4: aggregator.FixedEpochCondition + (*CronCondition)(nil), // 5: aggregator.CronCondition + (*BlockCondition)(nil), // 6: aggregator.BlockCondition + (*EventCondition)(nil), // 7: aggregator.EventCondition + (*TaskTrigger)(nil), // 8: aggregator.TaskTrigger + (*ETHTransferNode)(nil), // 9: aggregator.ETHTransferNode + (*ContractWriteNode)(nil), // 10: aggregator.ContractWriteNode + (*ContractReadNode)(nil), // 11: aggregator.ContractReadNode + (*GraphQLQueryNode)(nil), // 12: aggregator.GraphQLQueryNode + (*RestAPINode)(nil), // 13: aggregator.RestAPINode + (*CustomCodeNode)(nil), // 14: aggregator.CustomCodeNode + (*Condition)(nil), // 15: aggregator.Condition + (*BranchNode)(nil), // 16: aggregator.BranchNode + (*FilterNode)(nil), // 17: aggregator.FilterNode + (*LoopNode)(nil), // 18: aggregator.LoopNode + (*TaskEdge)(nil), // 19: aggregator.TaskEdge + (*TaskNode)(nil), // 20: aggregator.TaskNode + (*Execution)(nil), // 21: aggregator.Execution + (*Task)(nil), // 22: aggregator.Task + (*CreateTaskReq)(nil), // 23: aggregator.CreateTaskReq + (*CreateTaskResp)(nil), // 24: aggregator.CreateTaskResp + (*NonceRequest)(nil), // 25: aggregator.NonceRequest + (*NonceResp)(nil), // 26: aggregator.NonceResp + (*ListWalletReq)(nil), // 27: aggregator.ListWalletReq + (*SmartWallet)(nil), // 28: aggregator.SmartWallet + (*ListWalletResp)(nil), // 29: aggregator.ListWalletResp + (*ListTasksReq)(nil), // 30: aggregator.ListTasksReq + (*ListTasksResp)(nil), // 31: aggregator.ListTasksResp + (*ListExecutionsReq)(nil), // 32: aggregator.ListExecutionsReq + (*ListExecutionsResp)(nil), // 33: aggregator.ListExecutionsResp + (*GetKeyReq)(nil), // 34: aggregator.GetKeyReq + (*KeyResp)(nil), // 35: aggregator.KeyResp + (*TriggerMark)(nil), // 36: aggregator.TriggerMark + (*CreateWalletReq)(nil), // 37: aggregator.CreateWalletReq + (*CreateWalletResp)(nil), // 38: aggregator.CreateWalletResp + nil, // 39: aggregator.GraphQLQueryNode.VariablesEntry + nil, // 40: aggregator.RestAPINode.HeadersEntry + (*Execution_Step)(nil), // 41: aggregator.Execution.Step + (*ListTasksResp_Item)(nil), // 42: aggregator.ListTasksResp.Item + (*wrapperspb.BoolValue)(nil), // 43: google.protobuf.BoolValue } var file_protobuf_avs_proto_depIdxs = []int32{ - 45, // 0: aggregator.Checkin.status:type_name -> aggregator.Checkin.Status - 50, // 1: aggregator.CheckinResp.updated_at:type_name -> google.protobuf.Timestamp - 0, // 2: aggregator.SyncMessagesResp.op:type_name -> aggregator.MessageOp - 46, // 3: aggregator.SyncMessagesResp.task_metadata:type_name -> aggregator.SyncMessagesResp.TaskMetadata - 10, // 4: aggregator.TaskTrigger.fixed_time:type_name -> aggregator.FixedEpochCondition - 11, // 5: aggregator.TaskTrigger.cron:type_name -> aggregator.CronCondition - 12, // 6: aggregator.TaskTrigger.block:type_name -> aggregator.BlockCondition - 13, // 7: aggregator.TaskTrigger.event:type_name -> aggregator.EventCondition - 47, // 8: aggregator.GraphQLQueryNode.variables:type_name -> aggregator.GraphQLQueryNode.VariablesEntry - 48, // 9: aggregator.RestAPINode.headers:type_name -> aggregator.RestAPINode.HeadersEntry - 3, // 10: aggregator.CustomCodeNode.lang:type_name -> aggregator.CustomCodeLang - 21, // 11: aggregator.BranchNode.conditions:type_name -> aggregator.Condition - 15, // 12: aggregator.LoopNode.eth_transfer:type_name -> aggregator.ETHTransferNode - 16, // 13: aggregator.LoopNode.contract_write:type_name -> aggregator.ContractWriteNode - 17, // 14: aggregator.LoopNode.contract_read:type_name -> aggregator.ContractReadNode - 18, // 15: aggregator.LoopNode.graphql_data_query:type_name -> aggregator.GraphQLQueryNode - 19, // 16: aggregator.LoopNode.rest_api:type_name -> aggregator.RestAPINode - 20, // 17: aggregator.LoopNode.custom_code:type_name -> aggregator.CustomCodeNode - 15, // 18: aggregator.TaskNode.eth_transfer:type_name -> aggregator.ETHTransferNode - 16, // 19: aggregator.TaskNode.contract_write:type_name -> aggregator.ContractWriteNode - 17, // 20: aggregator.TaskNode.contract_read:type_name -> aggregator.ContractReadNode - 18, // 21: aggregator.TaskNode.graphql_data_query:type_name -> aggregator.GraphQLQueryNode - 19, // 22: aggregator.TaskNode.rest_api:type_name -> aggregator.RestAPINode - 22, // 23: aggregator.TaskNode.branch:type_name -> aggregator.BranchNode - 23, // 24: aggregator.TaskNode.filter:type_name -> aggregator.FilterNode - 24, // 25: aggregator.TaskNode.loop:type_name -> aggregator.LoopNode - 20, // 26: aggregator.TaskNode.custom_code:type_name -> aggregator.CustomCodeNode - 40, // 27: aggregator.Execution.trigger_mark:type_name -> aggregator.TriggerMark - 49, // 28: aggregator.Execution.steps:type_name -> aggregator.Execution.Step - 2, // 29: aggregator.Task.status:type_name -> aggregator.TaskStatus - 14, // 30: aggregator.Task.trigger:type_name -> aggregator.TaskTrigger - 26, // 31: aggregator.Task.nodes:type_name -> aggregator.TaskNode - 25, // 32: aggregator.Task.edges:type_name -> aggregator.TaskEdge - 27, // 33: aggregator.Task.executions:type_name -> aggregator.Execution - 14, // 34: aggregator.CreateTaskReq.trigger:type_name -> aggregator.TaskTrigger - 26, // 35: aggregator.CreateTaskReq.nodes:type_name -> aggregator.TaskNode - 25, // 36: aggregator.CreateTaskReq.edges:type_name -> aggregator.TaskEdge - 34, // 37: aggregator.ListWalletResp.wallets:type_name -> aggregator.SmartWallet - 28, // 38: aggregator.ListTasksResp.tasks:type_name -> aggregator.Task - 40, // 39: aggregator.NotifyTriggersReq.trigger_marker:type_name -> aggregator.TriggerMark - 50, // 40: aggregator.NotifyTriggersResp.updated_at:type_name -> google.protobuf.Timestamp - 50, // 41: aggregator.Checkin.Status.last_heartbeat:type_name -> google.protobuf.Timestamp - 14, // 42: aggregator.SyncMessagesResp.TaskMetadata.trigger:type_name -> aggregator.TaskTrigger - 38, // 43: aggregator.Aggregator.GetKey:input_type -> aggregator.GetKeyReq - 31, // 44: aggregator.Aggregator.GetNonce:input_type -> aggregator.NonceRequest - 43, // 45: aggregator.Aggregator.CreateWallet:input_type -> aggregator.CreateWalletReq - 33, // 46: aggregator.Aggregator.ListWallets:input_type -> aggregator.ListWalletReq - 29, // 47: aggregator.Aggregator.CreateTask:input_type -> aggregator.CreateTaskReq - 36, // 48: aggregator.Aggregator.ListTasks:input_type -> aggregator.ListTasksReq - 4, // 49: aggregator.Aggregator.GetTask:input_type -> aggregator.IdReq - 4, // 50: aggregator.Aggregator.CancelTask:input_type -> aggregator.IdReq - 4, // 51: aggregator.Aggregator.DeleteTask:input_type -> aggregator.IdReq - 5, // 52: aggregator.Node.Ping:input_type -> aggregator.Checkin - 7, // 53: aggregator.Node.SyncMessages:input_type -> aggregator.SyncMessagesReq - 9, // 54: aggregator.Node.Ack:input_type -> aggregator.AckMessageReq - 41, // 55: aggregator.Node.NotifyTriggers:input_type -> aggregator.NotifyTriggersReq - 39, // 56: aggregator.Aggregator.GetKey:output_type -> aggregator.KeyResp - 32, // 57: aggregator.Aggregator.GetNonce:output_type -> aggregator.NonceResp - 44, // 58: aggregator.Aggregator.CreateWallet:output_type -> aggregator.CreateWalletResp - 35, // 59: aggregator.Aggregator.ListWallets:output_type -> aggregator.ListWalletResp - 30, // 60: aggregator.Aggregator.CreateTask:output_type -> aggregator.CreateTaskResp - 37, // 61: aggregator.Aggregator.ListTasks:output_type -> aggregator.ListTasksResp - 28, // 62: aggregator.Aggregator.GetTask:output_type -> aggregator.Task - 51, // 63: aggregator.Aggregator.CancelTask:output_type -> google.protobuf.BoolValue - 51, // 64: aggregator.Aggregator.DeleteTask:output_type -> google.protobuf.BoolValue - 6, // 65: aggregator.Node.Ping:output_type -> aggregator.CheckinResp - 8, // 66: aggregator.Node.SyncMessages:output_type -> aggregator.SyncMessagesResp - 51, // 67: aggregator.Node.Ack:output_type -> google.protobuf.BoolValue - 42, // 68: aggregator.Node.NotifyTriggers:output_type -> aggregator.NotifyTriggersResp - 56, // [56:69] is the sub-list for method output_type - 43, // [43:56] 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 + 4, // 0: aggregator.TaskTrigger.fixed_time:type_name -> aggregator.FixedEpochCondition + 5, // 1: aggregator.TaskTrigger.cron:type_name -> aggregator.CronCondition + 6, // 2: aggregator.TaskTrigger.block:type_name -> aggregator.BlockCondition + 7, // 3: aggregator.TaskTrigger.event:type_name -> aggregator.EventCondition + 39, // 4: aggregator.GraphQLQueryNode.variables:type_name -> aggregator.GraphQLQueryNode.VariablesEntry + 40, // 5: aggregator.RestAPINode.headers:type_name -> aggregator.RestAPINode.HeadersEntry + 2, // 6: aggregator.CustomCodeNode.lang:type_name -> aggregator.CustomCodeLang + 15, // 7: aggregator.BranchNode.conditions:type_name -> aggregator.Condition + 9, // 8: aggregator.LoopNode.eth_transfer:type_name -> aggregator.ETHTransferNode + 10, // 9: aggregator.LoopNode.contract_write:type_name -> aggregator.ContractWriteNode + 11, // 10: aggregator.LoopNode.contract_read:type_name -> aggregator.ContractReadNode + 12, // 11: aggregator.LoopNode.graphql_data_query:type_name -> aggregator.GraphQLQueryNode + 13, // 12: aggregator.LoopNode.rest_api:type_name -> aggregator.RestAPINode + 14, // 13: aggregator.LoopNode.custom_code:type_name -> aggregator.CustomCodeNode + 9, // 14: aggregator.TaskNode.eth_transfer:type_name -> aggregator.ETHTransferNode + 10, // 15: aggregator.TaskNode.contract_write:type_name -> aggregator.ContractWriteNode + 11, // 16: aggregator.TaskNode.contract_read:type_name -> aggregator.ContractReadNode + 12, // 17: aggregator.TaskNode.graphql_data_query:type_name -> aggregator.GraphQLQueryNode + 13, // 18: aggregator.TaskNode.rest_api:type_name -> aggregator.RestAPINode + 16, // 19: aggregator.TaskNode.branch:type_name -> aggregator.BranchNode + 17, // 20: aggregator.TaskNode.filter:type_name -> aggregator.FilterNode + 18, // 21: aggregator.TaskNode.loop:type_name -> aggregator.LoopNode + 14, // 22: aggregator.TaskNode.custom_code:type_name -> aggregator.CustomCodeNode + 36, // 23: aggregator.Execution.trigger_mark:type_name -> aggregator.TriggerMark + 41, // 24: aggregator.Execution.steps:type_name -> aggregator.Execution.Step + 1, // 25: aggregator.Task.status:type_name -> aggregator.TaskStatus + 8, // 26: aggregator.Task.trigger:type_name -> aggregator.TaskTrigger + 20, // 27: aggregator.Task.nodes:type_name -> aggregator.TaskNode + 19, // 28: aggregator.Task.edges:type_name -> aggregator.TaskEdge + 8, // 29: aggregator.CreateTaskReq.trigger:type_name -> aggregator.TaskTrigger + 20, // 30: aggregator.CreateTaskReq.nodes:type_name -> aggregator.TaskNode + 19, // 31: aggregator.CreateTaskReq.edges:type_name -> aggregator.TaskEdge + 28, // 32: aggregator.ListWalletResp.wallets:type_name -> aggregator.SmartWallet + 42, // 33: aggregator.ListTasksResp.tasks:type_name -> aggregator.ListTasksResp.Item + 21, // 34: aggregator.ListExecutionsResp.executions:type_name -> aggregator.Execution + 1, // 35: aggregator.ListTasksResp.Item.status:type_name -> aggregator.TaskStatus + 8, // 36: aggregator.ListTasksResp.Item.trigger:type_name -> aggregator.TaskTrigger + 34, // 37: aggregator.Aggregator.GetKey:input_type -> aggregator.GetKeyReq + 25, // 38: aggregator.Aggregator.GetNonce:input_type -> aggregator.NonceRequest + 37, // 39: aggregator.Aggregator.CreateWallet:input_type -> aggregator.CreateWalletReq + 27, // 40: aggregator.Aggregator.ListWallets:input_type -> aggregator.ListWalletReq + 23, // 41: aggregator.Aggregator.CreateTask:input_type -> aggregator.CreateTaskReq + 30, // 42: aggregator.Aggregator.ListTasks:input_type -> aggregator.ListTasksReq + 3, // 43: aggregator.Aggregator.GetTask:input_type -> aggregator.IdReq + 32, // 44: aggregator.Aggregator.ListExecutions:input_type -> aggregator.ListExecutionsReq + 3, // 45: aggregator.Aggregator.CancelTask:input_type -> aggregator.IdReq + 3, // 46: aggregator.Aggregator.DeleteTask:input_type -> aggregator.IdReq + 35, // 47: aggregator.Aggregator.GetKey:output_type -> aggregator.KeyResp + 26, // 48: aggregator.Aggregator.GetNonce:output_type -> aggregator.NonceResp + 38, // 49: aggregator.Aggregator.CreateWallet:output_type -> aggregator.CreateWalletResp + 29, // 50: aggregator.Aggregator.ListWallets:output_type -> aggregator.ListWalletResp + 24, // 51: aggregator.Aggregator.CreateTask:output_type -> aggregator.CreateTaskResp + 31, // 52: aggregator.Aggregator.ListTasks:output_type -> aggregator.ListTasksResp + 22, // 53: aggregator.Aggregator.GetTask:output_type -> aggregator.Task + 33, // 54: aggregator.Aggregator.ListExecutions:output_type -> aggregator.ListExecutionsResp + 43, // 55: aggregator.Aggregator.CancelTask:output_type -> google.protobuf.BoolValue + 43, // 56: aggregator.Aggregator.DeleteTask:output_type -> google.protobuf.BoolValue + 47, // [47:57] is the sub-list for method output_type + 37, // [37:47] is the sub-list for method input_type + 37, // [37:37] is the sub-list for extension type_name + 37, // [37:37] is the sub-list for extension extendee + 0, // [0:37] is the sub-list for field type_name } func init() { file_protobuf_avs_proto_init() } @@ -3920,7 +3548,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Checkin); i { + switch v := v.(*FixedEpochCondition); i { case 0: return &v.state case 1: @@ -3932,7 +3560,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CheckinResp); i { + switch v := v.(*CronCondition); i { case 0: return &v.state case 1: @@ -3944,7 +3572,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SyncMessagesReq); i { + switch v := v.(*BlockCondition); i { case 0: return &v.state case 1: @@ -3956,7 +3584,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SyncMessagesResp); i { + switch v := v.(*EventCondition); i { case 0: return &v.state case 1: @@ -3968,7 +3596,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AckMessageReq); i { + switch v := v.(*TaskTrigger); i { case 0: return &v.state case 1: @@ -3980,7 +3608,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FixedEpochCondition); i { + switch v := v.(*ETHTransferNode); i { case 0: return &v.state case 1: @@ -3992,7 +3620,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CronCondition); i { + switch v := v.(*ContractWriteNode); i { case 0: return &v.state case 1: @@ -4004,7 +3632,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BlockCondition); i { + switch v := v.(*ContractReadNode); i { case 0: return &v.state case 1: @@ -4016,7 +3644,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventCondition); i { + switch v := v.(*GraphQLQueryNode); i { case 0: return &v.state case 1: @@ -4028,7 +3656,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TaskTrigger); i { + switch v := v.(*RestAPINode); i { case 0: return &v.state case 1: @@ -4040,7 +3668,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ETHTransferNode); i { + switch v := v.(*CustomCodeNode); i { case 0: return &v.state case 1: @@ -4052,7 +3680,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContractWriteNode); i { + switch v := v.(*Condition); i { case 0: return &v.state case 1: @@ -4064,7 +3692,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContractReadNode); i { + switch v := v.(*BranchNode); i { case 0: return &v.state case 1: @@ -4076,7 +3704,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GraphQLQueryNode); i { + switch v := v.(*FilterNode); i { case 0: return &v.state case 1: @@ -4088,7 +3716,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RestAPINode); i { + switch v := v.(*LoopNode); i { case 0: return &v.state case 1: @@ -4100,7 +3728,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CustomCodeNode); i { + switch v := v.(*TaskEdge); i { case 0: return &v.state case 1: @@ -4112,7 +3740,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Condition); i { + switch v := v.(*TaskNode); i { case 0: return &v.state case 1: @@ -4124,7 +3752,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BranchNode); i { + switch v := v.(*Execution); i { case 0: return &v.state case 1: @@ -4136,7 +3764,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FilterNode); i { + switch v := v.(*Task); i { case 0: return &v.state case 1: @@ -4148,7 +3776,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LoopNode); i { + switch v := v.(*CreateTaskReq); i { case 0: return &v.state case 1: @@ -4160,7 +3788,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TaskEdge); i { + switch v := v.(*CreateTaskResp); i { case 0: return &v.state case 1: @@ -4172,7 +3800,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TaskNode); i { + switch v := v.(*NonceRequest); i { case 0: return &v.state case 1: @@ -4184,7 +3812,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Execution); i { + switch v := v.(*NonceResp); i { case 0: return &v.state case 1: @@ -4196,7 +3824,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Task); i { + switch v := v.(*ListWalletReq); i { case 0: return &v.state case 1: @@ -4208,7 +3836,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateTaskReq); i { + switch v := v.(*SmartWallet); i { case 0: return &v.state case 1: @@ -4220,7 +3848,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateTaskResp); i { + switch v := v.(*ListWalletResp); i { case 0: return &v.state case 1: @@ -4232,7 +3860,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NonceRequest); i { + switch v := v.(*ListTasksReq); i { case 0: return &v.state case 1: @@ -4244,7 +3872,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NonceResp); i { + switch v := v.(*ListTasksResp); i { case 0: return &v.state case 1: @@ -4256,7 +3884,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListWalletReq); i { + switch v := v.(*ListExecutionsReq); i { case 0: return &v.state case 1: @@ -4268,7 +3896,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SmartWallet); i { + switch v := v.(*ListExecutionsResp); i { case 0: return &v.state case 1: @@ -4280,7 +3908,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListWalletResp); i { + switch v := v.(*GetKeyReq); i { case 0: return &v.state case 1: @@ -4292,7 +3920,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListTasksReq); i { + switch v := v.(*KeyResp); i { case 0: return &v.state case 1: @@ -4304,7 +3932,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListTasksResp); i { + switch v := v.(*TriggerMark); i { case 0: return &v.state case 1: @@ -4316,7 +3944,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetKeyReq); i { + switch v := v.(*CreateWalletReq); i { case 0: return &v.state case 1: @@ -4328,31 +3956,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KeyResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_protobuf_avs_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TriggerMark); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_protobuf_avs_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NotifyTriggersReq); i { + switch v := v.(*CreateWalletResp); i { case 0: return &v.state case 1: @@ -4364,7 +3968,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NotifyTriggersResp); i { + switch v := v.(*Execution_Step); i { case 0: return &v.state case 1: @@ -4376,55 +3980,7 @@ func file_protobuf_avs_proto_init() { } } file_protobuf_avs_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateWalletReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_protobuf_avs_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateWalletResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_protobuf_avs_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Checkin_Status); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_protobuf_avs_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SyncMessagesResp_TaskMetadata); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_protobuf_avs_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Execution_Step); i { + switch v := v.(*ListTasksResp_Item); i { case 0: return &v.state case 1: @@ -4436,14 +3992,14 @@ func file_protobuf_avs_proto_init() { } } } - file_protobuf_avs_proto_msgTypes[10].OneofWrappers = []interface{}{ + file_protobuf_avs_proto_msgTypes[5].OneofWrappers = []interface{}{ (*TaskTrigger_Manual)(nil), (*TaskTrigger_FixedTime)(nil), (*TaskTrigger_Cron)(nil), (*TaskTrigger_Block)(nil), (*TaskTrigger_Event)(nil), } - file_protobuf_avs_proto_msgTypes[20].OneofWrappers = []interface{}{ + file_protobuf_avs_proto_msgTypes[15].OneofWrappers = []interface{}{ (*LoopNode_EthTransfer)(nil), (*LoopNode_ContractWrite)(nil), (*LoopNode_ContractRead)(nil), @@ -4451,7 +4007,7 @@ func file_protobuf_avs_proto_init() { (*LoopNode_RestApi)(nil), (*LoopNode_CustomCode)(nil), } - file_protobuf_avs_proto_msgTypes[22].OneofWrappers = []interface{}{ + file_protobuf_avs_proto_msgTypes[17].OneofWrappers = []interface{}{ (*TaskNode_EthTransfer)(nil), (*TaskNode_ContractWrite)(nil), (*TaskNode_ContractRead)(nil), @@ -4467,10 +4023,10 @@ func file_protobuf_avs_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_protobuf_avs_proto_rawDesc, - NumEnums: 4, - NumMessages: 46, + NumEnums: 3, + NumMessages: 40, NumExtensions: 0, - NumServices: 2, + NumServices: 1, }, GoTypes: file_protobuf_avs_proto_goTypes, DependencyIndexes: file_protobuf_avs_proto_depIdxs, diff --git a/protobuf/avs.proto b/protobuf/avs.proto index 475e43f..8b674bf 100644 --- a/protobuf/avs.proto +++ b/protobuf/avs.proto @@ -3,71 +3,12 @@ package aggregator; option go_package = "./avsproto"; -import "google/protobuf/timestamp.proto"; import "google/protobuf/wrappers.proto"; message IdReq { string id = 1; } -message Checkin { - string id = 1; - string address = 2; - string signature = 3; - - message Status { - int64 uptime = 1; - int64 queueDepth = 2; - google.protobuf.Timestamp last_heartbeat = 3; - } - - Status status = 4; - - string version = 5; - int32 metricsPort = 6; - string remoteIP = 7; -} - -message CheckinResp { - google.protobuf.Timestamp updated_at = 1; -} - -message SyncMessagesReq { - string id = 1; - string address = 2; - bytes signature = 3; - int64 monotonic_clock = 4; -} - -enum MessageOp { - Unset = 0; - MonitorTaskTrigger = 1; - CancelTask = 2; - DeleteTask = 3; - CompletedTask = 4; -} - -message SyncMessagesResp { - // message id is used to support dedup - string id = 1; - MessageOp op = 2; - - message TaskMetadata { - string task_id = 1; - // how many time this task can run - int64 remain = 2; - int64 expired_at = 3; - TaskTrigger trigger = 4; - }; - - TaskMetadata task_metadata = 3; -} - -message AckMessageReq { - string id = 1; -} - - message FixedEpochCondition { repeated int64 epochs = 1; } @@ -263,14 +204,17 @@ message TaskNode { CustomCodeNode custom_code = 18; } } + message Execution { - int64 epoch = 1; - bool success = 2; - string error = 3; + string id = 1; + int64 start_at = 2; + int64 end_at = 3; + bool success = 4; + string error = 5; - TriggerMark trigger_mark = 4; + TriggerMark trigger_mark = 6; // final return data of the whole execution of the task - string result = 5; + string result = 7; message Step { string node_id = 1; @@ -279,9 +223,11 @@ message Execution { string output_data = 3; string log = 4; string error = 5; + int64 start_at = 6; + int64 end_at = 7; } - repeated Step steps = 6; + repeated Step steps = 8; } message Task { @@ -300,13 +246,14 @@ message Task { // limit on how many time this task can run. Set to 0 will make it run unlimited until cancelling or reaching its expired time int64 max_execution = 8; + // return how many time this task has run + int64 total_execution = 9; + int64 last_ran_at = 10; - TaskStatus status = 9; - TaskTrigger trigger = 10; - repeated TaskNode nodes = 11; - repeated TaskEdge edges = 12; - - repeated Execution executions = 13; + TaskStatus status = 11; + TaskTrigger trigger = 12; + repeated TaskNode nodes = 13; + repeated TaskEdge edges = 14; } @@ -360,10 +307,48 @@ message ListWalletResp { message ListTasksReq { // Filter out by the smart_wallet_address string smart_wallet_address = 1; + string cursor = 2; + int64 item_per_page = 3; } message ListTasksResp { - repeated Task tasks = 1; + message Item { + string id = 1; + string owner = 2; + string smart_wallet_address = 3; + + // task won't be check before this + int64 start_at = 4; + // task won't be run/check after this + int64 expired_at = 5; + // arbitrary data about this task. has a limit of 255 character + string memo = 6; + + int64 completed_at = 7; + + // limit on how many time this task can run. Set to 0 will make it run unlimited until cancelling or reaching its expired time + int64 max_execution = 8; + // return how many time this task has run + int64 total_execution = 9; + int64 last_ran_at = 10; + + TaskStatus status = 11; + TaskTrigger trigger = 12; + } + + repeated Item tasks = 1; + string cursor = 2; +} + +message ListExecutionsReq { + string id = 1; + string cursor = 2; + int64 item_per_page = 3; +} + +message ListExecutionsResp { + repeated Execution executions = 1; + string cursor = 2; } message GetKeyReq { @@ -383,18 +368,6 @@ message TriggerMark { string tx_hash = 3; } -message NotifyTriggersReq { - string address = 1; - string signature = 2; - - string task_id = 3; - TriggerMark trigger_marker = 4; -} - -message NotifyTriggersResp { - google.protobuf.Timestamp updated_at = 1; -} - message CreateWalletReq { string salt = 1; // this is the factory address for the wallet, when leaving its empty, we will use our default factory address @@ -419,15 +392,8 @@ service Aggregator { // Task Management rpc CreateTask(CreateTaskReq) returns (CreateTaskResp) {}; rpc ListTasks(ListTasksReq) returns (ListTasksResp) {}; - rpc GetTask(IdReq) returns (Task) {}; + rpc GetTask(IdReq) returns (Task) {}; + rpc ListExecutions(ListExecutionsReq) returns (ListExecutionsResp) {}; rpc CancelTask(IdReq) returns (google.protobuf.BoolValue) {}; rpc DeleteTask(IdReq) returns (google.protobuf.BoolValue) {}; } - -service Node { - // Operator endpoint - rpc Ping(Checkin) returns (CheckinResp) {}; - rpc SyncMessages(SyncMessagesReq) returns (stream SyncMessagesResp) {}; - rpc Ack(AckMessageReq) returns (google.protobuf.BoolValue) {}; - rpc NotifyTriggers(NotifyTriggersReq) returns (NotifyTriggersResp) {}; -} diff --git a/protobuf/avs_grpc.pb.go b/protobuf/avs_grpc.pb.go index 243f5fb..ae3f53e 100644 --- a/protobuf/avs_grpc.pb.go +++ b/protobuf/avs_grpc.pb.go @@ -33,6 +33,7 @@ type AggregatorClient interface { CreateTask(ctx context.Context, in *CreateTaskReq, opts ...grpc.CallOption) (*CreateTaskResp, error) ListTasks(ctx context.Context, in *ListTasksReq, opts ...grpc.CallOption) (*ListTasksResp, error) GetTask(ctx context.Context, in *IdReq, opts ...grpc.CallOption) (*Task, error) + ListExecutions(ctx context.Context, in *ListExecutionsReq, opts ...grpc.CallOption) (*ListExecutionsResp, error) CancelTask(ctx context.Context, in *IdReq, opts ...grpc.CallOption) (*wrapperspb.BoolValue, error) DeleteTask(ctx context.Context, in *IdReq, opts ...grpc.CallOption) (*wrapperspb.BoolValue, error) } @@ -108,6 +109,15 @@ func (c *aggregatorClient) GetTask(ctx context.Context, in *IdReq, opts ...grpc. return out, nil } +func (c *aggregatorClient) ListExecutions(ctx context.Context, in *ListExecutionsReq, opts ...grpc.CallOption) (*ListExecutionsResp, error) { + out := new(ListExecutionsResp) + err := c.cc.Invoke(ctx, "/aggregator.Aggregator/ListExecutions", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *aggregatorClient) CancelTask(ctx context.Context, in *IdReq, opts ...grpc.CallOption) (*wrapperspb.BoolValue, error) { out := new(wrapperspb.BoolValue) err := c.cc.Invoke(ctx, "/aggregator.Aggregator/CancelTask", in, out, opts...) @@ -140,6 +150,7 @@ type AggregatorServer interface { CreateTask(context.Context, *CreateTaskReq) (*CreateTaskResp, error) ListTasks(context.Context, *ListTasksReq) (*ListTasksResp, error) GetTask(context.Context, *IdReq) (*Task, error) + ListExecutions(context.Context, *ListExecutionsReq) (*ListExecutionsResp, error) CancelTask(context.Context, *IdReq) (*wrapperspb.BoolValue, error) DeleteTask(context.Context, *IdReq) (*wrapperspb.BoolValue, error) mustEmbedUnimplementedAggregatorServer() @@ -170,6 +181,9 @@ func (UnimplementedAggregatorServer) ListTasks(context.Context, *ListTasksReq) ( func (UnimplementedAggregatorServer) GetTask(context.Context, *IdReq) (*Task, error) { return nil, status.Errorf(codes.Unimplemented, "method GetTask not implemented") } +func (UnimplementedAggregatorServer) ListExecutions(context.Context, *ListExecutionsReq) (*ListExecutionsResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListExecutions not implemented") +} func (UnimplementedAggregatorServer) CancelTask(context.Context, *IdReq) (*wrapperspb.BoolValue, error) { return nil, status.Errorf(codes.Unimplemented, "method CancelTask not implemented") } @@ -315,6 +329,24 @@ func _Aggregator_GetTask_Handler(srv interface{}, ctx context.Context, dec func( return interceptor(ctx, in, info, handler) } +func _Aggregator_ListExecutions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListExecutionsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AggregatorServer).ListExecutions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/aggregator.Aggregator/ListExecutions", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AggregatorServer).ListExecutions(ctx, req.(*ListExecutionsReq)) + } + return interceptor(ctx, in, info, handler) +} + func _Aggregator_CancelTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(IdReq) if err := dec(in); err != nil { @@ -386,6 +418,10 @@ var Aggregator_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetTask", Handler: _Aggregator_GetTask_Handler, }, + { + MethodName: "ListExecutions", + Handler: _Aggregator_ListExecutions_Handler, + }, { MethodName: "CancelTask", Handler: _Aggregator_CancelTask_Handler, @@ -398,227 +434,3 @@ var Aggregator_ServiceDesc = grpc.ServiceDesc{ Streams: []grpc.StreamDesc{}, Metadata: "protobuf/avs.proto", } - -// NodeClient is the client API for Node service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type NodeClient interface { - // Operator endpoint - Ping(ctx context.Context, in *Checkin, opts ...grpc.CallOption) (*CheckinResp, error) - SyncMessages(ctx context.Context, in *SyncMessagesReq, opts ...grpc.CallOption) (Node_SyncMessagesClient, error) - Ack(ctx context.Context, in *AckMessageReq, opts ...grpc.CallOption) (*wrapperspb.BoolValue, error) - NotifyTriggers(ctx context.Context, in *NotifyTriggersReq, opts ...grpc.CallOption) (*NotifyTriggersResp, error) -} - -type nodeClient struct { - cc grpc.ClientConnInterface -} - -func NewNodeClient(cc grpc.ClientConnInterface) NodeClient { - return &nodeClient{cc} -} - -func (c *nodeClient) Ping(ctx context.Context, in *Checkin, opts ...grpc.CallOption) (*CheckinResp, error) { - out := new(CheckinResp) - err := c.cc.Invoke(ctx, "/aggregator.Node/Ping", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *nodeClient) SyncMessages(ctx context.Context, in *SyncMessagesReq, opts ...grpc.CallOption) (Node_SyncMessagesClient, error) { - stream, err := c.cc.NewStream(ctx, &Node_ServiceDesc.Streams[0], "/aggregator.Node/SyncMessages", opts...) - if err != nil { - return nil, err - } - x := &nodeSyncMessagesClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type Node_SyncMessagesClient interface { - Recv() (*SyncMessagesResp, error) - grpc.ClientStream -} - -type nodeSyncMessagesClient struct { - grpc.ClientStream -} - -func (x *nodeSyncMessagesClient) Recv() (*SyncMessagesResp, error) { - m := new(SyncMessagesResp) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *nodeClient) Ack(ctx context.Context, in *AckMessageReq, opts ...grpc.CallOption) (*wrapperspb.BoolValue, error) { - out := new(wrapperspb.BoolValue) - err := c.cc.Invoke(ctx, "/aggregator.Node/Ack", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *nodeClient) NotifyTriggers(ctx context.Context, in *NotifyTriggersReq, opts ...grpc.CallOption) (*NotifyTriggersResp, error) { - out := new(NotifyTriggersResp) - err := c.cc.Invoke(ctx, "/aggregator.Node/NotifyTriggers", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// NodeServer is the server API for Node service. -// All implementations must embed UnimplementedNodeServer -// for forward compatibility -type NodeServer interface { - // Operator endpoint - Ping(context.Context, *Checkin) (*CheckinResp, error) - SyncMessages(*SyncMessagesReq, Node_SyncMessagesServer) error - Ack(context.Context, *AckMessageReq) (*wrapperspb.BoolValue, error) - NotifyTriggers(context.Context, *NotifyTriggersReq) (*NotifyTriggersResp, error) - mustEmbedUnimplementedNodeServer() -} - -// UnimplementedNodeServer must be embedded to have forward compatible implementations. -type UnimplementedNodeServer struct { -} - -func (UnimplementedNodeServer) Ping(context.Context, *Checkin) (*CheckinResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method Ping not implemented") -} -func (UnimplementedNodeServer) SyncMessages(*SyncMessagesReq, Node_SyncMessagesServer) error { - return status.Errorf(codes.Unimplemented, "method SyncMessages not implemented") -} -func (UnimplementedNodeServer) Ack(context.Context, *AckMessageReq) (*wrapperspb.BoolValue, error) { - return nil, status.Errorf(codes.Unimplemented, "method Ack not implemented") -} -func (UnimplementedNodeServer) NotifyTriggers(context.Context, *NotifyTriggersReq) (*NotifyTriggersResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method NotifyTriggers not implemented") -} -func (UnimplementedNodeServer) mustEmbedUnimplementedNodeServer() {} - -// UnsafeNodeServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to NodeServer will -// result in compilation errors. -type UnsafeNodeServer interface { - mustEmbedUnimplementedNodeServer() -} - -func RegisterNodeServer(s grpc.ServiceRegistrar, srv NodeServer) { - s.RegisterService(&Node_ServiceDesc, srv) -} - -func _Node_Ping_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(Checkin) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(NodeServer).Ping(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/aggregator.Node/Ping", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NodeServer).Ping(ctx, req.(*Checkin)) - } - return interceptor(ctx, in, info, handler) -} - -func _Node_SyncMessages_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(SyncMessagesReq) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(NodeServer).SyncMessages(m, &nodeSyncMessagesServer{stream}) -} - -type Node_SyncMessagesServer interface { - Send(*SyncMessagesResp) error - grpc.ServerStream -} - -type nodeSyncMessagesServer struct { - grpc.ServerStream -} - -func (x *nodeSyncMessagesServer) Send(m *SyncMessagesResp) error { - return x.ServerStream.SendMsg(m) -} - -func _Node_Ack_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AckMessageReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(NodeServer).Ack(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/aggregator.Node/Ack", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NodeServer).Ack(ctx, req.(*AckMessageReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _Node_NotifyTriggers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NotifyTriggersReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(NodeServer).NotifyTriggers(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/aggregator.Node/NotifyTriggers", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NodeServer).NotifyTriggers(ctx, req.(*NotifyTriggersReq)) - } - return interceptor(ctx, in, info, handler) -} - -// Node_ServiceDesc is the grpc.ServiceDesc for Node service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var Node_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "aggregator.Node", - HandlerType: (*NodeServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "Ping", - Handler: _Node_Ping_Handler, - }, - { - MethodName: "Ack", - Handler: _Node_Ack_Handler, - }, - { - MethodName: "NotifyTriggers", - Handler: _Node_NotifyTriggers_Handler, - }, - }, - Streams: []grpc.StreamDesc{ - { - StreamName: "SyncMessages", - Handler: _Node_SyncMessages_Handler, - ServerStreams: true, - }, - }, - Metadata: "protobuf/avs.proto", -} diff --git a/protobuf/node.pb.go b/protobuf/node.pb.go new file mode 100644 index 0000000..8b63c14 --- /dev/null +++ b/protobuf/node.pb.go @@ -0,0 +1,956 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v5.27.0 +// source: protobuf/node.proto + +package avsproto + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type MessageOp int32 + +const ( + MessageOp_Unset MessageOp = 0 + MessageOp_MonitorTaskTrigger MessageOp = 1 + MessageOp_CancelTask MessageOp = 2 + MessageOp_DeleteTask MessageOp = 3 + MessageOp_CompletedTask MessageOp = 4 +) + +// Enum value maps for MessageOp. +var ( + MessageOp_name = map[int32]string{ + 0: "Unset", + 1: "MonitorTaskTrigger", + 2: "CancelTask", + 3: "DeleteTask", + 4: "CompletedTask", + } + MessageOp_value = map[string]int32{ + "Unset": 0, + "MonitorTaskTrigger": 1, + "CancelTask": 2, + "DeleteTask": 3, + "CompletedTask": 4, + } +) + +func (x MessageOp) Enum() *MessageOp { + p := new(MessageOp) + *p = x + return p +} + +func (x MessageOp) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (MessageOp) Descriptor() protoreflect.EnumDescriptor { + return file_protobuf_node_proto_enumTypes[0].Descriptor() +} + +func (MessageOp) Type() protoreflect.EnumType { + return &file_protobuf_node_proto_enumTypes[0] +} + +func (x MessageOp) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use MessageOp.Descriptor instead. +func (MessageOp) EnumDescriptor() ([]byte, []int) { + return file_protobuf_node_proto_rawDescGZIP(), []int{0} +} + +type Checkin struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` + Signature string `protobuf:"bytes,3,opt,name=signature,proto3" json:"signature,omitempty"` + Status *Checkin_Status `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` + Version string `protobuf:"bytes,5,opt,name=version,proto3" json:"version,omitempty"` + MetricsPort int32 `protobuf:"varint,6,opt,name=metricsPort,proto3" json:"metricsPort,omitempty"` + RemoteIP string `protobuf:"bytes,7,opt,name=remoteIP,proto3" json:"remoteIP,omitempty"` +} + +func (x *Checkin) Reset() { + *x = Checkin{} + if protoimpl.UnsafeEnabled { + mi := &file_protobuf_node_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Checkin) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Checkin) ProtoMessage() {} + +func (x *Checkin) ProtoReflect() protoreflect.Message { + mi := &file_protobuf_node_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Checkin.ProtoReflect.Descriptor instead. +func (*Checkin) Descriptor() ([]byte, []int) { + return file_protobuf_node_proto_rawDescGZIP(), []int{0} +} + +func (x *Checkin) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Checkin) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *Checkin) GetSignature() string { + if x != nil { + return x.Signature + } + return "" +} + +func (x *Checkin) GetStatus() *Checkin_Status { + if x != nil { + return x.Status + } + return nil +} + +func (x *Checkin) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *Checkin) GetMetricsPort() int32 { + if x != nil { + return x.MetricsPort + } + return 0 +} + +func (x *Checkin) GetRemoteIP() string { + if x != nil { + return x.RemoteIP + } + return "" +} + +type CheckinResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` +} + +func (x *CheckinResp) Reset() { + *x = CheckinResp{} + if protoimpl.UnsafeEnabled { + mi := &file_protobuf_node_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CheckinResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CheckinResp) ProtoMessage() {} + +func (x *CheckinResp) ProtoReflect() protoreflect.Message { + mi := &file_protobuf_node_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CheckinResp.ProtoReflect.Descriptor instead. +func (*CheckinResp) Descriptor() ([]byte, []int) { + return file_protobuf_node_proto_rawDescGZIP(), []int{1} +} + +func (x *CheckinResp) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +type SyncMessagesReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` + Signature []byte `protobuf:"bytes,3,opt,name=signature,proto3" json:"signature,omitempty"` + MonotonicClock int64 `protobuf:"varint,4,opt,name=monotonic_clock,json=monotonicClock,proto3" json:"monotonic_clock,omitempty"` +} + +func (x *SyncMessagesReq) Reset() { + *x = SyncMessagesReq{} + if protoimpl.UnsafeEnabled { + mi := &file_protobuf_node_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SyncMessagesReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SyncMessagesReq) ProtoMessage() {} + +func (x *SyncMessagesReq) ProtoReflect() protoreflect.Message { + mi := &file_protobuf_node_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SyncMessagesReq.ProtoReflect.Descriptor instead. +func (*SyncMessagesReq) Descriptor() ([]byte, []int) { + return file_protobuf_node_proto_rawDescGZIP(), []int{2} +} + +func (x *SyncMessagesReq) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *SyncMessagesReq) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *SyncMessagesReq) GetSignature() []byte { + if x != nil { + return x.Signature + } + return nil +} + +func (x *SyncMessagesReq) GetMonotonicClock() int64 { + if x != nil { + return x.MonotonicClock + } + return 0 +} + +type SyncMessagesResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // message id is used to support dedup + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Op MessageOp `protobuf:"varint,2,opt,name=op,proto3,enum=aggregator.MessageOp" json:"op,omitempty"` + TaskMetadata *SyncMessagesResp_TaskMetadata `protobuf:"bytes,3,opt,name=task_metadata,json=taskMetadata,proto3" json:"task_metadata,omitempty"` +} + +func (x *SyncMessagesResp) Reset() { + *x = SyncMessagesResp{} + if protoimpl.UnsafeEnabled { + mi := &file_protobuf_node_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SyncMessagesResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SyncMessagesResp) ProtoMessage() {} + +func (x *SyncMessagesResp) ProtoReflect() protoreflect.Message { + mi := &file_protobuf_node_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SyncMessagesResp.ProtoReflect.Descriptor instead. +func (*SyncMessagesResp) Descriptor() ([]byte, []int) { + return file_protobuf_node_proto_rawDescGZIP(), []int{3} +} + +func (x *SyncMessagesResp) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *SyncMessagesResp) GetOp() MessageOp { + if x != nil { + return x.Op + } + return MessageOp_Unset +} + +func (x *SyncMessagesResp) GetTaskMetadata() *SyncMessagesResp_TaskMetadata { + if x != nil { + return x.TaskMetadata + } + return nil +} + +type AckMessageReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *AckMessageReq) Reset() { + *x = AckMessageReq{} + if protoimpl.UnsafeEnabled { + mi := &file_protobuf_node_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AckMessageReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AckMessageReq) ProtoMessage() {} + +func (x *AckMessageReq) ProtoReflect() protoreflect.Message { + mi := &file_protobuf_node_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AckMessageReq.ProtoReflect.Descriptor instead. +func (*AckMessageReq) Descriptor() ([]byte, []int) { + return file_protobuf_node_proto_rawDescGZIP(), []int{4} +} + +func (x *AckMessageReq) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type NotifyTriggersReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` + TaskId string `protobuf:"bytes,3,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` + TriggerMarker *TriggerMark `protobuf:"bytes,4,opt,name=trigger_marker,json=triggerMarker,proto3" json:"trigger_marker,omitempty"` +} + +func (x *NotifyTriggersReq) Reset() { + *x = NotifyTriggersReq{} + if protoimpl.UnsafeEnabled { + mi := &file_protobuf_node_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NotifyTriggersReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NotifyTriggersReq) ProtoMessage() {} + +func (x *NotifyTriggersReq) ProtoReflect() protoreflect.Message { + mi := &file_protobuf_node_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NotifyTriggersReq.ProtoReflect.Descriptor instead. +func (*NotifyTriggersReq) Descriptor() ([]byte, []int) { + return file_protobuf_node_proto_rawDescGZIP(), []int{5} +} + +func (x *NotifyTriggersReq) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *NotifyTriggersReq) GetSignature() string { + if x != nil { + return x.Signature + } + return "" +} + +func (x *NotifyTriggersReq) GetTaskId() string { + if x != nil { + return x.TaskId + } + return "" +} + +func (x *NotifyTriggersReq) GetTriggerMarker() *TriggerMark { + if x != nil { + return x.TriggerMarker + } + return nil +} + +type NotifyTriggersResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` +} + +func (x *NotifyTriggersResp) Reset() { + *x = NotifyTriggersResp{} + if protoimpl.UnsafeEnabled { + mi := &file_protobuf_node_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NotifyTriggersResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NotifyTriggersResp) ProtoMessage() {} + +func (x *NotifyTriggersResp) ProtoReflect() protoreflect.Message { + mi := &file_protobuf_node_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NotifyTriggersResp.ProtoReflect.Descriptor instead. +func (*NotifyTriggersResp) Descriptor() ([]byte, []int) { + return file_protobuf_node_proto_rawDescGZIP(), []int{6} +} + +func (x *NotifyTriggersResp) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +type Checkin_Status struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uptime int64 `protobuf:"varint,1,opt,name=uptime,proto3" json:"uptime,omitempty"` + QueueDepth int64 `protobuf:"varint,2,opt,name=queueDepth,proto3" json:"queueDepth,omitempty"` + LastHeartbeat *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_heartbeat,json=lastHeartbeat,proto3" json:"last_heartbeat,omitempty"` +} + +func (x *Checkin_Status) Reset() { + *x = Checkin_Status{} + if protoimpl.UnsafeEnabled { + mi := &file_protobuf_node_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Checkin_Status) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Checkin_Status) ProtoMessage() {} + +func (x *Checkin_Status) ProtoReflect() protoreflect.Message { + mi := &file_protobuf_node_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Checkin_Status.ProtoReflect.Descriptor instead. +func (*Checkin_Status) Descriptor() ([]byte, []int) { + return file_protobuf_node_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *Checkin_Status) GetUptime() int64 { + if x != nil { + return x.Uptime + } + return 0 +} + +func (x *Checkin_Status) GetQueueDepth() int64 { + if x != nil { + return x.QueueDepth + } + return 0 +} + +func (x *Checkin_Status) GetLastHeartbeat() *timestamppb.Timestamp { + if x != nil { + return x.LastHeartbeat + } + return nil +} + +type SyncMessagesResp_TaskMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` + // how many time this task can run + Remain int64 `protobuf:"varint,2,opt,name=remain,proto3" json:"remain,omitempty"` + ExpiredAt int64 `protobuf:"varint,3,opt,name=expired_at,json=expiredAt,proto3" json:"expired_at,omitempty"` + Trigger *TaskTrigger `protobuf:"bytes,4,opt,name=trigger,proto3" json:"trigger,omitempty"` +} + +func (x *SyncMessagesResp_TaskMetadata) Reset() { + *x = SyncMessagesResp_TaskMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_protobuf_node_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SyncMessagesResp_TaskMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SyncMessagesResp_TaskMetadata) ProtoMessage() {} + +func (x *SyncMessagesResp_TaskMetadata) ProtoReflect() protoreflect.Message { + mi := &file_protobuf_node_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SyncMessagesResp_TaskMetadata.ProtoReflect.Descriptor instead. +func (*SyncMessagesResp_TaskMetadata) Descriptor() ([]byte, []int) { + return file_protobuf_node_proto_rawDescGZIP(), []int{3, 0} +} + +func (x *SyncMessagesResp_TaskMetadata) GetTaskId() string { + if x != nil { + return x.TaskId + } + return "" +} + +func (x *SyncMessagesResp_TaskMetadata) GetRemain() int64 { + if x != nil { + return x.Remain + } + return 0 +} + +func (x *SyncMessagesResp_TaskMetadata) GetExpiredAt() int64 { + if x != nil { + return x.ExpiredAt + } + return 0 +} + +func (x *SyncMessagesResp_TaskMetadata) GetTrigger() *TaskTrigger { + if x != nil { + return x.Trigger + } + return nil +} + +var File_protobuf_node_proto protoreflect.FileDescriptor + +var file_protobuf_node_proto_rawDesc = []byte{ + 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, + 0x72, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x12, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x76, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe3, 0x02, 0x0a, 0x07, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1c, 0x0a, 0x09, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x69, 0x6e, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x49, 0x50, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x49, 0x50, 0x1a, 0x83, 0x01, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x71, 0x75, 0x65, + 0x75, 0x65, 0x44, 0x65, 0x70, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x71, + 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x70, 0x74, 0x68, 0x12, 0x41, 0x0a, 0x0e, 0x6c, 0x61, 0x73, + 0x74, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x6c, + 0x61, 0x73, 0x74, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x22, 0x48, 0x0a, 0x0b, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x39, 0x0a, 0x0a, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x82, 0x01, 0x0a, 0x0f, 0x53, 0x79, 0x6e, 0x63, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x6f, 0x6e, 0x6f, 0x74, 0x6f, 0x6e, 0x69, 0x63, 0x5f, + 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x6d, 0x6f, 0x6e, + 0x6f, 0x74, 0x6f, 0x6e, 0x69, 0x63, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0xad, 0x02, 0x0a, 0x10, + 0x53, 0x79, 0x6e, 0x63, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x25, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x61, + 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x4f, 0x70, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x4e, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x79, 0x6e, 0x63, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x54, 0x61, 0x73, + 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x91, 0x01, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, + 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, + 0x69, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x74, 0x12, 0x31, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x72, 0x69, 0x67, 0x67, + 0x65, 0x72, 0x52, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, 0x1f, 0x0a, 0x0d, 0x41, + 0x63, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0xa4, 0x01, 0x0a, + 0x11, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1c, 0x0a, 0x09, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, + 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, + 0x6b, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x0e, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x67, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, + 0x4d, 0x61, 0x72, 0x6b, 0x52, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4d, 0x61, 0x72, + 0x6b, 0x65, 0x72, 0x22, 0x4f, 0x0a, 0x12, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x72, 0x69, + 0x67, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x2a, 0x61, 0x0a, 0x09, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, + 0x70, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, + 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x72, 0x69, 0x67, 0x67, + 0x65, 0x72, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x61, + 0x73, 0x6b, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, + 0x73, 0x6b, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, + 0x64, 0x54, 0x61, 0x73, 0x6b, 0x10, 0x04, 0x32, 0xa0, 0x02, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, + 0x12, 0x36, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x13, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x69, 0x6e, 0x1a, 0x17, 0x2e, + 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c, 0x53, 0x79, 0x6e, 0x63, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1b, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x6f, 0x72, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x22, 0x00, 0x30, 0x01, 0x12, 0x3e, 0x0a, 0x03, 0x41, 0x63, 0x6b, 0x12, 0x19, + 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x63, 0x6b, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0e, 0x4e, 0x6f, 0x74, 0x69, 0x66, + 0x79, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x12, 0x1d, 0x2e, 0x61, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x72, 0x69, + 0x67, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, + 0x61, 0x76, 0x73, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_protobuf_node_proto_rawDescOnce sync.Once + file_protobuf_node_proto_rawDescData = file_protobuf_node_proto_rawDesc +) + +func file_protobuf_node_proto_rawDescGZIP() []byte { + file_protobuf_node_proto_rawDescOnce.Do(func() { + file_protobuf_node_proto_rawDescData = protoimpl.X.CompressGZIP(file_protobuf_node_proto_rawDescData) + }) + return file_protobuf_node_proto_rawDescData +} + +var file_protobuf_node_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_protobuf_node_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_protobuf_node_proto_goTypes = []interface{}{ + (MessageOp)(0), // 0: aggregator.MessageOp + (*Checkin)(nil), // 1: aggregator.Checkin + (*CheckinResp)(nil), // 2: aggregator.CheckinResp + (*SyncMessagesReq)(nil), // 3: aggregator.SyncMessagesReq + (*SyncMessagesResp)(nil), // 4: aggregator.SyncMessagesResp + (*AckMessageReq)(nil), // 5: aggregator.AckMessageReq + (*NotifyTriggersReq)(nil), // 6: aggregator.NotifyTriggersReq + (*NotifyTriggersResp)(nil), // 7: aggregator.NotifyTriggersResp + (*Checkin_Status)(nil), // 8: aggregator.Checkin.Status + (*SyncMessagesResp_TaskMetadata)(nil), // 9: aggregator.SyncMessagesResp.TaskMetadata + (*timestamppb.Timestamp)(nil), // 10: google.protobuf.Timestamp + (*TriggerMark)(nil), // 11: aggregator.TriggerMark + (*TaskTrigger)(nil), // 12: aggregator.TaskTrigger + (*wrapperspb.BoolValue)(nil), // 13: google.protobuf.BoolValue +} +var file_protobuf_node_proto_depIdxs = []int32{ + 8, // 0: aggregator.Checkin.status:type_name -> aggregator.Checkin.Status + 10, // 1: aggregator.CheckinResp.updated_at:type_name -> google.protobuf.Timestamp + 0, // 2: aggregator.SyncMessagesResp.op:type_name -> aggregator.MessageOp + 9, // 3: aggregator.SyncMessagesResp.task_metadata:type_name -> aggregator.SyncMessagesResp.TaskMetadata + 11, // 4: aggregator.NotifyTriggersReq.trigger_marker:type_name -> aggregator.TriggerMark + 10, // 5: aggregator.NotifyTriggersResp.updated_at:type_name -> google.protobuf.Timestamp + 10, // 6: aggregator.Checkin.Status.last_heartbeat:type_name -> google.protobuf.Timestamp + 12, // 7: aggregator.SyncMessagesResp.TaskMetadata.trigger:type_name -> aggregator.TaskTrigger + 1, // 8: aggregator.Node.Ping:input_type -> aggregator.Checkin + 3, // 9: aggregator.Node.SyncMessages:input_type -> aggregator.SyncMessagesReq + 5, // 10: aggregator.Node.Ack:input_type -> aggregator.AckMessageReq + 6, // 11: aggregator.Node.NotifyTriggers:input_type -> aggregator.NotifyTriggersReq + 2, // 12: aggregator.Node.Ping:output_type -> aggregator.CheckinResp + 4, // 13: aggregator.Node.SyncMessages:output_type -> aggregator.SyncMessagesResp + 13, // 14: aggregator.Node.Ack:output_type -> google.protobuf.BoolValue + 7, // 15: aggregator.Node.NotifyTriggers:output_type -> aggregator.NotifyTriggersResp + 12, // [12:16] is the sub-list for method output_type + 8, // [8:12] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name +} + +func init() { file_protobuf_node_proto_init() } +func file_protobuf_node_proto_init() { + if File_protobuf_node_proto != nil { + return + } + file_protobuf_avs_proto_init() + if !protoimpl.UnsafeEnabled { + file_protobuf_node_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Checkin); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_protobuf_node_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CheckinResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_protobuf_node_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SyncMessagesReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_protobuf_node_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SyncMessagesResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_protobuf_node_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AckMessageReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_protobuf_node_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NotifyTriggersReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_protobuf_node_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NotifyTriggersResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_protobuf_node_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Checkin_Status); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_protobuf_node_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SyncMessagesResp_TaskMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_protobuf_node_proto_rawDesc, + NumEnums: 1, + NumMessages: 9, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_protobuf_node_proto_goTypes, + DependencyIndexes: file_protobuf_node_proto_depIdxs, + EnumInfos: file_protobuf_node_proto_enumTypes, + MessageInfos: file_protobuf_node_proto_msgTypes, + }.Build() + File_protobuf_node_proto = out.File + file_protobuf_node_proto_rawDesc = nil + file_protobuf_node_proto_goTypes = nil + file_protobuf_node_proto_depIdxs = nil +} diff --git a/protobuf/node.proto b/protobuf/node.proto new file mode 100644 index 0000000..3bb1955 --- /dev/null +++ b/protobuf/node.proto @@ -0,0 +1,85 @@ +syntax = "proto3"; +package aggregator; + +option go_package = "./avsproto"; + +import "google/protobuf/timestamp.proto"; +import "google/protobuf/wrappers.proto"; +import "protobuf/avs.proto"; + +message Checkin { + string id = 1; + string address = 2; + string signature = 3; + + message Status { + int64 uptime = 1; + int64 queueDepth = 2; + google.protobuf.Timestamp last_heartbeat = 3; + } + + Status status = 4; + + string version = 5; + int32 metricsPort = 6; + string remoteIP = 7; +} + +message CheckinResp { + google.protobuf.Timestamp updated_at = 1; +} + +message SyncMessagesReq { + string id = 1; + string address = 2; + bytes signature = 3; + int64 monotonic_clock = 4; +} + +enum MessageOp { + Unset = 0; + MonitorTaskTrigger = 1; + CancelTask = 2; + DeleteTask = 3; + CompletedTask = 4; +} + +message SyncMessagesResp { + // message id is used to support dedup + string id = 1; + MessageOp op = 2; + + message TaskMetadata { + string task_id = 1; + // how many time this task can run + int64 remain = 2; + int64 expired_at = 3; + TaskTrigger trigger = 4; + }; + + TaskMetadata task_metadata = 3; +} + +message AckMessageReq { + string id = 1; +} + +message NotifyTriggersReq { + string address = 1; + string signature = 2; + + string task_id = 3; + TriggerMark trigger_marker = 4; +} + +message NotifyTriggersResp { + google.protobuf.Timestamp updated_at = 1; +} + +service Node { + // Operator endpoint + rpc Ping(Checkin) returns (CheckinResp) {}; + rpc SyncMessages(SyncMessagesReq) returns (stream SyncMessagesResp) {}; + rpc Ack(AckMessageReq) returns (google.protobuf.BoolValue) {}; + rpc NotifyTriggers(NotifyTriggersReq) returns (NotifyTriggersResp) {}; +} diff --git a/protobuf/node_grpc.pb.go b/protobuf/node_grpc.pb.go new file mode 100644 index 0000000..77253a0 --- /dev/null +++ b/protobuf/node_grpc.pb.go @@ -0,0 +1,244 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v5.27.0 +// source: protobuf/node.proto + +package avsproto + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// NodeClient is the client API for Node service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type NodeClient interface { + // Operator endpoint + Ping(ctx context.Context, in *Checkin, opts ...grpc.CallOption) (*CheckinResp, error) + SyncMessages(ctx context.Context, in *SyncMessagesReq, opts ...grpc.CallOption) (Node_SyncMessagesClient, error) + Ack(ctx context.Context, in *AckMessageReq, opts ...grpc.CallOption) (*wrapperspb.BoolValue, error) + NotifyTriggers(ctx context.Context, in *NotifyTriggersReq, opts ...grpc.CallOption) (*NotifyTriggersResp, error) +} + +type nodeClient struct { + cc grpc.ClientConnInterface +} + +func NewNodeClient(cc grpc.ClientConnInterface) NodeClient { + return &nodeClient{cc} +} + +func (c *nodeClient) Ping(ctx context.Context, in *Checkin, opts ...grpc.CallOption) (*CheckinResp, error) { + out := new(CheckinResp) + err := c.cc.Invoke(ctx, "/aggregator.Node/Ping", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) SyncMessages(ctx context.Context, in *SyncMessagesReq, opts ...grpc.CallOption) (Node_SyncMessagesClient, error) { + stream, err := c.cc.NewStream(ctx, &Node_ServiceDesc.Streams[0], "/aggregator.Node/SyncMessages", opts...) + if err != nil { + return nil, err + } + x := &nodeSyncMessagesClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type Node_SyncMessagesClient interface { + Recv() (*SyncMessagesResp, error) + grpc.ClientStream +} + +type nodeSyncMessagesClient struct { + grpc.ClientStream +} + +func (x *nodeSyncMessagesClient) Recv() (*SyncMessagesResp, error) { + m := new(SyncMessagesResp) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *nodeClient) Ack(ctx context.Context, in *AckMessageReq, opts ...grpc.CallOption) (*wrapperspb.BoolValue, error) { + out := new(wrapperspb.BoolValue) + err := c.cc.Invoke(ctx, "/aggregator.Node/Ack", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) NotifyTriggers(ctx context.Context, in *NotifyTriggersReq, opts ...grpc.CallOption) (*NotifyTriggersResp, error) { + out := new(NotifyTriggersResp) + err := c.cc.Invoke(ctx, "/aggregator.Node/NotifyTriggers", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// NodeServer is the server API for Node service. +// All implementations must embed UnimplementedNodeServer +// for forward compatibility +type NodeServer interface { + // Operator endpoint + Ping(context.Context, *Checkin) (*CheckinResp, error) + SyncMessages(*SyncMessagesReq, Node_SyncMessagesServer) error + Ack(context.Context, *AckMessageReq) (*wrapperspb.BoolValue, error) + NotifyTriggers(context.Context, *NotifyTriggersReq) (*NotifyTriggersResp, error) + mustEmbedUnimplementedNodeServer() +} + +// UnimplementedNodeServer must be embedded to have forward compatible implementations. +type UnimplementedNodeServer struct { +} + +func (UnimplementedNodeServer) Ping(context.Context, *Checkin) (*CheckinResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method Ping not implemented") +} +func (UnimplementedNodeServer) SyncMessages(*SyncMessagesReq, Node_SyncMessagesServer) error { + return status.Errorf(codes.Unimplemented, "method SyncMessages not implemented") +} +func (UnimplementedNodeServer) Ack(context.Context, *AckMessageReq) (*wrapperspb.BoolValue, error) { + return nil, status.Errorf(codes.Unimplemented, "method Ack not implemented") +} +func (UnimplementedNodeServer) NotifyTriggers(context.Context, *NotifyTriggersReq) (*NotifyTriggersResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method NotifyTriggers not implemented") +} +func (UnimplementedNodeServer) mustEmbedUnimplementedNodeServer() {} + +// UnsafeNodeServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to NodeServer will +// result in compilation errors. +type UnsafeNodeServer interface { + mustEmbedUnimplementedNodeServer() +} + +func RegisterNodeServer(s grpc.ServiceRegistrar, srv NodeServer) { + s.RegisterService(&Node_ServiceDesc, srv) +} + +func _Node_Ping_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(Checkin) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).Ping(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/aggregator.Node/Ping", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).Ping(ctx, req.(*Checkin)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_SyncMessages_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SyncMessagesReq) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(NodeServer).SyncMessages(m, &nodeSyncMessagesServer{stream}) +} + +type Node_SyncMessagesServer interface { + Send(*SyncMessagesResp) error + grpc.ServerStream +} + +type nodeSyncMessagesServer struct { + grpc.ServerStream +} + +func (x *nodeSyncMessagesServer) Send(m *SyncMessagesResp) error { + return x.ServerStream.SendMsg(m) +} + +func _Node_Ack_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AckMessageReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).Ack(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/aggregator.Node/Ack", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).Ack(ctx, req.(*AckMessageReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_NotifyTriggers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(NotifyTriggersReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).NotifyTriggers(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/aggregator.Node/NotifyTriggers", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).NotifyTriggers(ctx, req.(*NotifyTriggersReq)) + } + return interceptor(ctx, in, info, handler) +} + +// Node_ServiceDesc is the grpc.ServiceDesc for Node service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var Node_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "aggregator.Node", + HandlerType: (*NodeServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Ping", + Handler: _Node_Ping_Handler, + }, + { + MethodName: "Ack", + Handler: _Node_Ack_Handler, + }, + { + MethodName: "NotifyTriggers", + Handler: _Node_NotifyTriggers_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "SyncMessages", + Handler: _Node_SyncMessages_Handler, + ServerStreams: true, + }, + }, + Metadata: "protobuf/node.proto", +}