From 432a7e37d03a4421a9f2162123b2847c0b18a41e Mon Sep 17 00:00:00 2001 From: Collin Brittain Date: Fri, 1 Sep 2023 13:56:49 -0500 Subject: [PATCH 1/5] Add temporary SetSharePriceOracle function call --- Cargo.lock | 8 +- Cargo.toml | 2 +- proto/cellar_v2.proto | 14 + steward/Cargo.toml | 2 +- steward/src/cellars.rs | 1 + steward/src/cellars/cellar_v2_5.rs | 34 +- steward_abi/Cargo.toml | 2 +- .../steward_proto/cellar_v2.pb.go | 649 ++++++++++-------- steward_proto_rust/Cargo.toml | 2 +- steward_proto_rust/src/prost/descriptor.bin | Bin 142299 -> 142953 bytes steward_proto_rust/src/prost/steward.v3.rs | 18 +- 11 files changed, 448 insertions(+), 284 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 16173a56..97dc5e4c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4688,7 +4688,7 @@ dependencies = [ [[package]] name = "sommelier_steward" -version = "3.4.1" +version = "3.4.2" dependencies = [ "lazy_static", "steward", @@ -4779,7 +4779,7 @@ checksum = "213701ba3370744dcd1a12960caa4843b3d68b4d1c0a5d575e0d65b2ee9d16c0" [[package]] name = "steward" -version = "3.4.1" +version = "3.4.2" dependencies = [ "abscissa_core", "abscissa_tokio", @@ -4832,7 +4832,7 @@ dependencies = [ [[package]] name = "steward_abi" -version = "3.4.1" +version = "3.4.2" dependencies = [ "ethers", "serde", @@ -4852,7 +4852,7 @@ dependencies = [ [[package]] name = "steward_proto" -version = "3.4.1" +version = "3.4.2" dependencies = [ "prost 0.7.0", "prost-types 0.7.0", diff --git a/Cargo.toml b/Cargo.toml index f4564369..7ff0eeb9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sommelier_steward" -version = "3.4.1" +version = "3.4.2" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/proto/cellar_v2.proto b/proto/cellar_v2.proto index 95aafbe0..2678f772 100644 --- a/proto/cellar_v2.proto +++ b/proto/cellar_v2.proto @@ -434,6 +434,8 @@ message CellarV2_5 { IncreaseShareSupplyCap increase_share_supply_cap = 16; // Represents function `decreaseShareSupplyCap(uint192) DecreaseShareSupplyCap decrease_share_supply_cap = 17; + // Represents function `setSharePriceOracle(uint256, address) + SetSharePriceOracle set_share_price_oracle = 18; } } @@ -612,6 +614,18 @@ message CellarV2_5 { message DecreaseShareSupplyCap { string new_cap = 1; } + + /* + * Allows strategist to set the share price oracle contract + * + * Represents function `setSharePriceOracle(uint256, address)` + */ + message SetSharePriceOracle { + // The oracle registry ID + string registry_id = 1; + // The oracle contract address + string oracle = 2; + } } // Represents a call to adaptor an. The cellar must be authorized to call the target adaptor. diff --git a/steward/Cargo.toml b/steward/Cargo.toml index 0cdf2c2e..55c4a04c 100644 --- a/steward/Cargo.toml +++ b/steward/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "steward" authors = [] -version = "3.4.1" +version = "3.4.2" edition = "2018" [dependencies] diff --git a/steward/src/cellars.rs b/steward/src/cellars.rs index a6b449a5..78685b71 100644 --- a/steward/src/cellars.rs +++ b/steward/src/cellars.rs @@ -91,6 +91,7 @@ pub const CELLAR_RYSNX: &str = "cbf2250f33c4161e18d4a2fa47464520af5216b5"; pub const CELLAR_RYUNI: &str = "6a6af5393dc23d7e3db28d28ef422db7c40932b6"; pub const CELLAR_RYUSD: &str = "97e6e0a40a3d02f12d1cec30ebfbae04e37c119e"; pub const CELLAR_RYBTC: &str = "0274a704a6d9129f90a62ddc6f6024b33ecdad36"; +pub const CELLAR_TURBO_SWETH: &str = "d33dad974b938744dac81fe00ac67cb5aa13958e"; // deprecated adaptors diff --git a/steward/src/cellars/cellar_v2_5.rs b/steward/src/cellars/cellar_v2_5.rs index a02b381d..57094d3d 100644 --- a/steward/src/cellars/cellar_v2_5.rs +++ b/steward/src/cellars/cellar_v2_5.rs @@ -24,8 +24,8 @@ use crate::{ }; use super::{ - check_blocked_adaptor, check_blocked_position, log_cellar_call, validate_new_adaptor, - validate_new_position, V2_5_PERMISSIONS, + check_blocked_adaptor, check_blocked_position, log_cellar_call, normalize_address, + validate_new_adaptor, validate_new_position, CELLAR_TURBO_SWETH, V2_5_PERMISSIONS, }; const CELLAR_NAME: &str = "CellarV2.5"; @@ -260,6 +260,36 @@ pub fn get_encoded_function(call: FunctionCall, cellar_id: String) -> Result { + let cellar_id_normalized = normalize_address(cellar_id.clone()); + let oracle_in = normalize_address(params.oracle.clone()); + let allowed_oracles = [ + normalize_address("0x72249f0199EACf6230DEF33A31e80CF76de78f67".to_string()), + normalize_address("0xC47278B65443cE71CF47E8455BB343F2DB11B70e".to_string()), + ]; + let allowed_registry_ids = [U256::from(3), U256::from(5)]; + let registry_id_in = string_to_u256(params.registry_id.clone())?; + if !cellar_id_normalized.eq(CELLAR_TURBO_SWETH) + || !allowed_oracles.contains(&oracle_in) + || !allowed_registry_ids.contains(®istry_id_in) + { + return Err(ErrorKind::SPCallError + .context("unauthorized oracle update".to_string()) + .into()); + } + + log_cellar_call( + CELLAR_NAME, + &SetSharePriceOracleCall::function_name(), + &cellar_id, + ); + let call = SetSharePriceOracleCall { + registry_id: string_to_u256(params.registry_id)?, + share_price_oracle: sp_call_parse_address(params.oracle)?, + }; + + Ok(CellarV2_5Calls::SetSharePriceOracle(call).encode()) + } } } diff --git a/steward_abi/Cargo.toml b/steward_abi/Cargo.toml index 926f19c4..aff27459 100644 --- a/steward_abi/Cargo.toml +++ b/steward_abi/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "steward_abi" -version = "3.4.1" +version = "3.4.2" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/steward_proto_go/steward_proto/cellar_v2.pb.go b/steward_proto_go/steward_proto/cellar_v2.pb.go index c64c93e5..cbf73275 100644 --- a/steward_proto_go/steward_proto/cellar_v2.pb.go +++ b/steward_proto_go/steward_proto/cellar_v2.pb.go @@ -2648,6 +2648,7 @@ type CellarV2_5_FunctionCall struct { // *CellarV2_5_FunctionCall_RemovePositionFromCatalogue // *CellarV2_5_FunctionCall_IncreaseShareSupplyCap // *CellarV2_5_FunctionCall_DecreaseShareSupplyCap + // *CellarV2_5_FunctionCall_SetSharePriceOracle Function isCellarV2_5_FunctionCall_Function `protobuf_oneof:"function"` } @@ -2809,6 +2810,13 @@ func (x *CellarV2_5_FunctionCall) GetDecreaseShareSupplyCap() *CellarV2_5_Decrea return nil } +func (x *CellarV2_5_FunctionCall) GetSetSharePriceOracle() *CellarV2_5_SetSharePriceOracle { + if x, ok := x.GetFunction().(*CellarV2_5_FunctionCall_SetSharePriceOracle); ok { + return x.SetSharePriceOracle + } + return nil +} + type isCellarV2_5_FunctionCall_Function interface { isCellarV2_5_FunctionCall_Function() } @@ -2898,6 +2906,11 @@ type CellarV2_5_FunctionCall_DecreaseShareSupplyCap struct { DecreaseShareSupplyCap *CellarV2_5_DecreaseShareSupplyCap `protobuf:"bytes,17,opt,name=decrease_share_supply_cap,json=decreaseShareSupplyCap,proto3,oneof"` } +type CellarV2_5_FunctionCall_SetSharePriceOracle struct { + // Represents function `setSharePriceOracle(uint256, address) + SetSharePriceOracle *CellarV2_5_SetSharePriceOracle `protobuf:"bytes,18,opt,name=set_share_price_oracle,json=setSharePriceOracle,proto3,oneof"` +} + func (*CellarV2_5_FunctionCall_AddPosition) isCellarV2_5_FunctionCall_Function() {} func (*CellarV2_5_FunctionCall_CallOnAdaptor) isCellarV2_5_FunctionCall_Function() {} @@ -2932,6 +2945,8 @@ func (*CellarV2_5_FunctionCall_IncreaseShareSupplyCap) isCellarV2_5_FunctionCall func (*CellarV2_5_FunctionCall_DecreaseShareSupplyCap) isCellarV2_5_FunctionCall_Function() {} +func (*CellarV2_5_FunctionCall_SetSharePriceOracle) isCellarV2_5_FunctionCall_Function() {} + // // Insert a trusted position to the list of positions used by the cellar at a given index. // @@ -3892,6 +3907,67 @@ func (x *CellarV2_5_DecreaseShareSupplyCap) GetNewCap() string { return "" } +// +// Allows strategist to set the share price oracle contract +// +// Represents function `setSharePriceOracle(uint256, address)` +type CellarV2_5_SetSharePriceOracle struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The oracle registry ID + RegistryId string `protobuf:"bytes,1,opt,name=registry_id,json=registryId,proto3" json:"registry_id,omitempty"` + // The oracle contract address + Oracle string `protobuf:"bytes,2,opt,name=oracle,proto3" json:"oracle,omitempty"` +} + +func (x *CellarV2_5_SetSharePriceOracle) Reset() { + *x = CellarV2_5_SetSharePriceOracle{} + if protoimpl.UnsafeEnabled { + mi := &file_cellar_v2_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CellarV2_5_SetSharePriceOracle) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CellarV2_5_SetSharePriceOracle) ProtoMessage() {} + +func (x *CellarV2_5_SetSharePriceOracle) ProtoReflect() protoreflect.Message { + mi := &file_cellar_v2_proto_msgTypes[52] + 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 CellarV2_5_SetSharePriceOracle.ProtoReflect.Descriptor instead. +func (*CellarV2_5_SetSharePriceOracle) Descriptor() ([]byte, []int) { + return file_cellar_v2_proto_rawDescGZIP(), []int{2, 19} +} + +func (x *CellarV2_5_SetSharePriceOracle) GetRegistryId() string { + if x != nil { + return x.RegistryId + } + return "" +} + +func (x *CellarV2_5_SetSharePriceOracle) GetOracle() string { + if x != nil { + return x.Oracle + } + return "" +} + var File_cellar_v2_proto protoreflect.FileDescriptor var file_cellar_v2_proto_rawDesc = []byte{ @@ -4227,7 +4303,7 @@ var file_cellar_v2_proto_rawDesc = []byte{ 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x42, 0x0b, 0x0a, 0x09, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x22, 0xb8, 0x17, 0x0a, 0x0a, 0x43, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x32, 0x5f, 0x35, 0x12, + 0x22, 0xeb, 0x18, 0x0a, 0x0a, 0x43, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x32, 0x5f, 0x35, 0x12, 0x4a, 0x0a, 0x0d, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x32, 0x5f, 0x35, 0x2e, 0x46, @@ -4236,7 +4312,7 @@ var file_cellar_v2_proto_rawDesc = []byte{ 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x32, 0x5f, 0x35, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, - 0x48, 0x00, 0x52, 0x09, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x1a, 0xa9, 0x0d, + 0x48, 0x00, 0x52, 0x09, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x1a, 0x8c, 0x0e, 0x0a, 0x0c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x47, 0x0a, 0x0c, 0x61, 0x64, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, @@ -4342,231 +4418,243 @@ var file_cellar_v2_proto_rawDesc = []byte{ 0x33, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x32, 0x5f, 0x35, 0x2e, 0x44, 0x65, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x61, 0x70, 0x48, 0x00, 0x52, 0x16, 0x64, 0x65, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x53, - 0x68, 0x61, 0x72, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x61, 0x70, 0x42, 0x0a, 0x0a, - 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x97, 0x01, 0x0a, 0x0b, 0x41, 0x64, - 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, - 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, - 0x22, 0x0a, 0x0d, 0x69, 0x6e, 0x5f, 0x64, 0x65, 0x62, 0x74, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x6e, 0x44, 0x65, 0x62, 0x74, 0x41, 0x72, - 0x72, 0x61, 0x79, 0x1a, 0x3c, 0x0a, 0x0d, 0x43, 0x61, 0x6c, 0x6c, 0x4f, 0x6e, 0x41, 0x64, 0x61, - 0x70, 0x74, 0x6f, 0x72, 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, - 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x1a, 0x4a, 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x6e, 0x5f, - 0x64, 0x65, 0x62, 0x74, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0b, 0x69, 0x6e, 0x44, 0x65, 0x62, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x1a, 0x35, 0x0a, - 0x12, 0x53, 0x65, 0x74, 0x48, 0x6f, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x1a, 0x34, 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x53, 0x74, 0x72, 0x61, 0x74, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x50, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x1a, 0x65, 0x0a, 0x0d, 0x53, 0x77, - 0x61, 0x70, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x31, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x32, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x32, 0x12, 0x22, 0x0a, - 0x0d, 0x69, 0x6e, 0x5f, 0x64, 0x65, 0x62, 0x74, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x6e, 0x44, 0x65, 0x62, 0x74, 0x41, 0x72, 0x72, 0x61, - 0x79, 0x1a, 0x2f, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, - 0x6b, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x5f, 0x6c, - 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x4c, 0x6f, - 0x63, 0x6b, 0x1a, 0x3c, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x52, 0x65, 0x62, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6e, - 0x65, 0x77, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x65, 0x77, 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x1a, 0x12, 0x0a, 0x10, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x53, 0x68, 0x75, 0x74, - 0x64, 0x6f, 0x77, 0x6e, 0x1a, 0x33, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x53, 0x74, 0x72, 0x61, 0x74, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x75, 0x74, - 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x06, 0x6e, 0x65, 0x77, 0x43, 0x75, 0x74, 0x1a, 0x0e, 0x0a, 0x0c, 0x4c, 0x69, 0x66, - 0x74, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x1a, 0x31, 0x0a, 0x15, 0x41, 0x64, 0x64, - 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x54, 0x6f, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, - 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x1a, 0x57, 0x0a, 0x09, - 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x4a, 0x0a, 0x0e, 0x66, 0x75, 0x6e, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x43, - 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x32, 0x5f, 0x35, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x0d, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x16, 0x41, 0x64, 0x64, 0x50, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x75, 0x65, 0x12, - 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x1a, 0x36, 0x0a, 0x1a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, - 0x72, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x75, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x61, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x61, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x1a, 0x3e, 0x0a, 0x1b, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x61, - 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x1a, 0x31, 0x0a, 0x16, 0x49, 0x6e, 0x63, 0x72, - 0x65, 0x61, 0x73, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x43, - 0x61, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x61, 0x70, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x65, 0x77, 0x43, 0x61, 0x70, 0x1a, 0x31, 0x0a, 0x16, 0x44, - 0x65, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x53, 0x75, 0x70, 0x70, + 0x68, 0x61, 0x72, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x61, 0x70, 0x12, 0x61, 0x0a, + 0x16, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, + 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x61, + 0x72, 0x56, 0x32, 0x5f, 0x35, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, 0x50, 0x72, + 0x69, 0x63, 0x65, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x13, 0x73, 0x65, 0x74, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, + 0x42, 0x0a, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x97, 0x01, 0x0a, + 0x0b, 0x41, 0x64, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x11, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x6e, 0x5f, 0x64, 0x65, 0x62, 0x74, 0x5f, 0x61, 0x72, + 0x72, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x6e, 0x44, 0x65, 0x62, + 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x1a, 0x3c, 0x0a, 0x0d, 0x43, 0x61, 0x6c, 0x6c, 0x4f, 0x6e, + 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, + 0x76, 0x33, 0x2e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x1a, 0x4a, 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x22, 0x0a, 0x0d, + 0x69, 0x6e, 0x5f, 0x64, 0x65, 0x62, 0x74, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x6e, 0x44, 0x65, 0x62, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, + 0x1a, 0x35, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x48, 0x6f, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x1a, 0x34, 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x53, 0x74, + 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x73, 0x74, 0x50, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x1a, 0x65, 0x0a, + 0x0d, 0x53, 0x77, 0x61, 0x70, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x17, + 0x0a, 0x07, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x06, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x31, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x5f, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x32, + 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x6e, 0x5f, 0x64, 0x65, 0x62, 0x74, 0x5f, 0x61, 0x72, 0x72, 0x61, + 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x6e, 0x44, 0x65, 0x62, 0x74, 0x41, + 0x72, 0x72, 0x61, 0x79, 0x1a, 0x2f, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x4c, 0x6f, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x65, + 0x77, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, + 0x77, 0x4c, 0x6f, 0x63, 0x6b, 0x1a, 0x3c, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x52, 0x65, 0x62, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, + 0x0a, 0x0d, 0x6e, 0x65, 0x77, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x65, 0x77, 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x1a, 0x12, 0x0a, 0x10, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x53, + 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x1a, 0x33, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x53, 0x74, + 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x43, 0x75, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x75, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6e, 0x65, 0x77, 0x43, 0x75, 0x74, 0x1a, 0x0e, 0x0a, 0x0c, + 0x4c, 0x69, 0x66, 0x74, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x1a, 0x31, 0x0a, 0x15, + 0x41, 0x64, 0x64, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x54, 0x6f, 0x43, 0x61, 0x74, 0x61, + 0x6c, 0x6f, 0x67, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x1a, + 0x57, 0x0a, 0x09, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x4a, 0x0a, 0x0e, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, + 0x33, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x32, 0x5f, 0x35, 0x2e, 0x46, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x0d, 0x66, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x16, 0x41, 0x64, 0x64, 0x50, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, + 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x1a, 0x36, 0x0a, 0x1a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x64, 0x61, + 0x70, 0x74, 0x6f, 0x72, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x75, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x1a, 0x3e, 0x0a, 0x1b, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x72, 0x6f, + 0x6d, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x1a, 0x31, 0x0a, 0x16, 0x49, + 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x61, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x61, 0x70, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x65, 0x77, 0x43, 0x61, 0x70, 0x42, 0x0b, - 0x0a, 0x09, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xe8, 0x12, 0x0a, 0x0b, - 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x61, - 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, - 0x61, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x54, 0x0a, 0x13, 0x75, 0x6e, 0x69, 0x73, 0x77, 0x61, 0x70, - 0x5f, 0x76, 0x33, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, - 0x55, 0x6e, 0x69, 0x73, 0x77, 0x61, 0x70, 0x56, 0x33, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, - 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x10, 0x75, 0x6e, 0x69, 0x73, 0x77, - 0x61, 0x70, 0x56, 0x33, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x58, 0x0a, 0x15, 0x61, - 0x61, 0x76, 0x65, 0x5f, 0x61, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x31, 0x5f, 0x63, - 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x74, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x61, 0x76, 0x65, 0x41, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, - 0x48, 0x00, 0x52, 0x11, 0x61, 0x61, 0x76, 0x65, 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x31, - 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x61, 0x0a, 0x18, 0x61, 0x61, 0x76, 0x65, 0x5f, 0x64, 0x65, - 0x62, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, - 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x61, 0x76, 0x65, 0x44, 0x65, 0x62, 0x74, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, - 0x48, 0x00, 0x52, 0x14, 0x61, 0x61, 0x76, 0x65, 0x44, 0x65, 0x62, 0x74, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x64, 0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x70, - 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x63, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x32, 0x5f, - 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x74, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, - 0x64, 0x43, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x32, - 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, - 0x64, 0x43, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x32, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x58, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x65, 0x77, 0x43, 0x61, 0x70, 0x1a, 0x31, + 0x0a, 0x16, 0x44, 0x65, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x53, + 0x75, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x61, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x5f, + 0x63, 0x61, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x65, 0x77, 0x43, 0x61, + 0x70, 0x1a, 0x4e, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, 0x50, 0x72, 0x69, + 0x63, 0x65, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x61, + 0x63, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, 0x61, 0x63, 0x6c, + 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xe8, + 0x12, 0x0a, 0x0b, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x18, + 0x0a, 0x07, 0x61, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x61, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x54, 0x0a, 0x13, 0x75, 0x6e, 0x69, 0x73, + 0x77, 0x61, 0x70, 0x5f, 0x76, 0x33, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, + 0x76, 0x33, 0x2e, 0x55, 0x6e, 0x69, 0x73, 0x77, 0x61, 0x70, 0x56, 0x33, 0x41, 0x64, 0x61, 0x70, + 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x10, 0x75, 0x6e, + 0x69, 0x73, 0x77, 0x61, 0x70, 0x56, 0x33, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x58, 0x0a, 0x15, 0x61, 0x61, 0x76, 0x65, 0x5f, 0x61, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, - 0x32, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x61, 0x76, 0x65, 0x41, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x32, 0x43, 0x61, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x11, 0x61, 0x61, 0x76, 0x65, 0x41, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x56, 0x32, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x61, 0x0a, 0x18, 0x61, 0x61, 0x76, 0x65, - 0x5f, 0x64, 0x65, 0x62, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x32, 0x5f, 0x63, - 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x74, 0x65, + 0x6e, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x61, 0x0a, 0x18, 0x61, 0x61, 0x76, 0x65, + 0x5f, 0x64, 0x65, 0x62, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x31, 0x5f, 0x63, + 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x61, 0x76, 0x65, 0x44, 0x65, 0x62, 0x74, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x32, 0x43, 0x61, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x14, 0x61, 0x61, 0x76, 0x65, 0x44, 0x65, 0x62, 0x74, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x32, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x5f, 0x0a, 0x18, 0x61, - 0x61, 0x76, 0x65, 0x5f, 0x76, 0x33, 0x5f, 0x61, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, - 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, - 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x61, 0x76, 0x65, 0x56, - 0x33, 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, - 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x13, 0x61, 0x61, 0x76, 0x65, 0x56, 0x33, 0x41, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x68, 0x0a, 0x1b, - 0x61, 0x61, 0x76, 0x65, 0x5f, 0x76, 0x33, 0x5f, 0x64, 0x65, 0x62, 0x74, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x41, - 0x61, 0x76, 0x65, 0x56, 0x33, 0x44, 0x65, 0x62, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, - 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x16, - 0x61, 0x61, 0x76, 0x65, 0x56, 0x33, 0x44, 0x65, 0x62, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, - 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x4e, 0x0a, 0x11, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x6e, - 0x63, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x4f, - 0x6e, 0x65, 0x49, 0x6e, 0x63, 0x68, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, - 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x6f, 0x6e, 0x65, 0x49, 0x6e, 0x63, 0x68, 0x56, - 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x67, 0x0a, 0x1a, 0x66, 0x65, 0x65, 0x73, 0x5f, 0x61, - 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x73, 0x5f, 0x76, 0x31, 0x5f, 0x63, - 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x74, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x65, 0x65, 0x73, 0x41, 0x6e, 0x64, 0x52, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x73, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, - 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x16, 0x66, 0x65, 0x65, 0x73, 0x41, 0x6e, 0x64, - 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x73, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, - 0x48, 0x0a, 0x0f, 0x7a, 0x65, 0x72, 0x6f, 0x5f, 0x78, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, - 0x6c, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x5a, 0x65, 0x72, 0x6f, 0x58, 0x41, 0x64, 0x61, 0x70, 0x74, - 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x7a, 0x65, 0x72, - 0x6f, 0x58, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x67, 0x0a, 0x1a, 0x73, 0x77, 0x61, - 0x70, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x75, 0x6e, 0x69, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x76, - 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, - 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x77, 0x61, 0x70, 0x57, - 0x69, 0x74, 0x68, 0x55, 0x6e, 0x69, 0x73, 0x77, 0x61, 0x70, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, - 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x16, 0x73, 0x77, 0x61, 0x70, - 0x57, 0x69, 0x74, 0x68, 0x55, 0x6e, 0x69, 0x73, 0x77, 0x61, 0x70, 0x56, 0x31, 0x43, 0x61, 0x6c, - 0x6c, 0x73, 0x12, 0x60, 0x0a, 0x17, 0x76, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x69, - 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x76, 0x32, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, - 0x2e, 0x56, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x41, 0x64, - 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x32, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x14, - 0x76, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x56, 0x32, 0x43, - 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x5f, 0x76, - 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x61, - 0x72, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, - 0x00, 0x52, 0x0d, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, - 0x12, 0x54, 0x0a, 0x13, 0x75, 0x6e, 0x69, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x76, 0x33, 0x5f, 0x76, - 0x32, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x6e, 0x69, 0x73, 0x77, - 0x61, 0x70, 0x56, 0x33, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x32, 0x43, 0x61, 0x6c, - 0x6c, 0x73, 0x48, 0x00, 0x52, 0x10, 0x75, 0x6e, 0x69, 0x73, 0x77, 0x61, 0x70, 0x56, 0x33, 0x56, - 0x32, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x94, 0x01, 0x0a, 0x2b, 0x61, 0x61, 0x76, 0x65, 0x5f, - 0x76, 0x32, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, - 0x61, 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x76, 0x31, - 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x73, - 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x61, 0x76, 0x65, 0x56, 0x32, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x41, 0x73, 0x43, 0x6f, 0x6c, - 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, - 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x24, 0x61, 0x61, 0x76, 0x65, 0x56, 0x32, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x41, 0x73, 0x43, 0x6f, 0x6c, 0x6c, - 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x4b, 0x0a, - 0x10, 0x66, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, - 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, - 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x66, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x72, 0x0a, 0x1f, 0x6d, 0x6f, - 0x72, 0x70, 0x68, 0x6f, 0x5f, 0x61, 0x61, 0x76, 0x65, 0x5f, 0x76, 0x32, 0x5f, 0x61, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x13, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, - 0x2e, 0x4d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x41, 0x61, 0x76, 0x65, 0x56, 0x32, 0x41, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, - 0x73, 0x48, 0x00, 0x52, 0x19, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x41, 0x61, 0x76, 0x65, 0x56, - 0x32, 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x7b, - 0x0a, 0x22, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x5f, 0x61, 0x61, 0x76, 0x65, 0x5f, 0x76, 0x32, - 0x5f, 0x64, 0x65, 0x62, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x31, 0x5f, 0x63, - 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x73, 0x74, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x41, 0x61, - 0x76, 0x65, 0x56, 0x32, 0x44, 0x65, 0x62, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, - 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x1c, 0x6d, - 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x41, 0x61, 0x76, 0x65, 0x56, 0x32, 0x44, 0x65, 0x62, 0x74, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x91, 0x01, 0x0a, 0x2a, - 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x5f, 0x61, 0x61, 0x76, 0x65, 0x5f, 0x76, 0x33, 0x5f, 0x61, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, - 0x6c, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x36, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x6f, - 0x72, 0x70, 0x68, 0x6f, 0x41, 0x61, 0x76, 0x65, 0x56, 0x33, 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x64, 0x0a, 0x19, 0x63, + 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x63, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, + 0x76, 0x32, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x70, + 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, + 0x72, 0x56, 0x32, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, + 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x32, 0x43, 0x61, 0x6c, 0x6c, + 0x73, 0x12, 0x58, 0x0a, 0x15, 0x61, 0x61, 0x76, 0x65, 0x5f, 0x61, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x5f, 0x76, 0x32, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x24, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x61, + 0x76, 0x65, 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, + 0x32, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x11, 0x61, 0x61, 0x76, 0x65, 0x41, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x32, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x61, 0x0a, 0x18, 0x61, + 0x61, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x62, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, + 0x32, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x61, 0x76, 0x65, 0x44, + 0x65, 0x62, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, + 0x32, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x14, 0x61, 0x61, 0x76, 0x65, 0x44, 0x65, + 0x62, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x32, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x5f, + 0x0a, 0x18, 0x61, 0x61, 0x76, 0x65, 0x5f, 0x76, 0x33, 0x5f, 0x61, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x26, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x61, + 0x76, 0x65, 0x56, 0x33, 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, + 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x13, 0x61, 0x61, 0x76, 0x65, + 0x56, 0x33, 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, + 0x68, 0x0a, 0x1b, 0x61, 0x61, 0x76, 0x65, 0x5f, 0x76, 0x33, 0x5f, 0x64, 0x65, 0x62, 0x74, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, + 0x33, 0x2e, 0x41, 0x61, 0x76, 0x65, 0x56, 0x33, 0x44, 0x65, 0x62, 0x74, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, + 0x00, 0x52, 0x16, 0x61, 0x61, 0x76, 0x65, 0x56, 0x33, 0x44, 0x65, 0x62, 0x74, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x4e, 0x0a, 0x11, 0x6f, 0x6e, 0x65, + 0x5f, 0x69, 0x6e, 0x63, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, + 0x33, 0x2e, 0x4f, 0x6e, 0x65, 0x49, 0x6e, 0x63, 0x68, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, + 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x6f, 0x6e, 0x65, 0x49, 0x6e, + 0x63, 0x68, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x67, 0x0a, 0x1a, 0x66, 0x65, 0x65, + 0x73, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x73, 0x5f, 0x76, + 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, + 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x65, 0x65, 0x73, 0x41, + 0x6e, 0x64, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x73, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, + 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x16, 0x66, 0x65, 0x65, 0x73, + 0x41, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x73, 0x56, 0x31, 0x43, 0x61, 0x6c, + 0x6c, 0x73, 0x12, 0x48, 0x0a, 0x0f, 0x7a, 0x65, 0x72, 0x6f, 0x5f, 0x78, 0x5f, 0x76, 0x31, 0x5f, + 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x74, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x5a, 0x65, 0x72, 0x6f, 0x58, 0x41, 0x64, + 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x0c, + 0x7a, 0x65, 0x72, 0x6f, 0x58, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x67, 0x0a, 0x1a, + 0x73, 0x77, 0x61, 0x70, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x75, 0x6e, 0x69, 0x73, 0x77, 0x61, + 0x70, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x77, + 0x61, 0x70, 0x57, 0x69, 0x74, 0x68, 0x55, 0x6e, 0x69, 0x73, 0x77, 0x61, 0x70, 0x41, 0x64, 0x61, + 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x16, 0x73, + 0x77, 0x61, 0x70, 0x57, 0x69, 0x74, 0x68, 0x55, 0x6e, 0x69, 0x73, 0x77, 0x61, 0x70, 0x56, 0x31, + 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x60, 0x0a, 0x17, 0x76, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, + 0x5f, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x76, 0x32, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x2e, 0x76, 0x33, 0x2e, 0x56, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x6d, 0x70, 0x6c, + 0x65, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x32, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, + 0x00, 0x52, 0x14, 0x76, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, + 0x56, 0x32, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x63, 0x65, 0x6c, 0x6c, 0x61, + 0x72, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x65, + 0x6c, 0x6c, 0x61, 0x72, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, + 0x6c, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x31, 0x43, 0x61, + 0x6c, 0x6c, 0x73, 0x12, 0x54, 0x0a, 0x13, 0x75, 0x6e, 0x69, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x76, + 0x33, 0x5f, 0x76, 0x32, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x6e, + 0x69, 0x73, 0x77, 0x61, 0x70, 0x56, 0x33, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x32, + 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x10, 0x75, 0x6e, 0x69, 0x73, 0x77, 0x61, 0x70, + 0x56, 0x33, 0x56, 0x32, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x94, 0x01, 0x0a, 0x2b, 0x61, 0x61, + 0x76, 0x65, 0x5f, 0x76, 0x32, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, + 0x65, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, + 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x37, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x61, 0x76, + 0x65, 0x56, 0x32, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x41, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, - 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x23, 0x6d, 0x6f, 0x72, 0x70, - 0x68, 0x6f, 0x41, 0x61, 0x76, 0x65, 0x56, 0x33, 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, - 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, - 0x7c, 0x0a, 0x23, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x5f, 0x61, 0x61, 0x76, 0x65, 0x5f, 0x76, - 0x33, 0x5f, 0x61, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x70, 0x32, 0x70, 0x5f, 0x76, 0x31, - 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x73, + 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x24, 0x61, 0x61, 0x76, 0x65, + 0x56, 0x32, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x41, 0x73, 0x43, + 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, + 0x12, 0x4b, 0x0a, 0x10, 0x66, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x31, 0x5f, 0x63, + 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, + 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x0d, + 0x66, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x72, 0x0a, + 0x1f, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x5f, 0x61, 0x61, 0x76, 0x65, 0x5f, 0x76, 0x32, 0x5f, + 0x61, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, + 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x41, 0x61, 0x76, 0x65, 0x56, 0x32, + 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, + 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x19, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x41, 0x61, + 0x76, 0x65, 0x56, 0x32, 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, + 0x73, 0x12, 0x7b, 0x0a, 0x22, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x5f, 0x61, 0x61, 0x76, 0x65, + 0x5f, 0x76, 0x32, 0x5f, 0x64, 0x65, 0x62, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, + 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, + 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x6f, 0x72, 0x70, 0x68, + 0x6f, 0x41, 0x61, 0x76, 0x65, 0x56, 0x32, 0x44, 0x65, 0x62, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, + 0x52, 0x1c, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x41, 0x61, 0x76, 0x65, 0x56, 0x32, 0x44, 0x65, + 0x62, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x91, + 0x01, 0x0a, 0x2a, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x5f, 0x61, 0x61, 0x76, 0x65, 0x5f, 0x76, + 0x33, 0x5f, 0x61, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, + 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x15, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, + 0x2e, 0x4d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x41, 0x61, 0x76, 0x65, 0x56, 0x33, 0x41, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x41, 0x64, 0x61, + 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x23, 0x6d, + 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x41, 0x61, 0x76, 0x65, 0x56, 0x33, 0x41, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x56, 0x31, 0x43, 0x61, 0x6c, + 0x6c, 0x73, 0x12, 0x7c, 0x0a, 0x23, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x5f, 0x61, 0x61, 0x76, + 0x65, 0x5f, 0x76, 0x33, 0x5f, 0x61, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x70, 0x32, 0x70, + 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2f, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x6f, 0x72, + 0x70, 0x68, 0x6f, 0x41, 0x61, 0x76, 0x65, 0x56, 0x33, 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, + 0x32, 0x50, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, + 0x48, 0x00, 0x52, 0x1c, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x41, 0x61, 0x76, 0x65, 0x56, 0x33, + 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x32, 0x70, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, + 0x12, 0x7b, 0x0a, 0x22, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x5f, 0x61, 0x61, 0x76, 0x65, 0x5f, + 0x76, 0x33, 0x5f, 0x64, 0x65, 0x62, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x31, + 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x6f, 0x72, 0x70, 0x68, 0x6f, - 0x41, 0x61, 0x76, 0x65, 0x56, 0x33, 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x32, 0x50, 0x41, + 0x41, 0x61, 0x76, 0x65, 0x56, 0x33, 0x44, 0x65, 0x62, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, - 0x1c, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x41, 0x61, 0x76, 0x65, 0x56, 0x33, 0x41, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x50, 0x32, 0x70, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x7b, 0x0a, - 0x22, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x5f, 0x61, 0x61, 0x76, 0x65, 0x5f, 0x76, 0x33, 0x5f, - 0x64, 0x65, 0x62, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, - 0x6c, 0x6c, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x73, 0x74, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x41, 0x61, 0x76, - 0x65, 0x56, 0x33, 0x44, 0x65, 0x62, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, - 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x1c, 0x6d, 0x6f, - 0x72, 0x70, 0x68, 0x6f, 0x41, 0x61, 0x76, 0x65, 0x56, 0x33, 0x44, 0x65, 0x62, 0x74, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x5d, 0x0a, 0x16, 0x62, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x31, 0x5f, 0x63, - 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x74, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, - 0x50, 0x6f, 0x6f, 0x6c, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, - 0x6c, 0x73, 0x48, 0x00, 0x52, 0x13, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x50, 0x6f, - 0x6f, 0x6c, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x63, 0x61, 0x6c, - 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x42, 0x10, 0x5a, 0x0e, 0x2f, 0x73, 0x74, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x1c, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x41, 0x61, 0x76, 0x65, 0x56, 0x33, 0x44, 0x65, 0x62, + 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x5d, 0x0a, + 0x16, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, + 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, + 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x13, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x42, 0x0b, 0x0a, 0x09, + 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x42, 0x10, 0x5a, 0x0e, 0x2f, 0x73, 0x74, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -4581,7 +4669,7 @@ func file_cellar_v2_proto_rawDescGZIP() []byte { return file_cellar_v2_proto_rawDescData } -var file_cellar_v2_proto_msgTypes = make([]protoimpl.MessageInfo, 52) +var file_cellar_v2_proto_msgTypes = make([]protoimpl.MessageInfo, 53) var file_cellar_v2_proto_goTypes = []interface{}{ (*CellarV2)(nil), // 0: steward.v3.CellarV2 (*CellarV2_2)(nil), // 1: steward.v3.CellarV2_2 @@ -4635,29 +4723,30 @@ var file_cellar_v2_proto_goTypes = []interface{}{ (*CellarV2_5_RemovePositionFromCatalogue)(nil), // 49: steward.v3.CellarV2_5.RemovePositionFromCatalogue (*CellarV2_5_IncreaseShareSupplyCap)(nil), // 50: steward.v3.CellarV2_5.IncreaseShareSupplyCap (*CellarV2_5_DecreaseShareSupplyCap)(nil), // 51: steward.v3.CellarV2_5.DecreaseShareSupplyCap - (*UniswapV3AdaptorV1Calls)(nil), // 52: steward.v3.UniswapV3AdaptorV1Calls - (*AaveATokenAdaptorV1Calls)(nil), // 53: steward.v3.AaveATokenAdaptorV1Calls - (*AaveDebtTokenAdaptorV1Calls)(nil), // 54: steward.v3.AaveDebtTokenAdaptorV1Calls - (*CompoundCTokenAdaptorV2Calls)(nil), // 55: steward.v3.CompoundCTokenAdaptorV2Calls - (*AaveATokenAdaptorV2Calls)(nil), // 56: steward.v3.AaveATokenAdaptorV2Calls - (*AaveDebtTokenAdaptorV2Calls)(nil), // 57: steward.v3.AaveDebtTokenAdaptorV2Calls - (*AaveV3ATokenAdaptorV1Calls)(nil), // 58: steward.v3.AaveV3ATokenAdaptorV1Calls - (*AaveV3DebtTokenAdaptorV1Calls)(nil), // 59: steward.v3.AaveV3DebtTokenAdaptorV1Calls - (*OneInchAdaptorV1Calls)(nil), // 60: steward.v3.OneInchAdaptorV1Calls - (*FeesAndReservesAdaptorV1Calls)(nil), // 61: steward.v3.FeesAndReservesAdaptorV1Calls - (*ZeroXAdaptorV1Calls)(nil), // 62: steward.v3.ZeroXAdaptorV1Calls - (*SwapWithUniswapAdaptorV1Calls)(nil), // 63: steward.v3.SwapWithUniswapAdaptorV1Calls - (*VestingSimpleAdaptorV2Calls)(nil), // 64: steward.v3.VestingSimpleAdaptorV2Calls - (*CellarAdaptorV1Calls)(nil), // 65: steward.v3.CellarAdaptorV1Calls - (*UniswapV3AdaptorV2Calls)(nil), // 66: steward.v3.UniswapV3AdaptorV2Calls - (*AaveV2EnableAssetAsCollateralAdaptorV1Calls)(nil), // 67: steward.v3.AaveV2EnableAssetAsCollateralAdaptorV1Calls - (*FTokenAdaptorV1Calls)(nil), // 68: steward.v3.FTokenAdaptorV1Calls - (*MorphoAaveV2ATokenAdaptorV1Calls)(nil), // 69: steward.v3.MorphoAaveV2ATokenAdaptorV1Calls - (*MorphoAaveV2DebtTokenAdaptorV1Calls)(nil), // 70: steward.v3.MorphoAaveV2DebtTokenAdaptorV1Calls - (*MorphoAaveV3ATokenCollateralAdaptorV1Calls)(nil), // 71: steward.v3.MorphoAaveV3ATokenCollateralAdaptorV1Calls - (*MorphoAaveV3ATokenP2PAdaptorV1Calls)(nil), // 72: steward.v3.MorphoAaveV3ATokenP2PAdaptorV1Calls - (*MorphoAaveV3DebtTokenAdaptorV1Calls)(nil), // 73: steward.v3.MorphoAaveV3DebtTokenAdaptorV1Calls - (*BalancerPoolAdaptorV1Calls)(nil), // 74: steward.v3.BalancerPoolAdaptorV1Calls + (*CellarV2_5_SetSharePriceOracle)(nil), // 52: steward.v3.CellarV2_5.SetSharePriceOracle + (*UniswapV3AdaptorV1Calls)(nil), // 53: steward.v3.UniswapV3AdaptorV1Calls + (*AaveATokenAdaptorV1Calls)(nil), // 54: steward.v3.AaveATokenAdaptorV1Calls + (*AaveDebtTokenAdaptorV1Calls)(nil), // 55: steward.v3.AaveDebtTokenAdaptorV1Calls + (*CompoundCTokenAdaptorV2Calls)(nil), // 56: steward.v3.CompoundCTokenAdaptorV2Calls + (*AaveATokenAdaptorV2Calls)(nil), // 57: steward.v3.AaveATokenAdaptorV2Calls + (*AaveDebtTokenAdaptorV2Calls)(nil), // 58: steward.v3.AaveDebtTokenAdaptorV2Calls + (*AaveV3ATokenAdaptorV1Calls)(nil), // 59: steward.v3.AaveV3ATokenAdaptorV1Calls + (*AaveV3DebtTokenAdaptorV1Calls)(nil), // 60: steward.v3.AaveV3DebtTokenAdaptorV1Calls + (*OneInchAdaptorV1Calls)(nil), // 61: steward.v3.OneInchAdaptorV1Calls + (*FeesAndReservesAdaptorV1Calls)(nil), // 62: steward.v3.FeesAndReservesAdaptorV1Calls + (*ZeroXAdaptorV1Calls)(nil), // 63: steward.v3.ZeroXAdaptorV1Calls + (*SwapWithUniswapAdaptorV1Calls)(nil), // 64: steward.v3.SwapWithUniswapAdaptorV1Calls + (*VestingSimpleAdaptorV2Calls)(nil), // 65: steward.v3.VestingSimpleAdaptorV2Calls + (*CellarAdaptorV1Calls)(nil), // 66: steward.v3.CellarAdaptorV1Calls + (*UniswapV3AdaptorV2Calls)(nil), // 67: steward.v3.UniswapV3AdaptorV2Calls + (*AaveV2EnableAssetAsCollateralAdaptorV1Calls)(nil), // 68: steward.v3.AaveV2EnableAssetAsCollateralAdaptorV1Calls + (*FTokenAdaptorV1Calls)(nil), // 69: steward.v3.FTokenAdaptorV1Calls + (*MorphoAaveV2ATokenAdaptorV1Calls)(nil), // 70: steward.v3.MorphoAaveV2ATokenAdaptorV1Calls + (*MorphoAaveV2DebtTokenAdaptorV1Calls)(nil), // 71: steward.v3.MorphoAaveV2DebtTokenAdaptorV1Calls + (*MorphoAaveV3ATokenCollateralAdaptorV1Calls)(nil), // 72: steward.v3.MorphoAaveV3ATokenCollateralAdaptorV1Calls + (*MorphoAaveV3ATokenP2PAdaptorV1Calls)(nil), // 73: steward.v3.MorphoAaveV3ATokenP2PAdaptorV1Calls + (*MorphoAaveV3DebtTokenAdaptorV1Calls)(nil), // 74: steward.v3.MorphoAaveV3DebtTokenAdaptorV1Calls + (*BalancerPoolAdaptorV1Calls)(nil), // 75: steward.v3.BalancerPoolAdaptorV1Calls } var file_cellar_v2_proto_depIdxs = []int32{ 4, // 0: steward.v3.CellarV2.add_position:type_name -> steward.v3.CellarV2.AddPosition @@ -4676,29 +4765,29 @@ var file_cellar_v2_proto_depIdxs = []int32{ 29, // 13: steward.v3.CellarV2_2.multicall:type_name -> steward.v3.CellarV2_2.Multicall 33, // 14: steward.v3.CellarV2_5.function_call:type_name -> steward.v3.CellarV2_5.FunctionCall 46, // 15: steward.v3.CellarV2_5.multicall:type_name -> steward.v3.CellarV2_5.Multicall - 52, // 16: steward.v3.AdaptorCall.uniswap_v3_v1_calls:type_name -> steward.v3.UniswapV3AdaptorV1Calls - 53, // 17: steward.v3.AdaptorCall.aave_a_token_v1_calls:type_name -> steward.v3.AaveATokenAdaptorV1Calls - 54, // 18: steward.v3.AdaptorCall.aave_debt_token_v1_calls:type_name -> steward.v3.AaveDebtTokenAdaptorV1Calls - 55, // 19: steward.v3.AdaptorCall.compound_c_token_v2_calls:type_name -> steward.v3.CompoundCTokenAdaptorV2Calls - 56, // 20: steward.v3.AdaptorCall.aave_a_token_v2_calls:type_name -> steward.v3.AaveATokenAdaptorV2Calls - 57, // 21: steward.v3.AdaptorCall.aave_debt_token_v2_calls:type_name -> steward.v3.AaveDebtTokenAdaptorV2Calls - 58, // 22: steward.v3.AdaptorCall.aave_v3_a_token_v1_calls:type_name -> steward.v3.AaveV3ATokenAdaptorV1Calls - 59, // 23: steward.v3.AdaptorCall.aave_v3_debt_token_v1_calls:type_name -> steward.v3.AaveV3DebtTokenAdaptorV1Calls - 60, // 24: steward.v3.AdaptorCall.one_inch_v1_calls:type_name -> steward.v3.OneInchAdaptorV1Calls - 61, // 25: steward.v3.AdaptorCall.fees_and_reserves_v1_calls:type_name -> steward.v3.FeesAndReservesAdaptorV1Calls - 62, // 26: steward.v3.AdaptorCall.zero_x_v1_calls:type_name -> steward.v3.ZeroXAdaptorV1Calls - 63, // 27: steward.v3.AdaptorCall.swap_with_uniswap_v1_calls:type_name -> steward.v3.SwapWithUniswapAdaptorV1Calls - 64, // 28: steward.v3.AdaptorCall.vesting_simple_v2_calls:type_name -> steward.v3.VestingSimpleAdaptorV2Calls - 65, // 29: steward.v3.AdaptorCall.cellar_v1_calls:type_name -> steward.v3.CellarAdaptorV1Calls - 66, // 30: steward.v3.AdaptorCall.uniswap_v3_v2_calls:type_name -> steward.v3.UniswapV3AdaptorV2Calls - 67, // 31: steward.v3.AdaptorCall.aave_v2_enable_asset_as_collateral_v1_calls:type_name -> steward.v3.AaveV2EnableAssetAsCollateralAdaptorV1Calls - 68, // 32: steward.v3.AdaptorCall.f_token_v1_calls:type_name -> steward.v3.FTokenAdaptorV1Calls - 69, // 33: steward.v3.AdaptorCall.morpho_aave_v2_a_token_v1_calls:type_name -> steward.v3.MorphoAaveV2ATokenAdaptorV1Calls - 70, // 34: steward.v3.AdaptorCall.morpho_aave_v2_debt_token_v1_calls:type_name -> steward.v3.MorphoAaveV2DebtTokenAdaptorV1Calls - 71, // 35: steward.v3.AdaptorCall.morpho_aave_v3_a_token_collateral_v1_calls:type_name -> steward.v3.MorphoAaveV3ATokenCollateralAdaptorV1Calls - 72, // 36: steward.v3.AdaptorCall.morpho_aave_v3_a_token_p2p_v1_calls:type_name -> steward.v3.MorphoAaveV3ATokenP2PAdaptorV1Calls - 73, // 37: steward.v3.AdaptorCall.morpho_aave_v3_debt_token_v1_calls:type_name -> steward.v3.MorphoAaveV3DebtTokenAdaptorV1Calls - 74, // 38: steward.v3.AdaptorCall.balancer_pool_v1_calls:type_name -> steward.v3.BalancerPoolAdaptorV1Calls + 53, // 16: steward.v3.AdaptorCall.uniswap_v3_v1_calls:type_name -> steward.v3.UniswapV3AdaptorV1Calls + 54, // 17: steward.v3.AdaptorCall.aave_a_token_v1_calls:type_name -> steward.v3.AaveATokenAdaptorV1Calls + 55, // 18: steward.v3.AdaptorCall.aave_debt_token_v1_calls:type_name -> steward.v3.AaveDebtTokenAdaptorV1Calls + 56, // 19: steward.v3.AdaptorCall.compound_c_token_v2_calls:type_name -> steward.v3.CompoundCTokenAdaptorV2Calls + 57, // 20: steward.v3.AdaptorCall.aave_a_token_v2_calls:type_name -> steward.v3.AaveATokenAdaptorV2Calls + 58, // 21: steward.v3.AdaptorCall.aave_debt_token_v2_calls:type_name -> steward.v3.AaveDebtTokenAdaptorV2Calls + 59, // 22: steward.v3.AdaptorCall.aave_v3_a_token_v1_calls:type_name -> steward.v3.AaveV3ATokenAdaptorV1Calls + 60, // 23: steward.v3.AdaptorCall.aave_v3_debt_token_v1_calls:type_name -> steward.v3.AaveV3DebtTokenAdaptorV1Calls + 61, // 24: steward.v3.AdaptorCall.one_inch_v1_calls:type_name -> steward.v3.OneInchAdaptorV1Calls + 62, // 25: steward.v3.AdaptorCall.fees_and_reserves_v1_calls:type_name -> steward.v3.FeesAndReservesAdaptorV1Calls + 63, // 26: steward.v3.AdaptorCall.zero_x_v1_calls:type_name -> steward.v3.ZeroXAdaptorV1Calls + 64, // 27: steward.v3.AdaptorCall.swap_with_uniswap_v1_calls:type_name -> steward.v3.SwapWithUniswapAdaptorV1Calls + 65, // 28: steward.v3.AdaptorCall.vesting_simple_v2_calls:type_name -> steward.v3.VestingSimpleAdaptorV2Calls + 66, // 29: steward.v3.AdaptorCall.cellar_v1_calls:type_name -> steward.v3.CellarAdaptorV1Calls + 67, // 30: steward.v3.AdaptorCall.uniswap_v3_v2_calls:type_name -> steward.v3.UniswapV3AdaptorV2Calls + 68, // 31: steward.v3.AdaptorCall.aave_v2_enable_asset_as_collateral_v1_calls:type_name -> steward.v3.AaveV2EnableAssetAsCollateralAdaptorV1Calls + 69, // 32: steward.v3.AdaptorCall.f_token_v1_calls:type_name -> steward.v3.FTokenAdaptorV1Calls + 70, // 33: steward.v3.AdaptorCall.morpho_aave_v2_a_token_v1_calls:type_name -> steward.v3.MorphoAaveV2ATokenAdaptorV1Calls + 71, // 34: steward.v3.AdaptorCall.morpho_aave_v2_debt_token_v1_calls:type_name -> steward.v3.MorphoAaveV2DebtTokenAdaptorV1Calls + 72, // 35: steward.v3.AdaptorCall.morpho_aave_v3_a_token_collateral_v1_calls:type_name -> steward.v3.MorphoAaveV3ATokenCollateralAdaptorV1Calls + 73, // 36: steward.v3.AdaptorCall.morpho_aave_v3_a_token_p2p_v1_calls:type_name -> steward.v3.MorphoAaveV3ATokenP2PAdaptorV1Calls + 74, // 37: steward.v3.AdaptorCall.morpho_aave_v3_debt_token_v1_calls:type_name -> steward.v3.MorphoAaveV3DebtTokenAdaptorV1Calls + 75, // 38: steward.v3.AdaptorCall.balancer_pool_v1_calls:type_name -> steward.v3.BalancerPoolAdaptorV1Calls 3, // 39: steward.v3.CellarV2.CallOnAdaptor.data:type_name -> steward.v3.AdaptorCall 17, // 40: steward.v3.CellarV2_2.FunctionCall.add_position:type_name -> steward.v3.CellarV2_2.AddPosition 18, // 41: steward.v3.CellarV2_2.FunctionCall.call_on_adaptor:type_name -> steward.v3.CellarV2_2.CallOnAdaptor @@ -4734,13 +4823,14 @@ var file_cellar_v2_proto_depIdxs = []int32{ 49, // 71: steward.v3.CellarV2_5.FunctionCall.remove_position_from_catalogue:type_name -> steward.v3.CellarV2_5.RemovePositionFromCatalogue 50, // 72: steward.v3.CellarV2_5.FunctionCall.increase_share_supply_cap:type_name -> steward.v3.CellarV2_5.IncreaseShareSupplyCap 51, // 73: steward.v3.CellarV2_5.FunctionCall.decrease_share_supply_cap:type_name -> steward.v3.CellarV2_5.DecreaseShareSupplyCap - 3, // 74: steward.v3.CellarV2_5.CallOnAdaptor.data:type_name -> steward.v3.AdaptorCall - 33, // 75: steward.v3.CellarV2_5.Multicall.function_calls:type_name -> steward.v3.CellarV2_5.FunctionCall - 76, // [76:76] is the sub-list for method output_type - 76, // [76:76] is the sub-list for method input_type - 76, // [76:76] is the sub-list for extension type_name - 76, // [76:76] is the sub-list for extension extendee - 0, // [0:76] is the sub-list for field type_name + 52, // 74: steward.v3.CellarV2_5.FunctionCall.set_share_price_oracle:type_name -> steward.v3.CellarV2_5.SetSharePriceOracle + 3, // 75: steward.v3.CellarV2_5.CallOnAdaptor.data:type_name -> steward.v3.AdaptorCall + 33, // 76: steward.v3.CellarV2_5.Multicall.function_calls:type_name -> steward.v3.CellarV2_5.FunctionCall + 77, // [77:77] is the sub-list for method output_type + 77, // [77:77] is the sub-list for method input_type + 77, // [77:77] is the sub-list for extension type_name + 77, // [77:77] is the sub-list for extension extendee + 0, // [0:77] is the sub-list for field type_name } func init() { file_cellar_v2_proto_init() } @@ -5393,6 +5483,18 @@ func file_cellar_v2_proto_init() { return nil } } + file_cellar_v2_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CellarV2_5_SetSharePriceOracle); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_cellar_v2_proto_msgTypes[0].OneofWrappers = []interface{}{ (*CellarV2_AddPosition_)(nil), @@ -5476,6 +5578,7 @@ func file_cellar_v2_proto_init() { (*CellarV2_5_FunctionCall_RemovePositionFromCatalogue)(nil), (*CellarV2_5_FunctionCall_IncreaseShareSupplyCap)(nil), (*CellarV2_5_FunctionCall_DecreaseShareSupplyCap)(nil), + (*CellarV2_5_FunctionCall_SetSharePriceOracle)(nil), } type x struct{} out := protoimpl.TypeBuilder{ @@ -5483,7 +5586,7 @@ func file_cellar_v2_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cellar_v2_proto_rawDesc, NumEnums: 0, - NumMessages: 52, + NumMessages: 53, NumExtensions: 0, NumServices: 0, }, diff --git a/steward_proto_rust/Cargo.toml b/steward_proto_rust/Cargo.toml index ba1ddb43..a0926cd3 100644 --- a/steward_proto_rust/Cargo.toml +++ b/steward_proto_rust/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "steward_proto" -version = "3.4.1" +version = "3.4.2" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/steward_proto_rust/src/prost/descriptor.bin b/steward_proto_rust/src/prost/descriptor.bin index 42abc6e7197192431a9a96e57b65879eb064a4d4..1f06a6f5c10368a12c6d092d307a2f35d91ac362 100644 GIT binary patch delta 4244 zcmZu!Yiv}<8TH)x=K3;Td+lrdT5P<4ZAiheUcf-0fD<5~QrSsMN&JN)#MKD`*1=R1^UTC^cyW0YVa`=L*T~$u zM16JLvo*De>gQ^gElyOgtgTu6^F+R_zI>TQ)WSDdYN`HphW>H7^V{T+5LRw%g+ouFepJ+S9`p|;=ScFM5L4>+CTTV`%5R72il4Grm1po7}+10E`n8IFOW zJ9Ls;Wu7u(a)8VLz?4q%tik|*#7SP%Cjj7ml9!aq-@D%2HqUapfGKUqlx8KCuY5ic zRi$mLCF&-jvp>s25jnz1g6kyCajPKGU(L)lvene9tj|yY{+zG?jB~-90KoH{p3_`U z0t?Qo)~oDC!_EhdLb)0b8U+Bv^SV*>&WdRxEVu72tfqLuFpmh1R~#Eq{85u`vMn z^#TCnIuGY~Jq7@m>pZ_eHaIS(ZQkb8#nt5x*$epwH?jV<9&5Riy{R4Ua`oIttZWQ^ zbqwwX1^_^~%fq>z0RR}>`fHvkR zm-F(}v0H3;)|(V6krhtgq;_sq6TV_Y){<9q?&pDzG#z8s{iqF@EQ4pQ$y z0RXRqG$basx#eWo<`JUz)s1i18*`6PsIO<1q0QRK@-Gy`r~`ms2LNcdQ}Wmb0PS|d zu6xbZ4%_B&qQ9$8ZnKuT$0_;EhPC#Ipht+I4Zzn10PPb&j{rdXgznK+S3A=-PZRx9 z9lyg~pLd!<{k^<1wf31HZ^Y0B;A;bb_L(4W0MI_8^ZupN|18_QK=d*8)pBQFeRP-A z%)1b@CQDmf4AMso3jn?a09afM(gy&Gi#mPR!nVy0qR)~RyY8`?`5l3Utu3wu7KmX1 zz_$PZiz|Tz09ahn7T)KPZJXDLzVbhhet1ws>z_?TohMY(c|t|q7ff{V$`$o^Fx9Ig z{fu4>|MOh>KhKVZQo4t6Hj=nbp<+3}`Qoy5+BebsNPct#RwPpNsJfrL|0oJ97%Z?pu+S&%ElS=55QM`m z!cFiqX%Md3JCw4|5KLXJV+-c#;sb7a)Kj^sEe$Ts_HV!Q>VIEx*GUA z%NgOUH5fi>{95eE>ms@+I@AwQLKjtzkP{sxTov8w(gXHXyqm13w?;RvoBCAxAt>E6 z>Tx;Qp&(i-tg6W4s^TFlRhPP$RIhZh+!)Y)9!0ldttc7ehYn}lcsa#Uz%jH=SWl{7 zyuik)5cn~KCEi*Bb)6_3>xZDO6ID-mm19JW!Wx~dJX0<2Vuf*Fe)9UlZxqSo1^A5u z$v@>-qc`hy@}rW;7smkjdF#7;eUP^a@_K>1-L|LNv_V+ozin=*1rJ%z!T6!Cm$JSt zH;8_t{SYD>#Mp6O29`}tLbX0*lVeT7D)kmw;53P{DnA6LNlciC7p>k#xX?BVYq+}f zgg@_xQ(3CIznZ0~Y2D}_el7B-J)pEv^d91eP}(Ts!@Sl@+?2waq+4I2-tJ~4= z{);Tq^0pykfP6=N8*T|4L!fWbj&9lMHnm__$+CMWlNr%CFn?a@;J1hpzt!pBw}`Rh zw`6_3Q!hpSm%wT2l5@l3UAn9o3^UM%$OA4Dv}>l z7?iCd`7wn-*(xeW;w7v*lxfp8VI?Ay_2w#53k;(?2EhOHGC|%ZhE;ohnILZyil~YQ3+w5mb()&qfW7?> zGVBU{RD2M~|`MKcl3G&Yce~-@JJr?q8 n+AFMaI2N3pvQHR&ivjpwbRNiiMZZy=c^=4n+pY=YM(KY6WmLG< delta 3621 zcmYjTZEO|C6=inrte5e#pFRF~w!vV-vkMA_XJd>p$c7LIQCp~+&=#pQgjD@XN`+|D zLezreQeqiHspU+lfhhfvsA@x03G$*ON(`k^XrT&J$i)U)WZH@tYAn8t5x8e|XW#Pk zp1tRsd+*$x-K!V8!G3SY5!T-3jJ}%Q*~X3+I`1d+Q?IdJ=XW{!`@7lVbfsn+-SpgF zv&B4J`6g>%>9>E&Iw#BPN0`h~!ku(5z2pz9q?Y|Bz4js#%sI++%b!?_?!ClH*^%_o zOYC(ocaTXUhco4V#Ocra!hhL-`iRF8vR=9dcP1(Nm}_>F&2EXytN;=Q^KxYdU~DIP18xxTDpW^pd^8RKenMs(0HAQ*jN`}tl8|yQbGo88TxVOmutMFRBrcOT;<;4bRUELk#7Ewy{PpF%T>3`an|@< zxW?lS*8?B28G6YL<}EZHcOnlYz~c^&7h4Yi@VLWE%j8@ufrK$#a)YJjk3C8>lO21M zXeK*mh-)nodp@pTzQMk}U_3e!*D(7rxC*gKmR@9?gZnCa|9*Rws9RVtp zdw}Q-{m+~1)%*h#OUhb*TGBWk(m%b$=GPsHd;r7e5M|B>0DKM+#{3<>m25?Ckv?{e zJ*S&*GdJ-T#Y&_O%wo!Yhv;1rWxv#aT*(sp(m&Ws-*k8kn(sv2#*Fu2@}}5%Ax5_V z!fpY8aX6|10IE1_s(9J2B1gIJ5xr0P-SceACWq%B|2>Ko*?Hy|hctP$)&ViD6#(J2 z0sz-an)1t|3`nGD+MEc0Wt!%tWN*-2u5v#iI)*(NVBOf0To68?*bM8LYdrhNn{EXV zqbmSmR{+51qs&ze02Y0OO?)k|h%5I~qQ8*dG065{aB&bmrOYcFHx?(O!6AkPfY1T} z7$>8_0f5CxGr0YMMV@lc5dB?09AmGqJ43NA*z)s?_SvX>#Lxy1Y6F1w*{FN~&^~L* z|CxU%`N|z2x`5;VVfW~|gm%Z-bL$483FRA$!Ki%1umBKR0D#3{R6YP$44U!-3#Hs4 zqJL*B`eCtlD6&w-;!0$J7#09R3jnaV5?KI%#T8@m1L+XH9am}6LBaIpE$mw*GFx&o zpSY{!707C|>3=(h_4)^FR^2d>l;*Mxz8u4pt-=tR!&Fo(8x6&qq}=O72ZYcczr-G! z>Qg*Z$aRth@(EuS(Fl2sx|N)UrrJ=KVNC%~x4PyM9HEN&VF;TMYFH>&_!5qyQN8IQ zd$Mknyb7CRuD?;LYzRY8Mrl!#T;)>`-6U^WS(84qmCfjR!O79Z6RbD|aHeIL_HR;h zNf`Q+mZkD3UjXmbZSt1u%|Bty`Zp6yrVu7=E`fTRs+z+P)Z4V|aoaIY<}P`QO~*++ zHo>N+5Qb%&uh-qEYys+BQ}&a-E2eS}W$P4k>Uy?1g(*Z~y)KydqIz90?-A+^#+;?- zK6y(6Q)eqHY77oA3zB#+!JO-T zSr~%zfSy=^|1h&QxSuD;TcH2-I4;Hw0)u||C6=Yfx3X+~fjKgTr{$J98A=m0ZC)5c zX@ctN?Z~B~HsP%_BTwok$4RCThDAtF+eGzJOO>FuiRCNsn_-H;?cFZCTHUve)i(u= zXQOdoQ!F7H{B|+*u`mR`UCd2c>zJaQ8S4t}Bx?|c*5;bu8Cl0b-D#|Y{&N)V(wn)n zyk?ikoRzt^cZp;;<{VIViRPuU*{?QNQHQ?FouxG$0^i@DUUThsi1ImM2ug>TS8INglqV`WQLiNOcJ>e6#XE=@RwNT9-Uf zy2QqB+g|b&?L}_pEN9mt3=7N$b+0I|vDAD}_li`VT4#Ag9HgHCC<&a$0=#87o(;X#b<_Wb0E|PH75Q$S($ef7D4a`1?&K v!7Y$b)GNFea|, } @@ -2804,6 +2804,9 @@ pub mod cellar_v2_5 { /// Represents function `decreaseShareSupplyCap(uint192) #[prost(message, tag = "17")] DecreaseShareSupplyCap(super::DecreaseShareSupplyCap), + /// Represents function `setSharePriceOracle(uint256, address) + #[prost(message, tag = "18")] + SetSharePriceOracle(super::SetSharePriceOracle), } } /// @@ -2986,6 +2989,19 @@ pub mod cellar_v2_5 { #[prost(string, tag = "1")] pub new_cap: ::prost::alloc::string::String, } + /// + /// Allows strategist to set the share price oracle contract + /// + /// Represents function `setSharePriceOracle(uint256, address)` + #[derive(serde::Deserialize, serde::Serialize, Clone, PartialEq, ::prost::Message)] + pub struct SetSharePriceOracle { + /// The oracle registry ID + #[prost(string, tag = "1")] + pub registry_id: ::prost::alloc::string::String, + /// The oracle contract address + #[prost(string, tag = "2")] + pub oracle: ::prost::alloc::string::String, + } #[derive(serde::Deserialize, serde::Serialize, Clone, PartialEq, ::prost::Oneof)] pub enum CallType { /// Represents a single function call From 045219f669ec8c09d01031aa269f906db9c4046a Mon Sep 17 00:00:00 2001 From: Collin Brittain Date: Fri, 1 Sep 2023 14:46:12 -0500 Subject: [PATCH 2/5] Move allow values to consts --- steward/src/cellars.rs | 17 +++++++++++++++++ steward/src/cellars/cellar_v2_5.rs | 11 +++-------- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/steward/src/cellars.rs b/steward/src/cellars.rs index 78685b71..3e852b58 100644 --- a/steward/src/cellars.rs +++ b/steward/src/cellars.rs @@ -16,6 +16,18 @@ pub(crate) mod cellar_v2_5; // constants // addresses are normalized by removing the 0x prefix and converting to lowercase for reliable comparison +// oracles + +pub const ORACLE1: (U256, &'static str) = ( + U256([3, 0, 0, 0]), + "72249f0199eacf6230def33a31e80cf76de78f67", +); +pub const ORACLE2: (U256, &'static str) = ( + U256([5, 0, 0, 0]), + "c47278b65443ce71cf47e8455bb343f2db11b70e", +); +pub const ALLOWED_PRICE_ORACLES: [(U256, &'static str); 2] = [ORACLE1, ORACLE2]; + // permissions pub const ALLOWED_V2_0_SETUP_ADAPTORS: [(&str, &str); 1] = [(CELLAR_RYUSD, ADAPTOR_CELLAR_V2)]; @@ -359,4 +371,9 @@ mod tests { assert!(res.is_err()); assert_eq!(expected_err, res.unwrap_err().to_string()); } + + #[test] + fn test_U256_sanity() { + assert_eq!(U256([5, 0, 0, 0]), U256::from(5)); + } } diff --git a/steward/src/cellars/cellar_v2_5.rs b/steward/src/cellars/cellar_v2_5.rs index 57094d3d..de45530e 100644 --- a/steward/src/cellars/cellar_v2_5.rs +++ b/steward/src/cellars/cellar_v2_5.rs @@ -25,7 +25,8 @@ use crate::{ use super::{ check_blocked_adaptor, check_blocked_position, log_cellar_call, normalize_address, - validate_new_adaptor, validate_new_position, CELLAR_TURBO_SWETH, V2_5_PERMISSIONS, + validate_new_adaptor, validate_new_position, ALLOWED_PRICE_ORACLES, CELLAR_TURBO_SWETH, + V2_5_PERMISSIONS, }; const CELLAR_NAME: &str = "CellarV2.5"; @@ -263,15 +264,9 @@ pub fn get_encoded_function(call: FunctionCall, cellar_id: String) -> Result { let cellar_id_normalized = normalize_address(cellar_id.clone()); let oracle_in = normalize_address(params.oracle.clone()); - let allowed_oracles = [ - normalize_address("0x72249f0199EACf6230DEF33A31e80CF76de78f67".to_string()), - normalize_address("0xC47278B65443cE71CF47E8455BB343F2DB11B70e".to_string()), - ]; - let allowed_registry_ids = [U256::from(3), U256::from(5)]; let registry_id_in = string_to_u256(params.registry_id.clone())?; if !cellar_id_normalized.eq(CELLAR_TURBO_SWETH) - || !allowed_oracles.contains(&oracle_in) - || !allowed_registry_ids.contains(®istry_id_in) + || !ALLOWED_PRICE_ORACLES.contains(&(registry_id_in, &oracle_in)) { return Err(ErrorKind::SPCallError .context("unauthorized oracle update".to_string()) From 0b52ffcc5917e62d66fb20b8bfa910aa9ca9f937 Mon Sep 17 00:00:00 2001 From: Collin Brittain Date: Fri, 1 Sep 2023 15:18:43 -0500 Subject: [PATCH 3/5] Add validation and unit test for oracle --- steward/src/cellars.rs | 40 ++++++++++++++++++++++++++---- steward/src/cellars/cellar_v2_5.rs | 17 +++---------- 2 files changed, 38 insertions(+), 19 deletions(-) diff --git a/steward/src/cellars.rs b/steward/src/cellars.rs index 3e852b58..6c5e3131 100644 --- a/steward/src/cellars.rs +++ b/steward/src/cellars.rs @@ -4,7 +4,10 @@ use std::result::Result; use abscissa_core::tracing::log::info; use ethers::prelude::*; -use crate::{error::Error, utils::sp_call_error}; +use crate::{ + error::Error, + utils::{sp_call_error, string_to_u256}, +}; pub(crate) mod aave_v2_stablecoin; pub(crate) mod adaptors; @@ -18,15 +21,15 @@ pub(crate) mod cellar_v2_5; // oracles -pub const ORACLE1: (U256, &'static str) = ( +pub const ORACLE1: (U256, &str) = ( U256([3, 0, 0, 0]), "72249f0199eacf6230def33a31e80cf76de78f67", ); -pub const ORACLE2: (U256, &'static str) = ( +pub const ORACLE2: (U256, &str) = ( U256([5, 0, 0, 0]), "c47278b65443ce71cf47e8455bb343f2db11b70e", ); -pub const ALLOWED_PRICE_ORACLES: [(U256, &'static str); 2] = [ORACLE1, ORACLE2]; +pub const ALLOWED_PRICE_ORACLES: [(U256, &str); 2] = [ORACLE1, ORACLE2]; // permissions @@ -184,6 +187,23 @@ pub fn validate_new_position( Ok(()) } +pub fn validate_oracle( + cellar_id: &str, + registry_id_in: &str, + oracle_in: &str, +) -> Result<(), Error> { + let cellar_id_normalized = normalize_address(cellar_id.to_string()); + let oracle_in = normalize_address(oracle_in.to_string()); + let registry_id_in = string_to_u256(registry_id_in.to_string())?; + if !cellar_id_normalized.eq(CELLAR_TURBO_SWETH) + || !ALLOWED_PRICE_ORACLES.contains(&(registry_id_in, oracle_in.as_str())) + { + return Err(sp_call_error("unauthorized oracle update".to_string())); + } + + Ok(()) +} + pub fn check_blocked_adaptor(adaptor_id: &str) -> Result<(), Error> { let adaptor_id = normalize_address(adaptor_id.to_string()); if BLOCKED_ADAPTORS.contains(&adaptor_id.as_str()) { @@ -373,7 +393,17 @@ mod tests { } #[test] - fn test_U256_sanity() { + fn test_u256_sanity() { assert_eq!(U256([5, 0, 0, 0]), U256::from(5)); } + + #[test] + fn test_validate_oracle() { + assert!(validate_oracle(CELLAR_RYBTC, &ORACLE1.0.to_string(), ORACLE1.1).is_err()); + assert!( + validate_oracle(CELLAR_TURBO_SWETH, &U256::from(6).to_string(), ORACLE2.1).is_err() + ); + assert!(validate_oracle(CELLAR_TURBO_SWETH, &ORACLE1.0.to_string(), ORACLE1.1).is_ok()); + assert!(validate_oracle(CELLAR_TURBO_SWETH, &ORACLE2.0.to_string(), ORACLE2.1).is_ok()); + } } diff --git a/steward/src/cellars/cellar_v2_5.rs b/steward/src/cellars/cellar_v2_5.rs index de45530e..7916eb0d 100644 --- a/steward/src/cellars/cellar_v2_5.rs +++ b/steward/src/cellars/cellar_v2_5.rs @@ -24,9 +24,8 @@ use crate::{ }; use super::{ - check_blocked_adaptor, check_blocked_position, log_cellar_call, normalize_address, - validate_new_adaptor, validate_new_position, ALLOWED_PRICE_ORACLES, CELLAR_TURBO_SWETH, - V2_5_PERMISSIONS, + check_blocked_adaptor, check_blocked_position, log_cellar_call, validate_new_adaptor, + validate_new_position, validate_oracle, V2_5_PERMISSIONS, }; const CELLAR_NAME: &str = "CellarV2.5"; @@ -262,17 +261,7 @@ pub fn get_encoded_function(call: FunctionCall, cellar_id: String) -> Result { - let cellar_id_normalized = normalize_address(cellar_id.clone()); - let oracle_in = normalize_address(params.oracle.clone()); - let registry_id_in = string_to_u256(params.registry_id.clone())?; - if !cellar_id_normalized.eq(CELLAR_TURBO_SWETH) - || !ALLOWED_PRICE_ORACLES.contains(&(registry_id_in, &oracle_in)) - { - return Err(ErrorKind::SPCallError - .context("unauthorized oracle update".to_string()) - .into()); - } - + validate_oracle(&cellar_id, ¶ms.oracle, ¶ms.registry_id)?; log_cellar_call( CELLAR_NAME, &SetSharePriceOracleCall::function_name(), From e87637c062c55f7fc92d6c2e8d62e11c827f8cca Mon Sep 17 00:00:00 2001 From: Collin Brittain Date: Fri, 1 Sep 2023 15:32:48 -0500 Subject: [PATCH 4/5] Fix oracle validation arg order --- steward/src/cellars.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/steward/src/cellars.rs b/steward/src/cellars.rs index 6c5e3131..1688fdb0 100644 --- a/steward/src/cellars.rs +++ b/steward/src/cellars.rs @@ -189,8 +189,8 @@ pub fn validate_new_position( pub fn validate_oracle( cellar_id: &str, - registry_id_in: &str, oracle_in: &str, + registry_id_in: &str, ) -> Result<(), Error> { let cellar_id_normalized = normalize_address(cellar_id.to_string()); let oracle_in = normalize_address(oracle_in.to_string()); From 8206d4140985d53b4dfb5ee6c0f81d68ec209b85 Mon Sep 17 00:00:00 2001 From: Collin Brittain Date: Fri, 1 Sep 2023 15:40:37 -0500 Subject: [PATCH 5/5] Fix test and ordering --- steward/src/cellars.rs | 2 +- steward/src/cellars/cellar_v2_5.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/steward/src/cellars.rs b/steward/src/cellars.rs index 1688fdb0..6c5e3131 100644 --- a/steward/src/cellars.rs +++ b/steward/src/cellars.rs @@ -189,8 +189,8 @@ pub fn validate_new_position( pub fn validate_oracle( cellar_id: &str, - oracle_in: &str, registry_id_in: &str, + oracle_in: &str, ) -> Result<(), Error> { let cellar_id_normalized = normalize_address(cellar_id.to_string()); let oracle_in = normalize_address(oracle_in.to_string()); diff --git a/steward/src/cellars/cellar_v2_5.rs b/steward/src/cellars/cellar_v2_5.rs index 7916eb0d..8c663977 100644 --- a/steward/src/cellars/cellar_v2_5.rs +++ b/steward/src/cellars/cellar_v2_5.rs @@ -261,7 +261,7 @@ pub fn get_encoded_function(call: FunctionCall, cellar_id: String) -> Result { - validate_oracle(&cellar_id, ¶ms.oracle, ¶ms.registry_id)?; + validate_oracle(&cellar_id, ¶ms.registry_id, ¶ms.oracle)?; log_cellar_call( CELLAR_NAME, &SetSharePriceOracleCall::function_name(),