From 01d895ab55256b9db9e7656c118e2e0f61465000 Mon Sep 17 00:00:00 2001 From: Pietralberto Mazza <18440657+altafan@users.noreply.github.com> Date: Thu, 29 Aug 2024 13:42:10 +0200 Subject: [PATCH] Update ocean protos and docker compose (#748) * Update ocean protos and docker compose * gosec --- .../ocean/v1/notification.swagger.json | 14 +- .../swagger/ocean/v1/transaction.swagger.json | 17 + api-spec/protobuf/gen/ocean/v1/account.pb.go | 365 +++--- .../protobuf/gen/ocean/v1/notification.pb.go | 623 +++++++--- .../gen/ocean/v1/notification_grpc.pb.go | 84 ++ .../protobuf/gen/ocean/v1/transaction.pb.go | 1093 +++++++++++------ .../gen/ocean/v1/transaction_grpc.pb.go | 78 ++ api-spec/protobuf/gen/ocean/v1/types.pb.go | 71 +- internal/interfaces/grpc/service.go | 6 +- internal/interfaces/grpc/service_one_port.go | 3 +- pkg/explorer/elements/client.go | 7 +- resources/compose/docker-compose.yml | 13 +- 12 files changed, 1579 insertions(+), 795 deletions(-) diff --git a/api-spec/openapi/swagger/ocean/v1/notification.swagger.json b/api-spec/openapi/swagger/ocean/v1/notification.swagger.json index 488d095d..343503f3 100644 --- a/api-spec/openapi/swagger/ocean/v1/notification.swagger.json +++ b/api-spec/openapi/swagger/ocean/v1/notification.swagger.json @@ -126,6 +126,9 @@ "default": "TX_EVENT_TYPE_UNSPECIFIED", "description": " - TX_EVENT_TYPE_BROADCASTED: Tx broadcasted.\n - TX_EVENT_TYPE_UNCONFIRMED: Tx unconfirmed.\n - TX_EVENT_TYPE_CONFIRMED: Tx confirmed." }, + "v1UnwatchExternalScriptResponse": { + "type": "object" + }, "v1Utxo": { "type": "object", "properties": { @@ -185,7 +188,8 @@ "UTXO_EVENT_TYPE_CONFIRMED", "UTXO_EVENT_TYPE_LOCKED", "UTXO_EVENT_TYPE_UNLOCKED", - "UTXO_EVENT_TYPE_SPENT" + "UTXO_EVENT_TYPE_SPENT", + "UTXO_EVENT_TYPE_CONFIRMED_SPENT" ], "default": "UTXO_EVENT_TYPE_UNSPECIFIED" }, @@ -219,6 +223,14 @@ } } }, + "v1WatchExternalScriptResponse": { + "type": "object", + "properties": { + "label": { + "type": "string" + } + } + }, "v1WebhookEventType": { "type": "string", "enum": [ diff --git a/api-spec/openapi/swagger/ocean/v1/transaction.swagger.json b/api-spec/openapi/swagger/ocean/v1/transaction.swagger.json index 7dfb163a..fab020c5 100644 --- a/api-spec/openapi/swagger/ocean/v1/transaction.swagger.json +++ b/api-spec/openapi/swagger/ocean/v1/transaction.swagger.json @@ -168,6 +168,15 @@ } } }, + "v1LockUtxosResponse": { + "type": "object", + "properties": { + "expirationDate": { + "type": "string", + "format": "int64" + } + } + }, "v1MintResponse": { "type": "object", "properties": { @@ -260,6 +269,14 @@ } } }, + "v1SignPsetWithSchnorrKeyResponse": { + "type": "object", + "properties": { + "signedTx": { + "type": "string" + } + } + }, "v1SignTransactionResponse": { "type": "object", "properties": { diff --git a/api-spec/protobuf/gen/ocean/v1/account.pb.go b/api-spec/protobuf/gen/ocean/v1/account.pb.go index 08407d44..0603e70b 100644 --- a/api-spec/protobuf/gen/ocean/v1/account.pb.go +++ b/api-spec/protobuf/gen/ocean/v1/account.pb.go @@ -27,6 +27,8 @@ type CreateAccountBIP44Request struct { // Optional label for the new account. Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"` + // Optional flag for full unconfidential account. + Unconfidential bool `protobuf:"varint,2,opt,name=unconfidential,proto3" json:"unconfidential,omitempty"` } func (x *CreateAccountBIP44Request) Reset() { @@ -68,6 +70,13 @@ func (x *CreateAccountBIP44Request) GetLabel() string { return "" } +func (x *CreateAccountBIP44Request) GetUnconfidential() bool { + if x != nil { + return x.Unconfidential + } + return false +} + type CreateAccountBIP44Response struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -123,6 +132,8 @@ type CreateAccountMultiSigRequest struct { // Optional label for the new account. Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"` + // Optional flag for full unconfidential account. + Unconf bool `protobuf:"varint,2,opt,name=unconf,proto3" json:"unconf,omitempty"` } func (x *CreateAccountMultiSigRequest) Reset() { @@ -164,6 +175,13 @@ func (x *CreateAccountMultiSigRequest) GetLabel() string { return "" } +func (x *CreateAccountMultiSigRequest) GetUnconf() bool { + if x != nil { + return x.Unconf + } + return false +} + type CreateAccountMultiSigResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -219,6 +237,8 @@ type CreateAccountCustomRequest struct { // Optional label for the new account. Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"` + // Optional flag for full unconfidential account. + Unconf bool `protobuf:"varint,2,opt,name=unconf,proto3" json:"unconf,omitempty"` } func (x *CreateAccountCustomRequest) Reset() { @@ -260,6 +280,13 @@ func (x *CreateAccountCustomRequest) GetLabel() string { return "" } +func (x *CreateAccountCustomRequest) GetUnconf() bool { + if x != nil { + return x.Unconf + } + return false +} + type CreateAccountCustomResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1124,185 +1151,191 @@ var file_ocean_v1_account_proto_rawDesc = []byte{ 0x0a, 0x16, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x1a, 0x14, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x31, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, + 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x59, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x49, 0x50, 0x34, 0x34, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x47, 0x0a, 0x1a, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x49, 0x50, 0x34, - 0x34, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x04, 0x69, 0x6e, 0x66, - 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, - 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x34, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x53, 0x69, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x4a, 0x0a, 0x1d, 0x43, 0x72, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x26, 0x0a, 0x0e, 0x75, + 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0e, 0x75, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x61, 0x6c, 0x22, 0x47, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x49, 0x50, 0x34, 0x34, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x29, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x4c, 0x0a, 0x1c, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x75, 0x6c, + 0x74, 0x69, 0x53, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x06, 0x75, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x22, 0x4a, 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x53, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x32, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x4a, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x48, 0x0a, 0x1b, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x04, 0x69, 0x6e, 0x66, - 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, - 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x51, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, - 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x44, 0x0a, 0x17, 0x53, 0x65, 0x74, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x29, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x15, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x6e, 0x0a, - 0x19, 0x53, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, - 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x52, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x1c, 0x0a, - 0x1a, 0x53, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x0a, 0x16, 0x44, - 0x65, 0x72, 0x69, 0x76, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x75, 0x6d, 0x5f, - 0x6f, 0x66, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0e, 0x6e, 0x75, 0x6d, 0x4f, 0x66, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x65, 0x73, 0x22, 0x37, 0x0a, 0x17, 0x44, 0x65, 0x72, 0x69, 0x76, 0x65, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0x6b, 0x0a, 0x1c, 0x44, - 0x65, 0x72, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, - 0x0a, 0x10, 0x6e, 0x75, 0x6d, 0x5f, 0x6f, 0x66, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6e, 0x75, 0x6d, 0x4f, 0x66, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0x3d, 0x0a, 0x1d, 0x44, 0x65, 0x72, 0x69, - 0x76, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0x39, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x22, 0x35, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0x51, 0x0a, 0x0e, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0xa6, 0x01, 0x0a, - 0x0f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x40, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x1a, 0x51, 0x0a, 0x0c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x53, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x74, 0x78, - 0x6f, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0x81, 0x01, 0x0a, 0x11, 0x4c, - 0x69, 0x73, 0x74, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x38, 0x0a, 0x0f, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x75, 0x74, - 0x78, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6f, 0x63, 0x65, 0x61, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x52, 0x0e, 0x73, 0x70, 0x65, 0x6e, - 0x64, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x12, 0x32, 0x0a, 0x0c, 0x6c, 0x6f, - 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x75, 0x74, 0x78, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0f, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x74, 0x78, 0x6f, - 0x73, 0x52, 0x0b, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x22, 0x39, - 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x6e, + 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x6e, 0x63, 0x6f, + 0x6e, 0x66, 0x22, 0x48, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x29, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x51, 0x0a, 0x16, + 0x53, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x32, 0xe4, 0x07, 0x0a, 0x0e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5f, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x49, 0x50, 0x34, 0x34, 0x12, 0x23, 0x2e, 0x6f, 0x63, - 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x49, 0x50, 0x34, 0x34, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x24, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x49, 0x50, 0x34, 0x34, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x53, 0x69, 0x67, 0x12, - 0x26, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x53, 0x69, 0x67, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x53, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x62, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x24, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, - 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x20, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6f, 0x63, 0x65, 0x61, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x12, - 0x53, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x12, 0x23, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, - 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, - 0x0f, 0x44, 0x65, 0x72, 0x69, 0x76, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, - 0x12, 0x20, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x72, 0x69, - 0x76, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, + 0x44, 0x0a, 0x17, 0x53, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x04, 0x69, 0x6e, + 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x6e, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x08, 0x74, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x1c, 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x65, 0x0a, 0x16, 0x44, 0x65, 0x72, 0x69, 0x76, 0x65, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, + 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x75, 0x6d, 0x5f, 0x6f, 0x66, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6e, 0x75, 0x6d, 0x4f, + 0x66, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0x37, 0x0a, 0x17, 0x44, 0x65, 0x72, 0x69, 0x76, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x15, 0x44, 0x65, 0x72, 0x69, 0x76, 0x65, 0x43, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x26, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x65, 0x73, 0x22, 0x6b, 0x0a, 0x1c, 0x44, 0x65, 0x72, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x75, 0x6d, 0x5f, 0x6f, 0x66, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0e, 0x6e, 0x75, 0x6d, 0x4f, 0x66, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, + 0x22, 0x3d, 0x0a, 0x1d, 0x44, 0x65, 0x72, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, + 0x39, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x35, 0x0a, 0x15, 0x4c, 0x69, + 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, + 0x73, 0x22, 0x51, 0x0a, 0x0e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x65, 0x73, 0x22, 0xa6, 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x63, 0x65, 0x61, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x1a, 0x51, 0x0a, 0x0c, 0x42, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2b, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6f, 0x63, + 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x53, 0x0a, + 0x10, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x65, 0x73, 0x22, 0x81, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x74, 0x78, 0x6f, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0f, 0x73, 0x70, 0x65, 0x6e, + 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x75, 0x74, 0x78, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0f, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x74, 0x78, + 0x6f, 0x73, 0x52, 0x0e, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x74, 0x78, + 0x6f, 0x73, 0x12, 0x32, 0x0a, 0x0c, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x75, 0x74, 0x78, + 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x52, 0x0b, 0x6c, 0x6f, 0x63, 0x6b, 0x65, + 0x64, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x22, 0x39, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, + 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, + 0x65, 0x22, 0x17, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xe4, 0x07, 0x0a, 0x0e, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5f, 0x0a, + 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x49, + 0x50, 0x34, 0x34, 0x12, 0x23, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x49, 0x50, 0x34, + 0x34, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x42, 0x49, 0x50, 0x34, 0x34, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, + 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, + 0x75, 0x6c, 0x74, 0x69, 0x53, 0x69, 0x67, 0x12, 0x26, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x53, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x27, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x53, 0x69, 0x67, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, + 0x24, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0f, + 0x53, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, + 0x20, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x21, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x23, 0x2e, 0x6f, 0x63, 0x65, + 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x24, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0f, 0x44, 0x65, 0x72, 0x69, 0x76, 0x65, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x20, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6f, 0x63, 0x65, + 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x65, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, + 0x15, 0x44, 0x65, 0x72, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x26, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x50, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, - 0x12, 0x1e, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1f, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x18, 0x2e, 0x6f, - 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x44, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x12, 0x1a, - 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x74, - 0x78, 0x6f, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6f, 0x63, 0x65, - 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xa9, 0x01, 0x0a, 0x0c, 0x63, 0x6f, - 0x6d, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x0c, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x74, 0x64, 0x65, 0x78, 0x2d, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x2f, 0x74, 0x64, 0x65, 0x78, 0x2d, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2f, - 0x61, 0x70, 0x69, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2f, 0x76, 0x31, 0x3b, 0x6f, - 0x63, 0x65, 0x61, 0x6e, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x4f, 0x58, 0x58, 0xaa, 0x02, 0x08, 0x4f, - 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x08, 0x4f, 0x63, 0x65, 0x61, 0x6e, 0x5c, - 0x56, 0x31, 0xe2, 0x02, 0x14, 0x4f, 0x63, 0x65, 0x61, 0x6e, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, - 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x09, 0x4f, 0x63, 0x65, 0x61, - 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x42, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x12, 0x18, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, + 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x09, 0x4c, 0x69, 0x73, + 0x74, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x12, 0x1a, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x50, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x1e, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1f, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x42, 0xa9, 0x01, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, + 0x76, 0x31, 0x42, 0x0c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x74, + 0x64, 0x65, 0x78, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x74, 0x64, 0x65, 0x78, + 0x2d, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2d, 0x73, 0x70, 0x65, 0x63, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x6f, 0x63, + 0x65, 0x61, 0x6e, 0x2f, 0x76, 0x31, 0x3b, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x76, 0x31, 0xa2, 0x02, + 0x03, 0x4f, 0x58, 0x58, 0xaa, 0x02, 0x08, 0x4f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x56, 0x31, 0xca, + 0x02, 0x08, 0x4f, 0x63, 0x65, 0x61, 0x6e, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x14, 0x4f, 0x63, 0x65, + 0x61, 0x6e, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xea, 0x02, 0x09, 0x4f, 0x63, 0x65, 0x61, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/api-spec/protobuf/gen/ocean/v1/notification.pb.go b/api-spec/protobuf/gen/ocean/v1/notification.pb.go index 1b64347c..73938d3a 100644 --- a/api-spec/protobuf/gen/ocean/v1/notification.pb.go +++ b/api-spec/protobuf/gen/ocean/v1/notification.pb.go @@ -20,6 +20,195 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +type WatchExternalScriptRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The script to watch. + Script string `protobuf:"bytes,1,opt,name=script,proto3" json:"script,omitempty"` + // Optional: the private blinding key in case the script locks confidential utxos to unblind. + BlindingKey string `protobuf:"bytes,2,opt,name=blinding_key,json=blindingKey,proto3" json:"blinding_key,omitempty"` +} + +func (x *WatchExternalScriptRequest) Reset() { + *x = WatchExternalScriptRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_ocean_v1_notification_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WatchExternalScriptRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WatchExternalScriptRequest) ProtoMessage() {} + +func (x *WatchExternalScriptRequest) ProtoReflect() protoreflect.Message { + mi := &file_ocean_v1_notification_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 WatchExternalScriptRequest.ProtoReflect.Descriptor instead. +func (*WatchExternalScriptRequest) Descriptor() ([]byte, []int) { + return file_ocean_v1_notification_proto_rawDescGZIP(), []int{0} +} + +func (x *WatchExternalScriptRequest) GetScript() string { + if x != nil { + return x.Script + } + return "" +} + +func (x *WatchExternalScriptRequest) GetBlindingKey() string { + if x != nil { + return x.BlindingKey + } + return "" +} + +type WatchExternalScriptResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"` +} + +func (x *WatchExternalScriptResponse) Reset() { + *x = WatchExternalScriptResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_ocean_v1_notification_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WatchExternalScriptResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WatchExternalScriptResponse) ProtoMessage() {} + +func (x *WatchExternalScriptResponse) ProtoReflect() protoreflect.Message { + mi := &file_ocean_v1_notification_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 WatchExternalScriptResponse.ProtoReflect.Descriptor instead. +func (*WatchExternalScriptResponse) Descriptor() ([]byte, []int) { + return file_ocean_v1_notification_proto_rawDescGZIP(), []int{1} +} + +func (x *WatchExternalScriptResponse) GetLabel() string { + if x != nil { + return x.Label + } + return "" +} + +type UnwatchExternalScriptRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"` +} + +func (x *UnwatchExternalScriptRequest) Reset() { + *x = UnwatchExternalScriptRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_ocean_v1_notification_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnwatchExternalScriptRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnwatchExternalScriptRequest) ProtoMessage() {} + +func (x *UnwatchExternalScriptRequest) ProtoReflect() protoreflect.Message { + mi := &file_ocean_v1_notification_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 UnwatchExternalScriptRequest.ProtoReflect.Descriptor instead. +func (*UnwatchExternalScriptRequest) Descriptor() ([]byte, []int) { + return file_ocean_v1_notification_proto_rawDescGZIP(), []int{2} +} + +func (x *UnwatchExternalScriptRequest) GetLabel() string { + if x != nil { + return x.Label + } + return "" +} + +type UnwatchExternalScriptResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UnwatchExternalScriptResponse) Reset() { + *x = UnwatchExternalScriptResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_ocean_v1_notification_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnwatchExternalScriptResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnwatchExternalScriptResponse) ProtoMessage() {} + +func (x *UnwatchExternalScriptResponse) ProtoReflect() protoreflect.Message { + mi := &file_ocean_v1_notification_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 UnwatchExternalScriptResponse.ProtoReflect.Descriptor instead. +func (*UnwatchExternalScriptResponse) Descriptor() ([]byte, []int) { + return file_ocean_v1_notification_proto_rawDescGZIP(), []int{3} +} + type TransactionNotificationsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -29,7 +218,7 @@ type TransactionNotificationsRequest struct { func (x *TransactionNotificationsRequest) Reset() { *x = TransactionNotificationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_notification_proto_msgTypes[0] + mi := &file_ocean_v1_notification_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -42,7 +231,7 @@ func (x *TransactionNotificationsRequest) String() string { func (*TransactionNotificationsRequest) ProtoMessage() {} func (x *TransactionNotificationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_notification_proto_msgTypes[0] + mi := &file_ocean_v1_notification_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -55,7 +244,7 @@ func (x *TransactionNotificationsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TransactionNotificationsRequest.ProtoReflect.Descriptor instead. func (*TransactionNotificationsRequest) Descriptor() ([]byte, []int) { - return file_ocean_v1_notification_proto_rawDescGZIP(), []int{0} + return file_ocean_v1_notification_proto_rawDescGZIP(), []int{4} } type TransactionNotificationsResponse struct { @@ -78,7 +267,7 @@ type TransactionNotificationsResponse struct { func (x *TransactionNotificationsResponse) Reset() { *x = TransactionNotificationsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_notification_proto_msgTypes[1] + mi := &file_ocean_v1_notification_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -91,7 +280,7 @@ func (x *TransactionNotificationsResponse) String() string { func (*TransactionNotificationsResponse) ProtoMessage() {} func (x *TransactionNotificationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_notification_proto_msgTypes[1] + mi := &file_ocean_v1_notification_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -104,7 +293,7 @@ func (x *TransactionNotificationsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TransactionNotificationsResponse.ProtoReflect.Descriptor instead. func (*TransactionNotificationsResponse) Descriptor() ([]byte, []int) { - return file_ocean_v1_notification_proto_rawDescGZIP(), []int{1} + return file_ocean_v1_notification_proto_rawDescGZIP(), []int{5} } func (x *TransactionNotificationsResponse) GetEventType() TxEventType { @@ -151,7 +340,7 @@ type UtxosNotificationsRequest struct { func (x *UtxosNotificationsRequest) Reset() { *x = UtxosNotificationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_notification_proto_msgTypes[2] + mi := &file_ocean_v1_notification_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -164,7 +353,7 @@ func (x *UtxosNotificationsRequest) String() string { func (*UtxosNotificationsRequest) ProtoMessage() {} func (x *UtxosNotificationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_notification_proto_msgTypes[2] + mi := &file_ocean_v1_notification_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -177,7 +366,7 @@ func (x *UtxosNotificationsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UtxosNotificationsRequest.ProtoReflect.Descriptor instead. func (*UtxosNotificationsRequest) Descriptor() ([]byte, []int) { - return file_ocean_v1_notification_proto_rawDescGZIP(), []int{2} + return file_ocean_v1_notification_proto_rawDescGZIP(), []int{6} } type UtxosNotificationsResponse struct { @@ -194,7 +383,7 @@ type UtxosNotificationsResponse struct { func (x *UtxosNotificationsResponse) Reset() { *x = UtxosNotificationsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_notification_proto_msgTypes[3] + mi := &file_ocean_v1_notification_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -207,7 +396,7 @@ func (x *UtxosNotificationsResponse) String() string { func (*UtxosNotificationsResponse) ProtoMessage() {} func (x *UtxosNotificationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_notification_proto_msgTypes[3] + mi := &file_ocean_v1_notification_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -220,7 +409,7 @@ func (x *UtxosNotificationsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UtxosNotificationsResponse.ProtoReflect.Descriptor instead. func (*UtxosNotificationsResponse) Descriptor() ([]byte, []int) { - return file_ocean_v1_notification_proto_rawDescGZIP(), []int{3} + return file_ocean_v1_notification_proto_rawDescGZIP(), []int{7} } func (x *UtxosNotificationsResponse) GetEventType() UtxoEventType { @@ -254,7 +443,7 @@ type AddWebhookRequest struct { func (x *AddWebhookRequest) Reset() { *x = AddWebhookRequest{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_notification_proto_msgTypes[4] + mi := &file_ocean_v1_notification_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -267,7 +456,7 @@ func (x *AddWebhookRequest) String() string { func (*AddWebhookRequest) ProtoMessage() {} func (x *AddWebhookRequest) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_notification_proto_msgTypes[4] + mi := &file_ocean_v1_notification_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -280,7 +469,7 @@ func (x *AddWebhookRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AddWebhookRequest.ProtoReflect.Descriptor instead. func (*AddWebhookRequest) Descriptor() ([]byte, []int) { - return file_ocean_v1_notification_proto_rawDescGZIP(), []int{4} + return file_ocean_v1_notification_proto_rawDescGZIP(), []int{8} } func (x *AddWebhookRequest) GetEndpoint() string { @@ -316,7 +505,7 @@ type AddWebhookResponse struct { func (x *AddWebhookResponse) Reset() { *x = AddWebhookResponse{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_notification_proto_msgTypes[5] + mi := &file_ocean_v1_notification_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -329,7 +518,7 @@ func (x *AddWebhookResponse) String() string { func (*AddWebhookResponse) ProtoMessage() {} func (x *AddWebhookResponse) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_notification_proto_msgTypes[5] + mi := &file_ocean_v1_notification_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -342,7 +531,7 @@ func (x *AddWebhookResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AddWebhookResponse.ProtoReflect.Descriptor instead. func (*AddWebhookResponse) Descriptor() ([]byte, []int) { - return file_ocean_v1_notification_proto_rawDescGZIP(), []int{5} + return file_ocean_v1_notification_proto_rawDescGZIP(), []int{9} } func (x *AddWebhookResponse) GetId() string { @@ -364,7 +553,7 @@ type RemoveWebhookRequest struct { func (x *RemoveWebhookRequest) Reset() { *x = RemoveWebhookRequest{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_notification_proto_msgTypes[6] + mi := &file_ocean_v1_notification_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -377,7 +566,7 @@ func (x *RemoveWebhookRequest) String() string { func (*RemoveWebhookRequest) ProtoMessage() {} func (x *RemoveWebhookRequest) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_notification_proto_msgTypes[6] + mi := &file_ocean_v1_notification_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -390,7 +579,7 @@ func (x *RemoveWebhookRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveWebhookRequest.ProtoReflect.Descriptor instead. func (*RemoveWebhookRequest) Descriptor() ([]byte, []int) { - return file_ocean_v1_notification_proto_rawDescGZIP(), []int{6} + return file_ocean_v1_notification_proto_rawDescGZIP(), []int{10} } func (x *RemoveWebhookRequest) GetId() string { @@ -409,7 +598,7 @@ type RemoveWebhookResponse struct { func (x *RemoveWebhookResponse) Reset() { *x = RemoveWebhookResponse{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_notification_proto_msgTypes[7] + mi := &file_ocean_v1_notification_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -422,7 +611,7 @@ func (x *RemoveWebhookResponse) String() string { func (*RemoveWebhookResponse) ProtoMessage() {} func (x *RemoveWebhookResponse) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_notification_proto_msgTypes[7] + mi := &file_ocean_v1_notification_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -435,7 +624,7 @@ func (x *RemoveWebhookResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveWebhookResponse.ProtoReflect.Descriptor instead. func (*RemoveWebhookResponse) Descriptor() ([]byte, []int) { - return file_ocean_v1_notification_proto_rawDescGZIP(), []int{7} + return file_ocean_v1_notification_proto_rawDescGZIP(), []int{11} } type ListWebhooksRequest struct { @@ -450,7 +639,7 @@ type ListWebhooksRequest struct { func (x *ListWebhooksRequest) Reset() { *x = ListWebhooksRequest{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_notification_proto_msgTypes[8] + mi := &file_ocean_v1_notification_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -463,7 +652,7 @@ func (x *ListWebhooksRequest) String() string { func (*ListWebhooksRequest) ProtoMessage() {} func (x *ListWebhooksRequest) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_notification_proto_msgTypes[8] + mi := &file_ocean_v1_notification_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -476,7 +665,7 @@ func (x *ListWebhooksRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListWebhooksRequest.ProtoReflect.Descriptor instead. func (*ListWebhooksRequest) Descriptor() ([]byte, []int) { - return file_ocean_v1_notification_proto_rawDescGZIP(), []int{8} + return file_ocean_v1_notification_proto_rawDescGZIP(), []int{12} } func (x *ListWebhooksRequest) GetEventType() WebhookEventType { @@ -498,7 +687,7 @@ type ListWebhooksResponse struct { func (x *ListWebhooksResponse) Reset() { *x = ListWebhooksResponse{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_notification_proto_msgTypes[9] + mi := &file_ocean_v1_notification_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -511,7 +700,7 @@ func (x *ListWebhooksResponse) String() string { func (*ListWebhooksResponse) ProtoMessage() {} func (x *ListWebhooksResponse) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_notification_proto_msgTypes[9] + mi := &file_ocean_v1_notification_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -524,7 +713,7 @@ func (x *ListWebhooksResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListWebhooksResponse.ProtoReflect.Descriptor instead. func (*ListWebhooksResponse) Descriptor() ([]byte, []int) { - return file_ocean_v1_notification_proto_rawDescGZIP(), []int{9} + return file_ocean_v1_notification_proto_rawDescGZIP(), []int{13} } func (x *ListWebhooksResponse) GetWebhookInfo() []*WebhookInfo { @@ -550,7 +739,7 @@ type WebhookInfo struct { func (x *WebhookInfo) Reset() { *x = WebhookInfo{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_notification_proto_msgTypes[10] + mi := &file_ocean_v1_notification_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -563,7 +752,7 @@ func (x *WebhookInfo) String() string { func (*WebhookInfo) ProtoMessage() {} func (x *WebhookInfo) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_notification_proto_msgTypes[10] + mi := &file_ocean_v1_notification_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -576,7 +765,7 @@ func (x *WebhookInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use WebhookInfo.ProtoReflect.Descriptor instead. func (*WebhookInfo) Descriptor() ([]byte, []int) { - return file_ocean_v1_notification_proto_rawDescGZIP(), []int{10} + return file_ocean_v1_notification_proto_rawDescGZIP(), []int{14} } func (x *WebhookInfo) GetId() string { @@ -606,106 +795,132 @@ var file_ocean_v1_notification_proto_rawDesc = []byte{ 0x0a, 0x1b, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2f, 0x76, 0x31, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x1a, 0x14, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2f, 0x76, - 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x21, 0x0a, - 0x1f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x22, 0xe4, 0x01, 0x0a, 0x20, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6f, 0x63, 0x65, 0x61, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x78, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x12, 0x14, 0x0a, 0x05, 0x74, 0x78, 0x68, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x74, 0x78, 0x68, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x12, 0x3b, 0x0a, 0x0d, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x16, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x55, 0x74, 0x78, 0x6f, 0x73, - 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x22, 0x7a, 0x0a, 0x1a, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x36, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x74, 0x78, 0x6f, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x75, 0x74, - 0x78, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x65, 0x61, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x74, 0x78, 0x6f, 0x52, 0x05, 0x75, 0x74, 0x78, 0x6f, 0x73, - 0x22, 0x82, 0x01, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, - 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x24, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x57, 0x65, 0x62, 0x68, - 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x26, 0x0a, 0x14, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x57, 0x65, 0x62, - 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x50, 0x0a, 0x13, - 0x4c, 0x69, 0x73, 0x74, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x50, - 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0c, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, - 0x6b, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6f, - 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x49, 0x6e, 0x66, 0x6f, - 0x22, 0x58, 0x0a, 0x0b, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x69, - 0x73, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x09, 0x69, 0x73, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x64, 0x32, 0xdd, 0x03, 0x0a, 0x13, 0x4e, - 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x12, 0x73, 0x0a, 0x18, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x29, - 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x57, 0x0a, + 0x1a, 0x57, 0x61, 0x74, 0x63, 0x68, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, + 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x6c, 0x69, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x22, 0x33, 0x0a, 0x1b, 0x57, 0x61, 0x74, 0x63, 0x68, 0x45, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x34, 0x0a, 0x1c, 0x55, + 0x6e, 0x77, 0x61, 0x74, 0x63, 0x68, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x22, 0x1f, 0x0a, 0x1d, 0x55, 0x6e, 0x77, 0x61, 0x74, 0x63, 0x68, 0x45, 0x78, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x21, 0x0a, 0x1f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xe4, 0x01, 0x0a, 0x20, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x6f, 0x63, 0x65, 0x61, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x61, 0x0a, 0x12, 0x55, 0x74, 0x78, 0x6f, 0x73, - 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x23, 0x2e, - 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x4e, 0x6f, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x74, + 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x0a, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, + 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x78, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x78, 0x68, 0x65, 0x78, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x78, 0x68, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x78, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x12, + 0x3b, 0x0a, 0x0d, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0c, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x1b, 0x0a, 0x19, + 0x55, 0x74, 0x78, 0x6f, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x7a, 0x0a, 0x1a, 0x55, 0x74, 0x78, + 0x6f, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6f, 0x63, + 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x74, 0x78, 0x6f, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x24, 0x0a, 0x05, 0x75, 0x74, 0x78, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x74, 0x78, 0x6f, 0x52, 0x05, + 0x75, 0x74, 0x78, 0x6f, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x57, 0x65, 0x62, + 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x6f, 0x63, + 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x24, 0x0a, 0x12, 0x41, 0x64, + 0x64, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x22, 0x26, 0x0a, 0x14, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x50, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x6f, + 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x22, 0x50, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x65, 0x62, 0x68, 0x6f, + 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0c, 0x77, + 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x15, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, + 0x68, 0x6f, 0x6f, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, + 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x58, 0x0a, 0x0b, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x64, 0x32, + 0xa5, 0x05, 0x0a, 0x13, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x62, 0x0a, 0x13, 0x57, 0x61, 0x74, 0x63, 0x68, + 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x24, + 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x45, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x57, 0x61, 0x74, 0x63, 0x68, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x15, 0x55, + 0x6e, 0x77, 0x61, 0x74, 0x63, 0x68, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x12, 0x26, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x55, 0x6e, 0x77, 0x61, 0x74, 0x63, 0x68, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6f, + 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x77, 0x61, 0x74, 0x63, 0x68, 0x45, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x18, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x29, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x6f, + 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x61, 0x0a, 0x12, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x49, 0x0a, 0x0a, 0x41, 0x64, - 0x64, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x12, 0x1b, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, + 0x12, 0x23, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x74, 0x78, 0x6f, + 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x47, 0x0a, + 0x0a, 0x41, 0x64, 0x64, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x12, 0x1b, 0x2e, 0x6f, 0x63, + 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x41, 0x64, 0x64, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x57, - 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x12, 0x1e, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0c, 0x4c, 0x69, 0x73, - 0x74, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x1d, 0x2e, 0x6f, 0x63, 0x65, 0x61, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x12, 0x1e, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, + 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x1d, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xae, 0x01, 0x0a, 0x0c, 0x63, - 0x6f, 0x6d, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x11, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, - 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x74, 0x64, 0x65, - 0x78, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x74, 0x64, 0x65, 0x78, 0x2d, 0x64, - 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x6f, 0x63, 0x65, 0x61, - 0x6e, 0x2f, 0x76, 0x31, 0x3b, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x4f, - 0x58, 0x58, 0xaa, 0x02, 0x08, 0x4f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x08, - 0x4f, 0x63, 0x65, 0x61, 0x6e, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x14, 0x4f, 0x63, 0x65, 0x61, 0x6e, - 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, - 0x02, 0x09, 0x4f, 0x63, 0x65, 0x61, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xae, 0x01, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x2e, + 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x11, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4a, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x74, 0x64, 0x65, 0x78, 0x2d, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x74, 0x64, 0x65, 0x78, 0x2d, 0x64, 0x61, 0x65, 0x6d, + 0x6f, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2f, 0x76, + 0x31, 0x3b, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x4f, 0x58, 0x58, 0xaa, + 0x02, 0x08, 0x4f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x08, 0x4f, 0x63, 0x65, + 0x61, 0x6e, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x14, 0x4f, 0x63, 0x65, 0x61, 0x6e, 0x5c, 0x56, 0x31, + 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x09, 0x4f, + 0x63, 0x65, 0x61, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -720,45 +935,53 @@ func file_ocean_v1_notification_proto_rawDescGZIP() []byte { return file_ocean_v1_notification_proto_rawDescData } -var file_ocean_v1_notification_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_ocean_v1_notification_proto_msgTypes = make([]protoimpl.MessageInfo, 15) var file_ocean_v1_notification_proto_goTypes = []interface{}{ - (*TransactionNotificationsRequest)(nil), // 0: ocean.v1.TransactionNotificationsRequest - (*TransactionNotificationsResponse)(nil), // 1: ocean.v1.TransactionNotificationsResponse - (*UtxosNotificationsRequest)(nil), // 2: ocean.v1.UtxosNotificationsRequest - (*UtxosNotificationsResponse)(nil), // 3: ocean.v1.UtxosNotificationsResponse - (*AddWebhookRequest)(nil), // 4: ocean.v1.AddWebhookRequest - (*AddWebhookResponse)(nil), // 5: ocean.v1.AddWebhookResponse - (*RemoveWebhookRequest)(nil), // 6: ocean.v1.RemoveWebhookRequest - (*RemoveWebhookResponse)(nil), // 7: ocean.v1.RemoveWebhookResponse - (*ListWebhooksRequest)(nil), // 8: ocean.v1.ListWebhooksRequest - (*ListWebhooksResponse)(nil), // 9: ocean.v1.ListWebhooksResponse - (*WebhookInfo)(nil), // 10: ocean.v1.WebhookInfo - (TxEventType)(0), // 11: ocean.v1.TxEventType - (*BlockDetails)(nil), // 12: ocean.v1.BlockDetails - (UtxoEventType)(0), // 13: ocean.v1.UtxoEventType - (*Utxo)(nil), // 14: ocean.v1.Utxo - (WebhookEventType)(0), // 15: ocean.v1.WebhookEventType + (*WatchExternalScriptRequest)(nil), // 0: ocean.v1.WatchExternalScriptRequest + (*WatchExternalScriptResponse)(nil), // 1: ocean.v1.WatchExternalScriptResponse + (*UnwatchExternalScriptRequest)(nil), // 2: ocean.v1.UnwatchExternalScriptRequest + (*UnwatchExternalScriptResponse)(nil), // 3: ocean.v1.UnwatchExternalScriptResponse + (*TransactionNotificationsRequest)(nil), // 4: ocean.v1.TransactionNotificationsRequest + (*TransactionNotificationsResponse)(nil), // 5: ocean.v1.TransactionNotificationsResponse + (*UtxosNotificationsRequest)(nil), // 6: ocean.v1.UtxosNotificationsRequest + (*UtxosNotificationsResponse)(nil), // 7: ocean.v1.UtxosNotificationsResponse + (*AddWebhookRequest)(nil), // 8: ocean.v1.AddWebhookRequest + (*AddWebhookResponse)(nil), // 9: ocean.v1.AddWebhookResponse + (*RemoveWebhookRequest)(nil), // 10: ocean.v1.RemoveWebhookRequest + (*RemoveWebhookResponse)(nil), // 11: ocean.v1.RemoveWebhookResponse + (*ListWebhooksRequest)(nil), // 12: ocean.v1.ListWebhooksRequest + (*ListWebhooksResponse)(nil), // 13: ocean.v1.ListWebhooksResponse + (*WebhookInfo)(nil), // 14: ocean.v1.WebhookInfo + (TxEventType)(0), // 15: ocean.v1.TxEventType + (*BlockDetails)(nil), // 16: ocean.v1.BlockDetails + (UtxoEventType)(0), // 17: ocean.v1.UtxoEventType + (*Utxo)(nil), // 18: ocean.v1.Utxo + (WebhookEventType)(0), // 19: ocean.v1.WebhookEventType } var file_ocean_v1_notification_proto_depIdxs = []int32{ - 11, // 0: ocean.v1.TransactionNotificationsResponse.event_type:type_name -> ocean.v1.TxEventType - 12, // 1: ocean.v1.TransactionNotificationsResponse.block_details:type_name -> ocean.v1.BlockDetails - 13, // 2: ocean.v1.UtxosNotificationsResponse.event_type:type_name -> ocean.v1.UtxoEventType - 14, // 3: ocean.v1.UtxosNotificationsResponse.utxos:type_name -> ocean.v1.Utxo - 15, // 4: ocean.v1.AddWebhookRequest.event_type:type_name -> ocean.v1.WebhookEventType - 15, // 5: ocean.v1.ListWebhooksRequest.event_type:type_name -> ocean.v1.WebhookEventType - 10, // 6: ocean.v1.ListWebhooksResponse.webhook_info:type_name -> ocean.v1.WebhookInfo - 0, // 7: ocean.v1.NotificationService.TransactionNotifications:input_type -> ocean.v1.TransactionNotificationsRequest - 2, // 8: ocean.v1.NotificationService.UtxosNotifications:input_type -> ocean.v1.UtxosNotificationsRequest - 4, // 9: ocean.v1.NotificationService.AddWebhook:input_type -> ocean.v1.AddWebhookRequest - 6, // 10: ocean.v1.NotificationService.RemoveWebhook:input_type -> ocean.v1.RemoveWebhookRequest - 8, // 11: ocean.v1.NotificationService.ListWebhooks:input_type -> ocean.v1.ListWebhooksRequest - 1, // 12: ocean.v1.NotificationService.TransactionNotifications:output_type -> ocean.v1.TransactionNotificationsResponse - 3, // 13: ocean.v1.NotificationService.UtxosNotifications:output_type -> ocean.v1.UtxosNotificationsResponse - 5, // 14: ocean.v1.NotificationService.AddWebhook:output_type -> ocean.v1.AddWebhookResponse - 7, // 15: ocean.v1.NotificationService.RemoveWebhook:output_type -> ocean.v1.RemoveWebhookResponse - 9, // 16: ocean.v1.NotificationService.ListWebhooks:output_type -> ocean.v1.ListWebhooksResponse - 12, // [12:17] is the sub-list for method output_type - 7, // [7:12] is the sub-list for method input_type + 15, // 0: ocean.v1.TransactionNotificationsResponse.event_type:type_name -> ocean.v1.TxEventType + 16, // 1: ocean.v1.TransactionNotificationsResponse.block_details:type_name -> ocean.v1.BlockDetails + 17, // 2: ocean.v1.UtxosNotificationsResponse.event_type:type_name -> ocean.v1.UtxoEventType + 18, // 3: ocean.v1.UtxosNotificationsResponse.utxos:type_name -> ocean.v1.Utxo + 19, // 4: ocean.v1.AddWebhookRequest.event_type:type_name -> ocean.v1.WebhookEventType + 19, // 5: ocean.v1.ListWebhooksRequest.event_type:type_name -> ocean.v1.WebhookEventType + 14, // 6: ocean.v1.ListWebhooksResponse.webhook_info:type_name -> ocean.v1.WebhookInfo + 0, // 7: ocean.v1.NotificationService.WatchExternalScript:input_type -> ocean.v1.WatchExternalScriptRequest + 2, // 8: ocean.v1.NotificationService.UnwatchExternalScript:input_type -> ocean.v1.UnwatchExternalScriptRequest + 4, // 9: ocean.v1.NotificationService.TransactionNotifications:input_type -> ocean.v1.TransactionNotificationsRequest + 6, // 10: ocean.v1.NotificationService.UtxosNotifications:input_type -> ocean.v1.UtxosNotificationsRequest + 8, // 11: ocean.v1.NotificationService.AddWebhook:input_type -> ocean.v1.AddWebhookRequest + 10, // 12: ocean.v1.NotificationService.RemoveWebhook:input_type -> ocean.v1.RemoveWebhookRequest + 12, // 13: ocean.v1.NotificationService.ListWebhooks:input_type -> ocean.v1.ListWebhooksRequest + 1, // 14: ocean.v1.NotificationService.WatchExternalScript:output_type -> ocean.v1.WatchExternalScriptResponse + 3, // 15: ocean.v1.NotificationService.UnwatchExternalScript:output_type -> ocean.v1.UnwatchExternalScriptResponse + 5, // 16: ocean.v1.NotificationService.TransactionNotifications:output_type -> ocean.v1.TransactionNotificationsResponse + 7, // 17: ocean.v1.NotificationService.UtxosNotifications:output_type -> ocean.v1.UtxosNotificationsResponse + 9, // 18: ocean.v1.NotificationService.AddWebhook:output_type -> ocean.v1.AddWebhookResponse + 11, // 19: ocean.v1.NotificationService.RemoveWebhook:output_type -> ocean.v1.RemoveWebhookResponse + 13, // 20: ocean.v1.NotificationService.ListWebhooks:output_type -> ocean.v1.ListWebhooksResponse + 14, // [14:21] is the sub-list for method output_type + 7, // [7:14] is the sub-list for method input_type 7, // [7:7] is the sub-list for extension type_name 7, // [7:7] is the sub-list for extension extendee 0, // [0:7] is the sub-list for field type_name @@ -772,7 +995,7 @@ func file_ocean_v1_notification_proto_init() { file_ocean_v1_types_proto_init() if !protoimpl.UnsafeEnabled { file_ocean_v1_notification_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransactionNotificationsRequest); i { + switch v := v.(*WatchExternalScriptRequest); i { case 0: return &v.state case 1: @@ -784,7 +1007,7 @@ func file_ocean_v1_notification_proto_init() { } } file_ocean_v1_notification_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransactionNotificationsResponse); i { + switch v := v.(*WatchExternalScriptResponse); i { case 0: return &v.state case 1: @@ -796,7 +1019,7 @@ func file_ocean_v1_notification_proto_init() { } } file_ocean_v1_notification_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UtxosNotificationsRequest); i { + switch v := v.(*UnwatchExternalScriptRequest); i { case 0: return &v.state case 1: @@ -808,7 +1031,7 @@ func file_ocean_v1_notification_proto_init() { } } file_ocean_v1_notification_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UtxosNotificationsResponse); i { + switch v := v.(*UnwatchExternalScriptResponse); i { case 0: return &v.state case 1: @@ -820,7 +1043,7 @@ func file_ocean_v1_notification_proto_init() { } } file_ocean_v1_notification_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddWebhookRequest); i { + switch v := v.(*TransactionNotificationsRequest); i { case 0: return &v.state case 1: @@ -832,7 +1055,7 @@ func file_ocean_v1_notification_proto_init() { } } file_ocean_v1_notification_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddWebhookResponse); i { + switch v := v.(*TransactionNotificationsResponse); i { case 0: return &v.state case 1: @@ -844,7 +1067,7 @@ func file_ocean_v1_notification_proto_init() { } } file_ocean_v1_notification_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveWebhookRequest); i { + switch v := v.(*UtxosNotificationsRequest); i { case 0: return &v.state case 1: @@ -856,7 +1079,7 @@ func file_ocean_v1_notification_proto_init() { } } file_ocean_v1_notification_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveWebhookResponse); i { + switch v := v.(*UtxosNotificationsResponse); i { case 0: return &v.state case 1: @@ -868,7 +1091,7 @@ func file_ocean_v1_notification_proto_init() { } } file_ocean_v1_notification_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListWebhooksRequest); i { + switch v := v.(*AddWebhookRequest); i { case 0: return &v.state case 1: @@ -880,7 +1103,7 @@ func file_ocean_v1_notification_proto_init() { } } file_ocean_v1_notification_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListWebhooksResponse); i { + switch v := v.(*AddWebhookResponse); i { case 0: return &v.state case 1: @@ -892,6 +1115,54 @@ func file_ocean_v1_notification_proto_init() { } } file_ocean_v1_notification_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveWebhookRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ocean_v1_notification_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveWebhookResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ocean_v1_notification_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListWebhooksRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ocean_v1_notification_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListWebhooksResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ocean_v1_notification_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WebhookInfo); i { case 0: return &v.state @@ -910,7 +1181,7 @@ func file_ocean_v1_notification_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_ocean_v1_notification_proto_rawDesc, NumEnums: 0, - NumMessages: 11, + NumMessages: 15, NumExtensions: 0, NumServices: 1, }, diff --git a/api-spec/protobuf/gen/ocean/v1/notification_grpc.pb.go b/api-spec/protobuf/gen/ocean/v1/notification_grpc.pb.go index ada3c3b6..a8bf4cb0 100644 --- a/api-spec/protobuf/gen/ocean/v1/notification_grpc.pb.go +++ b/api-spec/protobuf/gen/ocean/v1/notification_grpc.pb.go @@ -18,6 +18,14 @@ const _ = grpc.SupportPackageIsVersion7 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type NotificationServiceClient interface { + // WatchExternalScript allows to get notified about utxos/txs related to the given + // external script, ie. not derived from a wallet account. + // The service answers with the label assigned to the given script. + // The label is used as identifier of the utxos/txs received from the streams. + WatchExternalScript(ctx context.Context, in *WatchExternalScriptRequest, opts ...grpc.CallOption) (*WatchExternalScriptResponse, error) + // UnwatchExternalScript allows to stop watching for the script identified with + // the given label. + UnwatchExternalScript(ctx context.Context, in *UnwatchExternalScriptRequest, opts ...grpc.CallOption) (*UnwatchExternalScriptResponse, error) // Notifies about events related to wallet transactions. TransactionNotifications(ctx context.Context, in *TransactionNotificationsRequest, opts ...grpc.CallOption) (NotificationService_TransactionNotificationsClient, error) // Notifies about events realted to wallet utxos. @@ -38,6 +46,24 @@ func NewNotificationServiceClient(cc grpc.ClientConnInterface) NotificationServi return ¬ificationServiceClient{cc} } +func (c *notificationServiceClient) WatchExternalScript(ctx context.Context, in *WatchExternalScriptRequest, opts ...grpc.CallOption) (*WatchExternalScriptResponse, error) { + out := new(WatchExternalScriptResponse) + err := c.cc.Invoke(ctx, "/ocean.v1.NotificationService/WatchExternalScript", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *notificationServiceClient) UnwatchExternalScript(ctx context.Context, in *UnwatchExternalScriptRequest, opts ...grpc.CallOption) (*UnwatchExternalScriptResponse, error) { + out := new(UnwatchExternalScriptResponse) + err := c.cc.Invoke(ctx, "/ocean.v1.NotificationService/UnwatchExternalScript", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *notificationServiceClient) TransactionNotifications(ctx context.Context, in *TransactionNotificationsRequest, opts ...grpc.CallOption) (NotificationService_TransactionNotificationsClient, error) { stream, err := c.cc.NewStream(ctx, &NotificationService_ServiceDesc.Streams[0], "/ocean.v1.NotificationService/TransactionNotifications", opts...) if err != nil { @@ -133,6 +159,14 @@ func (c *notificationServiceClient) ListWebhooks(ctx context.Context, in *ListWe // All implementations should embed UnimplementedNotificationServiceServer // for forward compatibility type NotificationServiceServer interface { + // WatchExternalScript allows to get notified about utxos/txs related to the given + // external script, ie. not derived from a wallet account. + // The service answers with the label assigned to the given script. + // The label is used as identifier of the utxos/txs received from the streams. + WatchExternalScript(context.Context, *WatchExternalScriptRequest) (*WatchExternalScriptResponse, error) + // UnwatchExternalScript allows to stop watching for the script identified with + // the given label. + UnwatchExternalScript(context.Context, *UnwatchExternalScriptRequest) (*UnwatchExternalScriptResponse, error) // Notifies about events related to wallet transactions. TransactionNotifications(*TransactionNotificationsRequest, NotificationService_TransactionNotificationsServer) error // Notifies about events realted to wallet utxos. @@ -149,6 +183,12 @@ type NotificationServiceServer interface { type UnimplementedNotificationServiceServer struct { } +func (UnimplementedNotificationServiceServer) WatchExternalScript(context.Context, *WatchExternalScriptRequest) (*WatchExternalScriptResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WatchExternalScript not implemented") +} +func (UnimplementedNotificationServiceServer) UnwatchExternalScript(context.Context, *UnwatchExternalScriptRequest) (*UnwatchExternalScriptResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UnwatchExternalScript not implemented") +} func (UnimplementedNotificationServiceServer) TransactionNotifications(*TransactionNotificationsRequest, NotificationService_TransactionNotificationsServer) error { return status.Errorf(codes.Unimplemented, "method TransactionNotifications not implemented") } @@ -176,6 +216,42 @@ func RegisterNotificationServiceServer(s grpc.ServiceRegistrar, srv Notification s.RegisterService(&NotificationService_ServiceDesc, srv) } +func _NotificationService_WatchExternalScript_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(WatchExternalScriptRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NotificationServiceServer).WatchExternalScript(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/ocean.v1.NotificationService/WatchExternalScript", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NotificationServiceServer).WatchExternalScript(ctx, req.(*WatchExternalScriptRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NotificationService_UnwatchExternalScript_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UnwatchExternalScriptRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NotificationServiceServer).UnwatchExternalScript(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/ocean.v1.NotificationService/UnwatchExternalScript", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NotificationServiceServer).UnwatchExternalScript(ctx, req.(*UnwatchExternalScriptRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _NotificationService_TransactionNotifications_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(TransactionNotificationsRequest) if err := stream.RecvMsg(m); err != nil { @@ -279,6 +355,14 @@ var NotificationService_ServiceDesc = grpc.ServiceDesc{ ServiceName: "ocean.v1.NotificationService", HandlerType: (*NotificationServiceServer)(nil), Methods: []grpc.MethodDesc{ + { + MethodName: "WatchExternalScript", + Handler: _NotificationService_WatchExternalScript_Handler, + }, + { + MethodName: "UnwatchExternalScript", + Handler: _NotificationService_UnwatchExternalScript_Handler, + }, { MethodName: "AddWebhook", Handler: _NotificationService_AddWebhook_Handler, diff --git a/api-spec/protobuf/gen/ocean/v1/transaction.pb.go b/api-spec/protobuf/gen/ocean/v1/transaction.pb.go index 79bc8df5..932c56f3 100644 --- a/api-spec/protobuf/gen/ocean/v1/transaction.pb.go +++ b/api-spec/protobuf/gen/ocean/v1/transaction.pb.go @@ -315,6 +315,108 @@ func (x *SelectUtxosResponse) GetExpirationDate() int64 { return 0 } +type LockUtxosRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + Utxos []*Input `protobuf:"bytes,2,rep,name=utxos,proto3" json:"utxos,omitempty"` +} + +func (x *LockUtxosRequest) Reset() { + *x = LockUtxosRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_ocean_v1_transaction_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LockUtxosRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LockUtxosRequest) ProtoMessage() {} + +func (x *LockUtxosRequest) ProtoReflect() protoreflect.Message { + mi := &file_ocean_v1_transaction_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 LockUtxosRequest.ProtoReflect.Descriptor instead. +func (*LockUtxosRequest) Descriptor() ([]byte, []int) { + return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{4} +} + +func (x *LockUtxosRequest) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *LockUtxosRequest) GetUtxos() []*Input { + if x != nil { + return x.Utxos + } + return nil +} + +type LockUtxosResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ExpirationDate int64 `protobuf:"varint,1,opt,name=expiration_date,json=expirationDate,proto3" json:"expiration_date,omitempty"` +} + +func (x *LockUtxosResponse) Reset() { + *x = LockUtxosResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_ocean_v1_transaction_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LockUtxosResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LockUtxosResponse) ProtoMessage() {} + +func (x *LockUtxosResponse) ProtoReflect() protoreflect.Message { + mi := &file_ocean_v1_transaction_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 LockUtxosResponse.ProtoReflect.Descriptor instead. +func (*LockUtxosResponse) Descriptor() ([]byte, []int) { + return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{5} +} + +func (x *LockUtxosResponse) GetExpirationDate() int64 { + if x != nil { + return x.ExpirationDate + } + return 0 +} + type EstimateFeesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -328,7 +430,7 @@ type EstimateFeesRequest struct { func (x *EstimateFeesRequest) Reset() { *x = EstimateFeesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_transaction_proto_msgTypes[4] + mi := &file_ocean_v1_transaction_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -341,7 +443,7 @@ func (x *EstimateFeesRequest) String() string { func (*EstimateFeesRequest) ProtoMessage() {} func (x *EstimateFeesRequest) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_transaction_proto_msgTypes[4] + mi := &file_ocean_v1_transaction_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -354,7 +456,7 @@ func (x *EstimateFeesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EstimateFeesRequest.ProtoReflect.Descriptor instead. func (*EstimateFeesRequest) Descriptor() ([]byte, []int) { - return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{4} + return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{6} } func (x *EstimateFeesRequest) GetInputs() []*Input { @@ -389,7 +491,7 @@ type EstimateFeesResponse struct { func (x *EstimateFeesResponse) Reset() { *x = EstimateFeesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_transaction_proto_msgTypes[5] + mi := &file_ocean_v1_transaction_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -402,7 +504,7 @@ func (x *EstimateFeesResponse) String() string { func (*EstimateFeesResponse) ProtoMessage() {} func (x *EstimateFeesResponse) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_transaction_proto_msgTypes[5] + mi := &file_ocean_v1_transaction_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -415,7 +517,7 @@ func (x *EstimateFeesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EstimateFeesResponse.ProtoReflect.Descriptor instead. func (*EstimateFeesResponse) Descriptor() ([]byte, []int) { - return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{5} + return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{7} } func (x *EstimateFeesResponse) GetFeeAmount() uint64 { @@ -439,7 +541,7 @@ type SignTransactionRequest struct { func (x *SignTransactionRequest) Reset() { *x = SignTransactionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_transaction_proto_msgTypes[6] + mi := &file_ocean_v1_transaction_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -452,7 +554,7 @@ func (x *SignTransactionRequest) String() string { func (*SignTransactionRequest) ProtoMessage() {} func (x *SignTransactionRequest) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_transaction_proto_msgTypes[6] + mi := &file_ocean_v1_transaction_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -465,7 +567,7 @@ func (x *SignTransactionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SignTransactionRequest.ProtoReflect.Descriptor instead. func (*SignTransactionRequest) Descriptor() ([]byte, []int) { - return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{6} + return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{8} } func (x *SignTransactionRequest) GetTxHex() string { @@ -494,7 +596,7 @@ type SignTransactionResponse struct { func (x *SignTransactionResponse) Reset() { *x = SignTransactionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_transaction_proto_msgTypes[7] + mi := &file_ocean_v1_transaction_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -507,7 +609,7 @@ func (x *SignTransactionResponse) String() string { func (*SignTransactionResponse) ProtoMessage() {} func (x *SignTransactionResponse) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_transaction_proto_msgTypes[7] + mi := &file_ocean_v1_transaction_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -520,7 +622,7 @@ func (x *SignTransactionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SignTransactionResponse.ProtoReflect.Descriptor instead. func (*SignTransactionResponse) Descriptor() ([]byte, []int) { - return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{7} + return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{9} } func (x *SignTransactionResponse) GetTxHex() string { @@ -542,7 +644,7 @@ type BroadcastTransactionRequest struct { func (x *BroadcastTransactionRequest) Reset() { *x = BroadcastTransactionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_transaction_proto_msgTypes[8] + mi := &file_ocean_v1_transaction_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -555,7 +657,7 @@ func (x *BroadcastTransactionRequest) String() string { func (*BroadcastTransactionRequest) ProtoMessage() {} func (x *BroadcastTransactionRequest) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_transaction_proto_msgTypes[8] + mi := &file_ocean_v1_transaction_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -568,7 +670,7 @@ func (x *BroadcastTransactionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BroadcastTransactionRequest.ProtoReflect.Descriptor instead. func (*BroadcastTransactionRequest) Descriptor() ([]byte, []int) { - return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{8} + return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{10} } func (x *BroadcastTransactionRequest) GetTxHex() string { @@ -590,7 +692,7 @@ type BroadcastTransactionResponse struct { func (x *BroadcastTransactionResponse) Reset() { *x = BroadcastTransactionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_transaction_proto_msgTypes[9] + mi := &file_ocean_v1_transaction_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -603,7 +705,7 @@ func (x *BroadcastTransactionResponse) String() string { func (*BroadcastTransactionResponse) ProtoMessage() {} func (x *BroadcastTransactionResponse) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_transaction_proto_msgTypes[9] + mi := &file_ocean_v1_transaction_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -616,7 +718,7 @@ func (x *BroadcastTransactionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use BroadcastTransactionResponse.ProtoReflect.Descriptor instead. func (*BroadcastTransactionResponse) Descriptor() ([]byte, []int) { - return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{9} + return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{11} } func (x *BroadcastTransactionResponse) GetTxid() string { @@ -640,7 +742,7 @@ type CreatePsetRequest struct { func (x *CreatePsetRequest) Reset() { *x = CreatePsetRequest{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_transaction_proto_msgTypes[10] + mi := &file_ocean_v1_transaction_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -653,7 +755,7 @@ func (x *CreatePsetRequest) String() string { func (*CreatePsetRequest) ProtoMessage() {} func (x *CreatePsetRequest) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_transaction_proto_msgTypes[10] + mi := &file_ocean_v1_transaction_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -666,7 +768,7 @@ func (x *CreatePsetRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreatePsetRequest.ProtoReflect.Descriptor instead. func (*CreatePsetRequest) Descriptor() ([]byte, []int) { - return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{10} + return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{12} } func (x *CreatePsetRequest) GetInputs() []*Input { @@ -695,7 +797,7 @@ type CreatePsetResponse struct { func (x *CreatePsetResponse) Reset() { *x = CreatePsetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_transaction_proto_msgTypes[11] + mi := &file_ocean_v1_transaction_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -708,7 +810,7 @@ func (x *CreatePsetResponse) String() string { func (*CreatePsetResponse) ProtoMessage() {} func (x *CreatePsetResponse) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_transaction_proto_msgTypes[11] + mi := &file_ocean_v1_transaction_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -721,7 +823,7 @@ func (x *CreatePsetResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreatePsetResponse.ProtoReflect.Descriptor instead. func (*CreatePsetResponse) Descriptor() ([]byte, []int) { - return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{11} + return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{13} } func (x *CreatePsetResponse) GetPset() string { @@ -747,7 +849,7 @@ type UpdatePsetRequest struct { func (x *UpdatePsetRequest) Reset() { *x = UpdatePsetRequest{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_transaction_proto_msgTypes[12] + mi := &file_ocean_v1_transaction_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -760,7 +862,7 @@ func (x *UpdatePsetRequest) String() string { func (*UpdatePsetRequest) ProtoMessage() {} func (x *UpdatePsetRequest) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_transaction_proto_msgTypes[12] + mi := &file_ocean_v1_transaction_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -773,7 +875,7 @@ func (x *UpdatePsetRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdatePsetRequest.ProtoReflect.Descriptor instead. func (*UpdatePsetRequest) Descriptor() ([]byte, []int) { - return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{12} + return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{14} } func (x *UpdatePsetRequest) GetPset() string { @@ -809,7 +911,7 @@ type UpdatePsetResponse struct { func (x *UpdatePsetResponse) Reset() { *x = UpdatePsetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_transaction_proto_msgTypes[13] + mi := &file_ocean_v1_transaction_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -822,7 +924,7 @@ func (x *UpdatePsetResponse) String() string { func (*UpdatePsetResponse) ProtoMessage() {} func (x *UpdatePsetResponse) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_transaction_proto_msgTypes[13] + mi := &file_ocean_v1_transaction_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -835,7 +937,7 @@ func (x *UpdatePsetResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdatePsetResponse.ProtoReflect.Descriptor instead. func (*UpdatePsetResponse) Descriptor() ([]byte, []int) { - return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{13} + return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{15} } func (x *UpdatePsetResponse) GetPset() string { @@ -862,7 +964,7 @@ type BlindPsetRequest struct { func (x *BlindPsetRequest) Reset() { *x = BlindPsetRequest{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_transaction_proto_msgTypes[14] + mi := &file_ocean_v1_transaction_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -875,7 +977,7 @@ func (x *BlindPsetRequest) String() string { func (*BlindPsetRequest) ProtoMessage() {} func (x *BlindPsetRequest) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_transaction_proto_msgTypes[14] + mi := &file_ocean_v1_transaction_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -888,7 +990,7 @@ func (x *BlindPsetRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BlindPsetRequest.ProtoReflect.Descriptor instead. func (*BlindPsetRequest) Descriptor() ([]byte, []int) { - return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{14} + return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{16} } func (x *BlindPsetRequest) GetPset() string { @@ -924,7 +1026,7 @@ type BlindPsetResponse struct { func (x *BlindPsetResponse) Reset() { *x = BlindPsetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_transaction_proto_msgTypes[15] + mi := &file_ocean_v1_transaction_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -937,7 +1039,7 @@ func (x *BlindPsetResponse) String() string { func (*BlindPsetResponse) ProtoMessage() {} func (x *BlindPsetResponse) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_transaction_proto_msgTypes[15] + mi := &file_ocean_v1_transaction_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -950,7 +1052,7 @@ func (x *BlindPsetResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use BlindPsetResponse.ProtoReflect.Descriptor instead. func (*BlindPsetResponse) Descriptor() ([]byte, []int) { - return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{15} + return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{17} } func (x *BlindPsetResponse) GetPset() string { @@ -975,7 +1077,7 @@ type SignPsetRequest struct { func (x *SignPsetRequest) Reset() { *x = SignPsetRequest{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_transaction_proto_msgTypes[16] + mi := &file_ocean_v1_transaction_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -988,7 +1090,7 @@ func (x *SignPsetRequest) String() string { func (*SignPsetRequest) ProtoMessage() {} func (x *SignPsetRequest) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_transaction_proto_msgTypes[16] + mi := &file_ocean_v1_transaction_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1001,7 +1103,7 @@ func (x *SignPsetRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SignPsetRequest.ProtoReflect.Descriptor instead. func (*SignPsetRequest) Descriptor() ([]byte, []int) { - return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{16} + return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{18} } func (x *SignPsetRequest) GetPset() string { @@ -1030,7 +1132,7 @@ type SignPsetResponse struct { func (x *SignPsetResponse) Reset() { *x = SignPsetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_transaction_proto_msgTypes[17] + mi := &file_ocean_v1_transaction_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1043,7 +1145,7 @@ func (x *SignPsetResponse) String() string { func (*SignPsetResponse) ProtoMessage() {} func (x *SignPsetResponse) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_transaction_proto_msgTypes[17] + mi := &file_ocean_v1_transaction_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1056,7 +1158,7 @@ func (x *SignPsetResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SignPsetResponse.ProtoReflect.Descriptor instead. func (*SignPsetResponse) Descriptor() ([]byte, []int) { - return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{17} + return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{19} } func (x *SignPsetResponse) GetPset() string { @@ -1090,7 +1192,7 @@ type MintRequest struct { func (x *MintRequest) Reset() { *x = MintRequest{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_transaction_proto_msgTypes[18] + mi := &file_ocean_v1_transaction_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1103,7 +1205,7 @@ func (x *MintRequest) String() string { func (*MintRequest) ProtoMessage() {} func (x *MintRequest) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_transaction_proto_msgTypes[18] + mi := &file_ocean_v1_transaction_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1116,7 +1218,7 @@ func (x *MintRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MintRequest.ProtoReflect.Descriptor instead. func (*MintRequest) Descriptor() ([]byte, []int) { - return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{18} + return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{20} } func (x *MintRequest) GetAccountName() string { @@ -1180,7 +1282,7 @@ type MintResponse struct { func (x *MintResponse) Reset() { *x = MintResponse{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_transaction_proto_msgTypes[19] + mi := &file_ocean_v1_transaction_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1193,7 +1295,7 @@ func (x *MintResponse) String() string { func (*MintResponse) ProtoMessage() {} func (x *MintResponse) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_transaction_proto_msgTypes[19] + mi := &file_ocean_v1_transaction_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1206,7 +1308,7 @@ func (x *MintResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MintResponse.ProtoReflect.Descriptor instead. func (*MintResponse) Descriptor() ([]byte, []int) { - return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{19} + return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{21} } func (x *MintResponse) GetTxHex() string { @@ -1234,7 +1336,7 @@ type RemintRequest struct { func (x *RemintRequest) Reset() { *x = RemintRequest{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_transaction_proto_msgTypes[20] + mi := &file_ocean_v1_transaction_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1247,7 +1349,7 @@ func (x *RemintRequest) String() string { func (*RemintRequest) ProtoMessage() {} func (x *RemintRequest) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_transaction_proto_msgTypes[20] + mi := &file_ocean_v1_transaction_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1260,7 +1362,7 @@ func (x *RemintRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemintRequest.ProtoReflect.Descriptor instead. func (*RemintRequest) Descriptor() ([]byte, []int) { - return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{20} + return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{22} } func (x *RemintRequest) GetAccountName() string { @@ -1303,7 +1405,7 @@ type RemintResponse struct { func (x *RemintResponse) Reset() { *x = RemintResponse{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_transaction_proto_msgTypes[21] + mi := &file_ocean_v1_transaction_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1316,7 +1418,7 @@ func (x *RemintResponse) String() string { func (*RemintResponse) ProtoMessage() {} func (x *RemintResponse) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_transaction_proto_msgTypes[21] + mi := &file_ocean_v1_transaction_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1329,7 +1431,7 @@ func (x *RemintResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RemintResponse.ProtoReflect.Descriptor instead. func (*RemintResponse) Descriptor() ([]byte, []int) { - return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{21} + return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{23} } func (x *RemintResponse) GetTxHex() string { @@ -1356,7 +1458,7 @@ type BurnRequest struct { func (x *BurnRequest) Reset() { *x = BurnRequest{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_transaction_proto_msgTypes[22] + mi := &file_ocean_v1_transaction_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1369,7 +1471,7 @@ func (x *BurnRequest) String() string { func (*BurnRequest) ProtoMessage() {} func (x *BurnRequest) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_transaction_proto_msgTypes[22] + mi := &file_ocean_v1_transaction_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1382,7 +1484,7 @@ func (x *BurnRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BurnRequest.ProtoReflect.Descriptor instead. func (*BurnRequest) Descriptor() ([]byte, []int) { - return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{22} + return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{24} } func (x *BurnRequest) GetAccountName() string { @@ -1418,7 +1520,7 @@ type BurnResponse struct { func (x *BurnResponse) Reset() { *x = BurnResponse{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_transaction_proto_msgTypes[23] + mi := &file_ocean_v1_transaction_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1431,7 +1533,7 @@ func (x *BurnResponse) String() string { func (*BurnResponse) ProtoMessage() {} func (x *BurnResponse) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_transaction_proto_msgTypes[23] + mi := &file_ocean_v1_transaction_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1444,7 +1546,7 @@ func (x *BurnResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use BurnResponse.ProtoReflect.Descriptor instead. func (*BurnResponse) Descriptor() ([]byte, []int) { - return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{23} + return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{25} } func (x *BurnResponse) GetTxHex() string { @@ -1470,7 +1572,7 @@ type TransferRequest struct { func (x *TransferRequest) Reset() { *x = TransferRequest{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_transaction_proto_msgTypes[24] + mi := &file_ocean_v1_transaction_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1483,7 +1585,7 @@ func (x *TransferRequest) String() string { func (*TransferRequest) ProtoMessage() {} func (x *TransferRequest) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_transaction_proto_msgTypes[24] + mi := &file_ocean_v1_transaction_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1496,7 +1598,7 @@ func (x *TransferRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TransferRequest.ProtoReflect.Descriptor instead. func (*TransferRequest) Descriptor() ([]byte, []int) { - return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{24} + return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{26} } func (x *TransferRequest) GetAccountName() string { @@ -1532,7 +1634,7 @@ type TransferResponse struct { func (x *TransferResponse) Reset() { *x = TransferResponse{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_transaction_proto_msgTypes[25] + mi := &file_ocean_v1_transaction_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1545,7 +1647,7 @@ func (x *TransferResponse) String() string { func (*TransferResponse) ProtoMessage() {} func (x *TransferResponse) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_transaction_proto_msgTypes[25] + mi := &file_ocean_v1_transaction_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1558,7 +1660,7 @@ func (x *TransferResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TransferResponse.ProtoReflect.Descriptor instead. func (*TransferResponse) Descriptor() ([]byte, []int) { - return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{25} + return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{27} } func (x *TransferResponse) GetTxHex() string { @@ -1577,7 +1679,7 @@ type PegInAddressRequest struct { func (x *PegInAddressRequest) Reset() { *x = PegInAddressRequest{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_transaction_proto_msgTypes[26] + mi := &file_ocean_v1_transaction_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1590,7 +1692,7 @@ func (x *PegInAddressRequest) String() string { func (*PegInAddressRequest) ProtoMessage() {} func (x *PegInAddressRequest) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_transaction_proto_msgTypes[26] + mi := &file_ocean_v1_transaction_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1603,7 +1705,7 @@ func (x *PegInAddressRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PegInAddressRequest.ProtoReflect.Descriptor instead. func (*PegInAddressRequest) Descriptor() ([]byte, []int) { - return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{26} + return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{28} } type PegInAddressResponse struct { @@ -1622,7 +1724,7 @@ type PegInAddressResponse struct { func (x *PegInAddressResponse) Reset() { *x = PegInAddressResponse{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_transaction_proto_msgTypes[27] + mi := &file_ocean_v1_transaction_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1635,7 +1737,7 @@ func (x *PegInAddressResponse) String() string { func (*PegInAddressResponse) ProtoMessage() {} func (x *PegInAddressResponse) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_transaction_proto_msgTypes[27] + mi := &file_ocean_v1_transaction_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1648,7 +1750,7 @@ func (x *PegInAddressResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PegInAddressResponse.ProtoReflect.Descriptor instead. func (*PegInAddressResponse) Descriptor() ([]byte, []int) { - return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{27} + return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{29} } func (x *PegInAddressResponse) GetAccountName() string { @@ -1688,7 +1790,7 @@ type ClaimPegInRequest struct { func (x *ClaimPegInRequest) Reset() { *x = ClaimPegInRequest{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_transaction_proto_msgTypes[28] + mi := &file_ocean_v1_transaction_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1701,7 +1803,7 @@ func (x *ClaimPegInRequest) String() string { func (*ClaimPegInRequest) ProtoMessage() {} func (x *ClaimPegInRequest) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_transaction_proto_msgTypes[28] + mi := &file_ocean_v1_transaction_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1714,7 +1816,7 @@ func (x *ClaimPegInRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ClaimPegInRequest.ProtoReflect.Descriptor instead. func (*ClaimPegInRequest) Descriptor() ([]byte, []int) { - return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{28} + return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{30} } func (x *ClaimPegInRequest) GetBitcoinTx() string { @@ -1750,7 +1852,7 @@ type ClaimPegInResponse struct { func (x *ClaimPegInResponse) Reset() { *x = ClaimPegInResponse{} if protoimpl.UnsafeEnabled { - mi := &file_ocean_v1_transaction_proto_msgTypes[29] + mi := &file_ocean_v1_transaction_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1763,7 +1865,7 @@ func (x *ClaimPegInResponse) String() string { func (*ClaimPegInResponse) ProtoMessage() {} func (x *ClaimPegInResponse) ProtoReflect() protoreflect.Message { - mi := &file_ocean_v1_transaction_proto_msgTypes[29] + mi := &file_ocean_v1_transaction_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1776,7 +1878,7 @@ func (x *ClaimPegInResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ClaimPegInResponse.ProtoReflect.Descriptor instead. func (*ClaimPegInResponse) Descriptor() ([]byte, []int) { - return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{29} + return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{31} } func (x *ClaimPegInResponse) GetTxHex() string { @@ -1786,6 +1888,110 @@ func (x *ClaimPegInResponse) GetTxHex() string { return "" } +type SignPsetWithSchnorrKeyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The partial transaction to sign in base64 format. + Tx string `protobuf:"bytes,1,opt,name=tx,proto3" json:"tx,omitempty"` + // The sighash type. SIGHASH_DEFAULT is used for any input that does not specify one. + SighashType uint32 `protobuf:"varint,2,opt,name=sighash_type,json=sighashType,proto3" json:"sighash_type,omitempty"` +} + +func (x *SignPsetWithSchnorrKeyRequest) Reset() { + *x = SignPsetWithSchnorrKeyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_ocean_v1_transaction_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SignPsetWithSchnorrKeyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SignPsetWithSchnorrKeyRequest) ProtoMessage() {} + +func (x *SignPsetWithSchnorrKeyRequest) ProtoReflect() protoreflect.Message { + mi := &file_ocean_v1_transaction_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SignPsetWithSchnorrKeyRequest.ProtoReflect.Descriptor instead. +func (*SignPsetWithSchnorrKeyRequest) Descriptor() ([]byte, []int) { + return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{32} +} + +func (x *SignPsetWithSchnorrKeyRequest) GetTx() string { + if x != nil { + return x.Tx + } + return "" +} + +func (x *SignPsetWithSchnorrKeyRequest) GetSighashType() uint32 { + if x != nil { + return x.SighashType + } + return 0 +} + +type SignPsetWithSchnorrKeyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SignedTx string `protobuf:"bytes,1,opt,name=signed_tx,json=signedTx,proto3" json:"signed_tx,omitempty"` +} + +func (x *SignPsetWithSchnorrKeyResponse) Reset() { + *x = SignPsetWithSchnorrKeyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_ocean_v1_transaction_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SignPsetWithSchnorrKeyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SignPsetWithSchnorrKeyResponse) ProtoMessage() {} + +func (x *SignPsetWithSchnorrKeyResponse) ProtoReflect() protoreflect.Message { + mi := &file_ocean_v1_transaction_proto_msgTypes[33] + 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 SignPsetWithSchnorrKeyResponse.ProtoReflect.Descriptor instead. +func (*SignPsetWithSchnorrKeyResponse) Descriptor() ([]byte, []int) { + return file_ocean_v1_transaction_proto_rawDescGZIP(), []int{33} +} + +func (x *SignPsetWithSchnorrKeyResponse) GetSignedTx() string { + if x != nil { + return x.SignedTx + } + return "" +} + var File_ocean_v1_transaction_proto protoreflect.FileDescriptor var file_ocean_v1_transaction_proto_rawDesc = []byte{ @@ -1828,117 +2034,115 @@ var file_ocean_v1_transaction_proto_rawDesc = []byte{ 0x04, 0x52, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, - 0x74, 0x65, 0x22, 0x98, 0x01, 0x0a, 0x13, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x46, - 0x65, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x69, 0x6e, - 0x70, 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6f, 0x63, 0x65, - 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x06, 0x69, 0x6e, 0x70, - 0x75, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, - 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, - 0x2c, 0x0a, 0x12, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x61, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, - 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6d, 0x69, 0x6c, - 0x6c, 0x69, 0x73, 0x61, 0x74, 0x73, 0x50, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x22, 0x35, 0x0a, - 0x14, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x5f, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x66, 0x65, 0x65, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x52, 0x0a, 0x16, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, - 0x0a, 0x06, 0x74, 0x78, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x74, 0x78, 0x48, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x69, 0x67, 0x68, 0x61, 0x73, 0x68, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x69, 0x67, - 0x68, 0x61, 0x73, 0x68, 0x54, 0x79, 0x70, 0x65, 0x22, 0x30, 0x0a, 0x17, 0x53, 0x69, 0x67, 0x6e, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x78, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x78, 0x48, 0x65, 0x78, 0x22, 0x34, 0x0a, 0x1b, 0x42, 0x72, - 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x78, 0x5f, - 0x68, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x78, 0x48, 0x65, 0x78, - 0x22, 0x32, 0x0a, 0x1c, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x74, 0x78, 0x69, 0x64, 0x22, 0x68, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x73, - 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x69, 0x6e, 0x70, - 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6f, 0x63, 0x65, 0x61, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, - 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x22, 0x28, - 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x70, 0x73, 0x65, 0x74, 0x22, 0x7c, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, + 0x74, 0x65, 0x22, 0x5c, 0x0a, 0x10, 0x4c, 0x6f, 0x63, 0x6b, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x75, 0x74, 0x78, + 0x6f, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x05, 0x75, 0x74, 0x78, 0x6f, 0x73, + 0x22, 0x3c, 0x0a, 0x11, 0x4c, 0x6f, 0x63, 0x6b, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, + 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x22, 0x98, + 0x01, 0x0a, 0x13, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, + 0x2a, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6d, + 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x61, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x61, + 0x74, 0x73, 0x50, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x22, 0x35, 0x0a, 0x14, 0x45, 0x73, 0x74, + 0x69, 0x6d, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x66, 0x65, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x22, 0x52, 0x0a, 0x16, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x78, + 0x5f, 0x68, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x78, 0x48, 0x65, + 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x69, 0x67, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x69, 0x67, 0x68, 0x61, 0x73, 0x68, + 0x54, 0x79, 0x70, 0x65, 0x22, 0x30, 0x0a, 0x17, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x15, 0x0a, 0x06, 0x74, 0x78, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x74, 0x78, 0x48, 0x65, 0x78, 0x22, 0x34, 0x0a, 0x1b, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, + 0x61, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x78, 0x5f, 0x68, 0x65, 0x78, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x78, 0x48, 0x65, 0x78, 0x22, 0x32, 0x0a, 0x1c, + 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, + 0x22, 0x68, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x73, 0x65, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x2a, + 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x10, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x22, 0x28, 0x0a, 0x12, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x50, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x70, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x70, 0x73, 0x65, 0x74, 0x22, 0x7c, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x73, + 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x73, 0x65, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x73, 0x65, 0x74, 0x12, 0x27, 0x0a, + 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, + 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x06, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x73, 0x22, 0x28, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x73, 0x65, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x73, 0x65, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x73, 0x65, 0x74, 0x22, 0x99, 0x01, 0x0a, + 0x10, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x50, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x70, 0x73, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x62, 0x6c, + 0x69, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6c, 0x61, 0x73, + 0x74, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x16, 0x65, 0x78, 0x74, 0x72, + 0x61, 0x5f, 0x75, 0x6e, 0x62, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x62, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x70, + 0x75, 0x74, 0x52, 0x14, 0x65, 0x78, 0x74, 0x72, 0x61, 0x55, 0x6e, 0x62, 0x6c, 0x69, 0x6e, 0x64, + 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x22, 0x27, 0x0a, 0x11, 0x42, 0x6c, 0x69, 0x6e, + 0x64, 0x50, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x73, 0x65, - 0x74, 0x12, 0x27, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0f, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x70, - 0x75, 0x74, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x07, 0x6f, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x63, - 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x07, 0x6f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x22, 0x28, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x70, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x73, 0x65, 0x74, - 0x22, 0x99, 0x01, 0x0a, 0x10, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x50, 0x73, 0x65, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x73, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x61, 0x73, - 0x74, 0x5f, 0x62, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x16, - 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x75, 0x6e, 0x62, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x5f, - 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6f, - 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x62, 0x6c, 0x69, 0x6e, 0x64, 0x65, - 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x14, 0x65, 0x78, 0x74, 0x72, 0x61, 0x55, 0x6e, 0x62, - 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x22, 0x27, 0x0a, 0x11, - 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x50, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x70, 0x73, 0x65, 0x74, 0x22, 0x48, 0x0a, 0x0f, 0x53, 0x69, 0x67, 0x6e, 0x50, 0x73, 0x65, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x73, 0x65, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x73, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x0c, - 0x73, 0x69, 0x67, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x69, 0x67, 0x68, 0x61, 0x73, 0x68, 0x54, 0x79, 0x70, 0x65, 0x22, - 0x26, 0x0a, 0x10, 0x53, 0x69, 0x67, 0x6e, 0x50, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x70, 0x73, 0x65, 0x74, 0x22, 0x89, 0x02, 0x0a, 0x0b, 0x4d, 0x69, 0x6e, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x73, - 0x73, 0x65, 0x74, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0b, 0x61, 0x73, 0x73, 0x65, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, - 0x0c, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x21, 0x0a, 0x0c, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x73, 0x73, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, - 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x73, 0x73, 0x65, 0x74, 0x44, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x61, - 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x10, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x61, 0x74, 0x73, 0x50, 0x65, 0x72, 0x42, - 0x79, 0x74, 0x65, 0x22, 0x25, 0x0a, 0x0c, 0x4d, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x78, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x78, 0x48, 0x65, 0x78, 0x22, 0x8e, 0x01, 0x0a, 0x0d, 0x52, - 0x65, 0x6d, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x61, 0x73, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, - 0x12, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x61, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x62, - 0x79, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6d, 0x69, 0x6c, 0x6c, 0x69, - 0x73, 0x61, 0x74, 0x73, 0x50, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x22, 0x27, 0x0a, 0x0e, 0x52, - 0x65, 0x6d, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, - 0x06, 0x74, 0x78, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, - 0x78, 0x48, 0x65, 0x78, 0x22, 0x8e, 0x01, 0x0a, 0x0b, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x63, 0x65, - 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x09, 0x72, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x69, 0x6c, 0x6c, 0x69, - 0x73, 0x61, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x10, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x61, 0x74, 0x73, 0x50, 0x65, - 0x72, 0x42, 0x79, 0x74, 0x65, 0x22, 0x25, 0x0a, 0x0c, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x78, 0x5f, 0x68, 0x65, 0x78, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x78, 0x48, 0x65, 0x78, 0x22, 0x92, 0x01, 0x0a, - 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x74, 0x22, 0x48, 0x0a, 0x0f, 0x53, 0x69, 0x67, 0x6e, 0x50, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x70, 0x73, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x69, 0x67, 0x68, + 0x61, 0x73, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, + 0x73, 0x69, 0x67, 0x68, 0x61, 0x73, 0x68, 0x54, 0x79, 0x70, 0x65, 0x22, 0x26, 0x0a, 0x10, 0x53, + 0x69, 0x67, 0x6e, 0x50, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x70, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, + 0x73, 0x65, 0x74, 0x22, 0x89, 0x02, 0x0a, 0x0b, 0x4d, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x61, 0x73, + 0x73, 0x65, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, + 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, + 0x73, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x61, 0x73, 0x73, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x21, + 0x0a, 0x0c, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x73, 0x73, 0x65, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x61, 0x74, 0x73, 0x5f, 0x70, + 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6d, + 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x61, 0x74, 0x73, 0x50, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x22, + 0x25, 0x0a, 0x0c, 0x4d, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x15, 0x0a, 0x06, 0x74, 0x78, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x74, 0x78, 0x48, 0x65, 0x78, 0x22, 0x8e, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x69, 0x6e, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, + 0x73, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x73, 0x73, 0x65, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x69, 0x6c, + 0x6c, 0x69, 0x73, 0x61, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x61, 0x74, 0x73, + 0x50, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x22, 0x27, 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x69, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x78, 0x5f, + 0x68, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x78, 0x48, 0x65, 0x78, + 0x22, 0x8e, 0x01, 0x0a, 0x0b, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x73, @@ -1947,112 +2151,144 @@ var file_ocean_v1_transaction_proto_rawDesc = []byte{ 0x65, 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x61, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x61, 0x74, 0x73, 0x50, 0x65, 0x72, 0x42, 0x79, 0x74, - 0x65, 0x22, 0x29, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x78, 0x5f, 0x68, 0x65, 0x78, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x78, 0x48, 0x65, 0x78, 0x22, 0x15, 0x0a, 0x13, - 0x50, 0x65, 0x67, 0x49, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x22, 0x8a, 0x01, 0x0a, 0x14, 0x50, 0x65, 0x67, 0x49, 0x6e, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, + 0x65, 0x22, 0x25, 0x0a, 0x0c, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x78, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x74, 0x78, 0x48, 0x65, 0x78, 0x22, 0x92, 0x01, 0x0a, 0x0f, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x2c, 0x0a, 0x12, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x61, 0x69, - 0x6e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, - 0x0c, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x22, 0x77, 0x0a, 0x11, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x50, 0x65, 0x67, 0x49, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, - 0x5f, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x69, 0x74, 0x63, 0x6f, - 0x69, 0x6e, 0x54, 0x78, 0x12, 0x20, 0x0a, 0x0c, 0x74, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x70, - 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x78, 0x4f, 0x75, - 0x74, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, - 0x61, 0x69, 0x6d, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x22, 0x2b, 0x0a, 0x12, 0x43, 0x6c, 0x61, - 0x69, 0x6d, 0x50, 0x65, 0x67, 0x49, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x15, 0x0a, 0x06, 0x74, 0x78, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x74, 0x78, 0x48, 0x65, 0x78, 0x32, 0xe4, 0x08, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x53, 0x0a, - 0x0e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x1f, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x20, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0b, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x55, 0x74, 0x78, 0x6f, - 0x73, 0x12, 0x1c, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6c, - 0x65, 0x63, 0x74, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1d, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, - 0x0a, 0x0c, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 0x73, 0x12, 0x1d, - 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, - 0x74, 0x65, 0x46, 0x65, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, - 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, - 0x65, 0x46, 0x65, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, - 0x0f, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x20, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, - 0x67, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x14, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, - 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, - 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, - 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, - 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0a, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x73, 0x65, 0x74, 0x12, 0x1b, 0x2e, 0x6f, 0x63, 0x65, - 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x73, 0x65, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, - 0x73, 0x65, 0x74, 0x12, 0x1b, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1c, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, - 0x0a, 0x09, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x50, 0x73, 0x65, 0x74, 0x12, 0x1a, 0x2e, 0x6f, 0x63, - 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x50, 0x73, 0x65, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x50, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x50, 0x73, 0x65, 0x74, - 0x12, 0x19, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, - 0x50, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6f, 0x63, - 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x50, 0x73, 0x65, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x4d, 0x69, 0x6e, 0x74, 0x12, - 0x15, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x69, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, - 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x69, 0x6e, 0x74, 0x12, 0x17, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x18, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, - 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x42, - 0x75, 0x72, 0x6e, 0x12, 0x15, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, - 0x75, 0x72, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x6f, 0x63, 0x65, - 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x41, 0x0a, 0x08, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x19, + 0x2e, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x52, 0x09, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x73, 0x12, + 0x2c, 0x0a, 0x12, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x61, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, + 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6d, 0x69, 0x6c, + 0x6c, 0x69, 0x73, 0x61, 0x74, 0x73, 0x50, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x22, 0x29, 0x0a, + 0x10, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x78, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x74, 0x78, 0x48, 0x65, 0x78, 0x22, 0x15, 0x0a, 0x13, 0x50, 0x65, 0x67, 0x49, + 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, + 0x8a, 0x01, 0x0a, 0x14, 0x50, 0x65, 0x67, 0x49, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6d, + 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x61, 0x69, 0x6e, 0x43, 0x68, 0x61, + 0x69, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x61, + 0x69, 0x6d, 0x5f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x22, 0x77, 0x0a, 0x11, + 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x50, 0x65, 0x67, 0x49, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x74, 0x78, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x54, 0x78, + 0x12, 0x20, 0x0a, 0x0c, 0x74, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x78, 0x4f, 0x75, 0x74, 0x50, 0x72, 0x6f, + 0x6f, 0x66, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x53, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x22, 0x2b, 0x0a, 0x12, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x50, 0x65, + 0x67, 0x49, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x74, + 0x78, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x78, 0x48, + 0x65, 0x78, 0x22, 0x52, 0x0a, 0x1d, 0x53, 0x69, 0x67, 0x6e, 0x50, 0x73, 0x65, 0x74, 0x57, 0x69, + 0x74, 0x68, 0x53, 0x63, 0x68, 0x6e, 0x6f, 0x72, 0x72, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x74, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x69, 0x67, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x69, 0x67, 0x68, 0x61, + 0x73, 0x68, 0x54, 0x79, 0x70, 0x65, 0x22, 0x3d, 0x0a, 0x1e, 0x53, 0x69, 0x67, 0x6e, 0x50, 0x73, + 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x53, 0x63, 0x68, 0x6e, 0x6f, 0x72, 0x72, 0x4b, 0x65, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x5f, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x54, 0x78, 0x32, 0x97, 0x0a, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x53, 0x0a, 0x0e, + 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, + 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x20, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x4a, 0x0a, 0x0b, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x55, 0x74, 0x78, 0x6f, 0x73, + 0x12, 0x1c, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, + 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x55, 0x74, 0x78, 0x6f, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, + 0x09, 0x4c, 0x6f, 0x63, 0x6b, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x12, 0x1a, 0x2e, 0x6f, 0x63, 0x65, + 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0c, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x46, + 0x65, 0x65, 0x73, 0x12, 0x1d, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, + 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x73, + 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0f, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x14, 0x42, 0x72, + 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x72, + 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6f, 0x63, 0x65, 0x61, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x47, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x73, 0x65, 0x74, 0x12, + 0x1b, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x50, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6f, + 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x73, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0a, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x73, 0x65, 0x74, 0x12, 0x1b, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x73, 0x65, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x09, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x50, 0x73, 0x65, 0x74, + 0x12, 0x1a, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x69, 0x6e, + 0x64, 0x50, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6f, + 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x50, 0x73, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x08, 0x53, 0x69, 0x67, + 0x6e, 0x50, 0x73, 0x65, 0x74, 0x12, 0x19, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x50, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1a, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, + 0x50, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x04, + 0x4d, 0x69, 0x6e, 0x74, 0x12, 0x15, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x4d, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x6f, 0x63, + 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x69, 0x6e, 0x74, 0x12, 0x17, 0x2e, + 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x69, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x35, 0x0a, 0x04, 0x42, 0x75, 0x72, 0x6e, 0x12, 0x15, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x16, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x08, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x12, 0x19, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6f, 0x63, 0x65, 0x61, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0c, 0x50, 0x65, 0x67, 0x49, 0x6e, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x65, 0x67, 0x49, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x65, 0x67, 0x49, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0a, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x50, 0x65, 0x67, - 0x49, 0x6e, 0x12, 0x1b, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, - 0x61, 0x69, 0x6d, 0x50, 0x65, 0x67, 0x49, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1c, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x61, 0x69, 0x6d, - 0x50, 0x65, 0x67, 0x49, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xad, 0x01, - 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x10, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x50, 0x01, 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x74, - 0x64, 0x65, 0x78, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x74, 0x64, 0x65, 0x78, - 0x2d, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2d, 0x73, 0x70, 0x65, 0x63, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x6f, 0x63, - 0x65, 0x61, 0x6e, 0x2f, 0x76, 0x31, 0x3b, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x76, 0x31, 0xa2, 0x02, - 0x03, 0x4f, 0x58, 0x58, 0xaa, 0x02, 0x08, 0x4f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x56, 0x31, 0xca, - 0x02, 0x08, 0x4f, 0x63, 0x65, 0x61, 0x6e, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x14, 0x4f, 0x63, 0x65, - 0x61, 0x6e, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0xea, 0x02, 0x09, 0x4f, 0x63, 0x65, 0x61, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0c, 0x50, 0x65, + 0x67, 0x49, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x2e, 0x6f, 0x63, 0x65, + 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x67, 0x49, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6f, 0x63, 0x65, 0x61, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x67, 0x49, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0a, 0x43, 0x6c, 0x61, + 0x69, 0x6d, 0x50, 0x65, 0x67, 0x49, 0x6e, 0x12, 0x1b, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x50, 0x65, 0x67, 0x49, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x50, 0x65, 0x67, 0x49, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x16, 0x53, 0x69, 0x67, 0x6e, 0x50, 0x73, 0x65, 0x74, 0x57, 0x69, + 0x74, 0x68, 0x53, 0x63, 0x68, 0x6e, 0x6f, 0x72, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x27, 0x2e, 0x6f, + 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x50, 0x73, 0x65, 0x74, + 0x57, 0x69, 0x74, 0x68, 0x53, 0x63, 0x68, 0x6e, 0x6f, 0x72, 0x72, 0x4b, 0x65, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x50, 0x73, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x53, 0x63, 0x68, + 0x6e, 0x6f, 0x72, 0x72, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, + 0xad, 0x01, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, + 0x42, 0x10, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x74, 0x64, 0x65, 0x78, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x74, 0x64, + 0x65, 0x78, 0x2d, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2d, 0x73, 0x70, + 0x65, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x67, 0x65, 0x6e, 0x2f, + 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2f, 0x76, 0x31, 0x3b, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x76, 0x31, + 0xa2, 0x02, 0x03, 0x4f, 0x58, 0x58, 0xaa, 0x02, 0x08, 0x4f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x56, + 0x31, 0xca, 0x02, 0x08, 0x4f, 0x63, 0x65, 0x61, 0x6e, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x14, 0x4f, + 0x63, 0x65, 0x61, 0x6e, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0xea, 0x02, 0x09, 0x4f, 0x63, 0x65, 0x61, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2068,93 +2304,102 @@ func file_ocean_v1_transaction_proto_rawDescGZIP() []byte { } var file_ocean_v1_transaction_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_ocean_v1_transaction_proto_msgTypes = make([]protoimpl.MessageInfo, 30) +var file_ocean_v1_transaction_proto_msgTypes = make([]protoimpl.MessageInfo, 34) var file_ocean_v1_transaction_proto_goTypes = []interface{}{ - (SelectUtxosRequest_Strategy)(0), // 0: ocean.v1.SelectUtxosRequest.Strategy - (*GetTransactionRequest)(nil), // 1: ocean.v1.GetTransactionRequest - (*GetTransactionResponse)(nil), // 2: ocean.v1.GetTransactionResponse - (*SelectUtxosRequest)(nil), // 3: ocean.v1.SelectUtxosRequest - (*SelectUtxosResponse)(nil), // 4: ocean.v1.SelectUtxosResponse - (*EstimateFeesRequest)(nil), // 5: ocean.v1.EstimateFeesRequest - (*EstimateFeesResponse)(nil), // 6: ocean.v1.EstimateFeesResponse - (*SignTransactionRequest)(nil), // 7: ocean.v1.SignTransactionRequest - (*SignTransactionResponse)(nil), // 8: ocean.v1.SignTransactionResponse - (*BroadcastTransactionRequest)(nil), // 9: ocean.v1.BroadcastTransactionRequest - (*BroadcastTransactionResponse)(nil), // 10: ocean.v1.BroadcastTransactionResponse - (*CreatePsetRequest)(nil), // 11: ocean.v1.CreatePsetRequest - (*CreatePsetResponse)(nil), // 12: ocean.v1.CreatePsetResponse - (*UpdatePsetRequest)(nil), // 13: ocean.v1.UpdatePsetRequest - (*UpdatePsetResponse)(nil), // 14: ocean.v1.UpdatePsetResponse - (*BlindPsetRequest)(nil), // 15: ocean.v1.BlindPsetRequest - (*BlindPsetResponse)(nil), // 16: ocean.v1.BlindPsetResponse - (*SignPsetRequest)(nil), // 17: ocean.v1.SignPsetRequest - (*SignPsetResponse)(nil), // 18: ocean.v1.SignPsetResponse - (*MintRequest)(nil), // 19: ocean.v1.MintRequest - (*MintResponse)(nil), // 20: ocean.v1.MintResponse - (*RemintRequest)(nil), // 21: ocean.v1.RemintRequest - (*RemintResponse)(nil), // 22: ocean.v1.RemintResponse - (*BurnRequest)(nil), // 23: ocean.v1.BurnRequest - (*BurnResponse)(nil), // 24: ocean.v1.BurnResponse - (*TransferRequest)(nil), // 25: ocean.v1.TransferRequest - (*TransferResponse)(nil), // 26: ocean.v1.TransferResponse - (*PegInAddressRequest)(nil), // 27: ocean.v1.PegInAddressRequest - (*PegInAddressResponse)(nil), // 28: ocean.v1.PegInAddressResponse - (*ClaimPegInRequest)(nil), // 29: ocean.v1.ClaimPegInRequest - (*ClaimPegInResponse)(nil), // 30: ocean.v1.ClaimPegInResponse - (*BlockDetails)(nil), // 31: ocean.v1.BlockDetails - (*Utxo)(nil), // 32: ocean.v1.Utxo - (*Input)(nil), // 33: ocean.v1.Input - (*Output)(nil), // 34: ocean.v1.Output - (*UnblindedInput)(nil), // 35: ocean.v1.UnblindedInput + (SelectUtxosRequest_Strategy)(0), // 0: ocean.v1.SelectUtxosRequest.Strategy + (*GetTransactionRequest)(nil), // 1: ocean.v1.GetTransactionRequest + (*GetTransactionResponse)(nil), // 2: ocean.v1.GetTransactionResponse + (*SelectUtxosRequest)(nil), // 3: ocean.v1.SelectUtxosRequest + (*SelectUtxosResponse)(nil), // 4: ocean.v1.SelectUtxosResponse + (*LockUtxosRequest)(nil), // 5: ocean.v1.LockUtxosRequest + (*LockUtxosResponse)(nil), // 6: ocean.v1.LockUtxosResponse + (*EstimateFeesRequest)(nil), // 7: ocean.v1.EstimateFeesRequest + (*EstimateFeesResponse)(nil), // 8: ocean.v1.EstimateFeesResponse + (*SignTransactionRequest)(nil), // 9: ocean.v1.SignTransactionRequest + (*SignTransactionResponse)(nil), // 10: ocean.v1.SignTransactionResponse + (*BroadcastTransactionRequest)(nil), // 11: ocean.v1.BroadcastTransactionRequest + (*BroadcastTransactionResponse)(nil), // 12: ocean.v1.BroadcastTransactionResponse + (*CreatePsetRequest)(nil), // 13: ocean.v1.CreatePsetRequest + (*CreatePsetResponse)(nil), // 14: ocean.v1.CreatePsetResponse + (*UpdatePsetRequest)(nil), // 15: ocean.v1.UpdatePsetRequest + (*UpdatePsetResponse)(nil), // 16: ocean.v1.UpdatePsetResponse + (*BlindPsetRequest)(nil), // 17: ocean.v1.BlindPsetRequest + (*BlindPsetResponse)(nil), // 18: ocean.v1.BlindPsetResponse + (*SignPsetRequest)(nil), // 19: ocean.v1.SignPsetRequest + (*SignPsetResponse)(nil), // 20: ocean.v1.SignPsetResponse + (*MintRequest)(nil), // 21: ocean.v1.MintRequest + (*MintResponse)(nil), // 22: ocean.v1.MintResponse + (*RemintRequest)(nil), // 23: ocean.v1.RemintRequest + (*RemintResponse)(nil), // 24: ocean.v1.RemintResponse + (*BurnRequest)(nil), // 25: ocean.v1.BurnRequest + (*BurnResponse)(nil), // 26: ocean.v1.BurnResponse + (*TransferRequest)(nil), // 27: ocean.v1.TransferRequest + (*TransferResponse)(nil), // 28: ocean.v1.TransferResponse + (*PegInAddressRequest)(nil), // 29: ocean.v1.PegInAddressRequest + (*PegInAddressResponse)(nil), // 30: ocean.v1.PegInAddressResponse + (*ClaimPegInRequest)(nil), // 31: ocean.v1.ClaimPegInRequest + (*ClaimPegInResponse)(nil), // 32: ocean.v1.ClaimPegInResponse + (*SignPsetWithSchnorrKeyRequest)(nil), // 33: ocean.v1.SignPsetWithSchnorrKeyRequest + (*SignPsetWithSchnorrKeyResponse)(nil), // 34: ocean.v1.SignPsetWithSchnorrKeyResponse + (*BlockDetails)(nil), // 35: ocean.v1.BlockDetails + (*Utxo)(nil), // 36: ocean.v1.Utxo + (*Input)(nil), // 37: ocean.v1.Input + (*Output)(nil), // 38: ocean.v1.Output + (*UnblindedInput)(nil), // 39: ocean.v1.UnblindedInput } var file_ocean_v1_transaction_proto_depIdxs = []int32{ - 31, // 0: ocean.v1.GetTransactionResponse.block_details:type_name -> ocean.v1.BlockDetails + 35, // 0: ocean.v1.GetTransactionResponse.block_details:type_name -> ocean.v1.BlockDetails 0, // 1: ocean.v1.SelectUtxosRequest.strategy:type_name -> ocean.v1.SelectUtxosRequest.Strategy - 32, // 2: ocean.v1.SelectUtxosResponse.utxos:type_name -> ocean.v1.Utxo - 33, // 3: ocean.v1.EstimateFeesRequest.inputs:type_name -> ocean.v1.Input - 34, // 4: ocean.v1.EstimateFeesRequest.outputs:type_name -> ocean.v1.Output - 33, // 5: ocean.v1.CreatePsetRequest.inputs:type_name -> ocean.v1.Input - 34, // 6: ocean.v1.CreatePsetRequest.outputs:type_name -> ocean.v1.Output - 33, // 7: ocean.v1.UpdatePsetRequest.inputs:type_name -> ocean.v1.Input - 34, // 8: ocean.v1.UpdatePsetRequest.outputs:type_name -> ocean.v1.Output - 35, // 9: ocean.v1.BlindPsetRequest.extra_unblinded_inputs:type_name -> ocean.v1.UnblindedInput - 34, // 10: ocean.v1.BurnRequest.receivers:type_name -> ocean.v1.Output - 34, // 11: ocean.v1.TransferRequest.receivers:type_name -> ocean.v1.Output - 1, // 12: ocean.v1.TransactionService.GetTransaction:input_type -> ocean.v1.GetTransactionRequest - 3, // 13: ocean.v1.TransactionService.SelectUtxos:input_type -> ocean.v1.SelectUtxosRequest - 5, // 14: ocean.v1.TransactionService.EstimateFees:input_type -> ocean.v1.EstimateFeesRequest - 7, // 15: ocean.v1.TransactionService.SignTransaction:input_type -> ocean.v1.SignTransactionRequest - 9, // 16: ocean.v1.TransactionService.BroadcastTransaction:input_type -> ocean.v1.BroadcastTransactionRequest - 11, // 17: ocean.v1.TransactionService.CreatePset:input_type -> ocean.v1.CreatePsetRequest - 13, // 18: ocean.v1.TransactionService.UpdatePset:input_type -> ocean.v1.UpdatePsetRequest - 15, // 19: ocean.v1.TransactionService.BlindPset:input_type -> ocean.v1.BlindPsetRequest - 17, // 20: ocean.v1.TransactionService.SignPset:input_type -> ocean.v1.SignPsetRequest - 19, // 21: ocean.v1.TransactionService.Mint:input_type -> ocean.v1.MintRequest - 21, // 22: ocean.v1.TransactionService.Remint:input_type -> ocean.v1.RemintRequest - 23, // 23: ocean.v1.TransactionService.Burn:input_type -> ocean.v1.BurnRequest - 25, // 24: ocean.v1.TransactionService.Transfer:input_type -> ocean.v1.TransferRequest - 27, // 25: ocean.v1.TransactionService.PegInAddress:input_type -> ocean.v1.PegInAddressRequest - 29, // 26: ocean.v1.TransactionService.ClaimPegIn:input_type -> ocean.v1.ClaimPegInRequest - 2, // 27: ocean.v1.TransactionService.GetTransaction:output_type -> ocean.v1.GetTransactionResponse - 4, // 28: ocean.v1.TransactionService.SelectUtxos:output_type -> ocean.v1.SelectUtxosResponse - 6, // 29: ocean.v1.TransactionService.EstimateFees:output_type -> ocean.v1.EstimateFeesResponse - 8, // 30: ocean.v1.TransactionService.SignTransaction:output_type -> ocean.v1.SignTransactionResponse - 10, // 31: ocean.v1.TransactionService.BroadcastTransaction:output_type -> ocean.v1.BroadcastTransactionResponse - 12, // 32: ocean.v1.TransactionService.CreatePset:output_type -> ocean.v1.CreatePsetResponse - 14, // 33: ocean.v1.TransactionService.UpdatePset:output_type -> ocean.v1.UpdatePsetResponse - 16, // 34: ocean.v1.TransactionService.BlindPset:output_type -> ocean.v1.BlindPsetResponse - 18, // 35: ocean.v1.TransactionService.SignPset:output_type -> ocean.v1.SignPsetResponse - 20, // 36: ocean.v1.TransactionService.Mint:output_type -> ocean.v1.MintResponse - 22, // 37: ocean.v1.TransactionService.Remint:output_type -> ocean.v1.RemintResponse - 24, // 38: ocean.v1.TransactionService.Burn:output_type -> ocean.v1.BurnResponse - 26, // 39: ocean.v1.TransactionService.Transfer:output_type -> ocean.v1.TransferResponse - 28, // 40: ocean.v1.TransactionService.PegInAddress:output_type -> ocean.v1.PegInAddressResponse - 30, // 41: ocean.v1.TransactionService.ClaimPegIn:output_type -> ocean.v1.ClaimPegInResponse - 27, // [27:42] is the sub-list for method output_type - 12, // [12:27] is the sub-list for method input_type - 12, // [12:12] is the sub-list for extension type_name - 12, // [12:12] is the sub-list for extension extendee - 0, // [0:12] is the sub-list for field type_name + 36, // 2: ocean.v1.SelectUtxosResponse.utxos:type_name -> ocean.v1.Utxo + 37, // 3: ocean.v1.LockUtxosRequest.utxos:type_name -> ocean.v1.Input + 37, // 4: ocean.v1.EstimateFeesRequest.inputs:type_name -> ocean.v1.Input + 38, // 5: ocean.v1.EstimateFeesRequest.outputs:type_name -> ocean.v1.Output + 37, // 6: ocean.v1.CreatePsetRequest.inputs:type_name -> ocean.v1.Input + 38, // 7: ocean.v1.CreatePsetRequest.outputs:type_name -> ocean.v1.Output + 37, // 8: ocean.v1.UpdatePsetRequest.inputs:type_name -> ocean.v1.Input + 38, // 9: ocean.v1.UpdatePsetRequest.outputs:type_name -> ocean.v1.Output + 39, // 10: ocean.v1.BlindPsetRequest.extra_unblinded_inputs:type_name -> ocean.v1.UnblindedInput + 38, // 11: ocean.v1.BurnRequest.receivers:type_name -> ocean.v1.Output + 38, // 12: ocean.v1.TransferRequest.receivers:type_name -> ocean.v1.Output + 1, // 13: ocean.v1.TransactionService.GetTransaction:input_type -> ocean.v1.GetTransactionRequest + 3, // 14: ocean.v1.TransactionService.SelectUtxos:input_type -> ocean.v1.SelectUtxosRequest + 5, // 15: ocean.v1.TransactionService.LockUtxos:input_type -> ocean.v1.LockUtxosRequest + 7, // 16: ocean.v1.TransactionService.EstimateFees:input_type -> ocean.v1.EstimateFeesRequest + 9, // 17: ocean.v1.TransactionService.SignTransaction:input_type -> ocean.v1.SignTransactionRequest + 11, // 18: ocean.v1.TransactionService.BroadcastTransaction:input_type -> ocean.v1.BroadcastTransactionRequest + 13, // 19: ocean.v1.TransactionService.CreatePset:input_type -> ocean.v1.CreatePsetRequest + 15, // 20: ocean.v1.TransactionService.UpdatePset:input_type -> ocean.v1.UpdatePsetRequest + 17, // 21: ocean.v1.TransactionService.BlindPset:input_type -> ocean.v1.BlindPsetRequest + 19, // 22: ocean.v1.TransactionService.SignPset:input_type -> ocean.v1.SignPsetRequest + 21, // 23: ocean.v1.TransactionService.Mint:input_type -> ocean.v1.MintRequest + 23, // 24: ocean.v1.TransactionService.Remint:input_type -> ocean.v1.RemintRequest + 25, // 25: ocean.v1.TransactionService.Burn:input_type -> ocean.v1.BurnRequest + 27, // 26: ocean.v1.TransactionService.Transfer:input_type -> ocean.v1.TransferRequest + 29, // 27: ocean.v1.TransactionService.PegInAddress:input_type -> ocean.v1.PegInAddressRequest + 31, // 28: ocean.v1.TransactionService.ClaimPegIn:input_type -> ocean.v1.ClaimPegInRequest + 33, // 29: ocean.v1.TransactionService.SignPsetWithSchnorrKey:input_type -> ocean.v1.SignPsetWithSchnorrKeyRequest + 2, // 30: ocean.v1.TransactionService.GetTransaction:output_type -> ocean.v1.GetTransactionResponse + 4, // 31: ocean.v1.TransactionService.SelectUtxos:output_type -> ocean.v1.SelectUtxosResponse + 6, // 32: ocean.v1.TransactionService.LockUtxos:output_type -> ocean.v1.LockUtxosResponse + 8, // 33: ocean.v1.TransactionService.EstimateFees:output_type -> ocean.v1.EstimateFeesResponse + 10, // 34: ocean.v1.TransactionService.SignTransaction:output_type -> ocean.v1.SignTransactionResponse + 12, // 35: ocean.v1.TransactionService.BroadcastTransaction:output_type -> ocean.v1.BroadcastTransactionResponse + 14, // 36: ocean.v1.TransactionService.CreatePset:output_type -> ocean.v1.CreatePsetResponse + 16, // 37: ocean.v1.TransactionService.UpdatePset:output_type -> ocean.v1.UpdatePsetResponse + 18, // 38: ocean.v1.TransactionService.BlindPset:output_type -> ocean.v1.BlindPsetResponse + 20, // 39: ocean.v1.TransactionService.SignPset:output_type -> ocean.v1.SignPsetResponse + 22, // 40: ocean.v1.TransactionService.Mint:output_type -> ocean.v1.MintResponse + 24, // 41: ocean.v1.TransactionService.Remint:output_type -> ocean.v1.RemintResponse + 26, // 42: ocean.v1.TransactionService.Burn:output_type -> ocean.v1.BurnResponse + 28, // 43: ocean.v1.TransactionService.Transfer:output_type -> ocean.v1.TransferResponse + 30, // 44: ocean.v1.TransactionService.PegInAddress:output_type -> ocean.v1.PegInAddressResponse + 32, // 45: ocean.v1.TransactionService.ClaimPegIn:output_type -> ocean.v1.ClaimPegInResponse + 34, // 46: ocean.v1.TransactionService.SignPsetWithSchnorrKey:output_type -> ocean.v1.SignPsetWithSchnorrKeyResponse + 30, // [30:47] is the sub-list for method output_type + 13, // [13:30] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name } func init() { file_ocean_v1_transaction_proto_init() } @@ -2213,7 +2458,7 @@ func file_ocean_v1_transaction_proto_init() { } } file_ocean_v1_transaction_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EstimateFeesRequest); i { + switch v := v.(*LockUtxosRequest); i { case 0: return &v.state case 1: @@ -2225,7 +2470,7 @@ func file_ocean_v1_transaction_proto_init() { } } file_ocean_v1_transaction_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EstimateFeesResponse); i { + switch v := v.(*LockUtxosResponse); i { case 0: return &v.state case 1: @@ -2237,7 +2482,7 @@ func file_ocean_v1_transaction_proto_init() { } } file_ocean_v1_transaction_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SignTransactionRequest); i { + switch v := v.(*EstimateFeesRequest); i { case 0: return &v.state case 1: @@ -2249,7 +2494,7 @@ func file_ocean_v1_transaction_proto_init() { } } file_ocean_v1_transaction_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SignTransactionResponse); i { + switch v := v.(*EstimateFeesResponse); i { case 0: return &v.state case 1: @@ -2261,7 +2506,7 @@ func file_ocean_v1_transaction_proto_init() { } } file_ocean_v1_transaction_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BroadcastTransactionRequest); i { + switch v := v.(*SignTransactionRequest); i { case 0: return &v.state case 1: @@ -2273,7 +2518,7 @@ func file_ocean_v1_transaction_proto_init() { } } file_ocean_v1_transaction_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BroadcastTransactionResponse); i { + switch v := v.(*SignTransactionResponse); i { case 0: return &v.state case 1: @@ -2285,7 +2530,7 @@ func file_ocean_v1_transaction_proto_init() { } } file_ocean_v1_transaction_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreatePsetRequest); i { + switch v := v.(*BroadcastTransactionRequest); i { case 0: return &v.state case 1: @@ -2297,7 +2542,7 @@ func file_ocean_v1_transaction_proto_init() { } } file_ocean_v1_transaction_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreatePsetResponse); i { + switch v := v.(*BroadcastTransactionResponse); i { case 0: return &v.state case 1: @@ -2309,7 +2554,7 @@ func file_ocean_v1_transaction_proto_init() { } } file_ocean_v1_transaction_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdatePsetRequest); i { + switch v := v.(*CreatePsetRequest); i { case 0: return &v.state case 1: @@ -2321,7 +2566,7 @@ func file_ocean_v1_transaction_proto_init() { } } file_ocean_v1_transaction_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdatePsetResponse); i { + switch v := v.(*CreatePsetResponse); i { case 0: return &v.state case 1: @@ -2333,7 +2578,7 @@ func file_ocean_v1_transaction_proto_init() { } } file_ocean_v1_transaction_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BlindPsetRequest); i { + switch v := v.(*UpdatePsetRequest); i { case 0: return &v.state case 1: @@ -2345,7 +2590,7 @@ func file_ocean_v1_transaction_proto_init() { } } file_ocean_v1_transaction_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BlindPsetResponse); i { + switch v := v.(*UpdatePsetResponse); i { case 0: return &v.state case 1: @@ -2357,7 +2602,7 @@ func file_ocean_v1_transaction_proto_init() { } } file_ocean_v1_transaction_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SignPsetRequest); i { + switch v := v.(*BlindPsetRequest); i { case 0: return &v.state case 1: @@ -2369,7 +2614,7 @@ func file_ocean_v1_transaction_proto_init() { } } file_ocean_v1_transaction_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SignPsetResponse); i { + switch v := v.(*BlindPsetResponse); i { case 0: return &v.state case 1: @@ -2381,7 +2626,7 @@ func file_ocean_v1_transaction_proto_init() { } } file_ocean_v1_transaction_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MintRequest); i { + switch v := v.(*SignPsetRequest); i { case 0: return &v.state case 1: @@ -2393,7 +2638,7 @@ func file_ocean_v1_transaction_proto_init() { } } file_ocean_v1_transaction_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MintResponse); i { + switch v := v.(*SignPsetResponse); i { case 0: return &v.state case 1: @@ -2405,7 +2650,7 @@ func file_ocean_v1_transaction_proto_init() { } } file_ocean_v1_transaction_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemintRequest); i { + switch v := v.(*MintRequest); i { case 0: return &v.state case 1: @@ -2417,7 +2662,7 @@ func file_ocean_v1_transaction_proto_init() { } } file_ocean_v1_transaction_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemintResponse); i { + switch v := v.(*MintResponse); i { case 0: return &v.state case 1: @@ -2429,7 +2674,7 @@ func file_ocean_v1_transaction_proto_init() { } } file_ocean_v1_transaction_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BurnRequest); i { + switch v := v.(*RemintRequest); i { case 0: return &v.state case 1: @@ -2441,7 +2686,7 @@ func file_ocean_v1_transaction_proto_init() { } } file_ocean_v1_transaction_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BurnResponse); i { + switch v := v.(*RemintResponse); i { case 0: return &v.state case 1: @@ -2453,7 +2698,7 @@ func file_ocean_v1_transaction_proto_init() { } } file_ocean_v1_transaction_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransferRequest); i { + switch v := v.(*BurnRequest); i { case 0: return &v.state case 1: @@ -2465,7 +2710,7 @@ func file_ocean_v1_transaction_proto_init() { } } file_ocean_v1_transaction_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransferResponse); i { + switch v := v.(*BurnResponse); i { case 0: return &v.state case 1: @@ -2477,7 +2722,7 @@ func file_ocean_v1_transaction_proto_init() { } } file_ocean_v1_transaction_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PegInAddressRequest); i { + switch v := v.(*TransferRequest); i { case 0: return &v.state case 1: @@ -2489,7 +2734,7 @@ func file_ocean_v1_transaction_proto_init() { } } file_ocean_v1_transaction_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PegInAddressResponse); i { + switch v := v.(*TransferResponse); i { case 0: return &v.state case 1: @@ -2501,7 +2746,7 @@ func file_ocean_v1_transaction_proto_init() { } } file_ocean_v1_transaction_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClaimPegInRequest); i { + switch v := v.(*PegInAddressRequest); i { case 0: return &v.state case 1: @@ -2513,6 +2758,30 @@ func file_ocean_v1_transaction_proto_init() { } } file_ocean_v1_transaction_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PegInAddressResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ocean_v1_transaction_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClaimPegInRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ocean_v1_transaction_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClaimPegInResponse); i { case 0: return &v.state @@ -2524,6 +2793,30 @@ func file_ocean_v1_transaction_proto_init() { return nil } } + file_ocean_v1_transaction_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SignPsetWithSchnorrKeyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ocean_v1_transaction_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SignPsetWithSchnorrKeyResponse); 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{ @@ -2531,7 +2824,7 @@ func file_ocean_v1_transaction_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_ocean_v1_transaction_proto_rawDesc, NumEnums: 1, - NumMessages: 30, + NumMessages: 34, NumExtensions: 0, NumServices: 1, }, diff --git a/api-spec/protobuf/gen/ocean/v1/transaction_grpc.pb.go b/api-spec/protobuf/gen/ocean/v1/transaction_grpc.pb.go index 5724dfa1..898bc64c 100644 --- a/api-spec/protobuf/gen/ocean/v1/transaction_grpc.pb.go +++ b/api-spec/protobuf/gen/ocean/v1/transaction_grpc.pb.go @@ -25,6 +25,8 @@ type TransactionServiceClient interface { // Selected utxos are locked for predefined amount of time to prevent // double-spending them. SelectUtxos(ctx context.Context, in *SelectUtxosRequest, opts ...grpc.CallOption) (*SelectUtxosResponse, error) + // LockUtxos allows to manually select utxos to spend by a subsequent tx. + LockUtxos(ctx context.Context, in *LockUtxosRequest, opts ...grpc.CallOption) (*LockUtxosResponse, error) // EstimateFees returns the fee amount to pay for a tx containing the given // inputs and outputs. EstimateFees(ctx context.Context, in *EstimateFeesRequest, opts ...grpc.CallOption) (*EstimateFeesResponse, error) @@ -56,6 +58,9 @@ type TransactionServiceClient interface { // ClaimPegIn returns a transaction to claim funds pegged on the Bitcoin // main-chain to have them available on the Liquid side-chain. ClaimPegIn(ctx context.Context, in *ClaimPegInRequest, opts ...grpc.CallOption) (*ClaimPegInResponse, error) + // SignPsetWithSchnorrKey signs all taproot inputs of the provided tx with + // the key at the given derivation path. + SignPsetWithSchnorrKey(ctx context.Context, in *SignPsetWithSchnorrKeyRequest, opts ...grpc.CallOption) (*SignPsetWithSchnorrKeyResponse, error) } type transactionServiceClient struct { @@ -84,6 +89,15 @@ func (c *transactionServiceClient) SelectUtxos(ctx context.Context, in *SelectUt return out, nil } +func (c *transactionServiceClient) LockUtxos(ctx context.Context, in *LockUtxosRequest, opts ...grpc.CallOption) (*LockUtxosResponse, error) { + out := new(LockUtxosResponse) + err := c.cc.Invoke(ctx, "/ocean.v1.TransactionService/LockUtxos", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *transactionServiceClient) EstimateFees(ctx context.Context, in *EstimateFeesRequest, opts ...grpc.CallOption) (*EstimateFeesResponse, error) { out := new(EstimateFeesResponse) err := c.cc.Invoke(ctx, "/ocean.v1.TransactionService/EstimateFees", in, out, opts...) @@ -201,6 +215,15 @@ func (c *transactionServiceClient) ClaimPegIn(ctx context.Context, in *ClaimPegI return out, nil } +func (c *transactionServiceClient) SignPsetWithSchnorrKey(ctx context.Context, in *SignPsetWithSchnorrKeyRequest, opts ...grpc.CallOption) (*SignPsetWithSchnorrKeyResponse, error) { + out := new(SignPsetWithSchnorrKeyResponse) + err := c.cc.Invoke(ctx, "/ocean.v1.TransactionService/SignPsetWithSchnorrKey", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // TransactionServiceServer is the server API for TransactionService service. // All implementations should embed UnimplementedTransactionServiceServer // for forward compatibility @@ -212,6 +235,8 @@ type TransactionServiceServer interface { // Selected utxos are locked for predefined amount of time to prevent // double-spending them. SelectUtxos(context.Context, *SelectUtxosRequest) (*SelectUtxosResponse, error) + // LockUtxos allows to manually select utxos to spend by a subsequent tx. + LockUtxos(context.Context, *LockUtxosRequest) (*LockUtxosResponse, error) // EstimateFees returns the fee amount to pay for a tx containing the given // inputs and outputs. EstimateFees(context.Context, *EstimateFeesRequest) (*EstimateFeesResponse, error) @@ -243,6 +268,9 @@ type TransactionServiceServer interface { // ClaimPegIn returns a transaction to claim funds pegged on the Bitcoin // main-chain to have them available on the Liquid side-chain. ClaimPegIn(context.Context, *ClaimPegInRequest) (*ClaimPegInResponse, error) + // SignPsetWithSchnorrKey signs all taproot inputs of the provided tx with + // the key at the given derivation path. + SignPsetWithSchnorrKey(context.Context, *SignPsetWithSchnorrKeyRequest) (*SignPsetWithSchnorrKeyResponse, error) } // UnimplementedTransactionServiceServer should be embedded to have forward compatible implementations. @@ -255,6 +283,9 @@ func (UnimplementedTransactionServiceServer) GetTransaction(context.Context, *Ge func (UnimplementedTransactionServiceServer) SelectUtxos(context.Context, *SelectUtxosRequest) (*SelectUtxosResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SelectUtxos not implemented") } +func (UnimplementedTransactionServiceServer) LockUtxos(context.Context, *LockUtxosRequest) (*LockUtxosResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method LockUtxos not implemented") +} func (UnimplementedTransactionServiceServer) EstimateFees(context.Context, *EstimateFeesRequest) (*EstimateFeesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method EstimateFees not implemented") } @@ -294,6 +325,9 @@ func (UnimplementedTransactionServiceServer) PegInAddress(context.Context, *PegI func (UnimplementedTransactionServiceServer) ClaimPegIn(context.Context, *ClaimPegInRequest) (*ClaimPegInResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ClaimPegIn not implemented") } +func (UnimplementedTransactionServiceServer) SignPsetWithSchnorrKey(context.Context, *SignPsetWithSchnorrKeyRequest) (*SignPsetWithSchnorrKeyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SignPsetWithSchnorrKey not implemented") +} // UnsafeTransactionServiceServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to TransactionServiceServer will @@ -342,6 +376,24 @@ func _TransactionService_SelectUtxos_Handler(srv interface{}, ctx context.Contex return interceptor(ctx, in, info, handler) } +func _TransactionService_LockUtxos_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(LockUtxosRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TransactionServiceServer).LockUtxos(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/ocean.v1.TransactionService/LockUtxos", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TransactionServiceServer).LockUtxos(ctx, req.(*LockUtxosRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _TransactionService_EstimateFees_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(EstimateFeesRequest) if err := dec(in); err != nil { @@ -576,6 +628,24 @@ func _TransactionService_ClaimPegIn_Handler(srv interface{}, ctx context.Context return interceptor(ctx, in, info, handler) } +func _TransactionService_SignPsetWithSchnorrKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SignPsetWithSchnorrKeyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TransactionServiceServer).SignPsetWithSchnorrKey(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/ocean.v1.TransactionService/SignPsetWithSchnorrKey", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TransactionServiceServer).SignPsetWithSchnorrKey(ctx, req.(*SignPsetWithSchnorrKeyRequest)) + } + return interceptor(ctx, in, info, handler) +} + // TransactionService_ServiceDesc is the grpc.ServiceDesc for TransactionService service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -591,6 +661,10 @@ var TransactionService_ServiceDesc = grpc.ServiceDesc{ MethodName: "SelectUtxos", Handler: _TransactionService_SelectUtxos_Handler, }, + { + MethodName: "LockUtxos", + Handler: _TransactionService_LockUtxos_Handler, + }, { MethodName: "EstimateFees", Handler: _TransactionService_EstimateFees_Handler, @@ -643,6 +717,10 @@ var TransactionService_ServiceDesc = grpc.ServiceDesc{ MethodName: "ClaimPegIn", Handler: _TransactionService_ClaimPegIn_Handler, }, + { + MethodName: "SignPsetWithSchnorrKey", + Handler: _TransactionService_SignPsetWithSchnorrKey_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "ocean/v1/transaction.proto", diff --git a/api-spec/protobuf/gen/ocean/v1/types.pb.go b/api-spec/protobuf/gen/ocean/v1/types.pb.go index 3c7c2fea..5a301e70 100644 --- a/api-spec/protobuf/gen/ocean/v1/types.pb.go +++ b/api-spec/protobuf/gen/ocean/v1/types.pb.go @@ -78,12 +78,13 @@ func (TxEventType) EnumDescriptor() ([]byte, []int) { type UtxoEventType int32 const ( - UtxoEventType_UTXO_EVENT_TYPE_UNSPECIFIED UtxoEventType = 0 - UtxoEventType_UTXO_EVENT_TYPE_NEW UtxoEventType = 1 - UtxoEventType_UTXO_EVENT_TYPE_CONFIRMED UtxoEventType = 2 - UtxoEventType_UTXO_EVENT_TYPE_LOCKED UtxoEventType = 3 - UtxoEventType_UTXO_EVENT_TYPE_UNLOCKED UtxoEventType = 4 - UtxoEventType_UTXO_EVENT_TYPE_SPENT UtxoEventType = 5 + UtxoEventType_UTXO_EVENT_TYPE_UNSPECIFIED UtxoEventType = 0 + UtxoEventType_UTXO_EVENT_TYPE_NEW UtxoEventType = 1 + UtxoEventType_UTXO_EVENT_TYPE_CONFIRMED UtxoEventType = 2 + UtxoEventType_UTXO_EVENT_TYPE_LOCKED UtxoEventType = 3 + UtxoEventType_UTXO_EVENT_TYPE_UNLOCKED UtxoEventType = 4 + UtxoEventType_UTXO_EVENT_TYPE_SPENT UtxoEventType = 5 + UtxoEventType_UTXO_EVENT_TYPE_CONFIRMED_SPENT UtxoEventType = 6 ) // Enum value maps for UtxoEventType. @@ -95,14 +96,16 @@ var ( 3: "UTXO_EVENT_TYPE_LOCKED", 4: "UTXO_EVENT_TYPE_UNLOCKED", 5: "UTXO_EVENT_TYPE_SPENT", + 6: "UTXO_EVENT_TYPE_CONFIRMED_SPENT", } UtxoEventType_value = map[string]int32{ - "UTXO_EVENT_TYPE_UNSPECIFIED": 0, - "UTXO_EVENT_TYPE_NEW": 1, - "UTXO_EVENT_TYPE_CONFIRMED": 2, - "UTXO_EVENT_TYPE_LOCKED": 3, - "UTXO_EVENT_TYPE_UNLOCKED": 4, - "UTXO_EVENT_TYPE_SPENT": 5, + "UTXO_EVENT_TYPE_UNSPECIFIED": 0, + "UTXO_EVENT_TYPE_NEW": 1, + "UTXO_EVENT_TYPE_CONFIRMED": 2, + "UTXO_EVENT_TYPE_LOCKED": 3, + "UTXO_EVENT_TYPE_UNLOCKED": 4, + "UTXO_EVENT_TYPE_SPENT": 5, + "UTXO_EVENT_TYPE_CONFIRMED_SPENT": 6, } ) @@ -1219,7 +1222,7 @@ var file_ocean_v1_types_proto_rawDesc = []byte{ 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x54, 0x58, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x58, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x45, 0x44, 0x10, 0x03, 0x2a, 0xbd, 0x01, + 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x45, 0x44, 0x10, 0x03, 0x2a, 0xe2, 0x01, 0x0a, 0x0d, 0x55, 0x74, 0x78, 0x6f, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x55, 0x54, 0x58, 0x4f, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, @@ -1231,26 +1234,28 @@ var file_ocean_v1_types_proto_rawDesc = []byte{ 0x45, 0x44, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x54, 0x58, 0x4f, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x54, 0x58, 0x4f, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x50, 0x45, 0x4e, 0x54, 0x10, 0x05, 0x2a, 0x77, 0x0a, - 0x10, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x22, 0x0a, 0x1e, 0x57, 0x45, 0x42, 0x48, 0x4f, 0x4f, 0x4b, 0x5f, 0x45, 0x56, 0x45, - 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x57, 0x45, 0x42, 0x48, 0x4f, 0x4f, 0x4b, - 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, - 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x57, 0x45, 0x42, - 0x48, 0x4f, 0x4f, 0x4b, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x55, 0x54, 0x58, 0x4f, 0x10, 0x02, 0x42, 0xa7, 0x01, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x2e, 0x6f, - 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x74, 0x64, 0x65, 0x78, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x74, - 0x64, 0x65, 0x78, 0x2d, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2d, 0x73, - 0x70, 0x65, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x67, 0x65, 0x6e, - 0x2f, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2f, 0x76, 0x31, 0x3b, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x76, - 0x31, 0xa2, 0x02, 0x03, 0x4f, 0x58, 0x58, 0xaa, 0x02, 0x08, 0x4f, 0x63, 0x65, 0x61, 0x6e, 0x2e, - 0x56, 0x31, 0xca, 0x02, 0x08, 0x4f, 0x63, 0x65, 0x61, 0x6e, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x14, - 0x4f, 0x63, 0x65, 0x61, 0x6e, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x09, 0x4f, 0x63, 0x65, 0x61, 0x6e, 0x3a, 0x3a, 0x56, 0x31, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x50, 0x45, 0x4e, 0x54, 0x10, 0x05, 0x12, 0x23, 0x0a, + 0x1f, 0x55, 0x54, 0x58, 0x4f, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x45, 0x44, 0x5f, 0x53, 0x50, 0x45, 0x4e, 0x54, + 0x10, 0x06, 0x2a, 0x77, 0x0a, 0x10, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x1e, 0x57, 0x45, 0x42, 0x48, 0x4f, 0x4f, + 0x4b, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x57, 0x45, + 0x42, 0x48, 0x4f, 0x4f, 0x4b, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x1b, + 0x0a, 0x17, 0x57, 0x45, 0x42, 0x48, 0x4f, 0x4f, 0x4b, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x54, 0x58, 0x4f, 0x10, 0x02, 0x42, 0xa7, 0x01, 0x0a, 0x0c, + 0x63, 0x6f, 0x6d, 0x2e, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x74, 0x64, 0x65, 0x78, 0x2d, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x2f, 0x74, 0x64, 0x65, 0x78, 0x2d, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x2f, + 0x61, 0x70, 0x69, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x2f, 0x76, 0x31, 0x3b, 0x6f, + 0x63, 0x65, 0x61, 0x6e, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x4f, 0x58, 0x58, 0xaa, 0x02, 0x08, 0x4f, + 0x63, 0x65, 0x61, 0x6e, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x08, 0x4f, 0x63, 0x65, 0x61, 0x6e, 0x5c, + 0x56, 0x31, 0xe2, 0x02, 0x14, 0x4f, 0x63, 0x65, 0x61, 0x6e, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, + 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x09, 0x4f, 0x63, 0x65, 0x61, + 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/internal/interfaces/grpc/service.go b/internal/interfaces/grpc/service.go index ec5e5763..6e1ca296 100644 --- a/internal/interfaces/grpc/service.go +++ b/internal/interfaces/grpc/service.go @@ -432,9 +432,8 @@ func (s *service) newOperatorServer( // Creds for grpc gateway reverse proxy. gatewayCreds := insecure.NewCredentials() if !s.opts.NoOperatorTls { - // #nosec gatewayCreds = credentials.NewTLS(&tls.Config{ - InsecureSkipVerify: true, + InsecureSkipVerify: true, // #nosec }) } ctx := context.Background() @@ -582,9 +581,8 @@ func (s *service) newTradeServer(tlsConfig *tls.Config) (*http.Server, error) { // Reverse proxy grpc-gateway. gatewayCreds := insecure.NewCredentials() if len(s.opts.TradeTLSCert) > 0 { - // #nosec gatewayCreds = credentials.NewTLS(&tls.Config{ - InsecureSkipVerify: true, + InsecureSkipVerify: true, // #nosec }) } gatewayOpts := grpc.WithTransportCredentials(gatewayCreds) diff --git a/internal/interfaces/grpc/service_one_port.go b/internal/interfaces/grpc/service_one_port.go index 8f8c8985..aff63f09 100644 --- a/internal/interfaces/grpc/service_one_port.go +++ b/internal/interfaces/grpc/service_one_port.go @@ -290,9 +290,8 @@ func (s *serviceOnePort) newServer( // Creds for grpc gateway reverse proxy. gatewayCreds := insecure.NewCredentials() if s.opts.withTls() { - // #nosec gatewayCreds = credentials.NewTLS(&tls.Config{ - InsecureSkipVerify: true, + InsecureSkipVerify: true, // #nosec }) } ctx := context.Background() diff --git a/pkg/explorer/elements/client.go b/pkg/explorer/elements/client.go index 445fc0b7..6cdd43ba 100644 --- a/pkg/explorer/elements/client.go +++ b/pkg/explorer/elements/client.go @@ -66,8 +66,11 @@ func NewClient(host string, port int, user, passwd string, useSSL bool, timeout var httpClient *http.Client if useSSL { serverAddr = "https://" - // #nosec - t := &http.Transport{TLSClientConfig: &tls.Config{InsecureSkipVerify: true}} + t := &http.Transport{ + TLSClientConfig: &tls.Config{ + InsecureSkipVerify: true, // #nosec + }, + } httpClient = &http.Client{Transport: t} } else { serverAddr = "http://" diff --git a/resources/compose/docker-compose.yml b/resources/compose/docker-compose.yml index 64fe6d9f..ea817392 100644 --- a/resources/compose/docker-compose.yml +++ b/resources/compose/docker-compose.yml @@ -17,8 +17,8 @@ services: ports: - "18000:18000" volumes: - - ../volumes/oceand/data:/home/ocean/.oceand - - ../volumes/oceand/cli:/home/ocean/.ocean-cli + - ../volumes/oceand/data:/app/data/oceand + - ../volumes/oceand/cli:/app/data/ocean tdexd: container_name: tdexd build: @@ -41,15 +41,6 @@ services: volumes: - ../volumes/tdexd/data:/home/tdex/.tdex-daemon - ../volumes/tdexd/cli:/home/tdex/.tdex-operator - feederd: - container_name: feederd - image: ghcr.io/tdex-network/feederd:latest - restart: unless-stopped - user: 0:0 - depends_on: - - tdexd - volumes: - - ../volumes/feederd/config.json:/config.json # not used in dev mode oceand-db: container_name: oceand-regtest-db